From e8c7b0dc464be4042d2e26a6113fed3dccacfb14 Mon Sep 17 00:00:00 2001 From: 0xchin <77933451+0xChin@users.noreply.github.com> Date: Fri, 19 Dec 2025 15:09:27 -0300 Subject: [PATCH 1/4] feat: add devnet task --- .../.env | 0 .../README.md | 0 .../VALIDATION.md | 4 +- .../sep/049-rev-share-betanet/addresses.json | 5 +++ .../sep/049-rev-share-betanet/config.toml | 28 ++++++++++++ src/tasks/sep/050-rev-share-ink-soneium/.env | 1 + .../sep/050-rev-share-ink-soneium/README.md | 44 +++++++++++++++++++ .../050-rev-share-ink-soneium/VALIDATION.md | 29 ++++++++++++ .../config.toml | 8 +--- 9 files changed, 110 insertions(+), 9 deletions(-) rename src/tasks/sep/{049-rev-share-ink-soneium => 049-rev-share-betanet}/.env (100%) rename src/tasks/sep/{049-rev-share-ink-soneium => 049-rev-share-betanet}/README.md (100%) rename src/tasks/sep/{049-rev-share-ink-soneium => 049-rev-share-betanet}/VALIDATION.md (92%) create mode 100644 src/tasks/sep/049-rev-share-betanet/addresses.json create mode 100644 src/tasks/sep/049-rev-share-betanet/config.toml create mode 100644 src/tasks/sep/050-rev-share-ink-soneium/.env create mode 100644 src/tasks/sep/050-rev-share-ink-soneium/README.md create mode 100644 src/tasks/sep/050-rev-share-ink-soneium/VALIDATION.md rename src/tasks/sep/{049-rev-share-ink-soneium => 050-rev-share-ink-soneium}/config.toml (80%) diff --git a/src/tasks/sep/049-rev-share-ink-soneium/.env b/src/tasks/sep/049-rev-share-betanet/.env similarity index 100% rename from src/tasks/sep/049-rev-share-ink-soneium/.env rename to src/tasks/sep/049-rev-share-betanet/.env diff --git a/src/tasks/sep/049-rev-share-ink-soneium/README.md b/src/tasks/sep/049-rev-share-betanet/README.md similarity index 100% rename from src/tasks/sep/049-rev-share-ink-soneium/README.md rename to src/tasks/sep/049-rev-share-betanet/README.md diff --git a/src/tasks/sep/049-rev-share-ink-soneium/VALIDATION.md b/src/tasks/sep/049-rev-share-betanet/VALIDATION.md similarity index 92% rename from src/tasks/sep/049-rev-share-ink-soneium/VALIDATION.md rename to src/tasks/sep/049-rev-share-betanet/VALIDATION.md index bb87a8c5dc..7ddd1c3c41 100644 --- a/src/tasks/sep/049-rev-share-ink-soneium/VALIDATION.md +++ b/src/tasks/sep/049-rev-share-betanet/VALIDATION.md @@ -15,12 +15,12 @@ the values printed to the terminal when you run the task. > ### Nested Safe 1 (Foundation): `0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B` > > - Domain Hash: `0x37e1f5dd3b92a004a23589b741196c8a214629d4ea3a690ec8e41ae45c689cbb` -> - Message Hash: `0x525fe8644760f20a75f3e4b4e33f7e980d3c16270a1aa01e724a6a0b9c3cb888` +> - Message Hash: `0x48875a3a381e995496f156badf1b1502ac5f185d4d443d1584208a792f505a9a` > > ### Nested Safe 2 (Security Council): `0xf64bc17485f0B4Ea5F06A96514182FC4cB561977` > > - Domain Hash: `0xbe081970e9fc104bd1ea27e375cd21ec7bb1eec56bfe43347c3e36c5d27b8533` -> - Message Hash: `0x7aab487c69b9f7c565a696bec5c74ea6ae486eeb746dabc87e7182d0cc5bf0e7` +> - Message Hash: `0x96f45cbc005f87ecd5e71c20849cf0e5a872794d19d21ac6ba77732475069d1c` ## Task Calldata diff --git a/src/tasks/sep/049-rev-share-betanet/addresses.json b/src/tasks/sep/049-rev-share-betanet/addresses.json new file mode 100644 index 0000000000..40b25bc2bc --- /dev/null +++ b/src/tasks/sep/049-rev-share-betanet/addresses.json @@ -0,0 +1,5 @@ +{ + "420120033": { + "ProxyAdminOwner": "0x1eb2ffc903729a0f03966b917003800b145f56e2" + } +} \ No newline at end of file diff --git a/src/tasks/sep/049-rev-share-betanet/config.toml b/src/tasks/sep/049-rev-share-betanet/config.toml new file mode 100644 index 0000000000..ba2800df38 --- /dev/null +++ b/src/tasks/sep/049-rev-share-betanet/config.toml @@ -0,0 +1,28 @@ +# RevShare Upgrade And Setup Configuration + +templateName = "RevShareUpgradeAndSetup" + +# L2 chains to target +l2chains = [{name = "revshare-beta-0", chainId = 420120033}] + +safeAddress = "ProxyAdminOwner" + +# RevShareContractsUpgrader address +revShareUpgrader = "0x71241bbae674967dd523e621c272ea32cf33119a" + +# RevShare configurations (one per chain) - flattened arrays +portals = ["0xa1F4F424901e0773e68C714077bCDD5CF8BcEc23"] + +chainFeesRecipients = ["0x5f077b4c3509C2c192e50B6654d924Fcb8126A60"] + +# 2 ether +l1WithdrawerMinWithdrawalAmounts = [2000000000000000000] + +# FeesDepositor address in mainnet +l1WithdrawerRecipients = ["0xed9B99a703BaD32AC96FDdc313c0652e379251Fd"] +l1WithdrawerGasLimits = [800000] + +fallbackAddressesJsonPath = "src/tasks/sep/049-rev-share-betanet/addresses.json" + +[addresses] +ProxyAdminOwner = "0x1eb2ffc903729a0f03966b917003800b145f56e2" \ No newline at end of file diff --git a/src/tasks/sep/050-rev-share-ink-soneium/.env b/src/tasks/sep/050-rev-share-ink-soneium/.env new file mode 100644 index 0000000000..fe89703585 --- /dev/null +++ b/src/tasks/sep/050-rev-share-ink-soneium/.env @@ -0,0 +1 @@ +TENDERLY_GAS=16700000 diff --git a/src/tasks/sep/050-rev-share-ink-soneium/README.md b/src/tasks/sep/050-rev-share-ink-soneium/README.md new file mode 100644 index 0000000000..c95b14bc14 --- /dev/null +++ b/src/tasks/sep/050-rev-share-ink-soneium/README.md @@ -0,0 +1,44 @@ +# 049-rev-share-ink-soneium: RevShare Upgrade and Setup for Ink Sepolia and Soneium Minato + +Status: [DRAFT, NOT READY TO SIGN]() + +## Objective + +Upgrade proxies and setup RevShare contracts for Ink Sepolia and Soneium Testnet Minato. This task: + +1. Deploys all needed contract implementations: + - FeeVaults + - FeeSplitter + - L1Withdrawer (pointing to the FeesDepositor on L1) + - RevShareCalculator (pointing to the L1Withdrawer and the ChainFeesRecipient) +2. Upgrades the fee vault proxy implementations (SequencerFeeVault, BaseFeeVault, L1FeeVault, OperatorFeeVault) on Ink Sepolia and Soneium Minato L2s +3. Sets FeeSplitter predeploy to point to the new FeeSplitter implementation and initializes it with the RevShareCalculator address + +Target chains: + +- Ink Sepolia (chainId: 763373) +- Soneium Testnet Minato (chainId: 1946) + +## Simulation & Signing + +> **Note:** This task depends on prior tasks in the Sepolia stack (047, 048). The hashes in VALIDATION.md +> were generated using `simulate-stack` which simulates all tasks in sequence. Running `simulate` individually +> may show different hashes because it doesn't account for nonce increments from prior tasks. + +Simulation commands for each safe: + +```bash +# For stacked simulation (recommended for validation): +just simulate-stack sep 049-rev-share-ink-soneium + +# For individual simulation: +cd src/tasks/sep/049-rev-share-ink-soneium +SIMULATE_WITHOUT_LEDGER=1 just --dotenv-path "$(pwd)"/.env --justfile ../../../justfile simulate +``` + +Signing commands for each safe: + +```bash +cd src/tasks/sep/049-rev-share-ink-soneium +just --dotenv-path "$(pwd)"/.env --justfile ../../../justfile sign +``` diff --git a/src/tasks/sep/050-rev-share-ink-soneium/VALIDATION.md b/src/tasks/sep/050-rev-share-ink-soneium/VALIDATION.md new file mode 100644 index 0000000000..258a8dcb6b --- /dev/null +++ b/src/tasks/sep/050-rev-share-ink-soneium/VALIDATION.md @@ -0,0 +1,29 @@ +# 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): `0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B` +> +> - Domain Hash: `0x37e1f5dd3b92a004a23589b741196c8a214629d4ea3a690ec8e41ae45c689cbb` +> - Message Hash: `0x03d36afd7fe0dc086bc76d9ab6bcde4614d1aa1de4be905d69350fa61c9c6c32` +> +> ### Nested Safe 2 (Security Council): `0xf64bc17485f0B4Ea5F06A96514182FC4cB561977` +> +> - Domain Hash: `0xbe081970e9fc104bd1ea27e375cd21ec7bb1eec56bfe43347c3e36c5d27b8533` +> - Message Hash: `0x4c5dba38b1b98ca0918f14515153b7fbf04fdafca57bf640ef1dc9a508261efd` + +## Task Calldata + +``` +0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000071241bbae674967dd523e621c272ea32cf33119a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001841a80dc38000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005c1d29c6c9c8b0800692acc95d700bcb4966a1d70000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000ed9b99a703bad32ac96fddc313c0652e379251fd00000000000000000000000000000000000000000000000000000000000c3500000000000000000000000000bea2bc852a160b8547273660e22f4f08c2fa9bbb00000000000000000000000065ea1489741a5d72ffdd8e6485b216bbdcc15af30000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000ed9b99a703bad32ac96fddc313c0652e379251fd00000000000000000000000000000000000000000000000000000000000c3500000000000000000000000000660203dd7e933646905dfdc2c3c0bb156d51000a00000000000000000000000000000000000000000000000000000000 +``` diff --git a/src/tasks/sep/049-rev-share-ink-soneium/config.toml b/src/tasks/sep/050-rev-share-ink-soneium/config.toml similarity index 80% rename from src/tasks/sep/049-rev-share-ink-soneium/config.toml rename to src/tasks/sep/050-rev-share-ink-soneium/config.toml index 9b95827c7c..42d04a0564 100644 --- a/src/tasks/sep/049-rev-share-ink-soneium/config.toml +++ b/src/tasks/sep/050-rev-share-ink-soneium/config.toml @@ -35,10 +35,4 @@ l1WithdrawerRecipients = [ l1WithdrawerGasLimits = [800000, 800000] [addresses] -ProxyAdminOwner = "0x1Eb2fFc903729a0F03966B917003800b145F56E2" - -[stateOverrides] -# Security Council -0xf64bc17485f0B4Ea5F06A96514182FC4cB561977 = [ - {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 60} -] +ProxyAdminOwner = "0x1Eb2fFc903729a0F03966B917003800b145F56E2" \ No newline at end of file From 0112ecf6ad250ece552e3e2bf1d15e43ed8cdcf2 Mon Sep 17 00:00:00 2001 From: 0xchin <77933451+0xChin@users.noreply.github.com> Date: Fri, 19 Dec 2025 15:19:29 -0300 Subject: [PATCH 2/4] fix: missing state overrides --- .../sep/050-rev-share-ink-soneium/config.toml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/tasks/sep/050-rev-share-ink-soneium/config.toml b/src/tasks/sep/050-rev-share-ink-soneium/config.toml index 42d04a0564..c53ba3c087 100644 --- a/src/tasks/sep/050-rev-share-ink-soneium/config.toml +++ b/src/tasks/sep/050-rev-share-ink-soneium/config.toml @@ -35,4 +35,20 @@ l1WithdrawerRecipients = [ l1WithdrawerGasLimits = [800000, 800000] [addresses] -ProxyAdminOwner = "0x1Eb2fFc903729a0F03966B917003800b145F56E2" \ No newline at end of file +ProxyAdminOwner = "0x1Eb2fFc903729a0F03966B917003800b145F56E2" + +[stateOverrides] +# Foundation Upgrades Safe +0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 65} +] + +# Security Council +0xf64bc17485f0B4Ea5F06A96514182FC4cB561977 = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 61} +] + +# Proxy Admin Owner +0x1Eb2fFc903729a0F03966B917003800b145F56E2 = [ + {key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 47} +] From 10b6457d3d653cfdc1d1e01f766642ed36205923 Mon Sep 17 00:00:00 2001 From: 0xchin <77933451+0xChin@users.noreply.github.com> Date: Fri, 19 Dec 2025 17:08:09 -0300 Subject: [PATCH 3/4] docs: update betanet task readme --- src/tasks/sep/049-rev-share-betanet/README.md | 21 +++++++------------ .../sep/049-rev-share-betanet/VALIDATION.md | 2 +- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/tasks/sep/049-rev-share-betanet/README.md b/src/tasks/sep/049-rev-share-betanet/README.md index c95b14bc14..e7eb3bf391 100644 --- a/src/tasks/sep/049-rev-share-betanet/README.md +++ b/src/tasks/sep/049-rev-share-betanet/README.md @@ -1,44 +1,39 @@ -# 049-rev-share-ink-soneium: RevShare Upgrade and Setup for Ink Sepolia and Soneium Minato +# 049-rev-share-betanet: RevShare Upgrade and Setup for Betanet Status: [DRAFT, NOT READY TO SIGN]() ## Objective -Upgrade proxies and setup RevShare contracts for Ink Sepolia and Soneium Testnet Minato. This task: +Upgrade proxies and setup RevShare contracts for the RevShare Betanet chain. This task: 1. Deploys all needed contract implementations: - FeeVaults - FeeSplitter - L1Withdrawer (pointing to the FeesDepositor on L1) - RevShareCalculator (pointing to the L1Withdrawer and the ChainFeesRecipient) -2. Upgrades the fee vault proxy implementations (SequencerFeeVault, BaseFeeVault, L1FeeVault, OperatorFeeVault) on Ink Sepolia and Soneium Minato L2s +2. Upgrades the fee vault proxy implementations (SequencerFeeVault, BaseFeeVault, L1FeeVault, OperatorFeeVault) on the Betanet L2 3. Sets FeeSplitter predeploy to point to the new FeeSplitter implementation and initializes it with the RevShareCalculator address -Target chains: +Target chain: -- Ink Sepolia (chainId: 763373) -- Soneium Testnet Minato (chainId: 1946) +- revshare-beta-0 (chainId: 420120033) ## Simulation & Signing -> **Note:** This task depends on prior tasks in the Sepolia stack (047, 048). The hashes in VALIDATION.md -> were generated using `simulate-stack` which simulates all tasks in sequence. Running `simulate` individually -> may show different hashes because it doesn't account for nonce increments from prior tasks. - Simulation commands for each safe: ```bash # For stacked simulation (recommended for validation): -just simulate-stack sep 049-rev-share-ink-soneium +just simulate-stack sep 049-rev-share-betanet # For individual simulation: -cd src/tasks/sep/049-rev-share-ink-soneium +cd src/tasks/sep/049-rev-share-betanet SIMULATE_WITHOUT_LEDGER=1 just --dotenv-path "$(pwd)"/.env --justfile ../../../justfile simulate ``` Signing commands for each safe: ```bash -cd src/tasks/sep/049-rev-share-ink-soneium +cd src/tasks/sep/049-rev-share-betanet just --dotenv-path "$(pwd)"/.env --justfile ../../../justfile sign ``` diff --git a/src/tasks/sep/049-rev-share-betanet/VALIDATION.md b/src/tasks/sep/049-rev-share-betanet/VALIDATION.md index 7ddd1c3c41..cfa12e481c 100644 --- a/src/tasks/sep/049-rev-share-betanet/VALIDATION.md +++ b/src/tasks/sep/049-rev-share-betanet/VALIDATION.md @@ -25,5 +25,5 @@ the values printed to the terminal when you run the task. ## Task Calldata ``` -0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000071241bbae674967dd523e621c272ea32cf33119a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001841a80dc38000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005c1d29c6c9c8b0800692acc95d700bcb4966a1d70000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000ed9b99a703bad32ac96fddc313c0652e379251fd00000000000000000000000000000000000000000000000000000000000c3500000000000000000000000000bea2bc852a160b8547273660e22f4f08c2fa9bbb00000000000000000000000065ea1489741a5d72ffdd8e6485b216bbdcc15af30000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000ed9b99a703bad32ac96fddc313c0652e379251fd00000000000000000000000000000000000000000000000000000000000c3500000000000000000000000000660203dd7e933646905dfdc2c3c0bb156d51000a00000000000000000000000000000000000000000000000000000000 +0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000071241bbae674967dd523e621c272ea32cf33119a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e41a80dc3800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a1f4f424901e0773e68c714077bcdd5cf8bcec230000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000ed9b99a703bad32ac96fddc313c0652e379251fd00000000000000000000000000000000000000000000000000000000000c35000000000000000000000000005f077b4c3509c2c192e50b6654d924fcb8126a6000000000000000000000000000000000000000000000000000000000 ``` From b2d0dd34979ad015bfb87366a794ada0ffa6b910 Mon Sep 17 00:00:00 2001 From: 0xchin <77933451+0xChin@users.noreply.github.com> Date: Fri, 19 Dec 2025 17:09:11 -0300 Subject: [PATCH 4/4] docs: update tesnet task readme --- src/tasks/sep/050-rev-share-ink-soneium/README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/tasks/sep/050-rev-share-ink-soneium/README.md b/src/tasks/sep/050-rev-share-ink-soneium/README.md index c95b14bc14..dcc97a5b21 100644 --- a/src/tasks/sep/050-rev-share-ink-soneium/README.md +++ b/src/tasks/sep/050-rev-share-ink-soneium/README.md @@ -1,4 +1,4 @@ -# 049-rev-share-ink-soneium: RevShare Upgrade and Setup for Ink Sepolia and Soneium Minato +# 050-rev-share-ink-soneium: RevShare Upgrade and Setup for Ink Sepolia and Soneium Minato Status: [DRAFT, NOT READY TO SIGN]() @@ -21,24 +21,20 @@ Target chains: ## Simulation & Signing -> **Note:** This task depends on prior tasks in the Sepolia stack (047, 048). The hashes in VALIDATION.md -> were generated using `simulate-stack` which simulates all tasks in sequence. Running `simulate` individually -> may show different hashes because it doesn't account for nonce increments from prior tasks. - Simulation commands for each safe: ```bash # For stacked simulation (recommended for validation): -just simulate-stack sep 049-rev-share-ink-soneium +just simulate-stack sep 050-rev-share-ink-soneium # For individual simulation: -cd src/tasks/sep/049-rev-share-ink-soneium +cd src/tasks/sep/050-rev-share-ink-soneium SIMULATE_WITHOUT_LEDGER=1 just --dotenv-path "$(pwd)"/.env --justfile ../../../justfile simulate ``` Signing commands for each safe: ```bash -cd src/tasks/sep/049-rev-share-ink-soneium +cd src/tasks/sep/050-rev-share-ink-soneium just --dotenv-path "$(pwd)"/.env --justfile ../../../justfile sign ```