Skip to content

feat(sdk-core): add explicit recipient mode typing for TSS signTxRequest#8667

Open
mmcshinsky-bitgo wants to merge 1 commit intomasterfrom
feat/tss-sign-tx-recipient-source-types
Open

feat(sdk-core): add explicit recipient mode typing for TSS signTxRequest#8667
mmcshinsky-bitgo wants to merge 1 commit intomasterfrom
feat/tss-sign-tx-recipient-source-types

Conversation

@mmcshinsky-bitgo
Copy link
Copy Markdown
Contributor

@mmcshinsky-bitgo mmcshinsky-bitgo commented Apr 30, 2026

Adds optional explicit recipient typing for TSS signTxRequest (TssTxRecipientSource, TssSignTxRequestParams) so callers can require non-empty txParams.recipients at compile time. Default signing behavior is unchanged. ECDSA validates the explicit branch at runtime for non-TypeScript callers. Adds an MPCv2 unit test.

Breaking change (TypeScript only): ITssUtils.signTxRequest is now typed as TssSignTxRequestParamsWithPrv instead of a minimal inline shape; third-party implementers may need signature updates. Runtime behavior for existing call sites is unchanged.

Ticket: WAL-375

Higher bump line: bitgo-ui#10975feat: bump SDK packages for MPCv2 transaction verification fix (WCN-151). Keep @bitgo* / @bitgo-beta* versions at or above that PR across repos before merging.

Testing

  • Deploy test env with the candidate SDK build
  • Run full bitgo-retail E2E / QA automation on test
  • BSC/BNB staking: delegate, sign, broadcast
  • TSS withdrawal and pending-approval sign/approve (retail)
  • Send / withdraw on a TSS wallet (smoke)
  • Classic UI and new UI: signing on the same critical flows
  • Enable token on a test wallet
  • Versions: package.json / lockfiles match or exceed bitgo-ui#10975 (WCN-151); do not merge a lower SDK bump ahead of that line
  • CI green (including @bitgo/wasm-mps/web / related webpack resolution)

@mmcshinsky-bitgo mmcshinsky-bitgo changed the title feat(sdk-core): add explicit recipientSource typing for TSS signTxReq… feat(sdk-core): add explicit recipientSource typing for TSS signTxRequest Apr 30, 2026
@mmcshinsky-bitgo mmcshinsky-bitgo force-pushed the feat/tss-sign-tx-recipient-source-types branch 5 times, most recently from 063b097 to b8924a8 Compare April 30, 2026 19:52
@mmcshinsky-bitgo mmcshinsky-bitgo changed the title feat(sdk-core): add explicit recipientSource typing for TSS signTxRequest feat(sdk-core)!: add explicit recipientSource typing for TSS signTxRequest Apr 30, 2026
Introduce TssTxRecipientSource and TssSignTxRequestParams so callers can opt
into compile-time enforcement of non-empty txParams.recipients via
recipientSource Explicit. Default resolved behavior matches existing optional
txParams. ECDSA signing validates Explicit at runtime for non-TS callers.
ITssUtils.signTxRequest uses the new param type. Add MPCv2 unit test for
Explicit.

BREAKING CHANGE: ITssUtils.signTxRequest is now typed as TssSignTxRequestParamsWithPrv instead of a minimal inline shape. TypeScript consumers that implement or narrow this interface may need signature updates; runtime behavior for existing callers is unchanged.

Refs: WAL-375 #8462

WAL-375
@mmcshinsky-bitgo mmcshinsky-bitgo changed the title feat(sdk-core)!: add explicit recipientSource typing for TSS signTxRequest feat(sdk-core): add explicit recipient mode typing for TSS signTxRequest Apr 30, 2026
@mmcshinsky-bitgo mmcshinsky-bitgo force-pushed the feat/tss-sign-tx-recipient-source-types branch from b8924a8 to 4cec3f3 Compare April 30, 2026 20:34
@mmcshinsky-bitgo mmcshinsky-bitgo marked this pull request as ready for review May 1, 2026 05:01
@mmcshinsky-bitgo mmcshinsky-bitgo requested review from a team as code owners May 1, 2026 05:01
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