Skip to content

Upgrade-authority timelock (48h delay) #102

Description

@truthixify

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.

  • Timelock enforces 48h in cargo test --workspace
  • Adversarial replay / bypass / rotation tests pass
  • MAINNET_READINESS.md reflects timelock as checked
  • Emits UpgradeQueued, UpgradeCancelled, UpgradeApplied events

Files. contracts/*/src/upgrade.rs, integration-tests/upgrade_auth.rs, GOVERNANCE.md, MAINNET_READINESS.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programdripsFunded via Drips NetworkgovernanceProcess / governancehelp wantedExtra attention is neededsecuritySecurity-sensitive workstellarTouches Stellar / Soroban code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions