feat(wasm-utxo): add PSBT wallet validation and transaction parsing#47
Merged
Conversation
Move BitGo PSBT functionality from root module to fixed_script_wallet where it logically belongs. Update imports and paths across files to maintain functionality. Also move psbt_wallet_input.rs into the bitgo_psbt module. Issue: BTC-2652 Co-authored-by: llm-git <llm-git@ttll.de>
Implements a new BitGoPsbt class that allows parsing PSBT transactions to identify wallet inputs and outputs. This implementation provides: - PSBT deserialization with network-specific handling - Transaction parsing with wallet script identification - Input validation with replay protection support - Output classification (internal vs external) - Fee and spend amount calculations The implementation extracts derivation info from PSBT inputs/outputs to match against wallet keys, providing a structured view of transactions for wallet UIs and validation purposes. Added comprehensive tests for the new functionality across all supported networks. Includes TypeScript definitions and integration with existing fixed script wallet functionality. Issue: BTC-2652 Co-authored-by: llm-git <llm-git@ttll.de>
c540467 to
7d39f45
Compare
davidkaplanbitgo
approved these changes
Nov 7, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds comprehensive PSBT (Partially Signed Bitcoin Transaction)
validation and transaction parsing capabilities to the wasm-utxo module.
It focuses on:
Adding input validation to ensure PSBT inputs belong to the specified
wallet by verifying key derivations and implementing replay protection
Reorganizing code structure by moving BitGo PSBT functionality from
root module to fixed_script_wallet where it logically belongs
Implementing a new BitGoPsbt class for transaction parsing with:
The implementation provides detailed error reporting and includes
comprehensive tests across all supported networks.
Issue: BTC-2652