@celo-tools/celo-ethers-wrapper
Version:
A minimal wrapper to make Ethers.JS compatible with the Celo network.
74 lines • 4.67 kB
JavaScript
;
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