Skip to content

[CT-05] Build MultiPartyVerificationService #537

@mftee

Description

@mftee

Problem

The current verification model requires only one party to anchor a document. High-value land transactions typically require multiple authorised parties (e.g. seller, buyer, notary) to co-sign before a record is considered confirmed.

Proposed Solution

Create a MultiPartyVerificationService inside contract/module/multi-party/ that tracks multiple verifier signatures for a single document hash.

Acceptance Criteria

  • POST /module/multi-party/register accepts document_hash, required_verifiers (array of public keys or identifiers), and stores the requirement in Redis under key multi:{document_hash}
  • POST /module/multi-party/sign accepts document_hash and verifier_id, records the signature in Redis, and returns the current signature count and required count
  • GET /module/multi-party/status/:document_hash returns: required_count, signed_count, signers (array), and status (PARTIAL or COMPLETE)
  • When signed_count reaches required_count the service anchors a MULTI_PARTY_COMPLETE event on Stellar and updates the Redis record
  • Returns 404 if no multi-party requirement has been registered for the given hash
  • Returns 409 if a verifier attempts to sign a document they have already signed
  • Implementation files live inside contract/module/multi-party/

Metadata

Metadata

Assignees

Labels

Type

No type
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