Skip to content

Lock governance withdrawals to voted proposal timelines#24722

Draft
AztecBot wants to merge 1 commit into
nextfrom
cb/l1-audit-remediation-605-governance-vote-exit-lock
Draft

Lock governance withdrawals to voted proposal timelines#24722
AztecBot wants to merge 1 commit into
nextfrom
cb/l1-audit-remediation-605-governance-vote-exit-lock

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Summary

Governance withdrawals used the live configuration delay even after proposals had frozen longer voting and execution timing. This change records the latest vote-derived exit timestamp for each voter and clamps withdrawals so a timing-reduction proposal cannot let already-counted votes exit before the voted proposal reaches execution plus the existing buffer.

Fix

  • Track a per-voter minimum exit timestamp when nonzero votes are cast.
  • Clamp initiated withdrawals to the later of the live configuration delay and the vote-derived exit timestamp.
  • Add a regression where a configuration update shortens timing while a later old-config proposal remains in flight.

Testing

  • forge test --match-path test/governance/governance/scenarios/voteAndExitAfterConfigChange.t.sol -vvv
  • forge test --match-contract 'InitiateWithdrawTest|VoteTest|NoVoteAndExitTest'
  • git diff --check

Issues

  • Closes AztecProtocol/aztec-claude#605 — Governance withdrawal delay uses live config, letting voters exit before frozen proposals execute

Created by claudebox · group: l1-audit-remediation

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant