UNPKG

@celo-tools/celo-ethers-wrapper

Version:

A minimal wrapper to make Ethers.JS compatible with the Celo network.

74 lines 4.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNetwork = void 0; const ethers_1 = require("ethers"); const networks = [ { name: "celo", chainId: 42220, }, { name: "alfajores", chainId: 44787, }, { name: "baklava", chainId: 62320, }, ]; function getNetwork(network) { { if (network == null) { return null; } // Chain ID if (typeof network === "number" || typeof network === "bigint") { const matches = networks.filter((n) => n.chainId === Number(network)); if (matches.length) { return { name: matches[0].name, chainId: matches[0].chainId, }; } return { name: "unknown", chainId: Number(network), }; } // Chain name if (typeof network === "string") { const matches = networks.filter((n) => n.name === network); if (matches.length) { return { name: matches[0].name, chainId: matches[0].chainId, }; } return null; } if (typeof network.name === "string" && typeof network.chainId === "number") { const byName = getNetwork(network.name); const byChainId = getNetwork(network.chainId); // Nothing standard; valid custom network if (byName == null && byChainId == null) { return { name: network.name, chainId: network.chainId, }; } // Make sure if it is a standard chain the parameters match if (byName && byChainId && // @ts-expect-error byName.name === byChainId.name && // @ts-expect-error byName.chainId === byChainId.chainId) { return byName; } } (0, ethers_1.assertArgument)(false, "network chainId mismatch", "network", network); } } exports.getNetwork = getNetwork; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvRDtBQUVwRCxNQUFNLFFBQVEsR0FBRztJQUNmO1FBQ0UsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsS0FBSztLQUNmO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsV0FBVztRQUNqQixPQUFPLEVBQUUsS0FBSztLQUNmO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7Q0FDRixDQUFDO0FBRUYsU0FBZ0IsVUFBVSxDQUFDLE9BQW9CO0lBQzdDO1FBQ0UsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxXQUFXO1FBQ1gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzlELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEUsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNsQixPQUFPO29CQUNMLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO2lCQUM1QixDQUFDO2FBQ0g7WUFFRCxPQUFPO2dCQUNMLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ3pCLENBQUM7U0FDSDtRQUVELGFBQWE7UUFDYixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQzNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDbEIsT0FBTztvQkFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7b0JBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztpQkFDNUIsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQ0UsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDaEMsT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFDbkM7WUFDQSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUMseUNBQXlDO1lBQ3pDLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO2dCQUN2QyxPQUFPO29CQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtvQkFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2lCQUN6QixDQUFDO2FBQ0g7WUFFRCwyREFBMkQ7WUFDM0QsSUFDRSxNQUFNO2dCQUNOLFNBQVM7Z0JBQ1QsbUJBQW1CO2dCQUNuQixNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUM5QixtQkFBbUI7Z0JBQ25CLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLE9BQU8sRUFDcEM7Z0JBQ0EsT0FBTyxNQUFNLENBQUM7YUFDZjtTQUNGO1FBRUQsSUFBQSx1QkFBYyxFQUFDLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDdkU7QUFDSCxDQUFDO0FBaEVELGdDQWdFQyJ9