Skip to content

feat: add multi-sig arbitrator support — require M-of-N signatures for dispute resolution #54

Description

@MarcusDavidG

Summary

Allow invoice creators to specify a list of arbitrator addresses instead of a single one, with a configurable threshold (e.g. 2-of-3 must agree) to resolve disputes.

Motivation

Single-arbitrator escrow is a single point of failure. Multi-sig arbitration makes dispute resolution more trustless and suitable for DAO governance.

Proposed Change

  • Add arbitrators: Vec<Address> and arbitrator_threshold: u32 to InvoiceOptions
  • Track signatures in a new ArbitrationState storage entry
  • Only execute resolve when threshold is met
  • Add sign_arbitration(invoice_id) function

Acceptance Criteria

  • Multiple arbitrators can sign
  • Resolution only executes at threshold
  • test: 1-of-1 behaves like current single arbitrator
  • test: 2-of-3 requires 2 signatures before resolving
  • test: duplicate signatures rejected

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions