Skip to content

New Security Council draft calldata review#96

Merged
alextnetto merged 5 commits into
mainfrom
ens/new-security-council
Jul 13, 2026
Merged

New Security Council draft calldata review#96
alextnetto merged 5 commits into
mainfrom
ens/new-security-council

Conversation

@alextnetto

@alextnetto alextnetto commented Jul 13, 2026

Copy link
Copy Markdown
Member

Calldata review for "[Executable] Establishing a new Security Council", proposed on-chain by nick.eth on 2026-07-13 (proposal id 77767899528494238518019756391533686963875234067646094287125791110488147463806). Reviewed first as an anticapture draft, then transitioned to the live proposal.

Single call: timelock.grantRole(PROPOSER_ROLE, 0x2acBf518b3759f6e1fA163294eda55bF1d0ae051). On this timelock PROPOSER_ROLE gates cancel(), so the grant is the veto power. The council contract is owned by the 5-of-8 Safe of the members elected in EP 6.50 and expires on 16 July 2028.

Verified on-chain: council bytecode is byte-identical to the audited EP 6.48 deployment, wired to the canonical timelock, owned by Safe 0x7101B786 (threshold 5, 8 owners). The council from the defeated EP 6.48 never got the role. Term 1 keeps its role until it self-expires on 2026-07-24.

Manually derived calldata matches the on-chain proposal byte for byte, and the derived proposal id matches the on-chain id. The test simulates the full lifecycle and checks the veto both before the grant (reverts) and after (cancels a pending op).

Outstanding: 3 of the 8 Safe signer addresses have no ENS primary name and are not publicly tied to the remaining elected members (validator.eth, hudson.eth, pablito.eth). Confirm out-of-band.

@alextnetto
alextnetto merged commit f08bdc6 into main Jul 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant