@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

Dependents (3)

Package Sidebar

Install

npm i @pooltogether/evm-chains-extended

Weekly Downloads

114

Version

0.7.1

License

MIT

Unpacked Size

212 kB

Total Files

40

Last publish

Collaborators

  • asselstine