feat(abstract-utxo): refactor PSBT handling and implement wasm-utxo support#7864
Merged
OttoAllmendinger merged 5 commits intomasterfrom Jan 8, 2026
Merged
feat(abstract-utxo): refactor PSBT handling and implement wasm-utxo support#7864OttoAllmendinger merged 5 commits intomasterfrom
OttoAllmendinger merged 5 commits intomasterfrom
Conversation
Refactor signAndVerifyPsbt to separate signing and finalization steps. Remove isLastSignature parameter from the function to make it more modular and focused on just signing. Finalization is now handled separately where needed. Issue: BTC-2909 Co-authored-by: llm-git <llm-git@ttll.de>
Rename signPsbt.ts to signPsbtUtxolib.ts and update all references to it. This improves clarity by making the utxolib dependency explicit in the filename. Also rename signPsbtWithMusig2Participant to signPsbtWithMusig2ParticipantUtxolib for consistency. Issue: BTC-2909 Co-authored-by: llm-git <llm-git@ttll.de>
Add new function that selects between utxolib or wasm-utxo implementations based on the PSBT type. This simplifies client code by providing a single entry point for both signing implementations. Issue: BTC-2909 Co-authored-by: llm-git <llm-git@ttll.de>
Change PSBT creation functions to use coin name instead of network. This makes the code more robust against network naming differences between utxolib and wasm-utxo. The coin name is used to determine the network through helper functions, ensuring consistency across recovery implementations. Issue: BTC-2909 Co-authored-by: llm-git <llm-git@ttll.de>
Implement PSBT signing with wasm-utxo for both backupKeyRecovery and crossChainRecovery. Add proper handling of both utxolib.UtxoPsbt and fixedScriptWallet.BitGoPsbt objects for flexible backend usage. This improves recovery functionality by maintaining separate code paths for both utxolib and wasm-utxo backends with appropriate type safety. Issue: BTC-2909 Co-authored-by: llm-git <llm-git@ttll.de>
davidkaplanbitgo
approved these changes
Jan 8, 2026
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 refactors the PSBT handling in the abstract-utxo package and adds
wasm-utxo support for recovery functions. Key changes include:
signAndVerifyPsbtto separate signing and finalization steps(e.g.,
signPsbt→signPsbtUtxolib)signAndVerifyPsbtfunction that selects between utxolibor wasm-utxo implementations based on PSBT type
more robust handling across implementations
crossChainRecovery functions
These changes improve modularity, type safety, and provide consistent
interfaces for both utxolib and wasm-utxo backends.
Issue: BTC-2909