Skip to content

ContractModule: Add a first-class multi-sig escrow creation API #14

Description

@grantfox-oss

Multi-sig dispute resolution fields exist on EscrowEntry, and vote/resolve functions are implemented, but normal deposit APIs only accept a single optional arbiter. Tests appear to rely on manual entry construction, which means production users cannot safely create multi-sig escrows.

Affected areas: app/contract/contracts/src/lib.rs, app/contract/contracts/src/escrow.rs, app/contract/contracts/src/types.rs, app/contract/contracts/src/events.rs, app/contract/contracts/src/test.rs, backend/mobile contract clients/docs.

Implementation scope:

  • Add deposit_with_arbiters or extend deposit parameter structs to include arbiters and threshold.
  • Validate threshold, duplicate arbiters, max arbiter count, and non-empty arbiter list.
  • Emit events with multi-sig arbitration metadata.
  • Update privacy-aware escrow details to reveal/hide arbiters consistently.

Acceptance criteria:

  • Users can create M-of-N arbitration escrows through public contract APIs.
  • Invalid thresholds and duplicate arbiters are rejected.
  • Multi-sig dispute lifecycle is covered end-to-end without manual storage writes.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignenhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions