[SC rotation] Remove nominee bypass and create proposal payload - #380
Merged
Conversation
gzeoneth
self-requested a review
July 22, 2026 12:59
gzeoneth
reviewed
Jul 22, 2026
gzeoneth
left a comment
Collaborator
There was a problem hiding this comment.
bypass removal is good, some additional change needed
we also need the updated constitution for newConstitutionHash
TucksonDev
commented
Jul 22, 2026
|
|
||
| SecurityCouncilNomineeElectionGovernor scNomineeElectionGovernor = | ||
| SecurityCouncilNomineeElectionGovernor(payable(address(reg.scNomineeElectionGovernor()))); | ||
| vm.warp(1_757_937_601); // After the 2025 Sep election |
Collaborator
Author
There was a problem hiding this comment.
No need to warp and create the election anymore
TucksonDev
commented
Jul 22, 2026
|
|
||
| SecurityCouncilNomineeElectionGovernor scNomineeElectionGovernor = | ||
| SecurityCouncilNomineeElectionGovernor(payable(address(reg.scNomineeElectionGovernor()))); | ||
| vm.warp(1_757_937_601); // After the 2025 Sep election |
Collaborator
Author
There was a problem hiding this comment.
No need to warp and create the election anymore
gzeoneth
self-requested a review
July 27, 2026 07:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Forum post: https://forum.arbitrum.foundation/t/constitutional-aip-ratification-of-security-council-election-process-improvements/31048
Pre-deployed contracts
% FOUNDRY_PROFILE=sec_council_mgmt forge create SecurityCouncilManager -r $ARBONE_RPC --verify --broadcast Deployer: 0x083D2aC7C551cE64D580C46AE57cEefAE6F4b567 Deployed to: 0x01B370d9b1ed1591C64C9a4b0FAFF193AF5Fa928 Transaction hash: 0x21f9252a19f354d13aefe351ac40139d6813a41f6aa47648ee61dcf7e8e20087Deployed at: https://arbiscan.io/address/0x01B370d9b1ed1591C64C9a4b0FAFF193AF5Fa928
% FOUNDRY_PROFILE=sec_council_mgmt forge create SecurityCouncilNomineeElectionGovernor -r $ARBONE_RPC --verify --broadcast Deployer: 0x083D2aC7C551cE64D580C46AE57cEefAE6F4b567 Deployed to: 0xB4Fd52807d5856B4CfF85d53D53d1Dc714C4D482 Transaction hash: 0x522c443e717885b6afe5740ad62c15faa9857c73b1020966625c8fb884931289Deployed at: https://arbiscan.io/address/0xB4Fd52807d5856B4CfF85d53D53d1Dc714C4D482
Constructor arguments:
_coreGov: 0xf07DeD9dC292157749B6Fd268E37DF6EA38395B9_treasuryGov: 0x789fC99093B09aD01C34DC7251D0C89ce743e5a4_treasuryWallet: 0xF3FC178157fb3c87548bAA86F9d24BA38E649B58_arbitrumDAOConstitution: 0x1D62fFeB72e4c360CcBbacf7c965153b00260417_govProxyAdmin: 0xdb216562328215E010F819B5aBe947bad4ca961e_scNomineeElectionGovernor: 0x8a1cDA8dee421cD06023470608605934c16A05a0% forge create L2AddressRegistry -r $ARBONE_RPC --verify --broadcast --constructor-args 0xf07DeD9dC292157749B6Fd268E37DF6EA38395B9 0x789fC99093B09aD01C34DC7251D0C89ce743e5a4 0xF3FC178157fb3c87548bAA86F9d24BA38E649B58 0x1D62fFeB72e4c360CcBbacf7c965153b00260417 0xdb216562328215E010F819B5aBe947bad4ca961e 0x8a1cDA8dee421cD06023470608605934c16A05a0 Deployer: 0x083D2aC7C551cE64D580C46AE57cEefAE6F4b567 Deployed to: 0x1e03Aa1E483fCe52643a801d840A22f5eeE709bA Transaction hash: 0x5f7cae46bdffd1eac0c585c5e0d1faede9018eb88f6de2ddb946ba17347780dfDeployed at: https://arbiscan.io/address/0x1e03aa1e483fce52643a801d840a22f5eee709ba
Constructor arguments:
_l2AddressRegistry: 0x1e03Aa1E483fCe52643a801d840A22f5eeE709bA_secCouncilManagerImpl: 0x01B370d9b1ed1591C64C9a4b0FAFF193AF5Fa928_scNomineeElectionGovernorImpl: 0xB4Fd52807d5856B4CfF85d53D53d1Dc714C4D482_minRotationPeriod: 44 days ( 3801600 seconds )_minRotationPeriodSetter: 0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827 (UpgradeExecutor)_cadenceInMonths: 12_newConstitutionHash: 0x310d1c0495cf8ff7b5e89c26fbca91b230ce6dd2b9b8bde8c1a8605545f25063 ( Obtained from Update _constitution-content-partial.mdx to reflect Security Council Election Process Improvements proposal. docs#1237 )% FOUNDRY_PROFILE=sec_council_mgmt forge create SecurityCouncilUpgradeAction -r $ARBONE_RPC --verify -- constructor-args 0x1e03Aa1E483fCe52643a801d840A22f5eeE709bA 0x01B370d9b1ed1591C64C9a4b0FAFF193AF5Fa928 0xB4Fd52807d5856B4CfF85d53D53d1Dc714C4D482 3801600 0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827 12 0x310d1c0495cf8ff7b5e89c26fbca91b230ce6dd2b9b8bde8c1a8605545f25063 Deployer: 0x083D2aC7C551cE64D580C46AE57cEefAE6F4b567 Deployed to: 0xeF98Fc7A7F08De47Ed01f3F11f07319c22106445 Transaction hash: 0xa6c09e66bf9967db0d5b75a0b33d895a4e04d19ed5696102680b3f8572b191e2Deployed at: https://arbiscan.io/address/0xeF98Fc7A7F08De47Ed01f3F11f07319c22106445
The proposal payload executes the following actions:
SecurityCouncilUpgradeAction.perform()(Arbiscan) which will:SecurityCouncilManager.postUpgradeInit(), which will set the newminRotationPeriodandminRotationPeriodSettervariablesSecurityCouncilNomineeElectionGovernor.postUpgradeInit(), which sets the initial cadence to 6 monthsscNomineeElectionGovernor.updateQuorumNumerator(10)arbitrumDaoConstitution.setConstitutionHash(newConstitutionHash)Payload generation
yarn gen:proposalData \ --govChainProviderRPC https://arb1.arbitrum.io/rpc \ --actionChainIds \ 42161 \ --actionAddresses \ 0xeF98Fc7A7F08De47Ed01f3F11f07319c22106445 \ --writeToJsonPath \ ./scripts/proposals/sec-council-upgrade-rotation/data.jsonSimulations
https://www.tdly.co/shared/simulation/93de0e14-3a1e-4dbb-80ac-a3bec4db6d1c
Values for proposal creation (in UI)
Action 1
0x0000000000000000000000000000000000000064(ArbSys precompile)(obtained with
cast calldata "sendTxToL1(address,bytes)()" 0xE6841D92B0C345144506576eC13ECf5103aC7f49 0x8f2a0bb..., where the last value is the calldata in scripts/proposals/sec-council-upgrade-rotation/data.json)