diff --git a/src/tasks/sep/050-op-betanet-add-game-type/.env b/src/tasks/sep/050-op-betanet-add-game-type/.env new file mode 100644 index 000000000..adf17d369 --- /dev/null +++ b/src/tasks/sep/050-op-betanet-add-game-type/.env @@ -0,0 +1 @@ +TENDERLY_GAS=15000000 diff --git a/src/tasks/sep/050-op-betanet-add-game-type/README.md b/src/tasks/sep/050-op-betanet-add-game-type/README.md new file mode 100644 index 000000000..cf636e07a --- /dev/null +++ b/src/tasks/sep/050-op-betanet-add-game-type/README.md @@ -0,0 +1,21 @@ +# 050-op-betanet-add-game-type + +Status: [READY TO SIGN] + +## Objective + +This task adds the dispute game type 0 (Permissionless) to the Dispute Game Factory on OP Betanet for U18. + +## Simulation & Signing + +Simulation commands for each safe: +```bash +cd src/tasks/sep/050-op-betanet-add-game-type +SIMULATE_WITHOUT_LEDGER=1 SKIP_DECODE_AND_PRINT=1 just --dotenv-path $(pwd)/.env simulate +``` + +Signing commands for each safe: +```bash +cd src/tasks/sep/050-op-betanet-add-game-type +SKIP_DECODE_AND_PRINT=1 just --dotenv-path $(pwd)/.env sign +``` \ No newline at end of file diff --git a/src/tasks/sep/050-op-betanet-add-game-type/VALIDATION.md b/src/tasks/sep/050-op-betanet-add-game-type/VALIDATION.md new file mode 100644 index 000000000..70e3b51ee --- /dev/null +++ b/src/tasks/sep/050-op-betanet-add-game-type/VALIDATION.md @@ -0,0 +1,31 @@ +# Validation + +This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are +signing. + +The steps are: + +1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes): +2. [Transaction Inputs](config.toml): inputs can be verified in the config.toml file, which includes links to the relevant Superchain Registry sources. +3. State Changes: the template’s _validate block includes assertions to confirm the task ran correctly. State Changes can also be manually reviewed in Tenderly, using the link shown in the terminal during simulation. + +## Expected Domain and Message Hashes + +First, we need to validate the domain and message hashes. These values should match both the values on your ledger and +the values printed to the terminal when you run the task. + +> [!CAUTION] +> +> +> ### Betanet EOA (`0xe934Dc97E347C6aCef74364B50125bb8689c40ff`) +> +> - Domain Hash: `0x07e03428d7125835eca12b6dd1a02903029b456da3a091ecd66fda859fbce61e` +> - Message Hash: `0x9c5cbe23181c28d77aa0eaf6d190d60500c2f58387134deb2249ffd0545d97c6` +> + +## Task Calldata + +Calldata: +``` +0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002441661a2e900000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000005babf93ac7affeae25dc1a7ad4587fdeebba44c2000000000000000000000000cd18a0c04286eba52bb168fa1d79133da4856bef00000000000000000000000062841f5e03a56f818bc8818c5130757aca2541a7000000000000000000000000000000000000000000000000000000000000000003ccb5619628eeba89d58b204aadeb2ed9f51d18ff938069dd298b9e19fb2d310000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000006463dee3828677f6270d83d45408044fc5edb908000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147468697320697320612073616c74206d6978657200000000000000000000000000000000000000000000000000000000000000000000000000000000 +``` \ No newline at end of file diff --git a/src/tasks/sep/050-op-betanet-add-game-type/addresses.json b/src/tasks/sep/050-op-betanet-add-game-type/addresses.json new file mode 100644 index 000000000..6d2d54929 --- /dev/null +++ b/src/tasks/sep/050-op-betanet-add-game-type/addresses.json @@ -0,0 +1,16 @@ +{ + "420110022": { + "ProxyAdmin": "0xcd18a0C04286Eba52Bb168Fa1D79133Da4856bEf", + "ProxyAdminOwner": "0xe934Dc97E347C6aCef74364B50125bb8689c40ff", + "SystemConfigProxy": "0x5babF93aC7AFfeaE25dc1a7ad4587fDeEbba44C2", + "L1CrossDomainMessengerProxy": "0xF0e4aAcC6D039C05B827994C3FfBBBcf00085D11", + "L1StandardBridgeProxy": "0x3756BF0380E7fdABcB81f2cFb1d8022e8B798a8F", + "OptimismPortalProxy": "0xbd36ac8fB65F192dAEbCB2Dca819CB7ea7D60417", + "DisputeGameFactoryProxy": "0x298038f9E37b370d20E58706E8Ac78475b089FB2", + "DelayedWETHProxy": "0x62841F5E03a56f818BC8818c5130757acA2541A7", + "PermissionedDelayedWETHProxy": "0x62841F5E03a56f818BC8818c5130757acA2541A7", + "AnchorStateRegistryProxy": "0x333f8D607B81E880315716A815A9369B33ea6A77", + "AddressManager": "0x82D735Cc1e04fcFef24d0190F11b5253e05562AF", + "L1ERC721BridgeProxy": "0xe081aD91D049e9999d1e7006dbF025b38198B518" + } +} \ No newline at end of file diff --git a/src/tasks/sep/050-op-betanet-add-game-type/config.toml b/src/tasks/sep/050-op-betanet-add-game-type/config.toml new file mode 100644 index 000000000..7f66bc686 --- /dev/null +++ b/src/tasks/sep/050-op-betanet-add-game-type/config.toml @@ -0,0 +1,31 @@ +templateName = "AddGameTypeTemplate" +fallbackAddressesJsonPath = "src/tasks/sep/050-op-betanet-add-game-type/addresses.json" + +l2chains = [ + {name = "u18-beta-1", chainId = 420110022}, +] + +[[configs]] +# The below addresses can be found here https://github.com/ethereum-optimism/devnets/blob/main/betanets/u18-beta/u18-beta-1/chain.yaml +chainId = 420110022 +saltMixer = "this is a salt mixer" +systemConfig = "0x5babF93aC7AFfeaE25dc1a7ad4587fDeEbba44C2" +proxyAdmin = "0xcd18a0C04286Eba52Bb168Fa1D79133Da4856bEf" +delayedWETH = "0x62841F5E03a56f818BC8818c5130757acA2541A7" +disputeGameType = 0 +disputeAbsolutePrestate = "0x03ccb5619628eeba89d58b204aadeb2ed9f51d18ff938069dd298b9e19fb2d31" # Source: https://www.notion.so/oplabs/Betanet-2a9f153ee16280859261e3000d866ee9?source=copy_link#2c5f153ee1628012bc4dfbeaae710c70 +disputeMaxGameDepth = 73 +disputeSplitDepth = 30 +disputeClockExtension = 10800 +disputeMaxClockDuration = 302400 +initialBond = 80000000000000000 +vm = "0x6463dEE3828677F6270d83d45408044fc5eDB908" # Source: https://github.com/ethereum-optimism/superchain-registry/blob/ad5becd08007b80988679b8f0c08d415e1294066/validation/standard/standard-versions-sepolia.toml#L11 +permissioned = false + +[addresses] +OPCM = "0xc69e4c24db479191676611a25d977203c3bdca62" # https://github.com/ethereum-optimism/superchain-registry/blob/74d9bb4ad4cd8d6fd453f2e9dfe5380d97c07ca9/validation/standard/standard-versions-sepolia.toml#L23C56-L23C98 + +[stateOverrides] +0xe934Dc97E347C6aCef74364B50125bb8689c40ff = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 55} +] diff --git a/src/tasks/sep/051-op-betanet-set-respected-game-type/.env b/src/tasks/sep/051-op-betanet-set-respected-game-type/.env new file mode 100644 index 000000000..adf17d369 --- /dev/null +++ b/src/tasks/sep/051-op-betanet-set-respected-game-type/.env @@ -0,0 +1 @@ +TENDERLY_GAS=15000000 diff --git a/src/tasks/sep/051-op-betanet-set-respected-game-type/README.md b/src/tasks/sep/051-op-betanet-set-respected-game-type/README.md new file mode 100644 index 000000000..7cfabcfb7 --- /dev/null +++ b/src/tasks/sep/051-op-betanet-set-respected-game-type/README.md @@ -0,0 +1,21 @@ +# 051-op-betanet-set-respected-game-type + +Status: [READY TO SIGN] + +## Objective + +This task sets the respected dispute game type to game type 0 (Permissionless) on OP Betanet for U18. + +## Simulation & Signing + +Simulation commands for each safe: +```bash +cd src/tasks/sep/051-op-betanet-set-respected-game-type +SIMULATE_WITHOUT_LEDGER=1 SKIP_DECODE_AND_PRINT=1 just --dotenv-path $(pwd)/.env simulate +``` + +Signing commands for each safe: +```bash +cd src/tasks/sep/051-op-betanet-set-respected-game-type +SKIP_DECODE_AND_PRINT=1 just --dotenv-path $(pwd)/.env sign +``` diff --git a/src/tasks/sep/051-op-betanet-set-respected-game-type/VALIDATION.md b/src/tasks/sep/051-op-betanet-set-respected-game-type/VALIDATION.md new file mode 100644 index 000000000..f2ab7625b --- /dev/null +++ b/src/tasks/sep/051-op-betanet-set-respected-game-type/VALIDATION.md @@ -0,0 +1,31 @@ +# Validation + +This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are +signing. + +The steps are: + +1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes): +2. [Transaction Inputs](config.toml): inputs can be verified in the config.toml file, which includes links to the relevant Superchain Registry sources. +3. State Changes: the template’s _validate block includes assertions to confirm the task ran correctly. State Changes can also be manually reviewed in Tenderly, using the link shown in the terminal during simulation. + +## Expected Domain and Message Hashes + +First, we need to validate the domain and message hashes. These values should match both the values on your ledger and +the values printed to the terminal when you run the task. + +> [!CAUTION] +> +> +> ### Betanet EOA (`0xe934Dc97E347C6aCef74364B50125bb8689c40ff`) +> +> - Domain Hash: `0x07e03428d7125835eca12b6dd1a02903029b456da3a091ecd66fda859fbce61e` +> - Message Hash: `0x9e8127525f1f0fdfe412df910c50c9cd81d2a926147240dfcc9aaf20c0994e03` +> + +## Task Calldata + +Calldata: +``` +0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000333f8d607b81e880315716a815a9369b33ea6a7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247fc48504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +``` diff --git a/src/tasks/sep/051-op-betanet-set-respected-game-type/addresses.json b/src/tasks/sep/051-op-betanet-set-respected-game-type/addresses.json new file mode 100644 index 000000000..6d2d54929 --- /dev/null +++ b/src/tasks/sep/051-op-betanet-set-respected-game-type/addresses.json @@ -0,0 +1,16 @@ +{ + "420110022": { + "ProxyAdmin": "0xcd18a0C04286Eba52Bb168Fa1D79133Da4856bEf", + "ProxyAdminOwner": "0xe934Dc97E347C6aCef74364B50125bb8689c40ff", + "SystemConfigProxy": "0x5babF93aC7AFfeaE25dc1a7ad4587fDeEbba44C2", + "L1CrossDomainMessengerProxy": "0xF0e4aAcC6D039C05B827994C3FfBBBcf00085D11", + "L1StandardBridgeProxy": "0x3756BF0380E7fdABcB81f2cFb1d8022e8B798a8F", + "OptimismPortalProxy": "0xbd36ac8fB65F192dAEbCB2Dca819CB7ea7D60417", + "DisputeGameFactoryProxy": "0x298038f9E37b370d20E58706E8Ac78475b089FB2", + "DelayedWETHProxy": "0x62841F5E03a56f818BC8818c5130757acA2541A7", + "PermissionedDelayedWETHProxy": "0x62841F5E03a56f818BC8818c5130757acA2541A7", + "AnchorStateRegistryProxy": "0x333f8D607B81E880315716A815A9369B33ea6A77", + "AddressManager": "0x82D735Cc1e04fcFef24d0190F11b5253e05562AF", + "L1ERC721BridgeProxy": "0xe081aD91D049e9999d1e7006dbF025b38198B518" + } +} \ No newline at end of file diff --git a/src/tasks/sep/051-op-betanet-set-respected-game-type/config.toml b/src/tasks/sep/051-op-betanet-set-respected-game-type/config.toml new file mode 100644 index 000000000..488b24bda --- /dev/null +++ b/src/tasks/sep/051-op-betanet-set-respected-game-type/config.toml @@ -0,0 +1,18 @@ +l2chains = [ + {name = "u18-beta-1", chainId = 420110022} +] + +fallbackAddressesJsonPath = "src/tasks/sep/051-op-betanet-set-respected-game-type/addresses.json" +templateName = "SetRespectedGameTypeTemplate" + +safeAddressString = "ProxyAdminOwner" # We need this on betanet because the ASR checks msg.sender == SystemConfig.guardian() which is the PAO EOA, not the GuardianSafe multisig as on Sepolia. + +[gameTypes] +configs = [ + {chainId = 420110022, gameType = 0} +] + +[stateOverrides] +0xe934Dc97E347C6aCef74364B50125bb8689c40ff = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 56} +] diff --git a/src/tasks/sep/052-U18-op-betanets/.env b/src/tasks/sep/052-U18-op-betanets/.env new file mode 100644 index 000000000..02789f94b --- /dev/null +++ b/src/tasks/sep/052-U18-op-betanets/.env @@ -0,0 +1 @@ +TENDERLY_GAS=15000000 \ No newline at end of file diff --git a/src/tasks/sep/052-U18-op-betanets/README.md b/src/tasks/sep/052-U18-op-betanets/README.md new file mode 100644 index 000000000..d2f22bd98 --- /dev/null +++ b/src/tasks/sep/052-U18-op-betanets/README.md @@ -0,0 +1,22 @@ +# 052-U18-op-betanets + +Status: [READY TO SIGN] + +## Objective + +Updates OP Labs Betanets (both Permissioned and Permissionless networks) to U18. + +## Simulation & Signing + +```bash +cd src/tasks/sep/052-U18-op-betanets + +# Testing +just simulate-stack sep 052-U18-op-betanets + +# Commands to execute +just --dotenv-path $(pwd)/.env simulate +USE_KEYSTORE=1 just --dotenv-path $(pwd)/.env sign +# or USE_KEYSTORE=1 just sign-stack sep 052-U18-op-betanets +SIGNATURES=0x just execute +``` diff --git a/src/tasks/sep/052-U18-op-betanets/VALIDATION.md b/src/tasks/sep/052-U18-op-betanets/VALIDATION.md new file mode 100644 index 000000000..f73740108 --- /dev/null +++ b/src/tasks/sep/052-U18-op-betanets/VALIDATION.md @@ -0,0 +1,19 @@ +## Expected Domain and Message Hashes + +First, we need to validate the domain and message hashes. These values should match both the values on your ledger and +the values printed to the terminal when you run the task. + +> [!CAUTION] +> +> Before signing, ensure the below hashes match what is on your ledger. +> +> ### Betanet Proxy Admin Owner (`0xe934Dc97E347C6aCef74364B50125bb8689c40ff`) +> +> - Domain Hash: `0x07e03428d7125835eca12b6dd1a02903029b456da3a091ecd66fda859fbce61e` +> - Message Hash: `0xea39832549b35e6ff015f3138f1216b7dd1bfea74d4192ebbf5de3d9451114e7` + +## Task Calldata + +``` +0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000571d97509f51d7911ca51092f51c0a57d591a8f303845751c66672c0b09e68ba7c3024a7543a1a22edaa90d7c2c90ebc8cecee6803f833cc2a644a9f7bba9718c13f622b867c513f3c43f3eb5a0cad17784bd4080000000000000000000000005babf93ac7affeae25dc1a7ad4587fdeebba44c203845751c66672c0b09e68ba7c3024a7543a1a22edaa90d7c2c90ebc8cecee6803f833cc2a644a9f7bba9718c13f622b867c513f3c43f3eb5a0cad17784bd40800000000000000000000000000000000000000000000000000000000 +``` diff --git a/src/tasks/sep/052-U18-op-betanets/addresses.json b/src/tasks/sep/052-U18-op-betanets/addresses.json new file mode 100644 index 000000000..a30a8be61 --- /dev/null +++ b/src/tasks/sep/052-U18-op-betanets/addresses.json @@ -0,0 +1,36 @@ +{ + "420110021": { + "ProxyAdmin": "0x5402a671527d2Bbde2C271862FC02B3f39531059", + "ProxyAdminOwner": "0xe934Dc97E347C6aCef74364B50125bb8689c40ff", + "SystemConfigProxy": "0x571d97509f51d7911cA51092F51c0A57d591a8F3", + "L1CrossDomainMessengerProxy": "0xe3FCcA78f39948eD8170fE04698F1e26a2551466", + "L1StandardBridgeProxy": "0x0Bfe4ccb44bd4591BD106345eec8473B4036A976", + "OptimismPortalProxy": "0x03E9Cbd5742D2462C3b6FAD5de0b0F599444d16a", + "DisputeGameFactoryProxy": "0xF97985C58B7E520Bd0215C11BB51Ac46475F0F87", + "DelayedWETHProxy": "0xd2254B347c4A9ce6eF4C245FC83b4F2285e8b212", + "PermissionedDelayedWETHProxy": "0xd2254B347c4A9ce6eF4C245FC83b4F2285e8b212", + "AnchorStateRegistryProxy": "0x3805CB4B2b3f7edBaA2A788b50Dd5264AB0756e3", + "AddressManager": "0xF52FA3816db753E3BF7Db8cd6134258592F0bF51", + "L1ERC721BridgeProxy": "0x7Be332D7b7F7c28dE79cE28b36F17F3C0ad31ce2", + "Proposer": "0x87af2830e8A39a76261f7ed515EE4a3451105561", + "Challenger": "0x839057B2F150b4720d47771B9D9e51D79f3E4B38", + "OptimismMintableERC20FactoryProxy": "0xC09189bC7A60248b625Eca79d4f3446Ca1Bbc64f" + }, + "420110022": { + "ProxyAdmin": "0xcd18a0C04286Eba52Bb168Fa1D79133Da4856bEf", + "ProxyAdminOwner": "0xe934Dc97E347C6aCef74364B50125bb8689c40ff", + "SystemConfigProxy": "0x5babF93aC7AFfeaE25dc1a7ad4587fDeEbba44C2", + "L1CrossDomainMessengerProxy": "0xF0e4aAcC6D039C05B827994C3FfBBBcf00085D11", + "L1StandardBridgeProxy": "0x3756BF0380E7fdABcB81f2cFb1d8022e8B798a8F", + "OptimismPortalProxy": "0xbd36ac8fB65F192dAEbCB2Dca819CB7ea7D60417", + "DisputeGameFactoryProxy": "0x298038f9E37b370d20E58706E8Ac78475b089FB2", + "DelayedWETHProxy": "0x62841F5E03a56f818BC8818c5130757acA2541A7", + "PermissionedDelayedWETHProxy": "0x62841F5E03a56f818BC8818c5130757acA2541A7", + "AnchorStateRegistryProxy": "0x333f8D607B81E880315716A815A9369B33ea6A77", + "AddressManager": "0x82D735Cc1e04fcFef24d0190F11b5253e05562AF", + "L1ERC721BridgeProxy": "0xe081aD91D049e9999d1e7006dbF025b38198B518", + "Proposer": "0x39Ff903Ca8a3d759dE9A7502D9C3B5Ef8A8e6670", + "Challenger": "0xd9f48B7D3e1Ff4A1d4877834aaCAC9d1d6230d8E", + "OptimismMintableERC20FactoryProxy": "0xB1453F648E22c4DEB2FdEDA840E5Af42Ef9ea49a" + } +} \ No newline at end of file diff --git a/src/tasks/sep/052-U18-op-betanets/config.toml b/src/tasks/sep/052-U18-op-betanets/config.toml new file mode 100644 index 000000000..a27186727 --- /dev/null +++ b/src/tasks/sep/052-U18-op-betanets/config.toml @@ -0,0 +1,41 @@ +# Betanet on u18 +l2chains = [ + {name = "u18-beta-0", chainId = 420110021}, + {name = "u18-beta-1", chainId = 420110022} +] + +# Addresses for this task can be found here: https://github.com/ethereum-optimism/devnets/tree/main/betanets/u18-beta + +fallbackAddressesJsonPath = "src/tasks/sep/052-U18-op-betanets/addresses.json" + +templateName = "OPCMUpgradeV600" + + +[[opcmUpgrades]] +chainId = 420110021 +# U18 prestates from betanet: https://www.notion.so/oplabs/Betanet-2a9f153ee16280859261e3000d866ee9?source=copy_link#2c5f153ee162805abcc3e949ab6c837e +cannonPrestate = "0x03f833cc2a644a9f7bba9718c13f622b867c513f3c43f3eb5a0cad17784bd408" +cannonKonaPrestate = "0x03845751c66672c0b09e68ba7c3024a7543a1a22edaa90d7c2c90ebc8cecee68" +expectedValidationErrors = "OVERRIDES-L1PAOMULTISIG,OVERRIDES-CHALLENGER,SYSCON-130,PLDG-10,CKDG-10" +# OVERRIDES-L1PAOMULTISIG,OVERRIDES-CHALLENGER: these are expected as they are not the standard OP Sepolia ones +# SYSCON-130: this is expected as the SystemConfig proxyAdmin on betanets is not the standard OP Sepolia one +# PLDG-10: this is expected because u18-beta-0 is a Permissioned chain +# CKDG-10: Custom dispute game implementation not found, expected as it's a Permissioned chain with no Permissionless implementation + +[[opcmUpgrades]] +chainId = 420110022 +# U18 prestates from betanet: https://www.notion.so/oplabs/Betanet-2a9f153ee16280859261e3000d866ee9?source=copy_link#2c5f153ee162805abcc3e949ab6c837e +cannonPrestate = "0x03f833cc2a644a9f7bba9718c13f622b867c513f3c43f3eb5a0cad17784bd408" +cannonKonaPrestate = "0x03845751c66672c0b09e68ba7c3024a7543a1a22edaa90d7c2c90ebc8cecee68" +expectedValidationErrors = "OVERRIDES-L1PAOMULTISIG,OVERRIDES-CHALLENGER,SYSCON-130" +# OVERRIDES-L1PAOMULTISIG,OVERRIDES-CHALLENGER: these are expected as they are not the standard OP Sepolia ones +# SYSCON-130: this is expected as the SystemConfig proxyAdmin on betanets is not the standard OP Sepolia one + +[addresses] +OPCM = "0xf0a2e224519e876979ea6b2cd15ef5cc3d6703bd" # v600 OPCM source: https://www.notion.so/oplabs/Upgrade-18-Hub-2a3f153ee1628173bfe4f732657e4f01?source=copy_link#2cef153ee162806482fceb958964651e + + +[stateOverrides] +0xe934Dc97E347C6aCef74364B50125bb8689c40ff = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 57} +]