export enum EthereumNetwork { MAINNET = 1, GOERLI = 5, OPTIMISM = 10, BSC = 56, OPTIMISM_GOERLI = 420, BASE = 8453, ARBITRUM = 42161, AVALANCHE_FUJI = 43113, AVALANCHE = 43114, ARBITRUM_GOERLI = 421613, BASE_GOERLI = 84531, SEPOLIA = 11155111, APECHAIN = 33139, SHAPE = 360, } /** * Versioned from @usedapp/core */ export type Chain = { /** * The ID of the chain. Every chain has a unique chainID. */ chainId: number; /** * The name of the chain. */ chainName: string; /** * Whether the chain is a testnet, such as Kovan or Ropsten. */ isTestChain: boolean; /** * Whether the chain is a development chain running on localhost. */ isLocalChain: boolean; /** * An address of the Multicall contract on the chain. */ multicallAddress: string; /** * An address of the Multicall2 contract on the chain. */ multicall2Address?: string; /** * The URL of the network's RPC provider, used (required) for adding the network to Metamask */ rpcUrl?: string; /** * The URL of the network's block explorer, used for adding the network to Metamask */ blockExplorerUrl?: string; /** * The network's currency, used for adding the network to Metamask */ nativeCurrency?: { name: string; symbol: string; decimals: number; }; /** * A function to construct a link to a blockchain explorer, based on an ethereum address. */ getExplorerAddressLink: (address: string) => string; /** * A function to construct a link to a blockchain explorer, based on a transaction hash. */ getExplorerTransactionLink: (address: string) => string; };