1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-08-31 18:47:36 +00:00

BIP-110: Add rule 3 test vectors for the P2A empty-witness requirement

Co-Authored-By: jarolrod <jarolrod@tutanota.com>
This commit is contained in:
Dathon Ohm
2026-07-29 11:24:29 -06:00
parent ae98a6ed47
commit 2dfb201b27
2 changed files with 109 additions and 5 deletions

View File

@@ -281,6 +281,66 @@
"expected": "valid",
"reject_reason": null
},
{
"rule": 3,
"name": "p2a_empty_witness_valid",
"description": "Spend a P2A output with an empty witness stack",
"reduced_data_active": true,
"spent_utxo": "post-activation",
"spent_outputs": [
{
"prevout": {
"txid": "110000000000000000000000000000000000000000000000000000000000000f",
"vout": 0
},
"scriptPubKey": "51024e73",
"amount": 100000
}
],
"tx": "02000000010f0000000000000000000000000000000000000000000000000000000000001100000000000000000001b882010000000000015100000000",
"expected": "valid",
"reject_reason": null
},
{
"rule": 3,
"name": "p2a_empty_item_invalid",
"description": "Spend a P2A output with one empty witness item (non-empty stack)",
"reduced_data_active": true,
"spent_utxo": "post-activation",
"spent_outputs": [
{
"prevout": {
"txid": "1100000000000000000000000000000000000000000000000000000000000010",
"vout": 0
},
"scriptPubKey": "51024e73",
"amount": 100000
}
],
"tx": "02000000000101100000000000000000000000000000000000000000000000000000000000001100000000000000000001b8820100000000000151010000000000",
"expected": "invalid",
"reject_reason": "script-verify-flag-failed (Witness version reserved for soft-fork upgrades)"
},
{
"rule": 3,
"name": "p2a_one_byte_item_invalid",
"description": "Spend a P2A output with one one-byte witness item",
"reduced_data_active": true,
"spent_utxo": "post-activation",
"spent_outputs": [
{
"prevout": {
"txid": "1100000000000000000000000000000000000000000000000000000000000011",
"vout": 0
},
"scriptPubKey": "51024e73",
"amount": 100000
}
],
"tx": "02000000000101110000000000000000000000000000000000000000000000000000000000001100000000000000000001b882010000000000015101010100000000",
"expected": "invalid",
"reject_reason": "script-verify-flag-failed (Witness version reserved for soft-fork upgrades)"
},
{
"rule": 2,
"name": "grandfathered_witness_item_257_valid",
@@ -290,14 +350,34 @@
"spent_outputs": [
{
"prevout": {
"txid": "110000000000000000000000000000000000000000000000000000000000000f",
"txid": "1100000000000000000000000000000000000000000000000000000000000012",
"vout": 0
},
"scriptPubKey": "002033198a9bfef674ebddb9ffaa52928017b8472791e54c609cb95f278ac6b1e349",
"amount": 100000
}
],
"tx": "020000000001010f0000000000000000000000000000000000000000000000000000000000001100000000000000000001b882010000000000015102fd0101424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424202755100000000",
"tx": "02000000000101120000000000000000000000000000000000000000000000000000000000001100000000000000000001b882010000000000015102fd0101424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424202755100000000",
"expected": "valid",
"reject_reason": null
},
{
"rule": 3,
"name": "grandfathered_p2a_nonempty_witness_valid",
"description": "Spend a PRE-activation P2A output with a non-empty witness stack (grandfathered, exempt)",
"reduced_data_active": true,
"spent_utxo": "pre-activation",
"spent_outputs": [
{
"prevout": {
"txid": "1100000000000000000000000000000000000000000000000000000000000013",
"vout": 0
},
"scriptPubKey": "51024e73",
"amount": 100000
}
],
"tx": "02000000000101130000000000000000000000000000000000000000000000000000000000001100000000000000000001b882010000000000015101010100000000",
"expected": "valid",
"reject_reason": null
},
@@ -310,14 +390,14 @@
"spent_outputs": [
{
"prevout": {
"txid": "1100000000000000000000000000000000000000000000000000000000000010",
"txid": "1100000000000000000000000000000000000000000000000000000000000014",
"vout": 0
},
"scriptPubKey": "00204ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260",
"amount": 100000
}
],
"tx": "02000000000101100000000000000000000000000000000000000000000000000000000000001100000000000000000001b88201000000000023510000000000000000000000000000000000000000000000000000000000000000000001015100000000",
"tx": "02000000000101140000000000000000000000000000000000000000000000000000000000001100000000000000000001b88201000000000023510000000000000000000000000000000000000000000000000000000000000000000001015100000000",
"expected": "invalid",
"reject_reason": "bad-txns-vout-script-toolarge"
}