diff --git a/.changeset/hungry-wombats-compare.md b/.changeset/hungry-wombats-compare.md new file mode 100644 index 0000000000..50d237e4c8 --- /dev/null +++ b/.changeset/hungry-wombats-compare.md @@ -0,0 +1,5 @@ +--- +"viem": patch +--- + +Adding Soneium mainnet diff --git a/site/pages/op-stack/chains.md b/site/pages/op-stack/chains.md index 7f9220d909..b021fe5056 100644 --- a/site/pages/op-stack/chains.md +++ b/site/pages/op-stack/chains.md @@ -14,6 +14,7 @@ import { optimism, // [!code hl] optimismGoerli, // [!code hl] optimismSepolia, // [!code hl] + soneium, // [!code hl] soneiumMinato, // [!code hl] zircuit, // [!code hl] zircuitTestnet, // [!code hl] diff --git a/src/chains/definitions/soneium.ts b/src/chains/definitions/soneium.ts new file mode 100644 index 0000000000..f8a9d1e659 --- /dev/null +++ b/src/chains/definitions/soneium.ts @@ -0,0 +1,53 @@ +import { chainConfig } from '../../op-stack/chainConfig.js' +import { defineChain } from '../../utils/chain/defineChain.js' + +const sourceId = 1 // mainnet + +export const soneium = /*#__PURE__*/ defineChain({ + ...chainConfig, + id: 1868, + name: 'Soneium Mainnet', + nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, + rpcUrls: { + default: { + http: ['https://rpc.soneium.org'], + }, + }, + blockExplorers: { + default: { + name: 'Blockscout', + url: 'https://soneium.blockscout.com', + apiUrl: 'https://soneium.blockscout.com/api', + }, + }, + contracts: { + ...chainConfig.contracts, + disputeGameFactory: { + [sourceId]: { + address: "0x512a3d2c7a43bd9261d2b8e8c9c70d4bd4d503c0", + }, + }, + l2OutputOracle: { + [sourceId]: { + address: "0x0000000000000000000000000000000000000000", + }, + }, + portal: { + [sourceId]: { + address: "0x88e529a6ccd302c948689cd5156c83d4614fae92", + blockCreated: 7061266, + }, + }, + l1StandardBridge: { + [sourceId]: { + address: "0xeb9bf100225c214efc3e7c651ebbadcf85177607", + blockCreated: 7061266, + }, + }, + multicall3: { + address: "0xcA11bde05977b3631167028862bE2a173976CA11", + blockCreated: 1, + }, + }, + sourceId, +}) diff --git a/src/chains/index.ts b/src/chains/index.ts index 845206d4c0..f5819299bf 100644 --- a/src/chains/index.ts +++ b/src/chains/index.ts @@ -408,6 +408,7 @@ export { skaleTitanTestnet } from './definitions/skale/titanTestnet.js' export { sketchpad } from './definitions/sketchpad.js' export { snax } from './definitions/snax.js' export { snaxTestnet } from './definitions/snaxTestnet.js' +export { soneium } from './definitions/soneium.js' export { soneiumMinato } from './definitions/soneiumMinato.js' export { sonic } from './definitions/sonic.js' export { sonicTestnet } from './definitions/sonicTestnet.js' diff --git a/src/op-stack/chains.ts b/src/op-stack/chains.ts index ec989271cf..d0caa8fc3f 100644 --- a/src/op-stack/chains.ts +++ b/src/op-stack/chains.ts @@ -17,6 +17,7 @@ export { pgnTestnet } from '../chains/definitions/pgnTestnet.js' export { shape } from '../chains/definitions/shape.js' export { snax } from '../chains/definitions/snax.js' export { snaxTestnet } from '../chains/definitions/snaxTestnet.js' +export { soneium } from '../chains/definitions/soneium.js' export { soneiumMinato } from '../chains/definitions/soneiumMinato.js' export { unichainSepolia } from '../chains/definitions/unichainSepolia.js' export { worldchain } from '../chains/definitions/worldchain.js'