Skip to content

fix(sdk-coin-flrp): harden FLRP transaction credential guards - #9702

Draft
ralph-bitgo[bot] wants to merge 6 commits into
masterfrom
CECHO-2035-flrp-credential-guard
Draft

fix(sdk-coin-flrp): harden FLRP transaction credential guards#9702
ralph-bitgo[bot] wants to merge 6 commits into
masterfrom
CECHO-2035-flrp-credential-guard

Conversation

@ralph-bitgo

@ralph-bitgo ralph-bitgo Bot commented Sep 10, 2026

Copy link
Copy Markdown

What

Harden FLRP modern transaction credential handling across signing, signature reporting, and broadcast serialization. Add regression coverage for established empty credentials, incomplete cross-credential signatures, external signing, and mixed ECDSA/address-placeholder states.

Why

Prevent malformed or partially signed transactions from being regenerated, misreported, or broadcast.

Ticket: CECHO-2035

Harden FLRP transaction credential handling by preserving the distinction\nbetween missing and empty credentials, reporting only signatures shared\nby every credential, and rejecting incomplete credential sets before\nbroadcast. This prevents parsed partially-signed transactions from\nregenerating placeholders or broadcasting invalid signatures.\n\nTicket: CECHO-2035

Session-Id: e9ac6d30-ad79-4eed-a11e-b4a790a58c02
Task-Id: 9881dc02-2bf1-4178-aeea-d6704ec0d405
Add FLRP regression coverage for established empty credentials and
mixed real-signature/address-placeholder states. These cases ensure the
credential hardening remains effective against the partial-signing paths
that caused invalid broadcast signatures.\n\nTicket: CECHO-2035

Session-Id: e9ac6d30-ad79-4eed-a11e-b4a790a58c02
Task-Id: 9881dc02-2bf1-4178-aeea-d6704ec0d405
Use the existing export fixture alias in the new regression tests so
the FLRP package type-checks and the guard coverage can execute.\n\nTicket: CECHO-2035

Session-Id: e9ac6d30-ad79-4eed-a11e-b4a790a58c02
Task-Id: 9881dc02-2bf1-4178-aeea-d6704ec0d405
Format the regression assertion according to the package lint rules so
the new credential guard test passes the repository's Prettier check.\n\nTicket: CECHO-2035

Session-Id: e9ac6d30-ad79-4eed-a11e-b4a790a58c02
Task-Id: 9881dc02-2bf1-4178-aeea-d6704ec0d405
Cover established empty credentials, incomplete signature intersections, and signing rejection so malformed transactions cannot be regenerated or broadcast.

Ticket: CECHO-2035
Session-Id: 783e6dc2-26b9-421c-bab5-aa102e1fad15
Task-Id: 927eb335-15a2-4c41-ba21-bc6b6dc8deb2
Use the credential array directly so established empty credentials fail consistently across signing APIs instead of reaching slot iteration.

Ticket: CECHO-2035
Session-Id: 783e6dc2-26b9-421c-bab5-aa102e1fad15
Task-Id: 927eb335-15a2-4c41-ba21-bc6b6dc8deb2
@linear-code

linear-code Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

CECHO-2035

@ralph-bitgo
ralph-bitgo Bot force-pushed the CECHO-2035-flrp-credential-guard branch from 27f8065 to f036f2a Compare September 10, 2026 06:37
@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

⚠️ Unit tests are failing on Node 26.x (Current release line, non-blocking). This is not an LTS version yet, so it does not block merge, but it signals an incompatibility to fix before Node 26.x becomes LTS.

View run

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.

1 participant