@chainlink/blockchain.com
Version:
Chainlink adapter to query BTC address balance from blockchain.com.
48 lines • 2.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.logConfig = exports.getConfig = exports.getBaseURL = exports.DEFAULT_ENDPOINT = exports.DEFAULT_CONFIRMATIONS = exports.DEFAULT_TIMEOUT = exports.DEFAULT_DATA_PATH = exports.ENDPOINT_TEST = exports.ENDPOINT_MAIN = exports.ENV_API_TIMEOUT = exports.ENV_API_KEY = void 0;
const external_adapter_1 = require("@chainlink/external-adapter");
const ea_bootstrap_1 = require("@chainlink/ea-bootstrap");
exports.ENV_API_KEY = 'API_KEY';
exports.ENV_API_TIMEOUT = 'API_TIMEOUT';
exports.ENDPOINT_MAIN = 'https://blockchain.info/';
exports.ENDPOINT_TEST = 'https://testnet.blockchain.info/';
exports.DEFAULT_DATA_PATH = 'result';
exports.DEFAULT_TIMEOUT = 30000;
exports.DEFAULT_CONFIRMATIONS = 6;
exports.DEFAULT_ENDPOINT = 'balance';
exports.getBaseURL = (chain) => {
switch (chain) {
case 'mainnet':
return exports.ENDPOINT_MAIN;
case 'testnet':
return exports.ENDPOINT_TEST;
}
};
exports.getConfig = (prefix = '') => ({
apiKey: ea_bootstrap_1.util.getEnv(exports.ENV_API_KEY, prefix),
api: {
returnRejectedPromiseOnError: true,
withCredentials: true,
timeout: parseInt(ea_bootstrap_1.util.getEnv(exports.ENV_API_TIMEOUT, prefix)) || exports.DEFAULT_TIMEOUT,
headers: {
common: {
'Cache-Control': 'no-cache, no-store, must-revalidate',
Pragma: 'no-cache',
'Content-Type': 'application/json',
Accept: 'application/json',
},
},
params: {
key: ea_bootstrap_1.util.getEnv(exports.ENV_API_KEY, prefix),
},
},
});
/* eslint-disable @typescript-eslint/no-unused-vars */
const cloneNoSecrets = (config) => (({ apiKey, ...o }) => o)(config);
exports.logConfig = (config) => {
external_adapter_1.logger.debug('Adapter configuration:', { config: cloneNoSecrets(config) });
if (!config.apiKey)
external_adapter_1.logger.warn('API will be rate limited without an API key.');
};
//# sourceMappingURL=config.js.map