Skip to content

feat: potential changes to the sc election - #315

Open
yahgwai wants to merge 128 commits into
mainfrom
sc-rotation
Open

feat: potential changes to the sc election#315
yahgwai wants to merge 128 commits into
mainfrom
sc-rotation

Conversation

@yahgwai

@yahgwai yahgwai commented Sep 27, 2024

Copy link
Copy Markdown
Collaborator

Summary

Security Council election-process improvements ratified in the constitutional AIP.
Forum: https://forum.arbitrum.foundation/t/constitutional-aip-ratification-of-security-council-election-process-improvements/31048

Changes:

  • Member and nominee signer-key rotation (rotateMember / rotateNominee)
  • Election cadence configurable; set to 12 months.
  • Nominee qualification threshold 0.2% -> 0.1%.
  • Outgoing-member auto-nominee bypass removed.
  • Constitution hash updated (docs PR #1237).

Pre-deployed implementations, the SecurityCouncilUpgradeAction, and the proposal payload are in #380

Comment thread src/security-council-mgmt/SecurityCouncilManager.sol Outdated
@yahgwai
yahgwai requested review from godzillaba and gzeoneth October 2, 2024 11:19
@yahgwai
yahgwai marked this pull request as ready for review October 2, 2024 11:20
Comment thread src/security-council-mgmt/SecurityCouncilManager.sol Outdated
Comment thread src/security-council-mgmt/SecurityCouncilManager.sol
Comment thread src/security-council-mgmt/SecurityCouncilManager.sol Outdated
Comment thread src/security-council-mgmt/SecurityCouncilManager.sol Outdated
Comment thread src/security-council-mgmt/SecurityCouncilManager.sol Outdated
gzeoneth and others added 6 commits August 7, 2025 21:34
* feat: setCadence

* test: setCadence

* chore: update misc

* test: 36 months

* feat: CadenceChanged event

* refactor: move CadenceChanged to Timing abstract contract

* update optimizer runs

* refactor: cut some size

* refactor: equal 0

* fix: return

* docs: currentElectionCount

* refactor: use solady add and subMonths

* chore: reduce sec_council_mgmt opt-run to 500 due to contract size

* chore: cleanup lint warning

* Simple cadence minor fixes (#359)

---------

Co-authored-by: Henry <11198460+godzillaba@users.noreply.github.com>
Co-authored-by: José FP <105675159+TucksonDev@users.noreply.github.com>
* feat: setCadence

* test: setCadence

* chore: update misc

* test: 36 months

* feat: CadenceChanged event

* refactor: move CadenceChanged to Timing abstract contract

* update optimizer runs

* refactor: cut some size

* refactor: equal 0

* fix: return

* docs: currentElectionCount

* refactor: use solady add and subMonths

* chore: reduce sec_council_mgmt opt-run to 500 due to contract size

* refactor: rename to SecurityCouncilUpgradeAction

* feat: SecurityCouncilUpgradeAction

* chore: cleanup lint warning

* chore: storage

* chore: 4bytes

* feat: more validations

---------

Co-authored-by: Henry <11198460+godzillaba@users.noreply.github.com>
* feat: setCadence

* test: setCadence

* chore: update misc

* test: 36 months

* feat: CadenceChanged event

* refactor: move CadenceChanged to Timing abstract contract

* update optimizer runs

* refactor: cut some size

* refactor: equal 0

* fix: return

* docs: currentElectionCount

* refactor: use solady add and subMonths

* chore: reduce sec_council_mgmt opt-run to 500 due to contract size

* refactor: rename to SecurityCouncilUpgradeAction

* feat: SecurityCouncilUpgradeAction

* chore: cleanup lint warning

* chore: storage

* chore: 4bytes

* feat: more validations

* revert: rotatingTo

* feat: rotateNominee

* chore: contract size reduction

* refactor: use isCompliantNominee

* fix: wrong sign

* fix: rotationDeadline

* test: rotateNominee

* review fixes for "feat: rotateNominee" (#360)

* misc review fixes

* fix gas and sigs

---------

Co-authored-by: Henry <11198460+godzillaba@users.noreply.github.com>
feat: more change to security council election
@gzeoneth gzeoneth changed the title Member self rotation feat: potential changes to the sc election Aug 14, 2025
gzeoneth and others added 20 commits September 4, 2025 21:51
* fix: prevent duplicate members

* feat: _requireNotInOtherCohort

* test: cannot rotate to existing nominee

* chore: update gas snapshot

* fix: check new nominee address excluded

* chore: update gas snapshot for new foundry version

* mark _requireNotInOtherCohort as view and fix comment

---------

Co-authored-by: Henry <11198460+godzillaba@users.noreply.github.com>
* fix: prevent duplicate members

* feat: _requireNotInOtherCohort

* test: cannot rotate to existing nominee

* chore: update gas snapshot

* fix: check new nominee address excluded

* chore: update gas snapshot for new foundry version

* mark _requireNotInOtherCohort as view and fix comment

* Remove nominee bypass

* Fix merge

* Fix merged snapshots

* Update expected election counter and comments

* Fix tests

* Add payload

* Fix nominee rotation

* Add new proposal data

* Fix gas snapshot

---------

Co-authored-by: gzeon <im@gzeon.dev>
Co-authored-by: Henry <11198460+godzillaba@users.noreply.github.com>
@gzeoneth
gzeoneth self-requested a review July 27, 2026 10:28
@gzeoneth

Copy link
Copy Markdown
Collaborator

CI passed on #380 but failing here due to foundry version, need to repin

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.

4 participants