diff --git a/chainList.json b/chainList.json index e34c54163..9ffa3542a 100644 --- a/chainList.json +++ b/chainList.json @@ -289,6 +289,24 @@ "chain": "mainnet" } }, + { + "name": "River", + "identifier": "mainnet/river", + "chainId": 550, + "rpc": [ + "https://towns-mainnet.calderachain.xyz/http" + ], + "explorers": [ + "https://explorer.river.build" + ], + "superchainLevel": 0, + "governedByOptimism": false, + "dataAvailabilityType": "eth-da", + "parent": { + "type": "L2", + "chain": "mainnet" + } + }, { "name": "Shape", "identifier": "mainnet/shape", diff --git a/chainList.toml b/chainList.toml index 74292f507..ed7ea8138 100644 --- a/chainList.toml +++ b/chainList.toml @@ -208,6 +208,19 @@ type = "L2" chain = "mainnet" +[[chains]] + name = "River" + identifier = "mainnet/river" + chain_id = 550 + rpc = ["https://towns-mainnet.calderachain.xyz/http"] + explorers = ["https://explorer.river.build"] + superchain_level = 0 + governed_by_optimism = false + data_availability_type = "eth-da" + [chains.parent] + type = "L2" + chain = "mainnet" + [[chains]] name = "Shape" identifier = "mainnet/shape" diff --git a/superchain/configs/configs.json b/superchain/configs/configs.json index f264ec3a4..78380864c 100644 --- a/superchain/configs/configs.json +++ b/superchain/configs/configs.json @@ -494,6 +494,74 @@ "UnsafeBlockSigner": "0x2270d6eC8E760daA317DD978cFB98C8f144B1f3A" } }, + { + "Name": "River", + "l2_chain_id": 550, + "PublicRPC": "https://towns-mainnet.calderachain.xyz/http", + "SequencerRPC": "https://towns-mainnet.calderachain.xyz/http", + "Explorer": "https://explorer.river.build", + "SuperchainLevel": 0, + "GovernedByOptimism": false, + "StandardChainCandidate": false, + "SuperchainTime": null, + "batch_inbox_address": "0x9BE0c82d5bA973a9e6861695626D4F9983e80C88", + "Superchain": "mainnet", + "Chain": "river", + "canyon_time": 0, + "delta_time": 0, + "ecotone_time": 0, + "block_time": 2, + "seq_window_size": 21600, + "max_sequencer_drift": 3600, + "DataAvailabilityType": "eth-da", + "optimism": { + "eip1559Elasticity": 6, + "eip1559Denominator": 250, + "eip1559DenominatorCanyon": 250 + }, + "GasPayingToken": null, + "genesis": { + "l1": { + "hash": "0x1bddc3be9af64c6069d9d5c51525ae75aa75cdc24b6db5a27aae6c705ada591e", + "number": 19905337 + }, + "l2": { + "hash": "0x5a41f6e152b724fffb68a67b72566cbe0b4a8d8a67282cccafbcdc8fc5245f38", + "number": 0 + }, + "l2_time": 1716138071, + "system_config": { + "batcherAddr": "0x52ee324F2bCD0c5363d713eb9f62D1eE47266ac1", + "overhead": "0x0000000000000000000000000000000000000000000000000000000000000834", + "scalar": "0x010000000000000000000000000000000000000000000000000a118b0000044d", + "gasLimit": 30000000 + } + }, + "Addresses": { + "AddressManager": "0xA80349b0D79bf3154ae54066410d20eb7B8697Ac", + "AnchorStateRegistryProxy": "0xe66a844Fe492058ebeB6898fa52AA2453784fC04", + "BatchSubmitter": "0x52ee324F2bCD0c5363d713eb9f62D1eE47266ac1", + "Challenger": "0x318Cf0B120595B1bE66a823a83362dbae7434D3d", + "DelayedWETHProxy": "0x5151d699f439Ef9901d63FFD9bc18847067F70c4", + "DisputeGameFactoryProxy": "0xBA8a9737E20F5793d21B4DE36a6B5FFddcB06D4b", + "Guardian": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "L1CrossDomainMessengerProxy": "0x22B0cd077c937b9912772B38519b6d2d91541c1A", + "L1ERC721BridgeProxy": "0x42AABA8A896ca6C987068Ac9a9112c2e4dcA4c96", + "L1StandardBridgeProxy": "0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03", + "L2OutputOracleProxy": "0x29E7177837652ca00f05fbD2e8aA867d207B2EF8", + "MIPS": "0x55CaAEfA6C817d167e0C8273858Ec7CEAD71037e", + "OptimismMintableERC20FactoryProxy": "0xB5984cCf496a8FC2d921A5a425Bd5F7a740BE89C", + "OptimismPortalProxy": "0x9fDEEa19836A413C04e9672d3d09f482278e863c", + "PreimageOracle": "0x81C6f49c79bC83F6E118DD4d8e04456BEfbA254f", + "Proposer": "0x1F7D2BCe97a04D2f935C62b53fE04fed373d2d17", + "ProxyAdmin": "0x566c7DB023111D897F16b602B2B57f0F12f7bF44", + "ProxyAdminOwner": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "SuperchainConfig": "0xb6aFBB2A7299e968c9f98f8b518bD89e670a420A", + "SystemConfigOwner": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "SystemConfigProxy": "0xf565303B5326C8653E78e5f73a2984f6F778C9E8", + "UnsafeBlockSigner": "0x1282EA0dB437d4e08e33Ca9000689Ed3b65520fb" + } + }, { "Name": "Binary Mainnet", "l2_chain_id": 624, diff --git a/superchain/configs/mainnet/river.toml b/superchain/configs/mainnet/river.toml new file mode 100644 index 000000000..66cce96bb --- /dev/null +++ b/superchain/configs/mainnet/river.toml @@ -0,0 +1,58 @@ +name = "River" +chain_id = 550 +public_rpc = "https://towns-mainnet.calderachain.xyz/http" +sequencer_rpc = "https://towns-mainnet.calderachain.xyz/http" +explorer = "https://explorer.river.build" +superchain_level = 0 +governed_by_optimism = false +batch_inbox_addr = "0x9BE0c82d5bA973a9e6861695626D4F9983e80C88" +canyon_time = 0 # Thu 1 Jan 1970 00:00:00 UTC +delta_time = 0 # Thu 1 Jan 1970 00:00:00 UTC +ecotone_time = 0 # Thu 1 Jan 1970 00:00:00 UTC +block_time = 2 +seq_window_size = 21600 +max_sequencer_drift = 3600 +data_availability_type = "eth-da" + +[optimism] + eip1559_elasticity = 6 + eip1559_denominator = 250 + eip1559_denominator_canyon = 250 + +[genesis] + l2_time = 1716138071 + [genesis.l1] + hash = "0x1bddc3be9af64c6069d9d5c51525ae75aa75cdc24b6db5a27aae6c705ada591e" + number = 19905337 + [genesis.l2] + hash = "0x5a41f6e152b724fffb68a67b72566cbe0b4a8d8a67282cccafbcdc8fc5245f38" + number = 0 + [genesis.system_config] + batcherAddress = "0x52ee324F2bCD0c5363d713eb9f62D1eE47266ac1" + overhead = "0x0000000000000000000000000000000000000000000000000000000000000834" + scalar = "0x010000000000000000000000000000000000000000000000000a118b0000044d" + gasLimit = 30000000 + +[addresses] + SystemConfigOwner = "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2" + ProxyAdminOwner = "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2" + Guardian = "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2" + Challenger = "0x318Cf0B120595B1bE66a823a83362dbae7434D3d" + Proposer = "0x1F7D2BCe97a04D2f935C62b53fE04fed373d2d17" + UnsafeBlockSigner = "0x1282EA0dB437d4e08e33Ca9000689Ed3b65520fb" + BatchSubmitter = "0x52ee324F2bCD0c5363d713eb9f62D1eE47266ac1" + AddressManager = "0xA80349b0D79bf3154ae54066410d20eb7B8697Ac" + L1CrossDomainMessengerProxy = "0x22B0cd077c937b9912772B38519b6d2d91541c1A" + L1ERC721BridgeProxy = "0x42AABA8A896ca6C987068Ac9a9112c2e4dcA4c96" + L1StandardBridgeProxy = "0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03" + L2OutputOracleProxy = "0x29E7177837652ca00f05fbD2e8aA867d207B2EF8" + OptimismMintableERC20FactoryProxy = "0xB5984cCf496a8FC2d921A5a425Bd5F7a740BE89C" + OptimismPortalProxy = "0x9fDEEa19836A413C04e9672d3d09f482278e863c" + SystemConfigProxy = "0xf565303B5326C8653E78e5f73a2984f6F778C9E8" + ProxyAdmin = "0x566c7DB023111D897F16b602B2B57f0F12f7bF44" + SuperchainConfig = "0xb6aFBB2A7299e968c9f98f8b518bD89e670a420A" + AnchorStateRegistryProxy = "0xe66a844Fe492058ebeB6898fa52AA2453784fC04" + DelayedWETHProxy = "0x5151d699f439Ef9901d63FFD9bc18847067F70c4" + DisputeGameFactoryProxy = "0xBA8a9737E20F5793d21B4DE36a6B5FFddcB06D4b" + MIPS = "0x55CaAEfA6C817d167e0C8273858Ec7CEAD71037e" + PreimageOracle = "0x81C6f49c79bC83F6E118DD4d8e04456BEfbA254f" diff --git a/superchain/extra/addresses/addresses.json b/superchain/extra/addresses/addresses.json index 58beb7e90..e0ab21ba0 100644 --- a/superchain/extra/addresses/addresses.json +++ b/superchain/extra/addresses/addresses.json @@ -601,6 +601,30 @@ "SystemConfigProxy": "0x525a2744134805516a45B8abb6Aa0aA1dA3809F6", "UnsafeBlockSigner": "0x92Dc533201e8634f0337D66a11820a8C4E902474" }, + "550": { + "AddressManager": "0xA80349b0D79bf3154ae54066410d20eb7B8697Ac", + "AnchorStateRegistryProxy": "0xe66a844Fe492058ebeB6898fa52AA2453784fC04", + "BatchSubmitter": "0x52ee324F2bCD0c5363d713eb9f62D1eE47266ac1", + "Challenger": "0x318Cf0B120595B1bE66a823a83362dbae7434D3d", + "DelayedWETHProxy": "0x5151d699f439Ef9901d63FFD9bc18847067F70c4", + "DisputeGameFactoryProxy": "0xBA8a9737E20F5793d21B4DE36a6B5FFddcB06D4b", + "Guardian": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "L1CrossDomainMessengerProxy": "0x22B0cd077c937b9912772B38519b6d2d91541c1A", + "L1ERC721BridgeProxy": "0x42AABA8A896ca6C987068Ac9a9112c2e4dcA4c96", + "L1StandardBridgeProxy": "0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03", + "L2OutputOracleProxy": "0x29E7177837652ca00f05fbD2e8aA867d207B2EF8", + "MIPS": "0x55CaAEfA6C817d167e0C8273858Ec7CEAD71037e", + "OptimismMintableERC20FactoryProxy": "0xB5984cCf496a8FC2d921A5a425Bd5F7a740BE89C", + "OptimismPortalProxy": "0x9fDEEa19836A413C04e9672d3d09f482278e863c", + "PreimageOracle": "0x81C6f49c79bC83F6E118DD4d8e04456BEfbA254f", + "Proposer": "0x1F7D2BCe97a04D2f935C62b53fE04fed373d2d17", + "ProxyAdmin": "0x566c7DB023111D897F16b602B2B57f0F12f7bF44", + "ProxyAdminOwner": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "SuperchainConfig": "0xb6aFBB2A7299e968c9f98f8b518bD89e670a420A", + "SystemConfigOwner": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "SystemConfigProxy": "0xf565303B5326C8653E78e5f73a2984f6F778C9E8", + "UnsafeBlockSigner": "0x1282EA0dB437d4e08e33Ca9000689Ed3b65520fb" + }, "57073": { "AddressManager": "0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153", "AnchorStateRegistryProxy": "0xde744491BcF6b2DD2F32146364Ea1487D75E2509", diff --git a/superchain/extra/bytecodes/0x096ce66d049d8126c8643d06c8cbe9c29f2087238281f2798bde6a0c9632e84e.bin.gz b/superchain/extra/bytecodes/0x096ce66d049d8126c8643d06c8cbe9c29f2087238281f2798bde6a0c9632e84e.bin.gz new file mode 100755 index 000000000..b32830f83 Binary files /dev/null and b/superchain/extra/bytecodes/0x096ce66d049d8126c8643d06c8cbe9c29f2087238281f2798bde6a0c9632e84e.bin.gz differ diff --git a/superchain/extra/bytecodes/0x1760322262cf5e5f88195b748471cfad1497c065348db0f6bdceb145bae0e665.bin.gz b/superchain/extra/bytecodes/0x1760322262cf5e5f88195b748471cfad1497c065348db0f6bdceb145bae0e665.bin.gz new file mode 100755 index 000000000..22c5f7d9b Binary files /dev/null and b/superchain/extra/bytecodes/0x1760322262cf5e5f88195b748471cfad1497c065348db0f6bdceb145bae0e665.bin.gz differ diff --git a/superchain/extra/bytecodes/0x61ba1dda4536ffa17924e9c46cb93e3e280f2d3013d255634b38689cde8c64aa.bin.gz b/superchain/extra/bytecodes/0x61ba1dda4536ffa17924e9c46cb93e3e280f2d3013d255634b38689cde8c64aa.bin.gz new file mode 100755 index 000000000..1dcd610ae Binary files /dev/null and b/superchain/extra/bytecodes/0x61ba1dda4536ffa17924e9c46cb93e3e280f2d3013d255634b38689cde8c64aa.bin.gz differ diff --git a/superchain/extra/bytecodes/0xcfa8dbc5ad45218b8d56e0d3c970edbbe2fa535da1eaad3a9910cec2cac77b4e.bin.gz b/superchain/extra/bytecodes/0xcfa8dbc5ad45218b8d56e0d3c970edbbe2fa535da1eaad3a9910cec2cac77b4e.bin.gz new file mode 100755 index 000000000..8bf281a5c Binary files /dev/null and b/superchain/extra/bytecodes/0xcfa8dbc5ad45218b8d56e0d3c970edbbe2fa535da1eaad3a9910cec2cac77b4e.bin.gz differ diff --git a/superchain/extra/genesis/mainnet/river.json.gz b/superchain/extra/genesis/mainnet/river.json.gz new file mode 100755 index 000000000..5cea74c34 Binary files /dev/null and b/superchain/extra/genesis/mainnet/river.json.gz differ diff --git a/validation/genesis/validation-inputs/550/deploy-config.json b/validation/genesis/validation-inputs/550/deploy-config.json new file mode 100755 index 000000000..c8bbbedb9 --- /dev/null +++ b/validation/genesis/validation-inputs/550/deploy-config.json @@ -0,0 +1,66 @@ +{ + "superchainConfigGuardian": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "finalSystemOwner": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "l1StartingBlockTag": "0x1bddc3be9af64c6069d9d5c51525ae75aa75cdc24b6db5a27aae6c705ada591e", + "l1ChainID": 1, + "l1BlockTime": 12, + "l2ChainID": 550, + "l2BlockTime": 2, + "maxSequencerDrift": 3600, + "sequencerWindowSize": 21600, + "channelTimeout": 300, + "p2pSequencerAddress": "0x1282EA0dB437d4e08e33Ca9000689Ed3b65520fb", + "batchInboxAddress": "0x9be0c82d5ba973a9e6861695626d4f9983e80c88", + "batchSenderAddress": "0x52ee324F2bCD0c5363d713eb9f62D1eE47266ac1", + "l2OutputOracleSubmissionInterval": 3600, + "l2OutputOracleStartingTimestamp": 1716138071, + "l2OutputOracleStartingBlockNumber": 0, + "l2OutputOracleProposer": "0x1F7D2BCe97a04D2f935C62b53fE04fed373d2d17", + "l2OutputOracleChallenger": "0x318Cf0B120595B1bE66a823a83362dbae7434D3d", + "finalizationPeriodSeconds": 604800, + "proxyAdminOwner": "0x318Cf0B120595B1bE66a823a83362dbae7434D3d", + "baseFeeVaultRecipient": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "l1FeeVaultRecipient": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "sequencerFeeVaultRecipient": "0x2876c43B17A5750CBea5E2A3C42718374E21D5a2", + "baseFeeVaultMinimumWithdrawalAmount": "0xde0b6b3a7640000", + "l1FeeVaultMinimumWithdrawalAmount": "0xde0b6b3a7640000", + "sequencerFeeVaultMinimumWithdrawalAmount": "0xde0b6b3a7640000", + "baseFeeVaultWithdrawalNetwork": 0, + "l1FeeVaultWithdrawalNetwork": 0, + "sequencerFeeVaultWithdrawalNetwork": 0, + "gasPriceOracleBaseFeeScalar": 1101, + "gasPriceOracleBlobBaseFeeScalar": 659851, + "gasPriceOracleOverhead": 2100, + "gasPriceOracleScalar": 0, + "enableGovernance": false, + "governanceTokenName": "Optimism", + "governanceTokenSymbol": "OP", + "governanceTokenOwner": "0x318Cf0B120595B1bE66a823a83362dbae7434D3d", + "l2GenesisBlockGasLimit": "0x1c9c380", + "l2GenesisBlockBaseFeePerGas": "0x3b9aca00", + "eip1559Denominator": 250, + "eip1559DenominatorCanyon": 250, + "eip1559Elasticity": 6, + "l2GenesisRegolithTimeOffset": "0x0", + "l2GenesisCanyonTimeOffset": "0x0", + "l2GenesisDeltaTimeOffset": "0x0", + "l2GenesisEcotoneTimeOffset": "0x0", + "systemConfigStartBlock": 0, + "requiredProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000", + "recommendedProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000", + "fundDevAccounts": false, + "faultGameAbsolutePrestate": "0x035ac9f319e41b6dc184bf1153c9dbaead5d1e89c5ecc4212808ff5cc8f33b08", + "faultGameMaxDepth": 73, + "faultGameClockExtension": 120, + "faultGameMaxClockDuration": 1200, + "faultGameGenesisBlock": 0, + "faultGameGenesisOutputRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", + "faultGameSplitDepth": 32, + "faultGameWithdrawalDelay": 1200, + "preimageOracleMinProposalSize": 1800000, + "preimageOracleChallengePeriod": 120, + "proofMaturityDelaySeconds": 12, + "disputeGameFinalityDelaySeconds": 6, + "respectedGameType": 0, + "useFaultProofs": false +} \ No newline at end of file diff --git a/validation/genesis/validation-inputs/550/meta.toml b/validation/genesis/validation-inputs/550/meta.toml new file mode 100755 index 000000000..a3b748964 --- /dev/null +++ b/validation/genesis/validation-inputs/550/meta.toml @@ -0,0 +1,4 @@ +genesis_creation_commit = "e6ef3a900c42c8722e72c2e2314027f85d12ced5" +node_version = "18.12.1" +monorepo_build_command = "pnpm" +genesis_creation_command = "forge1"