diff --git a/.changeset/soft-boxes-reply.md b/.changeset/soft-boxes-reply.md new file mode 100644 index 0000000000..14fca24a6f --- /dev/null +++ b/.changeset/soft-boxes-reply.md @@ -0,0 +1,6 @@ +--- +"viem": patch +--- + +Added Garnet chain. +Updated Redstone chain. diff --git a/src/chains/definitions/garnet.ts b/src/chains/definitions/garnet.ts new file mode 100644 index 0000000000..e5ddd75301 --- /dev/null +++ b/src/chains/definitions/garnet.ts @@ -0,0 +1,49 @@ +import { chainConfig } from '../../op-stack/chainConfig.js' +import { defineChain } from '../../utils/chain/defineChain.js' + +const sourceId = 17000 // Holesky testnet + +export const garnet = defineChain({ + ...chainConfig, + name: 'Garnet Testnet', + testnet: true, + id: 17069, + sourceId, + nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, + rpcUrls: { + default: { + http: ['https://rpc.garnetchain.com'], + webSocket: ['wss://rpc.garnetchain.com'], + }, + }, + blockExplorers: { + default: { + name: 'Blockscout', + url: 'https://explorer.garnetchain.com', + }, + }, + contracts: { + ...chainConfig.contracts, + multicall3: { + address: '0xca11bde05977b3631167028862be2a173976ca11', + }, + portal: { + [sourceId]: { + address: '0x57ee40586fbE286AfC75E67cb69511A6D9aF5909', + blockCreated: 1274684, + }, + }, + l2OutputOracle: { + [sourceId]: { + address: '0xCb8E7AC561b8EF04F2a15865e9fbc0766FEF569B', + blockCreated: 1274684, + }, + }, + l1StandardBridge: { + [sourceId]: { + address: '0x09bcDd311FE398F80a78BE37E489f5D440DB95DE', + blockCreated: 1274684, + }, + }, + }, +}) diff --git a/src/chains/definitions/redstone.ts b/src/chains/definitions/redstone.ts index 5744066bec..fa766eafd2 100644 --- a/src/chains/definitions/redstone.ts +++ b/src/chains/definitions/redstone.ts @@ -1,13 +1,14 @@ +import { chainConfig } from '../../op-stack/chainConfig.js' import { defineChain } from '../../utils/chain/defineChain.js' +const sourceId = 1 // Ethereum mainnet + export const redstone = defineChain({ - id: 690, + ...chainConfig, name: 'Redstone', - nativeCurrency: { - decimals: 18, - name: 'Ether', - symbol: 'ETH', - }, + id: 690, + sourceId, + nativeCurrency: { decimals: 18, name: 'Ether', symbol: 'ETH' }, rpcUrls: { default: { http: ['https://rpc.redstonechain.com'], @@ -15,6 +16,33 @@ export const redstone = defineChain({ }, }, blockExplorers: { - default: { name: 'Explorer', url: ' https://explorer.redstone.xyz' }, + default: { + name: 'Blockscout', + url: 'https://explorer.redstone.xyz', + }, + }, + contracts: { + ...chainConfig.contracts, + multicall3: { + address: '0xca11bde05977b3631167028862be2a173976ca11', + }, + portal: { + [sourceId]: { + address: '0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae', + blockCreated: 19578329, + }, + }, + l2OutputOracle: { + [sourceId]: { + address: '0xa426A052f657AEEefc298b3B5c35a470e4739d69', + blockCreated: 19578337, + }, + }, + l1StandardBridge: { + [sourceId]: { + address: '0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69', + blockCreated: 19578331, + }, + }, }, }) diff --git a/src/chains/index.ts b/src/chains/index.ts index 4bc0c0411e..53a8065091 100644 --- a/src/chains/index.ts +++ b/src/chains/index.ts @@ -129,6 +129,7 @@ export { iotexTestnet } from './definitions/iotexTestnet.js' export { jbc } from './definitions/jbc.js' export { jbcTestnet } from './definitions/jbcTestnet.js' export { karura } from './definitions/karura.js' +export { garnet } from './definitions/garnet.js' export { gobi } from './definitions/gobi.js' export { goerli } from './definitions/goerli.js' export { gnosis } from './definitions/gnosis.js'