UNPKG

@pooltogether/evm-chains-extended

Version:

Package to get chain data from ethereum-lists/chains with extra data such as blockExplorerUrls

53 lines 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const evm_chains_1 = require("evm-chains"); const chainsExtraData_1 = require("./chainsExtraData"); const additionalChains_1 = require("./additionalChains"); const extendChainDataArray = (chainsData, chainsExtraData) => { return chainsData.map((chainData) => { const extraData = chainsExtraData.find((existingArrayItem) => existingArrayItem.chainId === chainData.chainId); if (extraData) { const combinedRpcUrls = extraData.rpc ? [...extraData.rpc, ...chainData.rpc] : chainData.rpc; return Object.assign(Object.assign({}, chainData), { blockExplorerUrls: extraData.blockExplorerUrls, rpc: combinedRpcUrls }); } else { return Object.assign(Object.assign({}, chainData), { blockExplorerUrls: [] }); } }); }; function getAllChains() { return extendChainDataArray(evm_chains_1.getAllChains().concat(additionalChains_1.additionalChains), chainsExtraData_1.chainsExtraData); } exports.getAllChains = getAllChains; function getChain(chainId) { let chain; try { const chains = getAllChains(); chain = chains.find((x) => x.chainId === chainId); } catch (e) { console.warn(e); } return chain; } exports.getChain = getChain; function getChainByChainId(chainId) { return getChain(chainId); } exports.getChainByChainId = getChainByChainId; function getNetworkForEip3085(chainId) { return formatNetworkForAddEthereumChain(getChain(chainId)); } exports.getNetworkForEip3085 = getNetworkForEip3085; function formatNetworkForAddEthereumChain(network) { let formattedNetwork = { chainId: `0x${network.chainId.toString(16)}`, chainName: network.name, nativeCurrency: network.nativeCurrency, rpcUrls: network.rpc, blockExplorerUrls: network.blockExplorerUrls }; return formattedNetwork; } exports.formatNetworkForAddEthereumChain = formatNetworkForAddEthereumChain; //# sourceMappingURL=utils.js.map