From f7772ffc7d4a61f6abb82db578cdb9e9b686fe3f Mon Sep 17 00:00:00 2001 From: aelmanaa Date: Tue, 17 Dec 2024 22:15:44 +0100 Subject: [PATCH] shibarium --- public/assets/chains/shibarium.svg | 19 ++++++ public/changelog.json | 11 ++++ .../QuickLinks/data/productChainLinks.ts | 4 ++ .../data/ccip/v1_2_0/mainnet/chains.json | 20 +++++++ .../data/ccip/v1_2_0/mainnet/lanes.json | 26 +++++++++ .../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 | 58 +++++++++++++++++++ .../data/ccip/v1_2_0/testnet/tokens.json | 27 +++++++++ src/config/data/chain-to-technology.json | 4 +- src/config/data/chains.json | 18 ++++++ src/config/types.ts | 2 + src/config/web3Providers.ts | 2 + .../ccip/concepts/ccip-execution-latency.mdx | 1 + .../resources/link-token-contracts.mdx | 32 +++++++++- src/features/utils/index.ts | 8 +++ src/scripts/reference/chains.json | 26 +++++++++ src/scripts/reference/linkNameSymbol.json | 8 +++ 18 files changed, 302 insertions(+), 2 deletions(-) create mode 100644 public/assets/chains/shibarium.svg diff --git a/public/assets/chains/shibarium.svg b/public/assets/chains/shibarium.svg new file mode 100644 index 00000000000..5186bfff4fa --- /dev/null +++ b/public/assets/chains/shibarium.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/public/changelog.json b/public/changelog.json index f2d84d6f7c4..1d971818a9a 100644 --- a/public/changelog.json +++ b/public/changelog.json @@ -1,4 +1,15 @@ [ + { + "category": "integration", + "changes": [], + "date": "2024-12-17", + "description": "Chainlink CCIP is publicly available on Shibarium mainnet and Shibarium Puppynet. Check the [mainnet CCIP Directory](https://docs.chain.link/ccip/directory/mainnet/chain/shibarium-mainnet) and [testnet CCIP Directory](https://docs.chain.link/ccip/directory/testnet/chain/shibarium-testnet-puppynet) for more information.", + "relatedNetworks": ["shibarium"], + "relatedTokens": [], + "title": "CCIP on Shibarium", + "topic": "ccip", + "urls": [] + }, { "category": "integration", "changes": [], diff --git a/src/components/QuickLinks/data/productChainLinks.ts b/src/components/QuickLinks/data/productChainLinks.ts index 47a0523ae87..1489f6ca08c 100644 --- a/src/components/QuickLinks/data/productChainLinks.ts +++ b/src/components/QuickLinks/data/productChainLinks.ts @@ -43,6 +43,7 @@ export const productChainLinks: ProductChainLinks = { zircuit: "/ccip/directory/mainnet/chain/ethereum-mainnet-zircuit-1", ronin: "/ccip/directory/mainnet/chain/ronin-mainnet", bsquared: "/ccip/directory/mainnet/chain/bitcoin-mainnet-bsquared-1", + shibarium: "/ccip/directory/mainnet/chain/shibarium-mainnet", }, }, "Data Feeds": { @@ -158,6 +159,8 @@ export const productChainLinks: ProductChainLinks = { zksync: "/resources/link-token-contracts#zksync", zircuit: "/resources/link-token-contracts#zircuit", ronin: "/resources/link-token-contracts#ronin", + bsquared: "/resources/link-token-contracts#bsquared", + shibarium: "/resources/link-token-contracts#shibarium", }, } @@ -194,4 +197,5 @@ export const chainNames: Record = { zircuit: "Zircuit", ronin: "Ronin", bsquared: "B²", + shibarium: "Shibarium", } 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 0bd80ac129b..ca902a530c8 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/chains.json +++ b/src/config/data/ccip/v1_2_0/mainnet/chains.json @@ -399,6 +399,26 @@ "version": "1.5.0" } }, + "shibarium-mainnet": { + "armProxy": { + "address": "0xD2bdb98dA1Ff575d091CA5b76412C23Cba88CA02", + "version": "1.5.0" + }, + "chainSelector": "3993510008929295315", + "feeTokens": ["LINK", "WBONE"], + "registryModule": { + "address": "0xB6e8B0158CDD1AaF280f53604b80686787BB9199", + "version": "1.5.0" + }, + "router": { + "address": "0xc2CA5d5C17911e4B838194b51585DdF8fe5116C1", + "version": "1.2.0" + }, + "tokenAdminRegistry": { + "address": "0x995d2Aa233aBeaCA2a64Edf898AE9F4e01bE15B9", + "version": "1.5.0" + } + }, "wemix-mainnet": { "armProxy": { "address": "0x2375959c6571AC7a83c164C6FCcbd09E7782773d", 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 bbaad10c4b5..e3534e2859e 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/lanes.json +++ b/src/config/data/ccip/v1_2_0/mainnet/lanes.json @@ -7580,6 +7580,18 @@ } } }, + "shibarium-mainnet": { + "offRamp": { + "address": "0x8B3eEed4948684c3ec1bb60967820f40285018B8", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x3Ac0D8fe5b4e8d0a95C507CCd83F6A8d73A8c6b1", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": true + }, "wemix-mainnet": { "offRamp": { "address": "0xc1EcCE580B2C96f4fd202fB7c2a259ECe19a1bF2", @@ -8345,6 +8357,20 @@ } } }, + "shibarium-mainnet": { + "mainnet": { + "offRamp": { + "address": "0x7422809f8625Ec2b98a1DDd39db4C99F75EE118F", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x750BFfccf99D1Ad1C38b5FE4Ad83010bbb82E7DF", + "enforceOutOfOrder": false, + "version": "1.5.0" + }, + "rmnPermeable": false + } + }, "wemix-mainnet": { "avalanche-mainnet": { "offRamp": { 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 da8b46ca149..ae18d76d89b 100644 --- a/src/config/data/ccip/v1_2_0/mainnet/tokens.json +++ b/src/config/data/ccip/v1_2_0/mainnet/tokens.json @@ -648,6 +648,14 @@ "symbol": "LINK", "tokenAddress": "0x3902228D6A3d2Dc44731fD9d45FeE6a61c722D0b" }, + "shibarium-mainnet": { + "allowListEnabled": false, + "decimals": 18, + "name": "ChainLink Token", + "poolType": "feeTokenOnly", + "symbol": "LINK", + "tokenAddress": "0x71052BAe71C25C78E37fD12E5ff1101A71d9018F" + }, "wemix-mainnet": { "allowListEnabled": false, "decimals": 18, @@ -1807,6 +1815,16 @@ "tokenAddress": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c" } }, + "WBONE": { + "shibarium-mainnet": { + "allowListEnabled": false, + "decimals": 18, + "name": "Shibarium Wrapped BONE", + "poolType": "feeTokenOnly", + "symbol": "WBONE", + "tokenAddress": "0xC76F4c819D820369Fb2d7C1531aB3Bb18e6fE8d8" + } + }, "WBTC": { "bitcoin-mainnet-bsquared-1": { "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 ade38e804bc..eed34387cc3 100644 --- a/src/config/data/ccip/v1_2_0/testnet/chains.json +++ b/src/config/data/ccip/v1_2_0/testnet/chains.json @@ -439,6 +439,26 @@ "version": "1.5.0" } }, + "shibarium-testnet-puppynet": { + "armProxy": { + "address": "0x8d677784DA3707e57aC0306464552560E05dBCD7", + "version": "1.5.0" + }, + "chainSelector": "17833296867764334567", + "feeTokens": ["LINK", "WBONE"], + "registryModule": { + "address": "0xf6B25A05333C4B8Eb108758d306f28B99324A1bf", + "version": "1.5.0" + }, + "router": { + "address": "0x449E234FEDF3F907b9E9Dd6BAf1ddc36664097E5", + "version": "1.2.0" + }, + "tokenAdminRegistry": { + "address": "0x5B3BA3d2Dbe9565c2905fbB81776E332a59b6F05", + "version": "1.5.0" + } + }, "wemix-testnet": { "armProxy": { "address": "0xA930c1E0fF1E1005E8Ef569Aa81e6EEbf466b1c3", 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 e79f6ccac76..7e569919664 100644 --- a/src/config/data/ccip/v1_2_0/testnet/lanes.json +++ b/src/config/data/ccip/v1_2_0/testnet/lanes.json @@ -1670,6 +1670,34 @@ } } }, + "shibarium-testnet-puppynet": { + "offRamp": { + "address": "0x9f54330D70859726c39772b6157b03A6dB17F254", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x46588E7EFab168f94cccAF1a5B19cC22Cdc144e5", + "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" + } + } + } + } + }, "wemix-testnet": { "offRamp": { "address": "0x445F41C6aa7e910021786e860d7cfe3E7fcC6640", @@ -3761,6 +3789,36 @@ "rmnPermeable": false } }, + "shibarium-testnet-puppynet": { + "ethereum-testnet-sepolia": { + "offRamp": { + "address": "0x153f275d90D29BEC1a47684859c86186a7DE0151", + "version": "1.5.0" + }, + "onRamp": { + "address": "0x69fb9813d3843e26A49ecFe167b359f867556cA4", + "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" + } + } + } + } + } + }, "wemix-testnet": { "avalanche-fuji-testnet": { "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 972d0a9d798..4410d4f86af 100644 --- a/src/config/data/ccip/v1_2_0/testnet/tokens.json +++ b/src/config/data/ccip/v1_2_0/testnet/tokens.json @@ -171,6 +171,15 @@ "symbol": "CCIP-BnM", "tokenAddress": "0x88DD2416699Bad3AeC58f535BC66F7f62DE2B2EC" }, + "shibarium-testnet-puppynet": { + "allowListEnabled": false, + "decimals": 18, + "name": "CCIP-BnM", + "poolAddress": "0x694f112E941472c8806b853Db714c29387396FBb", + "poolType": "burnMint", + "symbol": "CCIP-BnM", + "tokenAddress": "0x81249b4bD91A8706eE67a2f422DB82258D4947ad" + }, "wemix-testnet": { "allowListEnabled": false, "decimals": 18, @@ -588,6 +597,14 @@ "symbol": "LINK", "tokenAddress": "0x5bB50A6888ee6a67E22afFDFD9513be7740F1c15" }, + "shibarium-testnet-puppynet": { + "allowListEnabled": false, + "decimals": 18, + "name": "ChainLink Token", + "poolType": "feeTokenOnly", + "symbol": "LINK", + "tokenAddress": "0x44637eEfD71A090990f89faEC7022fc74B2969aD" + }, "wemix-testnet": { "allowListEnabled": false, "decimals": 18, @@ -691,6 +708,16 @@ "tokenAddress": "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd" } }, + "WBONE": { + "shibarium-testnet-puppynet": { + "allowListEnabled": false, + "decimals": 18, + "name": "Shibarium Wrapped BONE", + "poolType": "feeTokenOnly", + "symbol": "WBONE", + "tokenAddress": "0x41c3F37587EBcD46C0F85eF43E38BcfE1E70Ab56" + } + }, "WBTC": { "bitcoin-testnet-bsquared-1": { "allowListEnabled": false, diff --git a/src/config/data/chain-to-technology.json b/src/config/data/chain-to-technology.json index 158e582c188..b330138e118 100644 --- a/src/config/data/chain-to-technology.json +++ b/src/config/data/chain-to-technology.json @@ -50,5 +50,7 @@ "RONIN_MAINNET": "RONIN", "RONIN_SAIGON": "RONIN", "BSQUARED_MAINNET": "BSQUARED", - "BSQUARED_TESTNET": "BSQUARED" + "BSQUARED_TESTNET": "BSQUARED", + "SHIBARIUM_MAINNET": "SHIBARIUM", + "SHIBARIUM_PUPPYNET": "SHIBARIUM" } diff --git a/src/config/data/chains.json b/src/config/data/chains.json index 237658dd8c5..f1986ce7842 100644 --- a/src/config/data/chains.json +++ b/src/config/data/chains.json @@ -654,5 +654,23 @@ "nativeCurrency": { "name": "Bitcoin", "symbol": "BTC", "decimals": 18 } } } + }, + "SHIBARIUM": { + "title": "Shibarium", + "icon": "/assets/chains/shibarium.svg", + "chains": { + "SHIBARIUM_MAINNET": { + "chainId": 109, + "title": "Shibarium", + "explorer": "https://www.shibariumscan.io", + "nativeCurrency": { "name": "BONE Shibarium", "symbol": "BONE", "decimals": 18 } + }, + "SHIBARIUM_PUPPYNET": { + "chainId": 157, + "title": "Shibarium Puppynet", + "explorer": "https://puppyscan.shib.io", + "nativeCurrency": { "name": "BONE", "symbol": "BONE", "decimals": 18 } + } + } } } diff --git a/src/config/types.ts b/src/config/types.ts index 4948f08d9cc..1e4defa675b 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -78,6 +78,8 @@ export type SupportedChain = | "RONIN_SAIGON" | "BSQUARED_MAINNET" | "BSQUARED_TESTNET" + | "SHIBARIUM_MAINNET" + | "SHIBARIUM_PUPPYNET" export type Chains = Record< SupportedTechnology, diff --git a/src/config/web3Providers.ts b/src/config/web3Providers.ts index 94bcdc196dd..28249e5ddd3 100644 --- a/src/config/web3Providers.ts +++ b/src/config/web3Providers.ts @@ -56,6 +56,8 @@ export const chainToProvider: Record providers.Provider> = RONIN_SAIGON: () => new providers.JsonRpcProvider("https://saigon-testnet.roninchain.com/rpc"), BSQUARED_MAINNET: () => new providers.JsonRpcProvider("https://rpc.ankr.com/b2"), BSQUARED_TESTNET: () => new providers.JsonRpcProvider("https://rpc.ankr.com/b2_testnet"), + SHIBARIUM_MAINNET: () => new providers.JsonRpcProvider("https://www.shibrpc.com"), + SHIBARIUM_PUPPYNET: () => new providers.JsonRpcProvider("https://puppynet.shibrpc.com"), } 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 d410357ad5e..89acb52336f 100644 --- a/src/content/ccip/concepts/ccip-execution-latency.mdx +++ b/src/content/ccip/concepts/ccip-execution-latency.mdx @@ -140,6 +140,7 @@ This section provides an overview of the finality methods CCIP uses to determine | Polygon | Finality tag | 2 minutes | | Ronin | Finality tag | 10 seconds | | Scroll | Finality tag | 1 hour | +| Shibarium | Finality tag | 1 minute | | Wemix | Finality tag | < 1 second | | Zircuit | Finality tag | 21 minutes | | ZKsync | [Block depth](#block-depth) (1200 blocks) | 20 minutes | diff --git a/src/content/resources/link-token-contracts.mdx b/src/content/resources/link-token-contracts.mdx index f35c1d38971..1b4b04f69c1 100644 --- a/src/content/resources/link-token-contracts.mdx +++ b/src/content/resources/link-token-contracts.mdx @@ -481,7 +481,7 @@ BTC is used to pay for transactions on Bsquared Mainnet. Testnet BTC is used to pay for transactions on Bsquared Testnet. -Testnet BTC and LINK are available at [faucets.chain.link/bsquared-testnet](https://faucets.chain.link/bsquared-testnet). +Testnet BTC and LINK are available at [faucets.chain.link/bsquared-testnet](https://faucet.chain.link/bsquared-testnet). | Parameter | Value | | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -610,6 +610,36 @@ Testnet ETH is used to pay for transactions on Linea Sepolia. Testnet ETH and LI | Decimals | 18 | | Network status | [linea.statuspage.io](https://linea.statuspage.io/) | +## Shibarium + +### Shibarium mainnet + +BONE is used to pay for transactions on Shibarium Mainnet. + +| Parameter | Value | +| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Chain ID | `109` | +| Address |
| +| Name | Chainlink Token | +| Symbol | LINK | +| Decimals | 18 | +| Network status | [explorer.shibariumscan.io](https://explorer.shibariumscan.io/) | + +### Shibarium Puppynet + +Testnet BONE is used to pay for transactions on Shibarium Puppynet. + +Testnet BONE and LINK are available at [faucets.chain.link/shibarium-puppynet](https://faucet.chain.link/shibarium-puppynet). + +| Parameter | Value | +| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Chain ID | `157` | +| Address |
| +| Name | Chainlink Token | +| Symbol | LINK | +| Decimals | 18 | +| Network status | [puppyscan.shib.io](https://puppyscan.shib.io/) | + ## ZKsync ### ZKsync Era mainnet diff --git a/src/features/utils/index.ts b/src/features/utils/index.ts index 0b6ae855a8f..8d9ab8d29ad 100644 --- a/src/features/utils/index.ts +++ b/src/features/utils/index.ts @@ -201,6 +201,10 @@ export const directoryToSupportedChain = (chainInRdd: string): SupportedChain => return "BSQUARED_MAINNET" case "bitcoin-testnet-bsquared-1": return "BSQUARED_TESTNET" + case "shibarium-mainnet": + return "SHIBARIUM_MAINNET" + case "shibarium-testnet-puppynet": + return "SHIBARIUM_PUPPYNET" default: throw Error(`Chain not found ${chainInRdd}`) } @@ -300,6 +304,10 @@ export const supportedChainToChainInRdd = (supportedChain: SupportedChain): stri return "bitcoin-mainnet-bsquared-1" case "BSQUARED_TESTNET": return "bitcoin-testnet-bsquared-1" + case "SHIBARIUM_MAINNET": + return "shibarium-mainnet" + case "SHIBARIUM_PUPPYNET": + return "shibarium-testnet-puppynet" default: throw Error(`Chain not found ${supportedChain}`) } diff --git a/src/scripts/reference/chains.json b/src/scripts/reference/chains.json index 203e41255a1..00c020667f1 100644 --- a/src/scripts/reference/chains.json +++ b/src/scripts/reference/chains.json @@ -168,6 +168,19 @@ { "name": "dexguru", "url": "https://gnosis.dex.guru", "icon": "dexguru", "standard": "EIP3091" } ] }, + { + "name": "Shibarium", + "chain": "Shibarium", + "icon": "shibarium", + "rpc": ["https://www.shibrpc.com", "https://rpc.shibrpc.com", "https://shib.nownodes.io"], + "faucets": [], + "nativeCurrency": { "name": "BONE Shibarium", "symbol": "BONE", "decimals": 18 }, + "infoURL": "https://shibariumecosystem.com", + "shortName": "shibariumecosystem", + "chainId": 109, + "networkId": 109, + "explorers": [{ "name": "shibariumscan", "url": "https://www.shibariumscan.io", "standard": "none" }] + }, { "name": "Polygon Mainnet", "chain": "Polygon", @@ -198,6 +211,19 @@ { "name": "dexguru", "url": "https://polygon.dex.guru", "icon": "dexguru", "standard": "EIP3091" } ] }, + { + "name": "Puppynet", + "chain": "Puppynet", + "icon": "shibarium", + "rpc": ["https://puppynet.shibrpc.com"], + "faucets": ["https://shibarium.shib.io/faucet"], + "nativeCurrency": { "name": "BONE", "symbol": "BONE", "decimals": 18 }, + "infoURL": "https://shibariumecosystem.com", + "shortName": "puppynet", + "chainId": 157, + "networkId": 157, + "explorers": [{ "name": "puppyscan", "url": "https://puppyscan.shib.io", "standard": "none" }] + }, { "name": "B2 Hub Mainnet", "chain": "B2", diff --git a/src/scripts/reference/linkNameSymbol.json b/src/scripts/reference/linkNameSymbol.json index a519bb79a74..f9a87b02735 100644 --- a/src/scripts/reference/linkNameSymbol.json +++ b/src/scripts/reference/linkNameSymbol.json @@ -211,5 +211,13 @@ "1123": { "name": "ChainLink Token", "symbol": "LINK" + }, + "109": { + "name": "ChainLink Token", + "symbol": "LINK" + }, + "157": { + "name": "ChainLink Token", + "symbol": "LINK" } }