Extra labels: security, governance
Tier: L (5-7 days) | Type: security + governance
Context. set_upgrade_authority and upgrade are single-tx today. Users can't audit an incoming upgrade. Introduce a 48h queue so any upgrade is publicly announced first. Admin can cancel during the window.
Scope.
Timelock struct queuing upgrade + authority-rotation ops.
- Cancel path available to admin.
- Adversarial tests: cancelled-then-replayed upgrade, timelock bypass attempt, admin rotation during pending upgrade.
- Update
GOVERNANCE.md + MAINNET_READINESS.md.
Acceptance.
Files. contracts/*/src/upgrade.rs, integration-tests/upgrade_auth.rs, GOVERNANCE.md, MAINNET_READINESS.md.
Extra labels:
security,governanceTier: L (5-7 days) | Type: security + governance
Context.
set_upgrade_authorityandupgradeare single-tx today. Users can't audit an incoming upgrade. Introduce a 48h queue so any upgrade is publicly announced first. Admin can cancel during the window.Scope.
Timelockstruct queuing upgrade + authority-rotation ops.GOVERNANCE.md+MAINNET_READINESS.md.Acceptance.
cargo test --workspaceMAINNET_READINESS.mdreflects timelock as checkedUpgradeQueued,UpgradeCancelled,UpgradeAppliedeventsFiles.
contracts/*/src/upgrade.rs,integration-tests/upgrade_auth.rs,GOVERNANCE.md,MAINNET_READINESS.md.