Skip to content

Commit e8115a5

Browse files
committed
adds ability to disable provider
1 parent 55e39f5 commit e8115a5

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

packages/bitcore-node/src/providers/chain-state/external/providers/provider.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import * as worker from 'worker_threads';
22
import { IChainConfig, IEVMNetworkConfig, IProvider } from '../../../../types/Config';
33

4-
const getProvider = ({
5-
network,
6-
config,
7-
dataType
8-
}: { network: string, dataType: string | undefined, config: IChainConfig<IEVMNetworkConfig>}) : IProvider => {
4+
const getProvider = (params: {
5+
network: string,
6+
dataType: string | undefined,
7+
config: IChainConfig<IEVMNetworkConfig>
8+
}): IProvider => {
9+
const { network, config, dataType } = params;
910
if (config[network]?.provider && matchProviderType(config[network].provider, dataType)) {
1011
return config[network].provider!;
1112
}
12-
const providers = config[network]?.providers?.filter((p) => matchProviderType(p, dataType));
13+
const providers = config[network]?.providers?.filter((p) => !p.disabled && matchProviderType(p, dataType));
1314
if (!providers?.length) {
1415
throw new Error(`No configuration found for ${network} and "${dataType}" compatible dataType`);
1516
}

packages/bitcore-node/src/types/Config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export interface IProvider {
3535
options?: object;
3636
dataType?: 'realtime' | 'historical' | 'combined';
3737
wsPort?: number | string;
38+
disabled?: boolean; // Useful when multiple providers are configured
3839
}
3940

4041
export type IExternalSyncConfig<T> = {

0 commit comments

Comments
 (0)