Skip to content

Make role rotation and timelock cancellation atomic and observable #1741

Description

@Jagadeeshftw

Area: Governance / auditability · Estimated effort: 8–12 h

Problem

test_admin_rotation.rs, timelock docs, and role separation notes cover rotation, but event/state assertions need to prove no half-rotated authority is observable.

Design decision required

Define pending versus active role state and whether cancellation invalidates prior nonces or scheduled operations.

Requirements

  • Test schedule, execute, cancel, expiry, replacement, and concurrent caller cases
  • assert events and authority at each ledger boundary.

Acceptance criteria

  • No intermediate state grants two admins or none unexpectedly, cancellation prevents execution, and events provide a complete audit trail.

Out of scope

  • Unrelated refactors, dependency upgrades, or behavior changes outside the stated scope.
  • Closing, deleting, or weakening existing tests to make the change pass.

Verification

cargo test --manifest-path contracts/bounty_escrow/Cargo.toml -p escrow admin_rotation -- --nocapture

PR requirements

  • Explain the before/after behavior and include the evidence requested above.
  • Add regression tests for the changed behavior and report relevant build, test, lint, and artifact results.
  • Keep the PR focused and reference this issue.
  • Please open the PR within 48 hours of assignment so the work remains active; ask a question in the issue if the scope needs clarification.

Good luck, and please join the contributor Telegram group if you want to discuss the work: https://t.me/+u5qmu35nZ7I0OTU1

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave program

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions