Skip to content

Implement multisig transfer approval workflow with core functionalities and error handling#404

Merged
yusuftomilola merged 1 commit intoDistinctCodes:mainfrom
BigBen-7:feat/multisig-transfer-approval-workflow
Jan 23, 2026
Merged

Implement multisig transfer approval workflow with core functionalities and error handling#404
yusuftomilola merged 1 commit intoDistinctCodes:mainfrom
BigBen-7:feat/multisig-transfer-approval-workflow

Conversation

@BigBen-7
Copy link
Contributor

@BigBen-7 BigBen-7 commented Jan 22, 2026

Multi-Sig Asset Transfer Contract (Requests + Approval Workflow)

Summary

Implements a smart contract for managing high-value asset transfers using transfer requests, configurable multi-signature approval rules, time-based expiry/deadlines, and atomic execution via cross-contract calls to an Asset Registry.


closes #371

Features

  • Transfer requests with lifecycle: Pending → Approved/Rejected/Executed/Cancelled
  • Configurable approval rules per asset category:
    • required approvals
    • authorized approvers list
    • approval timeout / deadline
    • rule priority + optional auto-approve
  • Approval tracking prevents double approvals
  • Reject + cancel flows unlock assets for future requests
  • Time-lock support via execute_after
  • Asset-level guard prevents multiple pending requests
  • Transfer history tracking per asset
  • Full event emission for auditability

Files Added

  • contracts/multisig_transfer/src/lib.rs
  • contracts/multisig_transfer/src/types.rs
  • contracts/multisig_transfer/src/storage.rs
  • contracts/multisig_transfer/src/errors.rs
  • contracts/multisig_transfer/src/rules.rs
  • contracts/multisig_transfer/src/registry.rs
  • contracts/multisig_transfer/src/approvals.rs
  • contracts/multisig_transfer/src/events.rs
  • contracts/multisig_transfer/src/utils.rs
  • contracts/multisig_transfer/src/test.rs

Acceptance Criteria

Transfer requests can be created for existing assets
Approval rules configurable per category
Approvers can approve/reject pending requests
Transfer executes when approval threshold is met
Cross-contract call updates registry ownership
Expired requests cannot be approved/executed
Prevents multiple approvals by same approver
Admin can configure rules
All workflow events emitted correctly
Handles edge cases (expired/cancelled/rejected) properly

@vercel
Copy link

vercel bot commented Jan 22, 2026

@BigBen-7 is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

@yusuftomilola yusuftomilola merged commit c44dd16 into DistinctCodes:main Jan 23, 2026
4 of 5 checks passed
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.

Build Asset Transfer and Approval Workflow Contract

2 participants