Skip to content

Conversation

@OttoAllmendinger
Copy link
Contributor

This PR adds signature verification and transaction ID functionality to the
BitGoPsbt class:

  • Add unsignedTxid method to extract the transaction ID from an unsigned
    PSBT
  • Add verifySignature method for validating ECDSA, Schnorr, and MuSig2
    signatures using xpub derivation paths in the PSBT
  • Add verifyReplayProtectionSignature method specifically for verifying
    signatures in replay protection inputs (P2SH-P2PK)

These methods enable transaction validation without requiring full
re-signing, which is particularly useful when checking the signing
state of PSBTs across different types of inputs.

Issue: BTC-2652

OttoAllmendinger and others added 2 commits November 12, 2025 13:34
Added `unsignedTxid` method to BitGoPsbt class, which returns the
transaction ID of the unsigned transaction contained in the PSBT.
Added tests to verify the method works correctly.

Issue: BTC-2652

Co-authored-by: llm-git <[email protected]>
Add two methods for verifying transaction signatures:
- verifySignature - Verify ECDSA, Schnorr, or MuSig2 signatures based
  on xpub derivation path found in the PSBT
- verifyReplayProtectionSignature - Verify signatures in replay
  protection inputs (P2SH-P2PK)

These methods enable transaction validation without requiring full
re-signing, which is particularly useful when checking the signing
state of PSBTs across different types of inputs.

Issue: BTC-2652

Co-authored-by: llm-git <[email protected]>
@OttoAllmendinger OttoAllmendinger force-pushed the BTC-2652.verify-signature branch from 71e9cca to 12180b0 Compare November 12, 2025 12:37
@OttoAllmendinger OttoAllmendinger marked this pull request as ready for review November 12, 2025 18:34
@OttoAllmendinger OttoAllmendinger requested a review from a team as a code owner November 12, 2025 18:34
@OttoAllmendinger OttoAllmendinger merged commit 6b768cf into master Nov 12, 2025
1 check passed
@OttoAllmendinger OttoAllmendinger deleted the BTC-2652.verify-signature branch November 12, 2025 18:34
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.

3 participants