Skip to content

01a0919b - feat(bip322-multisig)!: BIP-322 Complete prefixes and PSBT message field - #232

Open
TaprootFreakAI wants to merge 2 commits into
DFXswiss:developfrom
TaprootFreakAI:feat/01a0919b-bip322-complete
Open

01a0919b - feat(bip322-multisig)!: BIP-322 Complete prefixes and PSBT message field#232
TaprootFreakAI wants to merge 2 commits into
DFXswiss:developfrom
TaprootFreakAI:feat/01a0919b-bip322-complete

Conversation

@TaprootFreakAI

Copy link
Copy Markdown
Contributor

EN:
Updates @dfx.swiss/bip322-multisig to BIP-322 Complete simple signatures (smp prefix, no colon) and sets PSBT global 0x09 to the UTF-8 message.
Unprefixed simple signatures still verify. extractBip322Signature is a breaking change.

DE:
Zieht @dfx.swiss/bip322-multisig auf BIP-322 Complete Simple-Signaturen (smp-Prefix, kein Doppelpunkt) und setzt das PSBT-Global 0x09 auf die UTF-8-Nachricht.
Unpräfixierte Simple-Signaturen prüfen weiterhin. extractBip322Signature ist ein Breaking Change.

Details

BIP-322 v1.0.0 (Complete) requires a human-readable prefix on encoded signatures (smp / ful / pof) and a new PSBT global field PSBT_GLOBAL_GENERIC_SIGNED_MESSAGE (0x09) so hardware wallets can display the message being signed.

This package still only produces and verifies simple P2WSH signatures. Full / proof-of-funds variants are rejected by verifyBip322P2wshSignature. Official BIP P2WSH 3-of-3 test vectors are vendored.

Do not hand-bump the package version; Lerna publish owns that.

…message field

BREAKING CHANGE: extractBip322Signature now returns an smp-prefixed simple
signature (no colon). Verifiers still accept unprefixed simple signatures.
to_sign PSBTs set PSBT_GLOBAL_GENERIC_SIGNED_MESSAGE (0x09).
@TaprootFreakAI

Copy link
Copy Markdown
Contributor Author

EN:
Ready after 1 review pass.
Updates @dfx.swiss/bip322-multisig to BIP-322 Complete simple signatures with an smp prefix and PSBT global 0x09.

DE:
Bereit nach 1 Review-Durchlauf.
Zieht @dfx.swiss/bip322-multisig auf BIP-322 Complete Simple-Signaturen mit smp-Prefix und PSBT-Global 0x09.

Details

Four-lane review at 0648a4ffcc1c33c8244ad57e89f1f40e7d80232c: quality and logic both complete with 0 defects on the first pass.

One Codex logic note about Node's lenient Buffer.from(..., 'base64') was discarded: that decoder was already used before this PR; the change only strips smp/ful/pof first. Not a new bypass.

Comment gate: no open issue comments, reviews, or review threads.
Mergeable: MERGEABLE. GitHub Lint, build and test success on this head. Build-host Node 16: lint, format, build, 56 tests passed.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 11, 2026 21:22
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.

1 participant