diff --git a/src/tasks/eth/034-U17-main-arena-z-swell/VALIDATION.md b/src/tasks/eth/034-U17-main-arena-z-swell/VALIDATION.md index 17bd131f0a..bfbeba333a 100644 --- a/src/tasks/eth/034-U17-main-arena-z-swell/VALIDATION.md +++ b/src/tasks/eth/034-U17-main-arena-z-swell/VALIDATION.md @@ -26,4 +26,4 @@ the values printed to the terminal when you run the task. ``` 0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fa1ef97fb02b0da2ee2346b8e310907ab5519449000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000034a564bbd863c4bf73eca711cf38a77c4ccbdd6a000000000000000000000000eefd1782d70824cbcacf9438afab7f353f1797f003caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b000000000000000000000000d3d4c6b703978a5d24fecf3a70a51127667ff1a40000000000000000000000004c4710a4ec3f514a492cc6460818c4a6a6269dd603caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000 -``` \ No newline at end of file +``` diff --git a/src/tasks/eth/035-U17-main-unichain/.env b/src/tasks/eth/035-U17-main-unichain/.env new file mode 100644 index 0000000000..7c96bef7da --- /dev/null +++ b/src/tasks/eth/035-U17-main-unichain/.env @@ -0,0 +1 @@ +TENDERLY_GAS=30000000 diff --git a/src/tasks/eth/035-U17-main-unichain/README.md b/src/tasks/eth/035-U17-main-unichain/README.md new file mode 100644 index 0000000000..fd39cf64dc --- /dev/null +++ b/src/tasks/eth/035-U17-main-unichain/README.md @@ -0,0 +1,21 @@ +# 035-U17-main-unichain + +Status: [READY TO SIGN] + +## Objective + +This task upgrades Unichain Mainnet to U17. + +## Simulation & Signing + +Simulation commands for each safe: +```bash +cd src/tasks/eth/035-U17-main-unichain +just simulate-stack eth 035-U17-main-unichain +``` + +Signing commands for each safe: +```bash +cd src/tasks/eth/035-U17-main-unichain +just sign-stack eth 035-U17-main-unichain +``` \ No newline at end of file diff --git a/src/tasks/eth/035-U17-main-unichain/VALIDATION.md b/src/tasks/eth/035-U17-main-unichain/VALIDATION.md new file mode 100644 index 0000000000..9a21d7c54e --- /dev/null +++ b/src/tasks/eth/035-U17-main-unichain/VALIDATION.md @@ -0,0 +1,34 @@ +# Validation + +This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are +signing. + +## Expected Domain and Message Hashes + +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. +> +> ### Nested Safe 1 (Foundation): `0x847B5c174615B1B7fDF770882256e2D3E95b9D92` +> +> - Domain Hash: `0xa4a9c312badf3fcaa05eafe5dc9bee8bd9316c78ee8b0bebe3115bb21b732672` +> - Message Hash: `0xcf4f3369bd2575ac3f8217f3e7c6aba4adff055877d31b082dd4b99057b5618e` +> +> ### Nested Safe 2 (Security Council): `0xc2819DC788505Aac350142A7A707BF9D03E3Bd03` +> +> - Domain Hash: `0xdf53d510b56e539b90b369ef08fce3631020fbf921e3136ea5f8747c20bce967` +> - Message Hash: `0xad2bac47957352becbbb8bd6030b7dd78f8b3cca7394d4f2a6af6e1a8b9ea22f` +> +> ### Nested Safe 3 (Chain Governor): `0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC` +> +> - Domain Hash: `0x4f0b6efb6c01fa7e127a0ff87beefbeb53e056d30d3216c5ac70371b909ca66d` +> - Message Hash: `0x4a00bc5afeeb5a0163fe4b99a6dc5aed18aee96862d928dc42f2d3d4d63b6f0d` + +## Task Calldata + +``` +0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fa1ef97fb02b0da2ee2346b8e310907ab55194490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c407398d063f942febbcc6f80a156b47f3f1bda60000000000000000000000003b73fa8d82f511a3cae17b5a26e4e1a2d5e2f2a403caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000 +``` \ No newline at end of file diff --git a/src/tasks/eth/035-U17-main-unichain/config.toml b/src/tasks/eth/035-U17-main-unichain/config.toml new file mode 100644 index 0000000000..2a3ecbf54b --- /dev/null +++ b/src/tasks/eth/035-U17-main-unichain/config.toml @@ -0,0 +1,39 @@ +l2chains = [ + {name = "Unichain", chainId = 130} +] + +templateName = "OPCMUpgradeV500" + + +# Unichain (Permissionless) +[[opcmUpgrades]] +chainId = 130 +# Jovian prestate: +absolutePrestate = "0x03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b" # prestates."1.8.0-rc.4" https://github.com/ethereum-optimism/superchain-registry/blob/9e3f71cee0e4e2acb4864cb00f5fbee3555d8e9f/validation/standard/standard-prestates.toml#L6C7-L6C73 +expectedValidationErrors = "OVERRIDES-L1PAOMULTISIG,OVERRIDES-CHALLENGER" # The template provides PAO and Challenger overrides to the validator from the SCR. These simply indicate overrides were used. PLDG-10 (missing Permissionless implementation) is expected as this is a permissioned chain. + + +[addresses] +OPCM = "0xfa1ef97fb02b0da2ee2346b8e310907ab5519449" # Source: https://github.com/ethereum-optimism/superchain-registry/blob/9e3f71cee0e4e2acb4864cb00f5fbee3555d8e9f/validation/standard/standard-versions-mainnet.toml#L23C56-L23C98 + + +[stateOverrides] +# Unichain 3/3 (L1PAO) +0x6d5B183F538ABB8572F5cD17109c617b994D5833 = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 7} +] + +# Unichain Operations Safe +0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 14} +] + +# Foundation Upgrade Safe +0x847B5c174615B1B7fDF770882256e2D3E95b9D92 = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 46} +] + +# Security Council +0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 49} +] \ No newline at end of file