UNPKG

@knine-sdk/fetch

Version:
42 lines (35 loc) 1.51 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var constants = require('@knine-sdk/constants'); var invariant = require('tiny-invariant'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant); const getInfuraRPCUrl = (chainId, apiKey) => { invariant__default["default"](apiKey && typeof apiKey === 'string', 'API key should be a string'); switch (chainId) { case constants.CHAINS.Mainnet: return `https://mainnet.infura.io/v3/${apiKey}`; default: invariant__default["default"](false, 'Chain is not supported'); } }; const getAlchemyRPCUrl = (chainId, apiKey) => { invariant__default["default"](apiKey && typeof apiKey === 'string', 'API key should be a string'); switch (chainId) { case constants.CHAINS.Mainnet: return `https://eth-mainnet.alchemyapi.io/v2/${apiKey}`; default: invariant__default["default"](false, 'Chain is not supported'); } }; const getRPCUrls = (chainId, keys) => { const urls = []; if (keys.alchemy) urls.push(getAlchemyRPCUrl(chainId, keys.alchemy)); if (keys.infura) urls.push(getInfuraRPCUrl(chainId, keys.infura)); return urls; }; exports.getAlchemyRPCUrl = getAlchemyRPCUrl; exports.getInfuraRPCUrl = getInfuraRPCUrl; exports.getRPCUrls = getRPCUrls;