Skip to content

Commit eb7b2a6

Browse files
committed
Use explicit flag arrays instead of "VERIFY_ALL_PRE_TAPROOT"
This eliminates usage of the "VERIFY_ALL_PRE_TAPROOT" flag which is not exported from `libbitcoinkernel`
1 parent 397fa2d commit eb7b2a6

File tree

2 files changed

+66
-10
lines changed

2 files changed

+66
-10
lines changed

testdata/script_verify_errors.json

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,14 @@
1111
"amount": 0,
1212
"tx_hex": "02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700",
1313
"input_index": 0,
14-
"flags": "VERIFY_ALL_PRE_TAPROOT",
14+
"flags": [
15+
"btck_ScriptVerificationFlags_P2SH",
16+
"btck_ScriptVerificationFlags_DERSIG",
17+
"btck_ScriptVerificationFlags_NULLDUMMY",
18+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
19+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
20+
"btck_ScriptVerificationFlags_WITNESS"
21+
],
1522
"spent_outputs": []
1623
},
1724
"expected": {
@@ -30,7 +37,14 @@
3037
"amount": 900000,
3138
"tx_hex": "01000000000101d9fd94d0ff0026d307c994d0003180a5f248146efb6371d040c5973f5f66d9df0400000017160014b31b31a6cb654cfab3c50567bcf124f48a0beaecffffffff012cbd1c000000000017a914233b74bf0823fa58bbbd26dfc3bb4ae715547167870247304402206f60569cac136c114a58aedd80f6fa1c51b49093e7af883e605c212bdafcd8d202200e91a55f408a021ad2631bc29a67bd6915b2d7e9ef0265627eabd7f7234455f6012103e7e802f50344303c76d12c089c8724c1b230e3b745693bbe16aad536293d15e300000000",
3239
"input_index": 0,
33-
"flags": "VERIFY_ALL_PRE_TAPROOT",
40+
"flags": [
41+
"btck_ScriptVerificationFlags_P2SH",
42+
"btck_ScriptVerificationFlags_DERSIG",
43+
"btck_ScriptVerificationFlags_NULLDUMMY",
44+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
45+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
46+
"btck_ScriptVerificationFlags_WITNESS"
47+
],
3448
"spent_outputs": []
3549
},
3650
"expected": {
@@ -49,7 +63,14 @@
4963
"amount": 18393430,
5064
"tx_hex": "010000000001011f97548fbbe7a0db7588a66e18d803d0089315aa7d4cc28360b6ec50ef36718a0100000000ffffffff02df1776000000000017a9146c002a686959067f4866b8fb493ad7970290ab728757d29f0000000000220020701a8d401c84fb13e6baf169d59684e17abd9fa216c8cc5b9fc63d622ff8c58d04004730440220565d170eed95ff95027a69b313758450ba84a01224e1f7f130dda46e94d13f8602207bdd20e307f062594022f12ed5017bbf4a055a06aea91c10110a0e3bb23117fc014730440220647d2dc5b15f60bc37dc42618a370b2a1490293f9e5c8464f53ec4fe1dfe067302203598773895b4b16d37485cbe21b337f4e4b650739880098c592553add7dd4355016952210375e00eb72e29da82b89367947f29ef34afb75e8654f6ea368e0acdfd92976b7c2103a1b26313f430c4b15bb1fdce663207659d8cac749a0e53d70eff01874496feff2103c96d495bfdd5ba4145e3e046fee45e84a8a48ad05bd8dbb395c011a32cf9f88053ae00000000",
5165
"input_index": 0,
52-
"flags": "VERIFY_ALL_PRE_TAPROOT",
66+
"flags": [
67+
"btck_ScriptVerificationFlags_P2SH",
68+
"btck_ScriptVerificationFlags_DERSIG",
69+
"btck_ScriptVerificationFlags_NULLDUMMY",
70+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
71+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
72+
"btck_ScriptVerificationFlags_WITNESS"
73+
],
5374
"spent_outputs": []
5475
},
5576
"expected": {
@@ -68,7 +89,14 @@
6889
"amount": 0,
6990
"tx_hex": "02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700",
7091
"input_index": 999,
71-
"flags": "VERIFY_ALL_PRE_TAPROOT",
92+
"flags": [
93+
"btck_ScriptVerificationFlags_P2SH",
94+
"btck_ScriptVerificationFlags_DERSIG",
95+
"btck_ScriptVerificationFlags_NULLDUMMY",
96+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
97+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
98+
"btck_ScriptVerificationFlags_WITNESS"
99+
],
72100
"spent_outputs": [
73101
{
74102
"script_pubkey_hex": "76a9144bfbaf6afb76cc5771bc6404810d1cc041a6933988ac",
@@ -92,7 +120,14 @@
92120
"amount": 0,
93121
"tx_hex": "02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700",
94122
"input_index": 0,
95-
"flags": "VERIFY_ALL_PRE_TAPROOT",
123+
"flags": [
124+
"btck_ScriptVerificationFlags_P2SH",
125+
"btck_ScriptVerificationFlags_DERSIG",
126+
"btck_ScriptVerificationFlags_NULLDUMMY",
127+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
128+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
129+
"btck_ScriptVerificationFlags_WITNESS"
130+
],
96131
"spent_outputs": [
97132
{
98133
"script_pubkey_hex": "76a9144bfbaf6afb76cc5771bc6404810d1cc041a6933988ac",
@@ -144,7 +179,7 @@
144179
"amount": 0,
145180
"tx_hex": "02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700",
146181
"input_index": 0,
147-
"flags": "VERIFY_WITNESS",
182+
"flags": ["btck_ScriptVerificationFlags_WITNESS"],
148183
"spent_outputs": [
149184
{
150185
"script_pubkey_hex": "76a9144bfbaf6afb76cc5771bc6404810d1cc041a6933988ac",
@@ -168,7 +203,7 @@
168203
"amount": 0,
169204
"tx_hex": "02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700",
170205
"input_index": 0,
171-
"flags": "VERIFY_TAPROOT",
206+
"flags": ["btck_ScriptVerificationFlags_TAPROOT"],
172207
"spent_outputs": []
173208
},
174209
"expected": {

testdata/script_verify_success.json

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,14 @@
1111
"amount": 0,
1212
"tx_hex": "02000000013f7cebd65c27431a90bba7f796914fe8cc2ddfc3f2cbd6f7e5f2fc854534da95000000006b483045022100de1ac3bcdfb0332207c4a91f3832bd2c2915840165f876ab47c5f8996b971c3602201c6c053d750fadde599e6f5c4e1963df0f01fc0d97815e8157e3d59fe09ca30d012103699b464d1d8bc9e47d4fb1cdaa89a1c5783d68363c4dbc4b524ed3d857148617feffffff02836d3c01000000001976a914fc25d6d5c94003bf5b0c7b640a248e2c637fcfb088ac7ada8202000000001976a914fbed3d9b11183209a57999d54d59f67c019e756c88ac6acb0700",
1313
"input_index": 0,
14-
"flags": "VERIFY_ALL_PRE_TAPROOT",
14+
"flags": [
15+
"btck_ScriptVerificationFlags_P2SH",
16+
"btck_ScriptVerificationFlags_DERSIG",
17+
"btck_ScriptVerificationFlags_NULLDUMMY",
18+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
19+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
20+
"btck_ScriptVerificationFlags_WITNESS"
21+
],
1522
"spent_outputs": []
1623
},
1724
"expected": {
@@ -27,7 +34,14 @@
2734
"amount": 1900000,
2835
"tx_hex": "01000000000101d9fd94d0ff0026d307c994d0003180a5f248146efb6371d040c5973f5f66d9df0400000017160014b31b31a6cb654cfab3c50567bcf124f48a0beaecffffffff012cbd1c000000000017a914233b74bf0823fa58bbbd26dfc3bb4ae715547167870247304402206f60569cac136c114a58aedd80f6fa1c51b49093e7af883e605c212bdafcd8d202200e91a55f408a021ad2631bc29a67bd6915b2d7e9ef0265627eabd7f7234455f6012103e7e802f50344303c76d12c089c8724c1b230e3b745693bbe16aad536293d15e300000000",
2936
"input_index": 0,
30-
"flags": "VERIFY_ALL_PRE_TAPROOT",
37+
"flags": [
38+
"btck_ScriptVerificationFlags_P2SH",
39+
"btck_ScriptVerificationFlags_DERSIG",
40+
"btck_ScriptVerificationFlags_NULLDUMMY",
41+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
42+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
43+
"btck_ScriptVerificationFlags_WITNESS"
44+
],
3145
"spent_outputs": []
3246
},
3347
"expected": {
@@ -43,7 +57,14 @@
4357
"amount": 18393430,
4458
"tx_hex": "010000000001011f97548fbbe7a0db7588a66e18d803d0089315aa7d4cc28360b6ec50ef36718a0100000000ffffffff02df1776000000000017a9146c002a686959067f4866b8fb493ad7970290ab728757d29f0000000000220020701a8d401c84fb13e6baf169d59684e17abd9fa216c8cc5b9fc63d622ff8c58d04004730440220565d170eed95ff95027a69b313758450ba84a01224e1f7f130dda46e94d13f8602207bdd20e307f062594022f12ed5017bbf4a055a06aea91c10110a0e3bb23117fc014730440220647d2dc5b15f60bc37dc42618a370b2a1490293f9e5c8464f53ec4fe1dfe067302203598773895b4b16d37485cbe21b337f4e4b650739880098c592553add7dd4355016952210375e00eb72e29da82b89367947f29ef34afb75e8654f6ea368e0acdfd92976b7c2103a1b26313f430c4b15bb1fdce663207659d8cac749a0e53d70eff01874496feff2103c96d495bfdd5ba4145e3e046fee45e84a8a48ad05bd8dbb395c011a32cf9f88053ae00000000",
4559
"input_index": 0,
46-
"flags": "VERIFY_ALL_PRE_TAPROOT",
60+
"flags": [
61+
"btck_ScriptVerificationFlags_P2SH",
62+
"btck_ScriptVerificationFlags_DERSIG",
63+
"btck_ScriptVerificationFlags_NULLDUMMY",
64+
"btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY",
65+
"btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY",
66+
"btck_ScriptVerificationFlags_WITNESS"
67+
],
4768
"spent_outputs": []
4869
},
4970
"expected": {

0 commit comments

Comments
 (0)