From 6dd12f29e23957614ec861a44ca4dcea615f77d2 Mon Sep 17 00:00:00 2001 From: aelmanaa Date: Tue, 3 Dec 2024 14:19:05 +0100 Subject: [PATCH] ccip mantle --- public/assets/chains/mantle.svg | 39 +++++++ public/changelog.json | 11 ++ .../QuickLinks/data/productChainLinks.ts | 3 + .../data/ccip/v1_2_0/mainnet/chains.json | 20 ++++ .../data/ccip/v1_2_0/mainnet/lanes.json | 54 +++++++++ .../data/ccip/v1_2_0/mainnet/tokens.json | 18 +++ .../data/ccip/v1_2_0/testnet/chains.json | 20 ++++ .../data/ccip/v1_2_0/testnet/lanes.json | 110 ++++++++++++++++++ .../data/ccip/v1_2_0/testnet/tokens.json | 36 ++++++ src/config/data/chain-to-technology.json | 4 +- src/config/data/chains.json | 22 ++++ src/config/types.ts | 4 +- src/config/web3Providers.ts | 2 + .../ccip/concepts/ccip-execution-latency.mdx | 1 + .../resources/link-token-contracts.mdx | 28 +++++ src/features/utils/index.ts | 8 ++ src/scripts/reference/chains.json | 70 +++++++++-- src/scripts/reference/linkNameSymbol.json | 8 ++ 18 files changed, 444 insertions(+), 14 deletions(-) create mode 100644 public/assets/chains/mantle.svg diff --git a/public/assets/chains/mantle.svg b/public/assets/chains/mantle.svg new file mode 100644 index 00000000000..746dc49928e --- /dev/null +++ b/public/assets/chains/mantle.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/changelog.json b/public/changelog.json index 4191b2aef0b..f51a6d6714d 100644 --- a/public/changelog.json +++ b/public/changelog.json @@ -1,4 +1,15 @@ [ + { + "category": "integration", + "changes": [], + "date": "2024-12-03", + "description": "Chainlink CCIP is publicly available on Mantle mainnet and testnet. Check the [mainnet CCIP Directory](https://docs.chain.link/ccip/directory/mainnet/chain/ethereum-mainnet-mantle-1) and [testnet CCIP Directory](https://docs.chain.link/ccip/directory/testnet/chain/ethereum-testnet-sepolia-mantle-1) for more information.", + "relatedNetworks": ["mantle"], + "relatedTokens": [], + "title": "CCIP on Mantle", + "topic": "ccip", + "urls": [] + }, { "category": "integration", "changes": [], diff --git a/src/components/QuickLinks/data/productChainLinks.ts b/src/components/QuickLinks/data/productChainLinks.ts index 1492981efa0..71cbe9b343c 100644 --- a/src/components/QuickLinks/data/productChainLinks.ts +++ b/src/components/QuickLinks/data/productChainLinks.ts @@ -33,6 +33,7 @@ export const productChainLinks: ProductChainLinks = { optimism: "/ccip/directory/mainnet/chain/ethereum-mainnet-optimism-1", polygon: "/ccip/directory/mainnet/chain/matic-mainnet", wemix: "/ccip/directory/mainnet/chain/wemix-mainnet", + mantle: "/ccip/directory/mainnet/chain/ethereum-mainnet-mantle-1", mode: "/ccip/directory/mainnet/chain/ethereum-mainnet-mode-1", metis: "/ccip/directory/mainnet/chain/ethereum-mainnet-andromeda-1", zksync: "/ccip/directory/mainnet/chain/ethereum-mainnet-zksync-1", @@ -138,6 +139,7 @@ export const productChainLinks: ProductChainLinks = { "gnosis-chain": "/resources/link-token-contracts#gnosis-chain-xdai", hedera: "/resources/link-token-contracts#hedera", kroma: "/resources/link-token-contracts#kroma", + mantle: "/resources/link-token-contracts#mantle", linea: "/resources/link-token-contracts#linea", metis: "/resources/link-token-contracts#metis", mode: "/resources/link-token-contracts#mode", @@ -168,6 +170,7 @@ export const chainNames: Record = { hedera: "Hedera", kroma: "Kroma", linea: "Linea", + mantle: "Mantle", metis: "Metis", moonbeam: "Moonbeam", moonriver: "Moonriver", diff --git a/src/config/data/ccip/v1_2_0/mainnet/chains.json b/src/config/data/ccip/v1_2_0/mainnet/chains.json index 8d2a81d364f..ae5f72cbe69 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/chains.json +++ b/src/config/data/ccip/v1_2_0/mainnet/chains.json @@ -179,6 +179,26 @@ "version": "1.5.0" } }, + "ethereum-mainnet-mantle-1": { + "armProxy": { + "address": "0x91E2186E93F0ECeDDCdf9850078F104daB085E79", + "version": "1.5.0" + }, + "chainSelector": "1556008542357238666", + "feeTokens": ["LINK", "WMNT"], + "registryModule": { + "address": "0x869c8c4e23668A83151267636f190F5A17A104FD", + "version": "1.5.0" + }, + "router": { + "address": "0x670052635a9850bb45882Cb2eCcF66bCff0F41B7", + "version": "1.2.0" + }, + "tokenAdminRegistry": { + "address": "0x000A744940eB5D857c0d61d97015DFc83107404F", + "version": "1.5.0" + } + }, "ethereum-mainnet-mode-1": { "armProxy": { "address": "0xA0876B45271615c737781185C2B5ada60ed2D2B9", diff --git a/src/config/data/ccip/v1_2_0/mainnet/lanes.json b/src/config/data/ccip/v1_2_0/mainnet/lanes.json index 2890941998c..e0ad4319788 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/lanes.json +++ b/src/config/data/ccip/v1_2_0/mainnet/lanes.json @@ -3036,6 +3036,20 @@ } } }, + "EARNM": { + "rateLimiterConfig": { + "in": { + "capacity": "625000000000000000000000", + "isEnabled": true, + "rate": "173600000000000000000" + }, + "out": { + "capacity": "625000000000000000000000", + "isEnabled": true, + "rate": "173600000000000000000" + } + } + }, "LAND": { "rateLimiterConfig": { "in": { @@ -4703,6 +4717,20 @@ "rmnPermeable": false } }, + "ethereum-mainnet-mantle-1": { + "mainnet": { + "offRamp": { + "address": "0xfFdAbD352FdA50faF773503fe8BF265dFA9f7A01", + "version": "1.5.0" + }, + "onRamp": { + "address": "0xa18BC8b64a863DB34199F7e59F3A3d051ABa413d", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": false + } + }, "ethereum-mainnet-mode-1": { "bsc-mainnet": { "offRamp": { @@ -7194,6 +7222,18 @@ }, "rmnPermeable": false }, + "ethereum-mainnet-mantle-1": { + "offRamp": { + "address": "0x5B859E596C4285bf489E1bFa222b97dB431da7eC", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x70B2b3430c41bA19E20F57Cae23c3C619CbCA65D", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": false + }, "ethereum-mainnet-mode-1": { "offRamp": { "address": "0xb57D52F7Cb7BBD19a117585bbaf712108E56dd8f", @@ -7944,6 +7984,20 @@ } } }, + "EARNM": { + "rateLimiterConfig": { + "in": { + "capacity": "0", + "isEnabled": false, + "rate": "0" + }, + "out": { + "capacity": "0", + "isEnabled": false, + "rate": "0" + } + } + }, "LAND": { "rateLimiterConfig": { "in": { diff --git a/src/config/data/ccip/v1_2_0/mainnet/tokens.json b/src/config/data/ccip/v1_2_0/mainnet/tokens.json index 57e2bf2e9c4..e920196e54d 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/tokens.json +++ b/src/config/data/ccip/v1_2_0/mainnet/tokens.json @@ -612,6 +612,14 @@ "symbol": "LINK", "tokenAddress": "0xa18152629128738a5c081eb226335FEd4B9C95e9" }, + "ethereum-mainnet-mantle-1": { + "allowListEnabled": false, + "decimals": 18, + "name": "ChainLink Token", + "poolType": "feeTokenOnly", + "symbol": "LINK", + "tokenAddress": "0xfe36cF0B43aAe49fBc5cFC5c0AF22a623114E043" + }, "ethereum-mainnet-mode-1": { "allowListEnabled": false, "decimals": 18, @@ -2003,6 +2011,16 @@ "tokenAddress": "0x75cb093E4D61d2A2e65D8e0BBb01DE8d89b53481" } }, + "WMNT": { + "ethereum-mainnet-mantle-1": { + "allowListEnabled": false, + "decimals": 18, + "name": "Wrapped Mantle", + "poolType": "feeTokenOnly", + "symbol": "WMNT", + "tokenAddress": "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8" + } + }, "WMTX": { "bsc-mainnet": { "allowListEnabled": false, diff --git a/src/config/data/ccip/v1_2_0/testnet/chains.json b/src/config/data/ccip/v1_2_0/testnet/chains.json index c3efa650559..6e3d01fc98e 100644 --- a/src/config/data/ccip/v1_2_0/testnet/chains.json +++ b/src/config/data/ccip/v1_2_0/testnet/chains.json @@ -219,6 +219,26 @@ "version": "1.5.0" } }, + "ethereum-testnet-sepolia-mantle-1": { + "armProxy": { + "address": "0xcCB84Ec3F6AFdD2052134f74aaAc95Ae41A7B333", + "version": "1.5.0" + }, + "chainSelector": "8236463271206331221", + "feeTokens": ["LINK", "WMNT"], + "registryModule": { + "address": "0xd239f46A197ef6657af8b1C1d025410992B44771", + "version": "1.5.0" + }, + "router": { + "address": "0xFd33fd627017fEf041445FC19a2B6521C9778f86", + "version": "1.2.0" + }, + "tokenAdminRegistry": { + "address": "0x0F1eE88A582f31d92510E300fc1330AA5a525D51", + "version": "1.5.0" + } + }, "ethereum-testnet-sepolia-mode-1": { "armProxy": { "address": "0xcbFD5e55619B4EE3E6e7fe3CEb0E78fDf7d82dfc", diff --git a/src/config/data/ccip/v1_2_0/testnet/lanes.json b/src/config/data/ccip/v1_2_0/testnet/lanes.json index 34b5a321984..61db4d6356f 100644 --- a/src/config/data/ccip/v1_2_0/testnet/lanes.json +++ b/src/config/data/ccip/v1_2_0/testnet/lanes.json @@ -778,6 +778,18 @@ }, "rmnPermeable": true }, + "ethereum-testnet-sepolia-mantle-1": { + "offRamp": { + "address": "0xc925456Fc62563656FDA1Ab21AcB3ec850646CaE", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x456011c47aD4182027273B66087c8a8E8B7bb22b", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": false + }, "ethereum-testnet-sepolia-scroll-1": { "offRamp": { "address": "0xec4F7939E2A084FdF1a842F428D182f2928e7d56", @@ -1182,6 +1194,48 @@ } } }, + "ethereum-testnet-sepolia-mantle-1": { + "offRamp": { + "address": "0xE41822422d4555D56a1094e083E433AF87E2CaE0", + "version": "1.5.0" + }, + "onRamp": { + "address": "0xE73cE200D9F59C19B3DD4E45935891851116413b", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": true, + "supportedTokens": { + "CCIP-BnM": { + "rateLimiterConfig": { + "in": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + }, + "out": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + } + } + }, + "CCIP-LnM": { + "rateLimiterConfig": { + "in": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + }, + "out": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + } + } + } + } + }, "ethereum-testnet-sepolia-mode-1": { "offRamp": { "address": "0x052E52fdd48719A6084366eA184FC44cb8C25DC2", @@ -2501,6 +2555,62 @@ } } }, + "ethereum-testnet-sepolia-mantle-1": { + "ethereum-testnet-holesky": { + "offRamp": { + "address": "0x6B8758cC7EEdbddBFfbc884d1E56f8b31e6b8457", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x83E662c0774e0331B99A1B2FF89b9c67aF181D1c", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": false + }, + "ethereum-testnet-sepolia": { + "offRamp": { + "address": "0x4073ad4c5c120643A589b57b4482bDc1257a8575", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x73ccF98bE3C5a2CffCCA01948450E2523E73214C", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": false, + "supportedTokens": { + "CCIP-BnM": { + "rateLimiterConfig": { + "in": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + }, + "out": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + } + } + }, + "CCIP-LnM": { + "rateLimiterConfig": { + "in": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + }, + "out": { + "capacity": "100000000000000000000000", + "isEnabled": true, + "rate": "167000000000000000000" + } + } + } + } + } + }, "ethereum-testnet-sepolia-mode-1": { "ethereum-testnet-sepolia": { "offRamp": { diff --git a/src/config/data/ccip/v1_2_0/testnet/tokens.json b/src/config/data/ccip/v1_2_0/testnet/tokens.json index 8c813007d6d..c7fc3553a23 100644 --- a/src/config/data/ccip/v1_2_0/testnet/tokens.json +++ b/src/config/data/ccip/v1_2_0/testnet/tokens.json @@ -90,6 +90,15 @@ "symbol": "CCIP-BnM", "tokenAddress": "0x45A6F9a98932D03d34d50c42568D79023fE13fa6" }, + "ethereum-testnet-sepolia-mantle-1": { + "allowListEnabled": false, + "decimals": 18, + "name": "CCIP-BnM", + "poolAddress": "0x5146E856687bAB6038e4D1F56da35FCe55218233", + "poolType": "burnMint", + "symbol": "CCIP-BnM", + "tokenAddress": "0xEA8cA8AE1c54faB8D185FC1fd7C2d70Bee8a417e" + }, "ethereum-testnet-sepolia-mode-1": { "allowListEnabled": false, "decimals": 18, @@ -254,6 +263,15 @@ "symbol": "clCCIP-LnM", "tokenAddress": "0xA7EA79b9E466e8D2a440128867ed399bC78f4aaE" }, + "ethereum-testnet-sepolia-mantle-1": { + "allowListEnabled": false, + "decimals": 18, + "name": "clCCIP-LnM", + "poolAddress": "0x2979C66FaBb41f67451F0BcB2A668382f92959a1", + "poolType": "burnMint", + "symbol": "clCCIP-LnM", + "tokenAddress": "0xCdeE7708A96479f6D029741144f458B7FA807A6C" + }, "ethereum-testnet-sepolia-mode-1": { "allowListEnabled": false, "decimals": 18, @@ -455,6 +473,14 @@ "symbol": "LINK", "tokenAddress": "0xF64E6E064a71B45514691D397ad4204972cD6508" }, + "ethereum-testnet-sepolia-mantle-1": { + "allowListEnabled": false, + "decimals": 18, + "name": "ChainLink Token", + "poolType": "feeTokenOnly", + "symbol": "LINK", + "tokenAddress": "0x22bdEdEa0beBdD7CfFC95bA53826E55afFE9DE04" + }, "ethereum-testnet-sepolia-mode-1": { "allowListEnabled": false, "decimals": 18, @@ -758,6 +784,16 @@ "tokenAddress": "0x5c48e07062aC4E2Cf4b9A768a711Aef18e8fbdA0" } }, + "WMNT": { + "ethereum-testnet-sepolia-mantle-1": { + "allowListEnabled": false, + "decimals": 18, + "name": "Wrapped Mantle", + "poolType": "feeTokenOnly", + "symbol": "WMNT", + "tokenAddress": "0x19f5557E23e9914A18239990f6C70D68FDF0deD5" + } + }, "WSBY": { "polkadot-testnet-astar-shibuya": { "allowListEnabled": false, diff --git a/src/config/data/chain-to-technology.json b/src/config/data/chain-to-technology.json index aa7742206a0..ff0caed1da6 100644 --- a/src/config/data/chain-to-technology.json +++ b/src/config/data/chain-to-technology.json @@ -44,5 +44,7 @@ "ASTAR_MAINNET": "ASTAR", "ASTAR_SHIBUYA": "ASTAR", "ZIRCUIT_MAINNET": "ZIRCUIT", - "ZIRCUIT_TESTNET": "ZIRCUIT" + "ZIRCUIT_TESTNET": "ZIRCUIT", + "MANTLE_MAINNET": "MANTLE", + "MANTLE_SEPOLIA": "MANTLE" } diff --git a/src/config/data/chains.json b/src/config/data/chains.json index decef76116c..09fcd12fc39 100644 --- a/src/config/data/chains.json +++ b/src/config/data/chains.json @@ -596,5 +596,27 @@ "nativeCurrency": { "name": "ETH", "symbol": "ETH", "decimals": 18 } } } + }, + "MANTLE": { + "title": "Mantle", + "icon": "/assets/chains/mantle.svg", + "chains": { + "MANTLE_MAINNET": { + "chainId": 5000, + "title": "Mantle", + "explorer": "https://mantlescan.xyz", + "nativeCurrency": { + "name": "Mantle", + "symbol": "MNT", + "decimals": 18 + } + }, + "MANTLE_SEPOLIA": { + "chainId": 5003, + "title": "Mantle Sepolia", + "explorer": "https://sepolia.mantlescan.xyz", + "nativeCurrency": { "name": "Ether", "symbol": "ETH", "decimals": 18 } + } + } } } diff --git a/src/config/types.ts b/src/config/types.ts index ebc6eed7b1c..82b0e3b6909 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -23,7 +23,7 @@ export type SupportedTechnology = | "SONEIUM" | "ASTAR" | "ZIRCUIT" - + | "MANTLE" export type SupportedChain = | "ETHEREUM_MAINNET" | "ETHEREUM_SEPOLIA" @@ -71,6 +71,8 @@ export type SupportedChain = | "ASTAR_SHIBUYA" | "ZIRCUIT_MAINNET" | "ZIRCUIT_TESTNET" + | "MANTLE_MAINNET" + | "MANTLE_SEPOLIA" export type Chains = Record< SupportedTechnology, diff --git a/src/config/web3Providers.ts b/src/config/web3Providers.ts index 9b4bd90ad71..5eb7872c3f6 100644 --- a/src/config/web3Providers.ts +++ b/src/config/web3Providers.ts @@ -50,6 +50,8 @@ export const chainToProvider: Record providers.Provider> = ASTAR_SHIBUYA: () => new providers.JsonRpcProvider("https://evm.shibuya.astar.network/"), ZIRCUIT_MAINNET: () => new providers.JsonRpcProvider("https://zircuit1-mainnet.liquify.com"), ZIRCUIT_TESTNET: () => new providers.JsonRpcProvider("https://zircuit1-testnet.p2pify.com"), + MANTLE_MAINNET: () => new providers.JsonRpcProvider("https://rpc.mantle.xyz"), + MANTLE_SEPOLIA: () => new providers.JsonRpcProvider("https://rpc.sepolia.mantle.xyz"), } export const getRpcUrlForChain = (chain: SupportedChain): string => { diff --git a/src/content/ccip/concepts/ccip-execution-latency.mdx b/src/content/ccip/concepts/ccip-execution-latency.mdx index 5b8e72652e5..b1b7a634e8b 100644 --- a/src/content/ccip/concepts/ccip-execution-latency.mdx +++ b/src/content/ccip/concepts/ccip-execution-latency.mdx @@ -132,6 +132,7 @@ This section provides an overview of the finality methods CCIP uses to determine | Gnosis | Finality tag | 3 minutes | | Kroma | Finality tag | 25 minutes | | Linea | [Block depth](#block-depth) (600 blocks) | 20 minutes | +| Mantle | Finality tag | 28 minutes | | Metis | Finality tag | 2 hours | | Mode | Finality tag | 37 minutes | | Optimism | Finality tag | 20 minutes | diff --git a/src/content/resources/link-token-contracts.mdx b/src/content/resources/link-token-contracts.mdx index 73e793d83bc..8ebcc559a10 100644 --- a/src/content/resources/link-token-contracts.mdx +++ b/src/content/resources/link-token-contracts.mdx @@ -664,6 +664,34 @@ Testnet ETH and LINK are available at [faucets.chain.link/kroma-testnet](https:/ | Symbol | LINK | | Decimals | 18 | +## Mantle + +### Mantle mainnet + +MNT is used to pay for transactions on the Mantle mainnet. + +| Parameter | Value | +| :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ETH_CHAIN_ID` | `5000` | +| Address |
| +| Name | ChainLink Token | +| Symbol | LINK | +| Decimals | 18 | + +### Mantle Sepolia testnet + +Testnet ETH is used to pay for transactions on the Mantle Sepolia testnet. + +Testnet ETH and LINK are available at [faucets.chain.link/mantle-sepolia](https://faucets.chain.link/mantle-sepolia). + +| Parameter | Value | +| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ETH_CHAIN_ID` | `5003` | +| Address |
| +| Name | ChainLink Token | +| Symbol | LINK | +| Decimals | 18 | + ## Mode ### Mode mainnet diff --git a/src/features/utils/index.ts b/src/features/utils/index.ts index f95d02a486a..4b04645dac1 100644 --- a/src/features/utils/index.ts +++ b/src/features/utils/index.ts @@ -189,6 +189,10 @@ export const directoryToSupportedChain = (chainInRdd: string): SupportedChain => return "ZIRCUIT_TESTNET" case "ethereum-mainnet-zircuit-1": return "ZIRCUIT_MAINNET" + case "ethereum-mainnet-mantle-1": + return "MANTLE_MAINNET" + case "ethereum-testnet-sepolia-mantle-1": + return "MANTLE_SEPOLIA" default: throw Error(`Chain not found ${chainInRdd}`) } @@ -276,6 +280,10 @@ export const supportedChainToChainInRdd = (supportedChain: SupportedChain): stri return "ethereum-testnet-sepolia-zircuit-1" case "ZIRCUIT_MAINNET": return "ethereum-mainnet-zircuit-1" + case "MANTLE_MAINNET": + return "ethereum-mainnet-mantle-1" + case "MANTLE_SEPOLIA": + return "ethereum-testnet-sepolia-mantle-1" default: throw Error(`Chain not found ${supportedChain}`) } diff --git a/src/scripts/reference/chains.json b/src/scripts/reference/chains.json index 4a90ea39a2f..4c4d42389ba 100644 --- a/src/scripts/reference/chains.json +++ b/src/scripts/reference/chains.json @@ -34,7 +34,8 @@ "explorers": [ { "name": "etherscan", "url": "https://etherscan.io", "standard": "EIP3091" }, { "name": "blockscout", "url": "https://eth.blockscout.com", "icon": "blockscout", "standard": "EIP3091" }, - { "name": "dexguru", "url": "https://ethereum.dex.guru", "icon": "dexguru", "standard": "EIP3091" } + { "name": "dexguru", "url": "https://ethereum.dex.guru", "icon": "dexguru", "standard": "EIP3091" }, + { "name": "Routescan", "url": "https://ethereum.routescan.io", "standard": "EIP3091" } ] }, { @@ -58,7 +59,8 @@ "explorers": [ { "name": "etherscan", "url": "https://optimistic.etherscan.io", "standard": "EIP3091" }, { "name": "blockscout", "url": "https://optimism.blockscout.com", "icon": "blockscout", "standard": "EIP3091" }, - { "name": "dexguru", "url": "https://optimism.dex.guru", "icon": "dexguru", "standard": "EIP3091" } + { "name": "dexguru", "url": "https://optimism.dex.guru", "icon": "dexguru", "standard": "EIP3091" }, + { "name": "Routescan", "url": "https://mainnet.superscan.network", "standard": "EIP3091" } ] }, { @@ -281,7 +283,7 @@ { "name": "Astar", "chain": "ASTR", - "rpc": ["https://evm.astar.network"], + "rpc": ["https://rpc.astar.network:8545"], "faucets": [], "nativeCurrency": { "name": "Astar", "symbol": "ASTR", "decimals": 18 }, "infoURL": "https://astar.network/", @@ -306,7 +308,10 @@ "networkId": 919, "slip44": 1, "icon": "modeTestnet", - "explorers": [{ "name": "modescout", "url": "https://sepolia.explorer.mode.network", "standard": "none" }], + "explorers": [ + { "name": "modescout", "url": "https://sepolia.explorer.mode.network", "standard": "none" }, + { "name": "Routesan", "url": "https://testnet.modescan.io", "standard": "none" } + ], "parent": { "type": "L2", "chain": "eip155-11155111", "bridges": [{ "url": "https://bridge.mode.network/" }] } }, { @@ -475,7 +480,11 @@ "networkId": 2442, "icon": "zkevm", "explorers": [{ "name": "polygonscan", "url": "https://cardona-zkevm.polygonscan.com", "standard": "EIP3091" }], - "parent": { "type": "L2", "chain": "eip155-1", "bridges": [{ "url": "https://bridge-ui.cardona.zkevm-rpc.com" }] } + "parent": { + "type": "L2", + "chain": "eip155-11155111", + "bridges": [{ "url": "https://bridge-ui.cardona.zkevm-rpc.com" }] + } }, { "name": "Fantom Testnet", @@ -497,6 +506,36 @@ "icon": "fantom", "explorers": [{ "name": "ftmscan", "url": "https://testnet.ftmscan.com", "icon": "ftmscan", "standard": "EIP3091" }] }, + { + "name": "Mantle", + "chain": "ETH", + "icon": "mantle", + "rpc": ["https://rpc.mantle.xyz", "https://mantle-rpc.publicnode.com", "wss://mantle-rpc.publicnode.com"], + "faucets": [], + "nativeCurrency": { "name": "Mantle", "symbol": "MNT", "decimals": 18 }, + "infoURL": "https://mantle.xyz", + "shortName": "mantle", + "chainId": 5000, + "networkId": 5000, + "explorers": [ + { "name": "mantlescan", "url": "https://mantlescan.xyz", "standard": "EIP3091" }, + { "name": "Mantle Explorer", "url": "https://explorer.mantle.xyz", "standard": "EIP3091" } + ], + "parent": { "type": "L2", "chain": "eip155-1", "bridges": [{ "url": "https://bridge.mantle.xyz" }] } + }, + { + "name": "Mantle Sepolia Testnet", + "chain": "ETH", + "rpc": ["https://rpc.sepolia.mantle.xyz"], + "faucets": ["https://faucet.sepolia.mantle.xyz"], + "nativeCurrency": { "name": "Sepolia Mantle", "symbol": "MNT", "decimals": 18 }, + "infoURL": "https://mantle.xyz", + "shortName": "mnt-sep", + "chainId": 5003, + "networkId": 5003, + "slip44": 1, + "explorers": [{ "name": "blockscout", "url": "https://explorer.sepolia.mantle.xyz", "standard": "EIP3091" }] + }, { "name": "Base", "chain": "ETH", @@ -518,7 +557,8 @@ "explorers": [ { "name": "basescan", "url": "https://basescan.org", "standard": "EIP3091" }, { "name": "basescout", "url": "https://base.blockscout.com", "icon": "blockscout", "standard": "EIP3091" }, - { "name": "dexguru", "url": "https://base.dex.guru", "icon": "dexguru", "standard": "EIP3091" } + { "name": "dexguru", "url": "https://base.dex.guru", "icon": "dexguru", "standard": "EIP3091" }, + { "name": "Routescan", "url": "https://base.superscan.network", "standard": "EIP3091" } ], "status": "active" }, @@ -595,7 +635,10 @@ "chainId": 34443, "networkId": 34443, "icon": "mode", - "explorers": [{ "name": "modescout", "url": "https://explorer.mode.network", "standard": "none" }] + "explorers": [ + { "name": "modescout", "url": "https://explorer.mode.network", "standard": "none" }, + { "name": "Routescan", "url": "https://modescan.io", "standard": "none" } + ] }, { "name": "Arbitrum One", @@ -652,8 +695,9 @@ "networkId": 1, "slip44": 1, "explorers": [ - { "name": "snowscan-testnet", "url": "https://testnet.snowscan.xyz", "standard": "EIP3091" }, - { "name": "snowtrace", "url": "https://testnet.snowtrace.io", "standard": "EIP3091" } + { "name": "Etherscan", "url": "https://testnet.snowscan.xyz", "standard": "EIP3091" }, + { "name": "Routescan", "url": "https://testnet.snowtrace.io", "standard": "EIP3091" }, + { "name": "Avascan", "url": "https://testnet.avascan.info", "standard": "EIP3091" } ] }, { @@ -674,8 +718,9 @@ "networkId": 43114, "slip44": 9005, "explorers": [ - { "name": "snowscan", "url": "https://snowscan.xyz", "standard": "EIP3091" }, - { "name": "snowtrace", "url": "https://snowtrace.io", "standard": "EIP3091" } + { "name": "Etherscan", "url": "https://snowscan.xyz", "standard": "EIP3091" }, + { "name": "Routescan", "url": "https://snowtrace.io", "standard": "EIP3091" }, + { "name": "Avascan", "url": "https://avascan.info", "standard": "EIP3091" } ] }, { @@ -949,7 +994,8 @@ "slip44": 1, "explorers": [ { "name": "etherscan-sepolia", "url": "https://sepolia.etherscan.io", "standard": "EIP3091" }, - { "name": "otterscan-sepolia", "url": "https://sepolia.otterscan.io", "standard": "EIP3091" } + { "name": "otterscan-sepolia", "url": "https://sepolia.otterscan.io", "standard": "EIP3091" }, + { "name": "Routescan", "url": "https://11155111.testnet.routescan.io", "standard": "EIP3091" } ] }, { diff --git a/src/scripts/reference/linkNameSymbol.json b/src/scripts/reference/linkNameSymbol.json index b1ce2712503..3fb0fca522c 100644 --- a/src/scripts/reference/linkNameSymbol.json +++ b/src/scripts/reference/linkNameSymbol.json @@ -187,5 +187,13 @@ "48900": { "name": "ChainLink Token", "symbol": "LINK" + }, + "5000": { + "name": "ChainLink Token", + "symbol": "LINK" + }, + "5003": { + "name": "ChainLink Token", + "symbol": "LINK" } }