Skip to content

fix: harden multi-sig concurrency and submission safety - #3

Merged
investify2826-ctrl merged 1 commit into
mainfrom
feat/issues-1279-1280-1281-1282
Sep 24, 2026
Merged

investify2826-ctrl merged 1 commit into
mainfrom
feat/issues-1279-1280-1281-1282

Conversation

@investify2826-ctrl

@investify2826-ctrl investify2826-ctrl commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

This PR hardens multi-signature transaction collection and submission across the four requested issues:

  • Adds durable MultiSigSignature records with a unique (txId, signerPublicKey) constraint and composite XDR rebuilding so concurrent signer updates cannot erase one another.
  • Adds an atomic pending -> submitting compare-and-swap claim so only one concurrent submission can reach Horizon; failed submissions return to pending for retry.
  • Adds threshold preflight verification with structured required/current/remaining weight details before Horizon submission.
  • Adds configurable multi-sig transaction time bounds, defaulting to seven days, persists the source sequence, detects sequence drift clearly, and supports an optional channel account as the transaction source.
  • Adds the Prisma schema and PostgreSQL migration for the new durable concurrency fields.

Validation

  • ESLint passed for all modified JavaScript files.
  • prisma validate --schema backend/prisma/schema.prisma passed.
  • git diff --check passed.
  • The existing backend/tests/multiSig.test.js suite was run; it contains legacy hand-rolled Stellar/Prisma mock incompatibilities and unrelated baseline failures under this fork. The repository pre-commit PII scan also reports 14 pre-existing email-like fixtures outside the changed files.

Closes Ethereal-Future#1279
Closes Ethereal-Future#1280
Closes Ethereal-Future#1281
Closes Ethereal-Future#1282

@investify2826-ctrl
investify2826-ctrl merged commit 849192b into main Sep 24, 2026
8 of 52 checks passed
Mystery-CLI pushed a commit that referenced this pull request Sep 25, 2026
…cations

fix: secure multisig authorization and signer workflows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment