Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Darwinia and Crab network #195

Merged
merged 6 commits into from
Feb 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cypress/e2e/chains.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ const TEST_ADDRESSES = {
[ChainId.CeloMainnet]: '0xDa9760828175a7684371321b17e11e823Aa5F4C0',
[ChainId.CoinExSmartChainMainnet]: '0x3eC67Dd5060F8657720915B890A36E66B48D36d1',
[ChainId.CoreBlockchainMainnet]: '0xF29E73EA0d4EF0366D95cF966dA1Dd58C88d916F',
[ChainId.CrabNetwork]: '0x492Fa13a258d3b3Daf82272be6C7D7db50Be655a',
[ChainId.CronosMainnet]: '0xB8cAD90CBCb2157d68FD72c43766756cB9bA9B52',
[ChainId.DarwiniaNetwork]: '0x492Fa13a258d3b3Daf82272be6C7D7db50Be655a',
[ChainId.DogechainMainnet]: '0x544b7Bfd815905fF87a0d25b1Fb109931851fdCc',
[ChainId.ElastosSmartChain]: '0xA52B02C68cB65083788c46F2c08c6935f0aB19C1',
[ChainId.ENULSMainnet]: '0x71396287EeDa50fdE667E8c53771682fd74De1Ac',
Expand Down
32 changes: 26 additions & 6 deletions lib/utils/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,10 @@ export const BLOCKSCOUT_SUPPORTED_CHAINS = [
ChainId.BitgertMainnet,
ChainId.BitrockMainnet,
ChainId.CallistoMainnet,
ChainId.CrabNetwork,
ChainId.CronosMainnet,
ChainId.CronosTestnet,
ChainId.DarwiniaNetwork,
ChainId.DogechainMainnet,
ChainId.ElastosSmartChain,
ChainId.ENULSMainnet,
Expand Down Expand Up @@ -172,16 +174,18 @@ export const CHAIN_SELECT_MAINNETS = [
ChainId.FantomOpera,
ChainId.Astar,
ChainId.MetisAndromedaMainnet,
ChainId.Mode,
ChainId.ZKFairMainnet,
ChainId.Canto,
ChainId.Kroma,
ChainId.Moonbeam,
ChainId.Moonriver,
ChainId['WEMIX3.0Mainnet'],
ChainId.Mode,
ChainId.AuroraMainnet,
ChainId.PegoNetwork,
ChainId.FlareMainnet,
ChainId['SongbirdCanary-Network'],
ChainId.EOSEVMNetwork,
ChainId.ZetaChainMainnet,
ChainId.OasysMainnet,
ChainId.ShimmerEVM,
ChainId.HarmonyMainnetShard0,
Expand All @@ -191,25 +195,25 @@ export const CHAIN_SELECT_MAINNETS = [
ChainId.BobaNetwork,
ChainId.CoreBlockchainMainnet,
ChainId.HorizenEONMainnet,
ChainId.ZKFairMainnet,
ChainId.VelasEVMMainnet,
ChainId.DogechainMainnet,
ChainId.XDCNetwork,
ChainId.KCCMainnet,
ChainId.MilkomedaC1Mainnet,
ChainId.ElastosSmartChain,
ChainId.FuseMainnet,
ChainId.EOSEVMNetwork,
ChainId.OasisEmerald,
ChainId.OasisSapphire,
ChainId.BitTorrentChainMainnet,
ChainId.CoinExSmartChainMainnet,
ChainId.RolluxMainnet,
ChainId.SyscoinMainnet,
ChainId.Kroma,
ChainId.ZetaChainMainnet,
ChainId.EthereumClassic,
ChainId.NahmiiMainnet,
ChainId.Shibarium,
ChainId.CrabNetwork,
ChainId.DarwiniaNetwork,
ChainId.BitgertMainnet,
ChainId.ENULSMainnet,
ChainId.CallistoMainnet,
Expand Down Expand Up @@ -316,7 +320,9 @@ export const getChainName = (chainId: number): string => {
[ChainId.CoinExSmartChainMainnet]: 'CoinEx Smart Chain',
[ChainId.CoinExSmartChainTestnet]: 'CoinEx Testnet',
[ChainId.CoreBlockchainMainnet]: 'CORE',
[ChainId.CrabNetwork]: 'Crab',
[ChainId.CronosMainnet]: 'Cronos',
[ChainId.DarwiniaNetwork]: 'Darwinia',
[ChainId.DogechainMainnet]: 'Dogechain',
[ChainId.DogechainTestnet]: 'Dogechain Testnet',
[ChainId.ElastosSmartChain]: 'Elastos',
Expand Down Expand Up @@ -485,6 +491,7 @@ export const getChainRpcUrl = (chainId: number): string | undefined => {
[ChainId.Base]: 'https://mainnet.base.org',
[ChainId.Canto]: 'https://mainnode.plexnode.org:8545',
[ChainId.CoreBlockchainMainnet]: 'https://rpc.coredao.org',
[ChainId.CrabNetwork]: 'https://crab-rpc.darwiniacommunitydao.xyz',
[ChainId.CronosMainnet]: 'https://evm.cronos.org',
// [ChainId.EthereumMainnet]: `https://eth-mainnet.g.alchemy.com/v2/${alchemyKey}`,
[ChainId.EthereumMainnet]: `https://mainnet.infura.io/v3/${infuraKey}`,
Expand Down Expand Up @@ -563,8 +570,10 @@ export const getChainLogo = (chainId: number): string => {
[ChainId.CoinExSmartChainMainnet]: '/assets/images/vendor/chains/coinex.svg',
[ChainId.CoinExSmartChainTestnet]: '/assets/images/vendor/chains/coinex.svg',
[ChainId.CoreBlockchainMainnet]: '/assets/images/vendor/chains/core.png',
[ChainId.CrabNetwork]: '/assets/images/vendor/chains/crab.svg',
[ChainId.CronosMainnet]: '/assets/images/vendor/chains/cronos.svg',
[ChainId.CronosTestnet]: '/assets/images/vendor/chains/cronos.svg',
[ChainId.DarwiniaNetwork]: '/assets/images/vendor/chains/darwinia.svg',
[ChainId.DogechainMainnet]: '/assets/images/vendor/chains/dogechain.jpg',
[ChainId.ElastosSmartChain]: '/assets/images/vendor/chains/elastos.jpg',
[ChainId.ENULSMainnet]: '/assets/images/vendor/chains/enuls.svg',
Expand Down Expand Up @@ -693,7 +702,7 @@ export const getChainNativeToken = (chainId: number): string => {
return overrides[chainId] ?? getChain(chainId)?.nativeCurrency?.symbol ?? 'ETH';
};

// Target a default of around $10-20
// Target a default of a round-ish number of tokens, worth around $10-20
export const getDefaultDonationAmount = (nativeToken: string): string => {
const mapping = {
ASTR: '300',
Expand Down Expand Up @@ -740,6 +749,7 @@ export const getDefaultDonationAmount = (nativeToken: string): string => {
PWR: '1000',
RBTC: '0.001',
REDLC: '100',
RING: '2500',
ROSE: '100',
SAMA: '500',
SDN: '50',
Expand Down Expand Up @@ -781,8 +791,10 @@ export const getChainApiUrl = (chainId: number): string | undefined => {
[ChainId.Canto]: 'https://tuber.build/api',
[ChainId.CeloAlfajoresTestnet]: 'https://api-alfajores.celoscan.io/api',
[ChainId.CeloMainnet]: 'https://api.celoscan.io/api',
[ChainId.CrabNetwork]: 'https://crab.subview.xyz/api',
[ChainId.CronosMainnet]: 'https://cronos.org/explorer/api',
[ChainId.CronosTestnet]: 'https://cronos.org/explorer/testnet3/api',
[ChainId.DarwiniaNetwork]: 'https://darwinia.subview.xyz/api',
[ChainId.DogechainMainnet]: 'https://explorer.dogechain.dog/api',
[ChainId.ElastosSmartChain]: 'https://esc.elastos.io/api',
[ChainId.ENULSMainnet]: 'https://evmscan.nuls.io/api',
Expand Down Expand Up @@ -932,6 +944,7 @@ export const getCorrespondingMainnetChainId = (chainId: number): number | undefi
};

const canaryNetworks = {
[ChainId.CrabNetwork]: ChainId.DarwiniaNetwork,
[ChainId.Moonriver]: ChainId.Moonbeam,
[ChainId.Shiden]: ChainId.Astar,
[ChainId['SongbirdCanary-Network']]: ChainId.FlareMainnet,
Expand Down Expand Up @@ -967,8 +980,10 @@ export const getChainDeployedContracts = (chainId: number): any | undefined => {
[ChainId.CeloMainnet]: { ...MULTICALL },
[ChainId.CeloAlfajoresTestnet]: { ...MULTICALL },
[ChainId.CoreBlockchainMainnet]: { ...MULTICALL },
[ChainId.CrabNetwork]: { ...MULTICALL },
[ChainId.CronosMainnet]: { ...MULTICALL },
[ChainId.CronosTestnet]: { ...MULTICALL },
[ChainId.DarwiniaNetwork]: { ...MULTICALL },
[ChainId.DogechainMainnet]: { ...MULTICALL },
[ChainId.EOSEVMNetwork]: { ...MULTICALL },
[ChainId.EthereumMainnet]: {
Expand Down Expand Up @@ -1032,6 +1047,9 @@ export const getChainDeployedContracts = (chainId: number): any | undefined => {
[ChainId.Wanchain]: {
multicall3: { address: '0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB' },
},
[ChainId.XDCNetwork]: { ...MULTICALL },
[ChainId.ZetaChainAthens3Testnet]: { ...MULTICALL },
[ChainId.ZetaChainMainnet]: { ...MULTICALL },
[ChainId.ZKFairMainnet]: { ...MULTICALL },
[ChainId.ZkSyncMainnet]: {
multicall3: { address: '0xF9cda624FBC7e059355ce98a31693d299FACd963' },
Expand Down Expand Up @@ -1297,6 +1315,8 @@ const PRICE_STRATEGIES: Record<number, PriceStrategy> = {
}),
],
}),
[ChainId.CrabNetwork]: undefined,
[ChainId.DarwiniaNetwork]: undefined,
[ChainId.DogechainMainnet]: undefined, // All stablecoins on Dogechain are depegged
[ChainId.ElastosSmartChain]: new AggregatePriceStrategy({
aggregationType: AggregationType.ANY,
Expand Down
1 change: 1 addition & 0 deletions locales/en/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"coinex-smart-chain": "CoinEx Smart Chain (CSC) is a Layer 1 blockchain that was created by the CoinEx exchange. It was created to offer lower transaction fees and faster transaction times than Ethereum. It achieves this by using a more centralized consensus mechanism that integrates features of Proof of Stake and Proof of Authority.",
"core": "CORE is a Layer 1 blockchain that uses a new consensus mechanism called Satoshi Plus that leverages the Bitcoin hashrate and combines features of Proof of Work and Delegated Proof of Stake. While it provides its own blockchain network, the CORE DAO is also focused on spreading the use of the Satoshi Plus technology to other blockchains.",
"cronos": "Cronos is the EVM-compatible sidechain for the Crypto.org blockchain. Cronos uses a Proof of Authority consensus mechanism, which makes the chain fast and cheap to use, but compromises on decentralization. It also uses the Inter Blockchain Communications (IBC) protocol to enable interoperability between Cronos and other blockchains.",
"darwinia": "Darwinia is an Ethereum-compatible parachain running on Polkadot. As a Polkadot parachain it integrates well with other networks built on Polkadot as aims to provide cross-chain interoperability between different blockchains using its Darwinia MsgPort technology.",
"dogechain": "Dogechain is a project focused on bringing smart contracts into the Dogecoin ecosystem. Although it isn't officially endorsed, Dogechain is a sidechain of Dogecoin with a bridge to transfer DOGE to and from the Dogecoin mainnet. This allows people in the Dogecoin ecosystem to bridge over and use EVM based smart contracts with their DOGE.",
"elastos": "Elastos is a Layer 1 blockchain that aims to merge blockchain smart contracts with other parts of the modern web. To do so, Elastos created a blockchain and a sidechain network, as well as other related components like peer-to-peer networking and decentralized identity. Elastos' vision is to integrate these solutions to merge it into something they call the Elastos SmartWeb.",
"enuls": "ENULS is a Layer 1 EVM compatible chain built on top of the NULS blockchain infrastructure. It has a focus on cross-chain interoperability through its sibling-network Nerve Network, which is also part of the NULS ecosystem.",
Expand Down
1 change: 1 addition & 0 deletions locales/es/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"coinex-smart-chain": "CoinEx Smart Chain (CSC) es una blockchain de Capa 1 creada por la bolsa CoinEx. Se creó para ofrecer tarifas de transacción más bajas y tiempos de transacción más rápidos que Ethereum. Lo consigue utilizando un mecanismo de consenso más centralizado que integra funciones de Prueba de Participación y Prueba de Autoridad.",
"core": "CORE es una blockchain de Capa 1 que utiliza un nuevo mecanismo de consenso llamado Satoshi Plus, que aprovecha el hashrate de Bitcoin y combina características de Prueba de Trabajo y Prueba Delegada de Participación. Aunque proporciona su propia red de blockchain, la DAO de CORE también se centra en extender el uso de la tecnología Satoshi Plus a otras blockchains.",
"cronos": "Cronos es la sidechain compatible con EVM de la blockchain Crypto.org. Cronos utiliza un mecanismo de consenso de Prueba de Autoridad, que hace que la cadena sea rápida y barata de utilizar, pero compromete la descentralización. También utiliza el protocolo Inter Blockchain Communications (IBC) para permitir la interoperabilidad entre Cronos y otras blockchains.",
"darwinia": "Darwinia is an Ethereum-compatible parachain running on Polkadot. As a Polkadot parachain it integrates well with other networks built on Polkadot as aims to provide cross-chain interoperability between different blockchains using its Darwinia MsgPort technology.",
"dogechain": "Dogechain es un proyecto centrado en introducir contratos inteligentes en el ecosistema Dogecoin. Aunque no está oficialmente respaldada, Dogechain es una sidechain de Dogecoin con un puente para transferir DOGE desde y hacia la red principal de Dogecoin. Esto permite a la gente del ecosistema Dogecoin puentear y utilizar contratos inteligentes basados en EVM con su DOGE.",
"elastos": "Elastos es una blockchain de Capa 1 que pretende fusionar los contratos inteligentes de blockchain con otras partes de la web moderna. Para ello, Elastos ha creado una blockchain y una red sidechain, así como otros componentes relacionados como las redes entre iguales y la identidad descentralizada. La visión de Elastos es integrar estas soluciones para fusionarlas en algo que denominan Elastos SmartWeb.",
"enuls": "ENULS es una cadena compatible con EVM de Capa 1 construida sobre la infraestructura de blockchains NULS. Se centra en la interoperabilidad entre cadenas a través de su red hermana Nerve Network, que también forma parte del ecosistema NULS.",
Expand Down
1 change: 1 addition & 0 deletions locales/ja/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"coinex-smart-chain": "CoinExスマートチェーン(CSC)は、CoinEx取引所によって作成されたレイヤー1のブロックチェーンです。Ethereumよりも低い取引手数料と速い取引時間を提供するために作成されました。プルーフ・オブ・ステークとプルーフ・オブ・オーソリティの機能を統合した、より一元化されたコンセンサスメカニズムを採用することでこれを実現しています。",
"core": "COREは、ビットコインのハッシュレートを活用し、プルーフ・オブ・ワークと委任型プルーフ・オブ・ステークの機能を組み合わせたSatoshi Plusと呼ばれる新しいコンセンサスメカニズムを使用するレイヤー1のブロックチェーンです。CORE DAOは独自のブロックチェーンネットワークを提供する一方で、Satoshi Plusテクノロジーの使用を他のブロックチェーンにも広めることに重点を置いています。",
"cronos": "CronosはCrypto.orgブロックチェーンのEVM互換サイドチェーンです。Cronosは、プルーフ・オブ・オーソリティのコンセンサスメカニズムを採用しています。これにより、チェーンは高速で安価に使用できますが、分散化には妥協があります。また、インター・ブロックチェーン・コミュニケーション(IBC)プロトコルを使用して、Cronosと他のブロックチェーン間の相互運用性を実現しています。",
"darwinia": "Darwinia is an Ethereum-compatible parachain running on Polkadot. As a Polkadot parachain it integrates well with other networks built on Polkadot as aims to provide cross-chain interoperability between different blockchains using its Darwinia MsgPort technology.",
"dogechain": "Dogechainは、スマートコントラクトをDogecoinエコシステムに導入することに焦点を当てたプロジェクトです。公式には承認されていませんが、DogechainはDogecoinのサイドチェーンで、Dogecoinのメインネットとの間でDOGEを転送するためのブリッジを備えています。これにより、Dogecoinエコシステムの人々は、EVMをベースにしたスマート・コントラクトをDOGEと橋渡しして使用することができます。",
"elastos": "Elastosは、ブロックチェーンのスマートコントラクトを現代のウェブの他の部分と統合することを目的としたレイヤー1のブロックチェーンです。そのために、Elastosはブロックチェーンとサイドチェーンネットワークのほか、ピアツーピアネットワークや分散型アイデンティティーなどの他の関連コンポーネントも開発しました。Elastosのビジョンは、これらのソリューションを統合して、Elastos SmartWebと呼ばれるものに統合することです。",
"enuls": "ENULSは、NULSブロックチェーンインフラストラクチャー上に構築されたレイヤー1のEVM互換チェーンです。NULSエコシステムの一部でもある兄弟ネットワークのNerve Networkを通じたクロスチェーン相互運用性に重点を置いています。",
Expand Down
1 change: 1 addition & 0 deletions locales/ru/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"coinex-smart-chain": "CoinEx Smart Chain (CSC) — это Layer 1 блокчейн, созданный биржей CoinEx. Он был создан для того, чтобы предлагать более низкие комиссии за транзакции и болеe быстрые транзакции чем Ethereum. Это достигается за счет использования более централизованного механизма консенсуса, объединяющего функции Proof of Stake и Proof of Authority.",
"core": "CORE — это Layer 1 блокчейн, в котором используется новый механизм консенсуса под названием Satoshi Plus, который использует хешрейт биткоинов и сочетает функции Proof of Work и Delegated Proof of Stake. Хотя CORE DAO предоставляет собственную сеть блокчейнов, он также сосредоточен на распространении использования технологии Satoshi Plus на другие блокчейны.",
"cronos": "Cronos — это совместимый с EVM сайдчейн для блокчейна Crypto.org. Cronos использует механизм консенсуса Proof of Authority, который делает цепочку быстрой и дешевой в использовании, но теряет в децентрализации. Компания также использует протокол Inter Blockchain Communications (IBC) для обеспечения совместимости между Cronos и другими блокчейнами.",
"darwinia": "Darwinia is an Ethereum-compatible parachain running on Polkadot. As a Polkadot parachain it integrates well with other networks built on Polkadot as aims to provide cross-chain interoperability between different blockchains using its Darwinia MsgPort technology.",
"dogechain": "Dogechain — это проект, направленный на внедрение смарт-контрактов в экосистему Dogecoin. Хотя Dogechain официально не одобрен, он представляет собой сайдчейн Dogecoin с мостом для перевода DOGE в основную сеть Dogecoin и обратно. Это позволяет участникам экосистемы Dogecoin обмениваться смарт-контрактами на основе EVM и использовать их вместе со своими DOGE.",
"elastos": "Elastos — это Layer 1 блокчейн, целью которого является объединение смарт-контрактов блокчейна с другими частями современной сети. Для этого Elastos создали блокчейн и сеть сайдчейнов, а также другие сопутствующие компоненты, такие как одноранговая сеть и децентрализованная идентификация. Видение Elastos заключается в том, чтобы интегрировать эти решения и объединить их в систему, которую они называют Elastos SmartWeb.",
"enuls": "ENULS - это Layer 1 EVM-совместимая цепочка, построенная поверх блокчейн-инфраструктуры NULS. Она ориентирована на межцепочечную совместимость через свою сиблинговую сеть Nerve, которая также является частью экосистемы NULS.",
Expand Down
Loading