UNPKG

@witnet/ethers

Version:

Wit/Oracle Ethers Framework package for EVM-compatible projects

52 lines (50 loc) 1.97 kB
const { JsonRpcProvider } = require("ethers") const { supportedNetworks } = require("@witnet/solidity").default const { utils } = require("../../../dist/src/lib") const helpers = require("../helpers.js") module.exports = async function (flags = {}, [ecosystem]) { if (ecosystem === undefined) { let provider try { provider = new JsonRpcProvider(`http://127.0.0.1:${flags?.port || 8545}`) const chainId = (await provider.getNetwork()).chainId ecosystem = utils.getEvmNetworkByChainId(chainId) } catch (err) {} } const networks = Object.fromEntries( Object.entries(supportedNetworks()) .filter(([, config]) => { return ( !flags || (flags?.mainnets && config.mainnet) || (flags?.testnets && !config.mainnet) || (!flags?.mainnets && !flags?.testnets) ) }).map(([network, config]) => [ network, { browser: config?.verified, id: config?.network_id, mainnet: config?.mainnet, match: ecosystem && network.toLowerCase().indexOf(ecosystem.toLowerCase()) > -1, name: network, symbol: config?.symbol, }, ]) ) helpers.traceTable( Object.values(networks).map(network => [ network.match ? helpers.colors.mcyan(network.name) : helpers.colors.cyan(network.name), network.match ? helpers.colors.lwhite(network.symbol) : helpers.colors.white(network.symbol), network.match ? helpers.colors.myellow(helpers.commas(network.id)) : helpers.colors.yellow(helpers.commas(network.id)), network.match ? helpers.colors.white(network.browser || "") : helpers.colors.gray(network.browser || ""), ]), { headlines: [ ":Network", ":Fee token", "Network Id", ":Verified Block Explorer", ], } ) console.info(`^ Listed ${Object.keys(networks).length} networks.`) }