Skip to content

Commit b35477f

Browse files
OttoAllmendingerllm-git
andcommitted
feat(wasm-utxo): add MuSig2 taproot key-path finalization support
Implements MuSig2 PSBT proprietary key-value parsing and signature aggregation for taproot key path spending. This enables BitGo wallets to create threshold signatures for taproot outputs using the MuSig2 protocol as specified in BIP-327, which appear as single-signature spends on-chain. The implementation includes: - Parsing MuSig2 participants, nonces, and partial signatures from PSBT - Validating and aggregating partial signatures into a final signature - Finalizing PSBT inputs with aggregated signatures Issue: BTC-2652 Co-authored-by: llm-git <[email protected]>
1 parent 1a5d219 commit b35477f

File tree

4 files changed

+1345
-15
lines changed

4 files changed

+1345
-15
lines changed

packages/wasm-utxo/src/bitgo_psbt/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@
33
//! This module provides PSBT deserialization that works across different
44
//! bitcoin-like networks, including those with non-standard transaction formats.
55
6+
mod p2tr_musig2_input;
7+
mod propkv;
68
mod sighash;
79
mod zcash_psbt;
810

11+
pub use p2tr_musig2_input::{
12+
parse_musig2_nonces, parse_musig2_partial_sigs, parse_musig2_participants, Musig2Error,
13+
Musig2Input, Musig2PartialSig, Musig2Participants, Musig2PubNonce,
14+
};
915
pub use sighash::validate_sighash_type;
1016

1117
use crate::{bitgo_psbt::zcash_psbt::ZcashPsbt, networks::Network};

0 commit comments

Comments
 (0)