diff --git a/Makefile b/Makefile index ad51512e..2dcbcdce 100644 --- a/Makefile +++ b/Makefile @@ -119,7 +119,7 @@ checkout-base-contracts-commit: ## # Task Signer Tool ## -SIGNER_TOOL_COMMIT=dbe7f9e358bf99e367441e95d8f6ce28716c4cc9 +SIGNER_TOOL_COMMIT=abbfa09210582eca32ad4873d862994a5957fbc2 SIGNER_TOOL_PATH=signer-tool .PHONY: checkout-signer-tool diff --git a/sepolia/2025-11-18-set-jovian-parameters/.env b/sepolia/2025-11-18-set-jovian-parameters/.env new file mode 100644 index 00000000..21050db5 --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/.env @@ -0,0 +1,19 @@ +# Base Contracts commit +BASE_CONTRACTS_COMMIT=51788f920e368e72c63cef24a5e1ea0f6562d9a5 + +# Optimism commit (op-contracts/v5.0.0) +OP_COMMIT=d09c836f818c73ae139f60b717654c4e53712743 + +# Contract addresses +SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 +OWNER_SAFE=0x0fe884546476dDd290eC46318785046ef68a0BA9 +CB_SIGNER_SAFE_ADDR=0x646132A1667ca7aD00d36616AFBA1A28116C770A +CB_NESTED_SAFE_ADDR=0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f +CB_SC_SAFE_ADDR=0x6AF0674791925f767060Dd52f7fB20984E8639d8 +OP_SIGNER_SAFE_ADDR=0x6AF0674791925f767060Dd52f7fB20984E8639d8 + +# Jovian parameters +DA_FOOTPRINT_GAS_SCALAR=312 +MIN_BASE_FEE=200000 + +RECORD_STATE_DIFF=true diff --git a/sepolia/2025-11-18-set-jovian-parameters/FACILITATORS.md b/sepolia/2025-11-18-set-jovian-parameters/FACILITATORS.md new file mode 100644 index 00000000..31b29b1c --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/FACILITATORS.md @@ -0,0 +1,47 @@ +#### Execute the transaction + +1. Collect outputs from all participating signers. +1. Concatenate all signatures and export it as the `SIGNATURES` + environment variable, i.e. `export +SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. +1. Run the `make execute` or `make approve` command as described below to execute the transaction. + +For example, if the quorum is 3 and you get the following outputs: + +```shell +Data: 0xDEADBEEF +Signer: 0xC0FFEE01 +Signature: AAAA +``` + +```shell +Data: 0xDEADBEEF +Signer: 0xC0FFEE02 +Signature: BBBB +``` + +```shell +Data: 0xDEADBEEF +Signer: 0xC0FFEE03 +Signature: CCCC +``` + +Coinbase facilitator: + +```bash +SIGNATURES=AAAABBBBCCCC make approve-cb +``` + +```bash +SIGNATURES=AAAABBBBCCCC make approve-cb-sc +``` + +```bash +SIGNATURES=AAAABBBBCCCC make approve-op +``` + +Once the signatures have been submitted approving the transaction for all nested Safes run: + +```bash +make execute +``` diff --git a/sepolia/2025-11-18-set-jovian-parameters/Makefile b/sepolia/2025-11-18-set-jovian-parameters/Makefile new file mode 100644 index 00000000..d31ef6b4 --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/Makefile @@ -0,0 +1,83 @@ +include ../../Makefile +include ../../Multisig.mk + +include ../.env +include .env + +ifndef LEDGER_ACCOUNT +override LEDGER_ACCOUNT = 1 +endif + +# Sepolia Commands + +# OWNER_SAFE/ +# ├── CB_SIGNER_SAFE_ADDR/ +# │ ├── CB_NESTED_SAFE_ADDR/ +# │ │ └── Signers +# │ └── CB_SC_SAFE_ADDR/ +# │ └── Signers +# └── OP_SIGNER_SAFE_ADDR/ +# └── Signers + +RPC_URL = $(L1_RPC_URL) +SCRIPT_NAME = SetJovianParametersScript + +.PHONY: gen-validation-cb +gen-validation-cb: checkout-signer-tool run-script-cb + +.PHONY: run-script-cb +run-script-cb: + cd $(SIGNER_TOOL_PATH); \ + npm ci; \ + bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ + --ledger-id $(LEDGER_ACCOUNT) \ + --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ + $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-signer.json; + + +.PHONY: gen-validation-cb-sc +gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc + +.PHONY: run-script-cb-sc +run-script-cb-sc: + cd $(SIGNER_TOOL_PATH); \ + npm ci; \ + bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ + --ledger-id $(LEDGER_ACCOUNT) \ + --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ + $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-sc-signer.json; + +.PHONY: gen-validation-op +gen-validation-op: checkout-signer-tool run-script-op + +.PHONY: run-script-op +run-script-op: + cd $(SIGNER_TOOL_PATH); \ + npm ci; \ + bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ + --ledger-id $(LEDGER_ACCOUNT) \ + --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ + $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --out ../validations/op-signer.json; + + +# CB +.PHONY: approve-cb +approve-cb: + $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) + +.PHONY: approve-cb-sc +approve-cb-sc: + $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) + +.PHONY: approve-cb-coordinator +approve-cb-coordinator: + $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) + +.PHONY: approve-op +approve-op: + $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) + +# Execute +.PHONY: execute +execute: + $(call MULTISIG_EXECUTE,0x) diff --git a/sepolia/2025-11-18-set-jovian-parameters/README.md b/sepolia/2025-11-18-set-jovian-parameters/README.md new file mode 100644 index 00000000..83c2b6e5 --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/README.md @@ -0,0 +1,58 @@ +# Set Jovian Parameters on Base Sepolia + +Status: READY TO SIGN + +## Description + +This task sets the Jovian hardfork parameters on Base Sepolia's SystemConfig contract. The parameters being set are: + +- `setDAFootprintGasScalar(312)` - Sets the data availability footprint gas scalar +- `setMinBaseFee(200000)` - Sets the minimum base fee + +These parameters activate with the Jovian hardfork and affect data availability fee calculations and base fee management on the L2. + +## Procedure + +## Install dependencies + +### 1. Update foundry + +```bash +foundryup +``` + +### 2. Install Node.js if needed + +First, check if you have node installed + +```bash +node --version +``` + +If you see a version output from the above command, you can move on. Otherwise, install node + +```bash +brew install node +``` + +## Approving the Update transaction + +### 1. Update repo: + +```bash +cd contract-deployments +git pull +``` + +### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). + +```bash +make sign-task +``` + +### 3. Open the UI at [http://localhost:3000](http://localhost:3000) + +Be sure to select the correct task user from the list of available users to sign. +After completion, the signer tool can be closed by using Ctrl + c + +### 4. Send signature to facilitator diff --git a/sepolia/2025-11-18-set-jovian-parameters/foundry.toml b/sepolia/2025-11-18-set-jovian-parameters/foundry.toml new file mode 100644 index 00000000..85225f30 --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/foundry.toml @@ -0,0 +1,21 @@ +[profile.default] +src = 'src' +out = 'out' +libs = ['lib'] +broadcast = 'records' +fs_permissions = [{ access = "read-write", path = "./" }] +optimizer = true +optimizer_runs = 999999 +solc_version = "0.8.15" +via-ir = false +remappings = [ + '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', + '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', + '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', + '@rari-capital/solmate/=lib/solmate/', + '@base-contracts/=lib/base-contracts', + 'solady/=lib/solady/src/', +] +evm_version = "prague" + +# See more config options https://github.com/foundry-rs/foundry/tree/master/config diff --git a/sepolia/2025-11-18-set-jovian-parameters/script/SetJovianParameters.s.sol b/sepolia/2025-11-18-set-jovian-parameters/script/SetJovianParameters.s.sol new file mode 100644 index 00000000..21059cca --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/script/SetJovianParameters.s.sol @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import {Vm} from "forge-std/Vm.sol"; +import {console} from "forge-std/console.sol"; +import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; +import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; + +import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; + +interface ISystemConfig { + function daFootprintGasScalar() external view returns (uint16); + function minBaseFee() external view returns (uint64); + function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; + function setMinBaseFee(uint64 _minBaseFee) external; +} + +contract SetJovianParametersScript is MultisigScript { + address internal immutable OWNER_SAFE; + address internal immutable SYSTEM_CONFIG; + + uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; + uint64 internal immutable MIN_BASE_FEE; + + constructor() { + OWNER_SAFE = vm.envAddress("OWNER_SAFE"); + SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); + DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("DA_FOOTPRINT_GAS_SCALAR")); + MIN_BASE_FEE = uint64(vm.envUint("MIN_BASE_FEE")); + } + + function setUp() external view { + // Log current values for reference + console.log("Current DA Footprint Gas Scalar:", ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()); + console.log("Current Min Base Fee:", ISystemConfig(SYSTEM_CONFIG).minBaseFee()); + console.log("New DA Footprint Gas Scalar:", DA_FOOTPRINT_GAS_SCALAR); + console.log("New Min Base Fee:", MIN_BASE_FEE); + } + + function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { + vm.assertEq( + ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), + DA_FOOTPRINT_GAS_SCALAR, + "DA Footprint Gas Scalar mismatch" + ); + vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, "Min Base Fee mismatch"); + } + + function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { + IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); + + calls[0] = IMulticall3.Call3Value({ + target: SYSTEM_CONFIG, + allowFailure: false, + callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (DA_FOOTPRINT_GAS_SCALAR)), + value: 0 + }); + + calls[1] = IMulticall3.Call3Value({ + target: SYSTEM_CONFIG, + allowFailure: false, + callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)), + value: 0 + }); + + return calls; + } + + function _ownerSafe() internal view override returns (address) { + return OWNER_SAFE; + } +} diff --git a/sepolia/2025-11-18-set-jovian-parameters/validations/cb-sc-signer.json b/sepolia/2025-11-18-set-jovian-parameters/validations/cb-sc-signer.json new file mode 100644 index 00000000..e4743e0a --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/validations/cb-sc-signer.json @@ -0,0 +1,121 @@ +{ + "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", + "ledgerId": 1, + "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", + "messageHash": "0x584d0cc61e6fffd9fea6c4cc3b242b782e0307c125b98ddc38cce23939b97eb6" + }, + "stateOverrides": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "overrides": [ + { + "key": "0x3c35e253d3d819dc80b00bec4c486bf001629e935fee5b7278f4b79da0c2fb40", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." + } + ] + } + ], + "stateChanges": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001b", + "after": "0x000000000000000000000000000000000000000000000000000000000000001c", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x8edc1cfc1840fa9ef854a3f743c41fe8ca1aa29e77f34b71c732200173cfea88", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000000a", + "after": "0x000000000000000000000000000000000000000000000000000000000000000b", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x97d646f621b0f519cef0ddd752bf96c09d32d77408e838dc7e60be097f3f35ec", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x0000000000000000000000000000000000000000000000000000000000000011", + "after": "0x0000000000000000000000000000000000000000000000000000000000000012", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "System Config - Sepolia", + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "changes": [ + { + "key": "0x000000000000000000000000000000000000000000000000000000000000006a", + "before": "0x0000000000000000000000000000000000000000000000000000000400000032", + "after": "0x0000000000000000000001380000000000000000000000000000000400000032", + "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", + "allowDifference": false + }, + { + "key": "0x000000000000000000000000000000000000000000000000000000000000006c", + "before": "0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be", + "after": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", + "description": "Sets the Min Base Fee to 200000 (0x030d40)", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [] +} diff --git a/sepolia/2025-11-18-set-jovian-parameters/validations/cb-signer.json b/sepolia/2025-11-18-set-jovian-parameters/validations/cb-signer.json new file mode 100644 index 00000000..7473cbda --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/validations/cb-signer.json @@ -0,0 +1,126 @@ +{ + "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", + "ledgerId": 1, + "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", + "messageHash": "0x826d763e5f8e6b8dc34ea6ac7a7732afec3b3f59a75b89f8a473dcc5823bafac" + }, + "stateOverrides": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "CB Signer Safe - Sepolia", + "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + }, + { + "key": "0x7fe7cf17ba7e8539dbc7761dda7051425e4980a5488c2da7301fc2d8d1e9fa30", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + } + ], + "stateChanges": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001b", + "after": "0x000000000000000000000000000000000000000000000000000000000000001c", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x8edc1cfc1840fa9ef854a3f743c41fe8ca1aa29e77f34b71c732200173cfea88", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "CB Signer Safe - Sepolia", + "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000000d", + "after": "0x000000000000000000000000000000000000000000000000000000000000000e", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000000a", + "after": "0x000000000000000000000000000000000000000000000000000000000000000b", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x9a9a340b11831be720964539a007b72fec48bc53b0edc6c53ed1dee5612719b3", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "System Config - Sepolia", + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "changes": [ + { + "key": "0x000000000000000000000000000000000000000000000000000000000000006a", + "before": "0x0000000000000000000000000000000000000000000000000000000400000032", + "after": "0x0000000000000000000001380000000000000000000000000000000400000032", + "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", + "allowDifference": false + }, + { + "key": "0x000000000000000000000000000000000000000000000000000000000000006c", + "before": "0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be", + "after": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", + "description": "Sets the Min Base Fee to 200000 (0x030d40)", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [] +} diff --git a/sepolia/2025-11-18-set-jovian-parameters/validations/op-signer.json b/sepolia/2025-11-18-set-jovian-parameters/validations/op-signer.json new file mode 100644 index 00000000..3ee300cd --- /dev/null +++ b/sepolia/2025-11-18-set-jovian-parameters/validations/op-signer.json @@ -0,0 +1,90 @@ +{ + "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", + "ledgerId": 1, + "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", + "messageHash": "0xcb1e56ca6002c1031dc54f1d2cebe111f24f5997476b0ee37909ca7078ac1d83" + }, + "stateOverrides": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "overrides": [ + { + "key": "0x9a1a1e38d44b5a62ad5c57dafdf8e4dbcd373354e02c169028218b8664c81801", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." + } + ] + } + ], + "stateChanges": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001b", + "after": "0x000000000000000000000000000000000000000000000000000000000000001c", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0xa5855c998346b3e542ba91df8b8a8b17cf51c481a36485b6f7831bb3331db193", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x0000000000000000000000000000000000000000000000000000000000000011", + "after": "0x0000000000000000000000000000000000000000000000000000000000000012", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "System Config - Sepolia", + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "changes": [ + { + "key": "0x000000000000000000000000000000000000000000000000000000000000006a", + "before": "0x0000000000000000000000000000000000000000000000000000000400000032", + "after": "0x0000000000000000000001380000000000000000000000000000000400000032", + "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", + "allowDifference": false + }, + { + "key": "0x000000000000000000000000000000000000000000000000000000000000006c", + "before": "0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be", + "after": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", + "description": "Sets the Min Base Fee to 200000 (0x030d40)", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [] +}