Skip to content

feat(sdk-core,abstract-utxo): add qr param and client-side output val…#8875

Open
davidkaplanbitgo wants to merge 2 commits into
masterfrom
T1-3418
Open

feat(sdk-core,abstract-utxo): add qr param and client-side output val…#8875
davidkaplanbitgo wants to merge 2 commits into
masterfrom
T1-3418

Conversation

@davidkaplanbitgo
Copy link
Copy Markdown
Contributor

…idation

Add the qr build parameter to the SDK and enforce client-side verification that quantum-resistant sweep transactions only contain wallet-internal outputs.

sdk-core:

  • Add qr: t.boolean to BuildParamsUTXO io-ts codec
  • Add qr?: boolean to PrebuildTransactionOptions interface

abstract-utxo:

  • Add qr?: boolean to TransactionParams interface
  • Fixed-script verifyTransaction: when qr is true, reject any transaction with explicit or implicit external outputs
  • Descriptor verifyTransaction: same enforcement for descriptor wallets, throwing TxIntentMismatchError on external outputs
  • 7 new tests covering both verification paths

Ticket: T1-3418

@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 27, 2026

T1-3418

davidkaplanbitgo and others added 2 commits May 27, 2026 12:52
…idation

Add the `qr` build parameter to the SDK and enforce client-side
verification that quantum-resistant sweep transactions only contain
wallet-internal outputs

sdk-core:
- Add `qr: t.boolean` to `BuildParamsUTXO` io-ts codec
- Add `qr?: boolean` to `PrebuildTransactionOptions` interface

abstract-utxo:
- Add `qr?: boolean` to `TransactionParams` interface
- Fixed-script verifyTransaction: when qr is true, reject any
  transaction with explicit or implicit external outputs
- Descriptor verifyTransaction: same enforcement for descriptor
  wallets, throwing TxIntentMismatchError on external outputs
- 7 new tests covering both verification paths

Ticket: T1-3418
Co-authored-by: Cursor <cursoragent@cursor.com>
Bump public-types across all consuming packages to pick up the
qr field on TxSendBody.

Ticket: T1-3418
@davidkaplanbitgo davidkaplanbitgo requested a deployment to breaking-changes-override May 27, 2026 17:01 — with GitHub Actions Waiting
@davidkaplanbitgo davidkaplanbitgo marked this pull request as ready for review May 28, 2026 02:42
@davidkaplanbitgo davidkaplanbitgo requested review from a team as code owners May 28, 2026 02:42
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