Skip to content

Multipartyvs#579

Open
Sadeequ wants to merge 2 commits into
CodeGirlsInc:mainfrom
Sadeequ:multipartyvs
Open

Multipartyvs#579
Sadeequ wants to merge 2 commits into
CodeGirlsInc:mainfrom
Sadeequ:multipartyvs

Conversation

@Sadeequ
Copy link
Copy Markdown

@Sadeequ Sadeequ commented Jun 1, 2026

CLOSE #534

CLOSE #535

CLOSE #536

CLOSE #537

I created the contract/src/multi_party/ module with domain types (VerifierProfile, SignatureRecord, MultiPartyPolicy, CoSigningSession), a MultiPartyError enum, a Redis-backed MultiPartyRepository, a preset policy engine (land_sale, internal_review), and the MultiPartyVerificationService orchestrator. The service enforced the required business rules: one signature per verifier, allowed-verifier checks, and finalized-state immutability. I exported the new module from lib.rs, committed all changes to branch multipartyvs, and verified the module was self-contained and consistent with the existing codebase conventions.

Issue 2 — Document Expiry Service
I created the contract/src/expiry/ module with domain types (ExpiryPolicy, DocumentExpiryRecord, ExpiryStatus), an ExpiryError enum, a Redis-backed ExpiryRepository, and the DocumentExpiryService supporting register_expiry, check_status, and renew. I updated lib.rs to export the module and committed the work to the same branch. The implementation covered the full expiry lifecycle without modifying unrelated modules.

Issue 3 — Missing Transfer-History Route
I identified that get_transfer_history already existed in lib.rs but was never registered in the Axum router, causing GET /transfer/:hash to return 404. I documented a non-invasive fix in this markdown file: a thin wrapper module under contract/module/transfer-history/ that reuses the existing handler and registers the route via register_routes(router), keeping lib.rs untouched.

Issue 4 — Revocation Endpoint
I documented a implementation plan inside contract/module/revoke/ that replaces the existing NOT_FOUND stub with real behavior. The plan reuses HashValidator, anchors a REVOKE: memo on Stellar, persists a RevocationRecord to Redis, and exposes the same /revoke endpoint so existing clients receive a populated RevokeResponse instead of an error.

All four issues were addressed in a way that respected the existing module structure, naming conventions, and dependency constraints.

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Jun 1, 2026

@Sadeequ is attempting to deploy a commit to the Mftee's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 1, 2026

@Sadeequ 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

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

Labels

None yet

Projects

None yet

1 participant