Skip to content

feat(frontend): Multi-Signature Transaction Coordinator UI with Partially-Signed XDR Sharing (#300) - #334

Closed
huangji6693-max wants to merge 1 commit into
LynxXProtocol:mainfrom
huangji6693-max:feat/multisig-xdr-coordinator-ui-300
Closed

huangji6693-max wants to merge 1 commit into
LynxXProtocol:mainfrom
huangji6693-max:feat/multisig-xdr-coordinator-ui-300

Conversation

@huangji6693-max

Copy link
Copy Markdown

Closes #300

Summary

Implements the Multi-Signature Transaction Coordinator UI and Partially-Signed XDR Sharing pipeline for Stellar/Soroban accounts configured with multi-sig signers and custom threshold weights:

  • Partial XDR Envelope Inspection (frontend/src/lib/xdrDecode.ts): Added decodePartialTransactionEnvelope to decode partial/unsigned/signed TransactionEnvelope XDRs, match DecoratedSignature hints and Ed25519 signatures against configured signers & weights, calculate threshold progress (e.g. "Weight 10/20 reached"), and decode Soroban contract invocation arguments into human-readable parameters.
  • Partial Signing, Signature Merging & Shareable Coordination Bundles (frontend/src/lib/sorobanTxHelpers.ts): Added signPartialTransactionEnvelope (Freighter, Ledger, Web3Auth), appendSignatureToEnvelope (deduplicating signature merge), URL-safe encodeShareableMultiSigPayload / decodeShareableMultiSigPayload / buildMultiSigShareUrl (?multisig=msig1...), and submitMultiSigEnvelopeIfReady.
  • Multi-Sig Coordinator Hook & Modal (frontend/src/hooks/useMultiSig.ts, frontend/src/components/MultiSigCoordinatorModal.tsx): Interactive coordinator modal displaying signer checklist & weights, threshold progress bar, decoded contract operation inspector, 1-click wallet partial signing, external XDR signature merging, shareable URL + QR payload + .xdr file export, and automatic Soroban RPC submission as soon as threshold weight is reached.

Verification

  • npx vitest run src/hooks/useMultiSig.test.tsx (4/4 unit & integration tests passing)
  • npm run lint (0 errors)
  • npm run build (tsc -b && vite build, exit 0)

@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1cf47a76-476d-4e65-addc-180a36184abb
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

feat(frontend): Inspect partially signed Stellar transactions

3 participants