UNPKG

@forta/network

Version:

🌤️ A goodie to get chains common metadata.

2 lines 2.52 kB
const MAINNET="Mainnet",TESTNET="Testnet";const s=[],n=r=>`https://${r}`,e=r=>n(r),p=(r,t)=>t.length<=42?`${r}/address/${t}`:`${r}/tx/${t}`;class o{chainName="";chainDecimalId=0;chainId="";rpcUrl="";blockExplorerUrl="";shortName="";type=TESTNET;currency="ETH";constructor(t,a,i,x,l,m,R=TESTNET,w="ETH"){const c={chainId:a,chainDecimalId:t,shortName:i,chainName:x,rpcUrl:l,blockExplorerUrl:m,currency:w,type:R};Object.assign(this,c),s.push(c);}getExplorerURL=t=>p(this.blockExplorerUrl,t)}const Mainnet=new o(1,"0x1","Mainnet","Ethereum Main Network (Mainnet)",n("mainnet.infura.io/v3"),e("etherscan.io"),MAINNET),Ropsten=new o(3,"0x3","Ropsten","Ropsten Test Network",n("ropsten.infura.io/v3"),e("ropsten.etherscan.io")),Rinkeby=new o(4,"0x4","Rinkeby","Rinkeby Test Network",n("rinkeby.infura.io/v3"),e("rinkeby.etherscan.io")),Goerli=new o(5,"0x5","Goerli","Goerli Test Network",n("goerli.infura.io/v3"),e("goerli.etherscan.io")),Kovan=new o(42,"0x2a","Kovan","Kovan Test Network",n("kovan.infura.io/v3"),e("kovan.etherscan.io")),Polygon=new o(137,"0x89","Matic","Matic Mainnet",n("rpc-mainnet.maticvigil.com"),e("polygonscan.com"),MAINNET,"MATIC"),Matic=Polygon,Celo=new o(42220,"0xa4ec","Celo","Celo Mainnet",n("forno.celo.org"),e("explorer.celo.org"),MAINNET,"CELO"),Fantom=new o(250,"0xfa","Fantom","Fantom Mainnet",n("rpc.fantom.network"),e("ftmscan.com"),MAINNET,"FTM"),Avalanche=new o(43114,"0xa86a","Avalanche","Avalanche C-Chain",n("rpc.ankr.com/avalanche"),e("explorer.avax.network"),MAINNET,"AVAX"),Binance=new o(56,"0x38","Binance","Binance Smart Chain Mainnet",n("rpc.ankr.com/bsc"),e("bscscan.com"),MAINNET,"BNB"),Aurora=new o(1313161554,"0x4e454152","Aurora","Aurora Mainnet",n("mainnet.aurora.dev"),e("aurorascan.dev"),MAINNET,"AURORA"),IoTeX=new o(4689,"0x1251","IoTeX","IoTeX Network Mainnet",n("rpc.ankr.com/iotex"),e("iotexscan.io"),MAINNET,"IOTX"),Gnosis=new o(100,"0x64","Gnosis","Gnosis Chain",n("rpc.xdaichain.com"),e("blockscout.com/xdai/mainnet"),MAINNET,"xDAI"),Moonriver=new o(1285,"0x505","Moonriver","Moonriver Chain",n("moonriver.public.blastapi.io"),e("moonriver.moonscan.io"),MAINNET,"MOVR"),Fuse=new o(122,"0x7a","Fuse","Fuse Mainnet",n("rpc.fuse.io"),e("explorer.fuse.io"),MAINNET,"FUSE");function getExplorerURL(r,t){const a=s.find(i=>i.chainDecimalId===parseInt(t));return a?p(a.blockExplorerUrl,r):null} export{Aurora,Avalanche,Binance,Celo,Fantom,Fuse,Gnosis,Goerli,IoTeX,Kovan,MAINNET,Mainnet,Matic,Moonriver,s as NetworkList,Polygon,Rinkeby,Ropsten,TESTNET,getExplorerURL};