Skip to content

Conversation

@OttoAllmendinger
Copy link
Contributor

This PR introduces several improvements to the wasm-utxo module focused on
network-specific PSBT handling and related wallet components:

  • Add BitGoPsbt implementation for cross-network PSBT handling with special
    support for Zcash's overwintered transaction format
  • Add network validation for transaction sighash types
  • Add to_utxolib_name conversion method for Network enum values with
    bidirectional tests
  • Move RootWalletKeys to fixed_script_wallet module and make it public
  • Add convenience methods for PsbtFixture to simplify testing
  • Add extracted_transaction support in test fixtures
  • Add rstest dependency for better test organization
  • Remove redundant test case

BTC-2652

OttoAllmendinger and others added 8 commits October 30, 2025 17:58
Adds a new method to convert Network enum values to their corresponding
utxolib string names. The implementation is validated with bidirectional
tests to ensure consistency.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
Make fixed_script_wallet a public module and update imports to use the
new location for RootWalletKeys. Remove the re-export from lib.rs.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
Implement BitGoPsbt to support decoding PSBTs across different Bitcoin-like
networks including those with non-standard transaction formats. Add special
handling for Zcash's overwintered transaction format and validate network-
specific sighash types.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
Add a convenience method to convert a PsbtFixture directly to a BitGoPsbt,
removing the need for duplicate base64 decoding and deserialization logic.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
Add optional field to store extracted (signed) transaction in test fixtures

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
…d Psbt

The method allows for extracting a standard Psbt from either Bitcoin-like or
Zcash PSBTs, which simplifies transaction finalization. Tests verify that
extracted transactions match expected hex values.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
Removed an unnecessary test case that wasn't adding value beyond other
coverage. The functionality is tested elsewhere in the codebase.

Issue: 2652

Co-authored-by: llm-git <llm-git@ttll.de>
@OttoAllmendinger OttoAllmendinger marked this pull request as ready for review October 30, 2025 17:02
@OttoAllmendinger OttoAllmendinger requested a review from a team as a code owner October 30, 2025 17:02
@OttoAllmendinger OttoAllmendinger merged commit 29fb259 into master Oct 30, 2025
1 check passed
@OttoAllmendinger OttoAllmendinger deleted the 2652.bitgo-psbt-subset branch October 30, 2025 17:02
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.

2 participants