mirror of
https://github.com/bitcoin/bips.git
synced 2026-11-02 19:41:29 +00:00
BIP352: add taproot key-path spend with annex vector
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.
This commit is contained in:
1 parent
100ba872c8
commit
3c68d3f3a1
1 file changed
+110
@@ -5725,5 +5725,115 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"comment": "Single recipient: taproot key-path spend with annex",
|
||||
"sending": [
|
||||
{
|
||||
"given": {
|
||||
"vin": [
|
||||
{
|
||||
"txid": "f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16",
|
||||
"vout": 0,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0240c459b671370d12cfb5acee76da7e3ba7cc29b0b4653e3af8388591082660137d087fdc8e89a612cd5d15be0febe61fc7cdcf3161a26e599a4514aa5c3e86f47b215050929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "51205a1e61f898173040e20616d43e9f496fba90338a39faa1ed98fcbaeee4dd9be5"
|
||||
}
|
||||
},
|
||||
"private_key": "eadc78165ff1f8ea94ad7cfdc54990738a4c53f6e0507b42154201b8e5dff3b1"
|
||||
},
|
||||
{
|
||||
"txid": "a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d",
|
||||
"vout": 0,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0140bd1e708f92dbeaf24a6b8dd22e59c6274355424d62baea976b449e220fd75b13578e262ab11b7aa58e037f0c6b0519b66803b7d9decaa1906dedebfb531c56c1",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "5120782eeb913431ca6e9b8c2fd80a5f72ed2024ef72a3c6fb10263c379937323338"
|
||||
}
|
||||
},
|
||||
"private_key": "fc8716a97a48ba9a05a98ae47b5cd201a25a7fd5d8b73c203c5f7b6b6b3b6ad7"
|
||||
}
|
||||
],
|
||||
"recipients": [
|
||||
{
|
||||
"address": "sp1qqgste7k9hx0qftg6qmwlkqtwuy6cycyavzmzj85c6qdfhjdpdjtdgqjuexzk6murw56suy3e0rd2cgqvycxttddwsvgxe2usfpxumr70xc9pkqwv",
|
||||
"scan_pub_key": "0220bcfac5b99e04ad1a06ddfb016ee13582609d60b6291e98d01a9bc9a16c96d4",
|
||||
"spend_pub_key": "025cc9856d6f8375350e123978daac200c260cb5b5ae83106cab90484dcd8fcf36"
|
||||
}
|
||||
]
|
||||
},
|
||||
"expected": {
|
||||
"outputs": [
|
||||
[
|
||||
"de88bea8e7ffc9ce1af30d1132f910323c505185aec8eae361670421e749a1fb"
|
||||
]
|
||||
],
|
||||
"shared_secrets": [
|
||||
"02de9719785c6d09f71571dadf44bca59edba2af3e689c65cbc3bb5a4a387732ef"
|
||||
],
|
||||
"input_private_key_sum": "e7638ebfda3ab3849a5707e240a6627671f7f6e609bf172691cf1e9780e51d47",
|
||||
"input_pub_keys": [
|
||||
"025a1e61f898173040e20616d43e9f496fba90338a39faa1ed98fcbaeee4dd9be5",
|
||||
"02782eeb913431ca6e9b8c2fd80a5f72ed2024ef72a3c6fb10263c379937323338"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"receiving": [
|
||||
{
|
||||
"given": {
|
||||
"vin": [
|
||||
{
|
||||
"txid": "f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16",
|
||||
"vout": 0,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0240c459b671370d12cfb5acee76da7e3ba7cc29b0b4653e3af8388591082660137d087fdc8e89a612cd5d15be0febe61fc7cdcf3161a26e599a4514aa5c3e86f47b215050929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "51205a1e61f898173040e20616d43e9f496fba90338a39faa1ed98fcbaeee4dd9be5"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"txid": "a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d",
|
||||
"vout": 0,
|
||||
"scriptSig": "",
|
||||
"txinwitness": "0140bd1e708f92dbeaf24a6b8dd22e59c6274355424d62baea976b449e220fd75b13578e262ab11b7aa58e037f0c6b0519b66803b7d9decaa1906dedebfb531c56c1",
|
||||
"prevout": {
|
||||
"scriptPubKey": {
|
||||
"hex": "5120782eeb913431ca6e9b8c2fd80a5f72ed2024ef72a3c6fb10263c379937323338"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
"de88bea8e7ffc9ce1af30d1132f910323c505185aec8eae361670421e749a1fb"
|
||||
],
|
||||
"key_material": {
|
||||
"spend_priv_key": "9d6ad855ce3417ef84e836892e5a56392bfba05fa5d97ccea30e266f540e08b3",
|
||||
"scan_priv_key": "0f694e068028a717f8af6b9411f9a133dd3565258714cc226594b34db90c1f2c"
|
||||
},
|
||||
"labels": []
|
||||
},
|
||||
"expected": {
|
||||
"addresses": [
|
||||
"sp1qqgste7k9hx0qftg6qmwlkqtwuy6cycyavzmzj85c6qdfhjdpdjtdgqjuexzk6murw56suy3e0rd2cgqvycxttddwsvgxe2usfpxumr70xc9pkqwv"
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"priv_key_tweak": "3fb9ce5ce1746ced103c8ed254e81f6690764637ddbc876ec1f9b3ddab776b03",
|
||||
"pub_key": "de88bea8e7ffc9ce1af30d1132f910323c505185aec8eae361670421e749a1fb",
|
||||
"signature": "c5acd25a8f021a4192f93bc34403fd8b76484613466336fb259c72d04c169824f2690ca34e96cee86b69f376c8377003268fda56feeb1b873e5783d7e19bcca5"
|
||||
}
|
||||
],
|
||||
"tweak": "02dc59cc8e8873b65c1dd5c416d4fbeb647372c329bd84a70c05b310e222e2c183",
|
||||
"shared_secret": "02de9719785c6d09f71571dadf44bca59edba2af3e689c65cbc3bb5a4a387732ef",
|
||||
"input_pub_key_sum": "038180a2125f9d6dd116e1a6139be4d72fd5057dab6aaabaa5654817c11baeb3ba"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in new issue
Block a user