Repository navigation
Conversation
|
Concept ACK |
|
btclib-wallet, a BIP352 implementation I maintain, reproduces the new vector at 48493fa: sending and receiving both match the expected values. I ran its BIP352 tests at commit 3b88201 with this file in place of its copy of the vectors, and all tests on the new vector pass. The vector does not catch a missing annex strip, though. With the strip removed from btclib-wallet, those tests still pass: the annex |
There was a problem hiding this comment.
Concept ACK
Agree with @fametrano's stronger annex (0x50 + BIP-341 NUMS point H), see suggestions below.
48493fa to
28205c4
Compare
Thanks for the review. Done! |
|
LGTM, can you rebase on master (this PR branch is still based on BIP-352 version 1.1.0 from March), and add a small changelog entry with bumped PATCH version? (see e.g. #2142 for an example). |
Add a BIP-352 test vector where a taproot input is spent via the key path with an annex (2-item witness). The annex must be stripped before deciding between key-path and script-path spends, so the input is still eligible and all expected values match the plain key-path case. The annex is 0x50 followed by the BIP341 NUMS point H, so an implementation that fails to strip it reads it as a control block with the NUMS internal key and wrongly skips the input.
28205c4 to
68927e5
Compare
Add key-spend with annex test vector log
68927e5 to
b19b139
Compare
Add a BIP-352 test vector where a taproot input is spent via the key path with an annex (2-item witness). The annex must be stripped before deciding between key-path and script-path spends, so the input is still eligible and all expected values match the plain key-path case.