Skip to content

Conversation

@OttoAllmendinger
Copy link
Contributor

Add MuSig2 multi-signature scheme implementation for p2tr-keypath based on
the BIP-327 specification. This implementation includes:

  • BIP-327 specification document as a reference
  • State-Machine API that properly encapsulates secret nonces to prevent
    accidental reuse
  • BitGoPsbt helper methods with proper validation
  • Support for nonce generation, counterparty nonce setting, and signature
    creation

The original Functional API is preserved in a test-only module for
compatibility with existing test fixtures.

Issue: BTC-2652

Add the BIP-327 specification document which describes the MuSig2
multi-signature scheme. This is a necessary reference for our MuSig2
implementation.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
@OttoAllmendinger OttoAllmendinger marked this pull request as ready for review November 6, 2025 09:47
@OttoAllmendinger OttoAllmendinger requested a review from a team as a code owner November 6, 2025 09:47
Adds a safer State-Machine API for MuSig2 operations that properly encapsulates
secret nonces, preventing accidental reuse. This includes methods for nonce
generation, counterparty nonce setting, and signature creation.

The implementation adds BitGoPsbt helper methods that expose this functionality
with proper validation. The original Functional API is kept in a separate test-
only module for compatibility with existing test fixtures.

Issue: BTC-2652

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

Enhances CI workflow by adding native cargo tests and reorganizing test steps
with clearer labels to better distinguish between test types. Also adds npx
version output to build info section.

Issue: BTC-2652

Co-authored-by: llm-git <llm-git@ttll.de>
@OttoAllmendinger OttoAllmendinger merged commit 48660b1 into master Nov 6, 2025
1 check passed
@OttoAllmendinger OttoAllmendinger deleted the BTC-2652.p2tr-keypath branch November 6, 2025 16:14
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