Nuclear Powered Marshmallows

    @pooltogether/evm-chains-extended
    TypeScript icon, indicating that this package has built-in type declarations

    0.7.1 • Public • Published

    evm-chains-extended

    Package to query chain data from ethereum-lists/chains with extended data necessary for EIP3085.

    Makes use of Pedro Gomes' evm-chains package for the initial data, then merges in the extended data.

    Includes Block Explorer URLs and network logos for certain networks.

    This package is meant as a holdover and may be deprecated in the future in favor of simply using evm-chains. That is dependent on EIPs such as: https://github.com/ethereum/EIPs/pull/3091

    NOTE: This also makes use of a silent interface pattern where missing networks will be returned undefined instead of throwing.

    Install

    npm install --save evm-chains-extended
    
    #or
    
    yarn add evm-chains-extended

    API

    function getAllChains(): IChainDataExtended[] | undefined;
    function getChain(chainId: number): IChainDataExtended | undefined;
    function getChainByChainId(chainId: number): IChainDataExtended | undefined;
    function formatNetworkForAddEthereumChain(network: IChainDataExtended): IAddEthereumChainParameter;

    Logos

    To use network logos import into your dapp:

    import EthLogo from '@pooltogether/evm-chains-extended/dist/umd/images/ethereum-icon.png'
    import BscLogo1 from '@pooltogether/evm-chains-extended/dist/umd/images/bsc-icon-1.png'
    import BscLogo2 from '@pooltogether/evm-chains-extended/dist/umd/images/bsc-icon-2.png'
    import OptimismLogo from '@pooltogether/evm-chains-extended/dist/umd/images/optimism-icon.png'
    import PoALogo from '@pooltogether/evm-chains-extended/dist/umd/images/poa-icon.png'
    import PolygonLogo from '@pooltogether/evm-chains-extended/dist/umd/images/polygon-icon.png'
    import XDaiLogo from '@pooltogether/evm-chains-extended/dist/umd/images/xdai-logo.png'
    // then:
    <img src={XDaiLogo} />

    Types

    interface IChainDataExtended {
      name: string;
      chainId: number;
      shortName: string;
      chain: string;
      network: string;
      networkId: number;
      nativeCurrency: {
        name: string;
        symbol: string;
        decimals: number;
      };
      rpc: string[];
      faucets: string[];
      infoURL: string;
      blockExplorerUrls: string[]
    }
    
    // format for EIP3085 wallet_addEthereumChain
    interface IAddEthereumChainParameter {
      chainId: string; // A 0x-prefixed hexadecimal string
      chainName: string;
      nativeCurrency: {
        name: string;
        symbol: string; // 2-6 characters long
        decimals: number;
      };
      rpcUrls: string[];
      blockExplorerUrls?: string[];
      iconUrls?: string[]; // Currently ignored.
    }

    Data Source

    https://github.com/ethereum-lists/chains

    Install

    npm i @pooltogether/evm-chains-extended

    DownloadsWeekly Downloads

    989

    Version

    0.7.1

    License

    MIT

    Unpacked Size

    212 kB

    Total Files

    40

    Last publish

    Collaborators

    • asselstine
    • chuckbergeron
    • dylandesrosier
    • pierrick