Skip to content

security(contract): make admin cooldown and rotation time-aware and recoverable #187

Description

@arisu6804

Problem

Immediate or ambiguous admin changes create takeover risk and can strand control when a pending key is unavailable.

Objective

Deliver a production-quality improvement to administrator rotation and governance controls that creates measurable value for correctness, security, reliability, performance, or maintainability.

Implementation scope

  • Implement propose/accept/cancel, cooldown, expiry, and recovery semantics with strict authority and events.

Acceptance criteria

  • Acceptance is impossible before cooldown; expired proposals fail; cancellation/recovery cannot bypass active authority policy.

Required validation

  • Authorization, fake-time, expiry, replay, cancellation, and event tests.
  • Existing tests and CI remain passing.
  • Add regression coverage for the original failure mode.
  • Do not weaken, delete, or skip unrelated tests to obtain a green build.

PR quality bar

  • Keep the PR focused and explain design tradeoffs, compatibility impact, and test evidence.
  • Avoid typo-only, documentation-only, cosmetic-only, or unrelated refactor submissions.

Out of scope

  • Broad rewrites not required by the acceptance criteria.
  • Changes to unrelated services, contracts, or user flows.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSOpen-source issue tracked by GrantFoxMaybe RewardedThis issue may carry a rewardThird CampaignThird Campaign contributionenhancementNew feature or requestpriority:highHigh implementation priority

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions