Skip to content

feat: multisig proposal expiry#248

Merged
thlpkee20-wq merged 3 commits intoRevoraOrg:masterfrom
anonfedora:feature/contracts-018-multisig-proposal-expiry
Apr 1, 2026
Merged

feat: multisig proposal expiry#248
thlpkee20-wq merged 3 commits intoRevoraOrg:masterfrom
anonfedora:feature/contracts-018-multisig-proposal-expiry

Conversation

@anonfedora
Copy link
Copy Markdown
Contributor

Multisig Proposal Expiry

Overview

The contract includes a minimal multisig admin module used for sensitive administrative changes (e.g. freezing the contract, rotating owners, changing threshold, changing proposal duration).

Each multisig proposal has a deterministic expiry timestamp stored on-chain. After expiry, the proposal can no longer be approved or executed.

Storage and Types

  • Proposals are stored in persistent storage under DataKey::MultisigProposal(u32).
  • Proposal payload is represented by:
    • ProposalAction (the requested admin change)
    • Proposal (proposal metadata including approvals and expiry)

The Proposal struct includes:

  • id: u32
  • action: ProposalAction
  • proposer: Address
  • approvals: Vec<Address>
  • executed: bool
  • expiry: u64

Expiry Semantics

How expiry is computed

When creating a proposal via propose_action, expiry is calculated as:

  • now = env.ledger().timestamp()
  • expiry = now + proposal_duration

Closes #150

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 30, 2026

@anonfedora Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@thlpkee20-wq thlpkee20-wq merged commit 3fdbd53 into RevoraOrg:master Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Multisig Proposal Expiry

2 participants