23 lines
656 B
TypeScript
23 lines
656 B
TypeScript
import config from '../../config';
|
|
import { AbstractBitcoinApi } from './bitcoin-api-abstract-factory';
|
|
import EsploraApi from './esplora-api';
|
|
import BitcoinApi from './bitcoin-api';
|
|
import ElectrumApi from './electrum-api';
|
|
import bitcoinClient from './bitcoin-client';
|
|
|
|
function bitcoinApiFactory(): AbstractBitcoinApi {
|
|
switch (config.MEMPOOL.BACKEND) {
|
|
case 'esplora':
|
|
return new EsploraApi();
|
|
case 'electrum':
|
|
return new ElectrumApi(bitcoinClient);
|
|
case 'none':
|
|
default:
|
|
return new BitcoinApi(bitcoinClient);
|
|
}
|
|
}
|
|
|
|
export const bitcoinCoreApi = new BitcoinApi(bitcoinClient);
|
|
|
|
export default bitcoinApiFactory();
|