tx_invalid.json raw
1 [
2 [
3 "The following are deserialized transactions which are invalid."
4 ],
5 [
6 "They are in the form"
7 ],
8 [
9 "[[[prevout hash, prevout index, prevout scriptPubKey, amount?], [input 2], ...],"
10 ],
11 [
12 "serializedTransaction, verifyFlags]"
13 ],
14 [
15 "Objects that are only a single string (like this one) are ignored"
16 ],
17 [
18 "0e1b5688cf179cd9f7cbda1fac0090f6e684bbf8cd946660120197c3f3681809 but with extra junk appended to the end of the scriptPubKey"
19 ],
20 [
21 [
22 [
23 "6ca7ec7b1847f6bdbd737176050e6a08d66ccd55bb94ad24f4018024107a5827",
24 0,
25 "0x41 0x043b640e983c9690a14c039a2037ecc3467b27a0dcd58f19d76c7bc118d09fec45adc5370a1c5bf8067ca9f5557a4cf885fdb0fe0dcc9c3a7137226106fbc779a5 CHECKSIG VERIFY 1"
26 ]
27 ],
28 "010000000127587a10248001f424ad94bb55cd6cd6086a0e05767173bdbdf647187beca76c000000004948304502201b822ad10d6adc1a341ae8835be3f70a25201bbff31f59cbb9c5353a5f0eca18022100ea7b2f7074e9aa9cf70aa8d0ffee13e6b45dddabf1ab961bda378bcdb778fa4701ffffffff0100f2052a010000001976a914fc50c5907d86fed474ba5ce8b12a66e0a4c139d888ac00000000",
29 "P2SH"
30 ],
31 [
32 "This is the nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG from tx_valid.json"
33 ],
34 [
35 "but with the signature duplicated in the scriptPubKey with a non-standard pushdata prefix"
36 ],
37 [
38 "See FindAndDelete, which will only remove if it uses the same pushdata prefix as is standard"
39 ],
40 [
41 [
42 [
43 "0000000000000000000000000000000000000000000000000000000000000100",
44 0,
45 "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01"
46 ]
47 ],
48 "01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000",
49 "P2SH"
50 ],
51 [
52 "Same as above, but with the sig in the scriptSig also pushed with the same non-standard OP_PUSHDATA"
53 ],
54 [
55 [
56 [
57 "0000000000000000000000000000000000000000000000000000000000000100",
58 0,
59 "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01"
60 ]
61 ],
62 "01000000010001000000000000000000000000000000000000000000000000000000000000000000006b4c473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000",
63 "P2SH"
64 ],
65 [
66 "This is the nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG from tx_valid.json"
67 ],
68 [
69 "but with the signature duplicated in the scriptPubKey with a different hashtype suffix"
70 ],
71 [
72 "See FindAndDelete, which will only remove if the signature, including the hash type, matches"
73 ],
74 [
75 [
76 [
77 "0000000000000000000000000000000000000000000000000000000000000100",
78 0,
79 "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a81"
80 ]
81 ],
82 "01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000",
83 "P2SH"
84 ],
85 [
86 "An invalid P2SH Transaction"
87 ],
88 [
89 [
90 [
91 "0000000000000000000000000000000000000000000000000000000000000100",
92 0,
93 "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL"
94 ]
95 ],
96 "010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000",
97 "P2SH"
98 ],
99 [
100 "Tests for CheckTransaction()"
101 ],
102 [
103 "No inputs"
104 ],
105 [
106 "Skipped because this is not checked by btcscript, this is a problem for chain."
107 ],
108 [
109 "No outputs"
110 ],
111 [
112 [
113 [
114 "0000000000000000000000000000000000000000000000000000000000000100",
115 0,
116 "HASH160 0x14 0x05ab9e14d983742513f0f451e105ffb4198d1dd4 EQUAL"
117 ]
118 ],
119 "01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022100f16703104aab4e4088317c862daec83440242411b039d14280e03dd33b487ab802201318a7be236672c5c56083eb7a5a195bc57a40af7923ff8545016cd3b571e2a601232103c40e5d339df3f30bf753e7e04450ae4ef76c9e45587d1d993bdc4cd06f0651c7acffffffff0000000000",
120 "P2SH"
121 ],
122 [
123 "Negative output"
124 ],
125 [
126 "Removed because btcscript doesn't do tx sanity checking."
127 ],
128 [
129 "MAX_MONEY + 1 output"
130 ],
131 [
132 [
133 [
134 "0000000000000000000000000000000000000000000000000000000000000100",
135 0,
136 "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL"
137 ]
138 ],
139 "01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010140075af0750700015100000000",
140 "P2SH"
141 ],
142 [
143 "MAX_MONEY output + 1 output"
144 ],
145 [
146 [
147 [
148 "0000000000000000000000000000000000000000000000000000000000000100",
149 0,
150 "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL"
151 ]
152 ],
153 "01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510001000000000000015100000000",
154 "P2SH"
155 ],
156 [
157 "Duplicate inputs"
158 ],
159 [
160 "Removed because btcscript doesn't check input duplication, btcchain does"
161 ],
162 [
163 "Coinbase of size 1"
164 ],
165 [
166 "Note the input is just required to make the tester happy"
167 ],
168 [
169 "Removed because btcscript doesn't handle coinbase checking, btcchain does"
170 ],
171 [
172 "Coinbase of size 101"
173 ],
174 [
175 "Note the input is just required to make the tester happy"
176 ],
177 [
178 "Removed because btcscript doesn't handle coinbase checking, btcchain does"
179 ],
180 [
181 "Null txin"
182 ],
183 [
184 "Removed because btcscript doesn't do tx sanity checking."
185 ],
186 [
187 "Same as the transactions in valid with one input SIGHASH_ALL and one SIGHASH_ANYONECANPAY, but we set the _ANYONECANPAY sequence number, invalidating the SIGHASH_ALL signature"
188 ],
189 [
190 [
191 [
192 "0000000000000000000000000000000000000000000000000000000000000100",
193 0,
194 "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"
195 ],
196 [
197 "0000000000000000000000000000000000000000000000000000000000000200",
198 0,
199 "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"
200 ]
201 ],
202 "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df10101000000000200000000000000000000000000000000000000000000000000000000000000000000484730440220201dc2d030e380e8f9cfb41b442d930fa5a685bb2c8db5906671f865507d0670022018d9e7a8d4c8d86a73c2a724ee38ef983ec249827e0e464841735955c707ece98101000000010100000000000000015100000000",
203 "P2SH"
204 ],
205 [
206 "CHECKMULTISIG with incorrect signature order"
207 ],
208 [
209 "Note the input is just required to make the tester happy"
210 ],
211 [
212 [
213 [
214 "b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223",
215 0,
216 "HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL"
217 ]
218 ],
219 "01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfe000048304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f401483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000",
220 "P2SH"
221 ],
222 [
223 "The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"
224 ],
225 [
226 "It is an OP_CHECKMULTISIG with the dummy value missing"
227 ],
228 [
229 [
230 [
231 "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1",
232 0,
233 "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"
234 ]
235 ],
236 "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004847304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000",
237 "P2SH"
238 ],
239 [
240 "CHECKMULTISIG SCRIPT_VERIFY_NULLDUMMY tests:"
241 ],
242 [
243 "The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"
244 ],
245 [
246 "It is an OP_CHECKMULTISIG with the dummy value set to something other than an empty string"
247 ],
248 [
249 [
250 [
251 "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1",
252 0,
253 "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"
254 ]
255 ],
256 "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a010047304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000",
257 "P2SH,NULLDUMMY"
258 ],
259 [
260 "As above, but using a OP_1"
261 ],
262 [
263 [
264 [
265 "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1",
266 0,
267 "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"
268 ]
269 ],
270 "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000495147304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000",
271 "P2SH,NULLDUMMY"
272 ],
273 [
274 "As above, but using a OP_1NEGATE"
275 ],
276 [
277 [
278 [
279 "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1",
280 0,
281 "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"
282 ]
283 ],
284 "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000494f47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000",
285 "P2SH,NULLDUMMY"
286 ],
287 [
288 "As above, but with the dummy byte missing"
289 ],
290 [
291 [
292 [
293 "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1",
294 0,
295 "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"
296 ]
297 ],
298 "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004847304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000",
299 "P2SH,NULLDUMMY"
300 ],
301 [
302 "Empty stack when we try to run CHECKSIG"
303 ],
304 [
305 [
306 [
307 "ad503f72c18df5801ee64d76090afe4c607fb2b822e9b7b63c5826c50e22fc3b",
308 0,
309 "0x21 0x027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5 CHECKSIG NOT"
310 ]
311 ],
312 "01000000013bfc220ec526583cb6b7e922b8b27f604cfe0a09764de61e80f58dc1723f50ad0000000000ffffffff0101000000000000002321027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5ac00000000",
313 "P2SH"
314 ],
315 [
316 "Inverted versions of tx_valid CODESEPARATOR IF block tests"
317 ],
318 [
319 "CODESEPARATOR in an unexecuted IF block does not change what is hashed"
320 ],
321 [
322 [
323 [
324 "a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944",
325 0,
326 "IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1"
327 ]
328 ],
329 "010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a48304502207a6974a77c591fa13dff60cabbb85a0de9e025c09c65a4b2285e47ce8e22f761022100f0efaac9ff8ac36b10721e0aae1fb975c90500b50c56e8a0cc52b0403f0425dd0151ffffffff010000000000000000016a00000000",
330 "P2SH"
331 ],
332 [
333 "As above, with the IF block executed"
334 ],
335 [
336 [
337 [
338 "a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944",
339 0,
340 "IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1"
341 ]
342 ],
343 "010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a483045022100fa4a74ba9fd59c59f46c3960cf90cbe0d2b743c471d24a3d5d6db6002af5eebb02204d70ec490fd0f7055a7c45f86514336e3a7f03503dacecabb247fc23f15c83510100ffffffff010000000000000000016a00000000",
344 "P2SH"
345 ],
346 [
347 "CHECKLOCKTIMEVERIFY tests"
348 ],
349 [
350 "By-height locks, with argument just beyond tx nLockTime"
351 ],
352 [
353 [
354 [
355 "0000000000000000000000000000000000000000000000000000000000000100",
356 0,
357 "1 CHECKLOCKTIMEVERIFY 1"
358 ]
359 ],
360 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
361 "P2SH,CHECKLOCKTIMEVERIFY"
362 ],
363 [
364 [
365 [
366 "0000000000000000000000000000000000000000000000000000000000000100",
367 0,
368 "499999999 CHECKLOCKTIMEVERIFY 1"
369 ]
370 ],
371 "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d",
372 "P2SH,CHECKLOCKTIMEVERIFY"
373 ],
374 [
375 "By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"
376 ],
377 [
378 [
379 [
380 "0000000000000000000000000000000000000000000000000000000000000100",
381 0,
382 "500000001 CHECKLOCKTIMEVERIFY 1"
383 ]
384 ],
385 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d",
386 "P2SH,CHECKLOCKTIMEVERIFY"
387 ],
388 [
389 [
390 [
391 "0000000000000000000000000000000000000000000000000000000000000100",
392 0,
393 "4294967295 CHECKLOCKTIMEVERIFY 1"
394 ]
395 ],
396 "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff",
397 "P2SH,CHECKLOCKTIMEVERIFY"
398 ],
399 [
400 "Argument missing"
401 ],
402 [
403 [
404 [
405 "0000000000000000000000000000000000000000000000000000000000000100",
406 0,
407 "CHECKLOCKTIMEVERIFY 1"
408 ]
409 ],
410 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
411 "P2SH,CHECKLOCKTIMEVERIFY"
412 ],
413 [
414 [
415 [
416 "0000000000000000000000000000000000000000000000000000000000000100",
417 0,
418 "1"
419 ]
420 ],
421 "010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000",
422 "P2SH,CHECKLOCKTIMEVERIFY"
423 ],
424 [
425 "Argument negative with by-blockheight nLockTime=0"
426 ],
427 [
428 [
429 [
430 "0000000000000000000000000000000000000000000000000000000000000100",
431 0,
432 "-1 CHECKLOCKTIMEVERIFY 1"
433 ]
434 ],
435 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
436 "P2SH,CHECKLOCKTIMEVERIFY"
437 ],
438 [
439 "Argument negative with by-blocktime nLockTime=500,000,000"
440 ],
441 [
442 [
443 [
444 "0000000000000000000000000000000000000000000000000000000000000100",
445 0,
446 "-1 CHECKLOCKTIMEVERIFY 1"
447 ]
448 ],
449 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d",
450 "P2SH,CHECKLOCKTIMEVERIFY"
451 ],
452 [
453 [
454 [
455 "0000000000000000000000000000000000000000000000000000000000000100",
456 0,
457 "1"
458 ]
459 ],
460 "010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000",
461 "P2SH,CHECKLOCKTIMEVERIFY"
462 ],
463 [
464 "Input locked"
465 ],
466 [
467 [
468 [
469 "0000000000000000000000000000000000000000000000000000000000000100",
470 0,
471 "0 CHECKLOCKTIMEVERIFY 1"
472 ]
473 ],
474 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000",
475 "P2SH,CHECKLOCKTIMEVERIFY"
476 ],
477 [
478 [
479 [
480 "0000000000000000000000000000000000000000000000000000000000000100",
481 0,
482 "0"
483 ]
484 ],
485 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000",
486 "P2SH,CHECKLOCKTIMEVERIFY"
487 ],
488 [
489 "Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"
490 ],
491 [
492 [
493 [
494 "0000000000000000000000000000000000000000000000000000000000000100",
495 0,
496 "0 CHECKLOCKTIMEVERIFY 1"
497 ],
498 [
499 "0000000000000000000000000000000000000000000000000000000000000200",
500 1,
501 "1"
502 ]
503 ],
504 "010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000",
505 "P2SH,CHECKLOCKTIMEVERIFY"
506 ],
507 [
508 "Argument/tx height/time mismatch, both versions"
509 ],
510 [
511 [
512 [
513 "0000000000000000000000000000000000000000000000000000000000000100",
514 0,
515 "0 CHECKLOCKTIMEVERIFY 1"
516 ]
517 ],
518 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d",
519 "P2SH,CHECKLOCKTIMEVERIFY"
520 ],
521 [
522 [
523 [
524 "0000000000000000000000000000000000000000000000000000000000000100",
525 0,
526 "0"
527 ]
528 ],
529 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b100000000010000000000000000000065cd1d",
530 "P2SH,CHECKLOCKTIMEVERIFY"
531 ],
532 [
533 [
534 [
535 "0000000000000000000000000000000000000000000000000000000000000100",
536 0,
537 "499999999 CHECKLOCKTIMEVERIFY 1"
538 ]
539 ],
540 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d",
541 "P2SH,CHECKLOCKTIMEVERIFY"
542 ],
543 [
544 [
545 [
546 "0000000000000000000000000000000000000000000000000000000000000100",
547 0,
548 "500000000 CHECKLOCKTIMEVERIFY 1"
549 ]
550 ],
551 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
552 "P2SH,CHECKLOCKTIMEVERIFY"
553 ],
554 [
555 [
556 [
557 "0000000000000000000000000000000000000000000000000000000000000100",
558 0,
559 "500000000 CHECKLOCKTIMEVERIFY 1"
560 ]
561 ],
562 "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d",
563 "P2SH,CHECKLOCKTIMEVERIFY"
564 ],
565 [
566 "Argument 2^32 with nLockTime=2^32-1"
567 ],
568 [
569 [
570 [
571 "0000000000000000000000000000000000000000000000000000000000000100",
572 0,
573 "4294967296 CHECKLOCKTIMEVERIFY 1"
574 ]
575 ],
576 "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff",
577 "P2SH,CHECKLOCKTIMEVERIFY"
578 ],
579 [
580 "Same, but with nLockTime=2^31-1"
581 ],
582 [
583 [
584 [
585 "0000000000000000000000000000000000000000000000000000000000000100",
586 0,
587 "2147483648 CHECKLOCKTIMEVERIFY 1"
588 ]
589 ],
590 "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f",
591 "P2SH,CHECKLOCKTIMEVERIFY"
592 ],
593 [
594 "6 byte non-minimally-encoded arguments are invalid even if their contents are valid"
595 ],
596 [
597 [
598 [
599 "0000000000000000000000000000000000000000000000000000000000000100",
600 0,
601 "0x06 0x000000000000 CHECKLOCKTIMEVERIFY 1"
602 ]
603 ],
604 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
605 "P2SH,CHECKLOCKTIMEVERIFY"
606 ],
607 [
608 "Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"
609 ],
610 [
611 [
612 [
613 "0000000000000000000000000000000000000000000000000000000000000100",
614 0,
615 "1"
616 ]
617 ],
618 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1000000000100000000000000000000000000",
619 "P2SH,CHECKLOCKTIMEVERIFY"
620 ],
621 [
622 "Failure due to failing CHECKLOCKTIMEVERIFY in redeemScript"
623 ],
624 [
625 [
626 [
627 "0000000000000000000000000000000000000000000000000000000000000100",
628 0,
629 "HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL"
630 ]
631 ],
632 "0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000",
633 "P2SH,CHECKLOCKTIMEVERIFY"
634 ],
635 [
636 "A transaction with a non-standard DER signature."
637 ],
638 [
639 [
640 [
641 "b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132",
642 0,
643 "DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG"
644 ]
645 ],
646 "010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000",
647 "P2SH,DERSIG"
648 ],
649 [
650 "CHECKSEQUENCEVERIFY tests"
651 ],
652 [
653 "By-height locks, with argument just beyond txin.nSequence"
654 ],
655 [
656 [
657 [
658 "0000000000000000000000000000000000000000000000000000000000000100",
659 0,
660 "1 CHECKSEQUENCEVERIFY 1"
661 ]
662 ],
663 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
664 "P2SH,CHECKSEQUENCEVERIFY"
665 ],
666 [
667 [
668 [
669 "0000000000000000000000000000000000000000000000000000000000000100",
670 0,
671 "4259839 CHECKSEQUENCEVERIFY 1"
672 ]
673 ],
674 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000",
675 "P2SH,CHECKSEQUENCEVERIFY"
676 ],
677 [
678 "By-time locks, with argument just beyond txin.nSequence (but within numerical boundries)"
679 ],
680 [
681 [
682 [
683 "0000000000000000000000000000000000000000000000000000000000000100",
684 0,
685 "4194305 CHECKSEQUENCEVERIFY 1"
686 ]
687 ],
688 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000",
689 "P2SH,CHECKSEQUENCEVERIFY"
690 ],
691 [
692 [
693 [
694 "0000000000000000000000000000000000000000000000000000000000000100",
695 0,
696 "4259839 CHECKSEQUENCEVERIFY 1"
697 ]
698 ],
699 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000",
700 "P2SH,CHECKSEQUENCEVERIFY"
701 ],
702 [
703 "Argument missing"
704 ],
705 [
706 [
707 [
708 "0000000000000000000000000000000000000000000000000000000000000100",
709 0,
710 "CHECKSEQUENCEVERIFY 1"
711 ]
712 ],
713 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
714 "P2SH,CHECKSEQUENCEVERIFY"
715 ],
716 [
717 "Argument negative with by-blockheight txin.nSequence=0"
718 ],
719 [
720 [
721 [
722 "0000000000000000000000000000000000000000000000000000000000000100",
723 0,
724 "-1 CHECKSEQUENCEVERIFY 1"
725 ]
726 ],
727 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
728 "P2SH,CHECKSEQUENCEVERIFY"
729 ],
730 [
731 "Argument negative with by-blocktime txin.nSequence=CTxIn::SEQUENCE_LOCKTIME_TYPE_FLAG"
732 ],
733 [
734 [
735 [
736 "0000000000000000000000000000000000000000000000000000000000000100",
737 0,
738 "-1 CHECKSEQUENCEVERIFY 1"
739 ]
740 ],
741 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000",
742 "P2SH,CHECKSEQUENCEVERIFY"
743 ],
744 [
745 "Argument/tx height/time mismatch, both versions"
746 ],
747 [
748 [
749 [
750 "0000000000000000000000000000000000000000000000000000000000000100",
751 0,
752 "0 CHECKSEQUENCEVERIFY 1"
753 ]
754 ],
755 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000",
756 "P2SH,CHECKSEQUENCEVERIFY"
757 ],
758 [
759 [
760 [
761 "0000000000000000000000000000000000000000000000000000000000000100",
762 0,
763 "65535 CHECKSEQUENCEVERIFY 1"
764 ]
765 ],
766 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000",
767 "P2SH,CHECKSEQUENCEVERIFY"
768 ],
769 [
770 [
771 [
772 "0000000000000000000000000000000000000000000000000000000000000100",
773 0,
774 "4194304 CHECKSEQUENCEVERIFY 1"
775 ]
776 ],
777 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
778 "P2SH,CHECKSEQUENCEVERIFY"
779 ],
780 [
781 [
782 [
783 "0000000000000000000000000000000000000000000000000000000000000100",
784 0,
785 "4259839 CHECKSEQUENCEVERIFY 1"
786 ]
787 ],
788 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
789 "P2SH,CHECKSEQUENCEVERIFY"
790 ],
791 [
792 "6 byte non-minimally-encoded arguments are invalid even if their contents are valid"
793 ],
794 [
795 [
796 [
797 "0000000000000000000000000000000000000000000000000000000000000100",
798 0,
799 "0x06 0x000000000000 CHECKSEQUENCEVERIFY 1"
800 ]
801 ],
802 "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000",
803 "P2SH,CHECKSEQUENCEVERIFY"
804 ],
805 [
806 "Failure due to failing CHECKSEQUENCEVERIFY in scriptSig"
807 ],
808 [
809 [
810 [
811 "0000000000000000000000000000000000000000000000000000000000000100",
812 0,
813 "1"
814 ]
815 ],
816 "02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b2000000000100000000000000000000000000",
817 "P2SH,CHECKSEQUENCEVERIFY"
818 ],
819 [
820 "Failure due to failing CHECKSEQUENCEVERIFY in redeemScript"
821 ],
822 [
823 [
824 [
825 "0000000000000000000000000000000000000000000000000000000000000100",
826 0,
827 "HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL"
828 ]
829 ],
830 "0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b2000000000100000000000000000000000000",
831 "P2SH,CHECKSEQUENCEVERIFY"
832 ],
833 [
834 "Failure due to insufficient tx.nVersion (<2)"
835 ],
836 [
837 [
838 [
839 "0000000000000000000000000000000000000000000000000000000000000100",
840 0,
841 "0 CHECKSEQUENCEVERIFY 1"
842 ]
843 ],
844 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000",
845 "P2SH,CHECKSEQUENCEVERIFY"
846 ],
847 [
848 [
849 [
850 "0000000000000000000000000000000000000000000000000000000000000100",
851 0,
852 "4194304 CHECKSEQUENCEVERIFY 1"
853 ]
854 ],
855 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000",
856 "P2SH,CHECKSEQUENCEVERIFY"
857 ],
858 [
859 "Unknown witness program version (with DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM)"
860 ],
861 [
862 [
863 [
864 "0000000000000000000000000000000000000000000000000000000000000100",
865 0,
866 "0x51",
867 1000
868 ],
869 [
870 "0000000000000000000000000000000000000000000000000000000000000100",
871 1,
872 "0x60 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f",
873 2000
874 ],
875 [
876 "0000000000000000000000000000000000000000000000000000000000000100",
877 2,
878 "0x51",
879 3000
880 ]
881 ],
882 "0100000000010300010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00010000000000000000000000000000000000000000000000000000000000000100000000ffffffff00010000000000000000000000000000000000000000000000000000000000000200000000ffffffff03e8030000000000000151d0070000000000000151b80b00000000000001510002483045022100a3cec69b52cba2d2de623ffffffffff1606184ea55476c0f8189fda231bc9cbb022003181ad597f7c380a7d1c740286b1d022b8b04ded028b833282e055e03b8efef812103596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc710000000000",
883 "P2SH,WITNESS,DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"
884 ],
885 [
886 "Unknown length for witness program v0"
887 ],
888 [
889 [
890 [
891 "0000000000000000000000000000000000000000000000000000000000000100",
892 0,
893 "0x51",
894 1000
895 ],
896 [
897 "0000000000000000000000000000000000000000000000000000000000000100",
898 1,
899 "0x00 0x15 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3fff",
900 2000
901 ],
902 [
903 "0000000000000000000000000000000000000000000000000000000000000100",
904 2,
905 "0x51",
906 3000
907 ]
908 ],
909 "0100000000010300010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00010000000000000000000000000000000000000000000000000000000000000100000000ffffffff00010000000000000000000000000000000000000000000000000000000000000200000000ffffffff04b60300000000000001519e070000000000000151860b0000000000000100960000000000000001510002473044022022fceb54f62f8feea77faac7083c3b56c4676a78f93745adc8a35800bc36adfa022026927df9abcf0a8777829bcfcce3ff0a385fa54c3f9df577405e3ef24ee56479022103596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc710000000000",
910 "P2SH,WITNESS"
911 ],
912 [
913 "Witness with SigHash Single|AnyoneCanPay (same index output value changed)"
914 ],
915 [
916 [
917 [
918 "0000000000000000000000000000000000000000000000000000000000000100",
919 0,
920 "0x51",
921 1000
922 ],
923 [
924 "0000000000000000000000000000000000000000000000000000000000000100",
925 1,
926 "0x00 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f",
927 2000
928 ],
929 [
930 "0000000000000000000000000000000000000000000000000000000000000100",
931 2,
932 "0x51",
933 3000
934 ]
935 ],
936 "0100000000010300010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00010000000000000000000000000000000000000000000000000000000000000100000000ffffffff00010000000000000000000000000000000000000000000000000000000000000200000000ffffffff03e80300000000000001516c070000000000000151b80b0000000000000151000248304502210092f4777a0f17bf5aeb8ae768dec5f2c14feabf9d1fe2c89c78dfed0f13fdb86902206da90a86042e252bcd1e80a168c719e4a1ddcc3cebea24b9812c5453c79107e9832103596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc710000000000",
937 "P2SH,WITNESS"
938 ],
939 [
940 "Witness with SigHash None|AnyoneCanPay (input sequence changed)"
941 ],
942 [
943 [
944 [
945 "0000000000000000000000000000000000000000000000000000000000000100",
946 0,
947 "0x51",
948 1000
949 ],
950 [
951 "0000000000000000000000000000000000000000000000000000000000000100",
952 1,
953 "0x00 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f",
954 2000
955 ],
956 [
957 "0000000000000000000000000000000000000000000000000000000000000100",
958 2,
959 "0x51",
960 3000
961 ]
962 ],
963 "0100000000010300010000000000000000000000000000000000000000000000000000000000000000000000ffffffff000100000000000000000000000000000000000000000000000000000000000001000000000100000000010000000000000000000000000000000000000000000000000000000000000200000000ffffffff00000248304502210091b32274295c2a3fa02f5bce92fb2789e3fc6ea947fbe1a76e52ea3f4ef2381a022079ad72aefa3837a2e0c033a8652a59731da05fa4a813f4fc48e87c075037256b822103596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc710000000000",
964 "P2SH,WITNESS"
965 ],
966 [
967 "Witness with SigHash All|AnyoneCanPay (third output value changed)"
968 ],
969 [
970 [
971 [
972 "0000000000000000000000000000000000000000000000000000000000000100",
973 0,
974 "0x51",
975 1000
976 ],
977 [
978 "0000000000000000000000000000000000000000000000000000000000000100",
979 1,
980 "0x00 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f",
981 2000
982 ],
983 [
984 "0000000000000000000000000000000000000000000000000000000000000100",
985 2,
986 "0x51",
987 3000
988 ]
989 ],
990 "0100000000010300010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00010000000000000000000000000000000000000000000000000000000000000100000000ffffffff00010000000000000000000000000000000000000000000000000000000000000200000000ffffffff03e8030000000000000151d0070000000000000151540b00000000000001510002483045022100a3cec69b52cba2d2de623eeef89e0ba1606184ea55476c0f8189fda231bc9cbb022003181ad597f7c380a7d1c740286b1d022b8b04ded028b833282e055e03b8efef812103596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc710000000000",
991 "P2SH,WITNESS"
992 ],
993 [
994 "Witness with a push of 521 bytes"
995 ],
996 [
997 [
998 [
999 "0000000000000000000000000000000000000000000000000000000000000100",
1000 0,
1001 "0x00 0x20 0x33198a9bfef674ebddb9ffaa52928017b8472791e54c609cb95f278ac6b1e349",
1002 1000
1003 ]
1004 ],
1005 "0100000000010100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010000000000000000015102fd0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002755100000000",
1006 "P2SH,WITNESS"
1007 ],
1008 [
1009 "Witness with unknown version which push false on the stack should be invalid (even without DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM)"
1010 ],
1011 [
1012 [
1013 [
1014 "0000000000000000000000000000000000000000000000000000000000000100",
1015 0,
1016 "0x60 0x02 0x0000",
1017 2000
1018 ]
1019 ],
1020 "0100000000010100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010000000000000000015101010100000000",
1021 "P2SH,WITNESS"
1022 ],
1023 [
1024 "Witness program should leave clean stack"
1025 ],
1026 [
1027 [
1028 [
1029 "0000000000000000000000000000000000000000000000000000000000000100",
1030 0,
1031 "0x00 0x20 0x2f04a3aa051f1f60d695f6c44c0c3d383973dfd446ace8962664a76bb10e31a8",
1032 2000
1033 ]
1034 ],
1035 "0100000000010100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01000000000000000001510102515100000000",
1036 "P2SH,WITNESS"
1037 ],
1038 [
1039 "Witness v0 with a push of 2 bytes"
1040 ],
1041 [
1042 [
1043 [
1044 "0000000000000000000000000000000000000000000000000000000000000100",
1045 0,
1046 "0x00 0x02 0x0001",
1047 2000
1048 ]
1049 ],
1050 "0100000000010100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010000000000000000015101040002000100000000",
1051 "P2SH,WITNESS"
1052 ],
1053 [
1054 "Unknown witness version with non empty scriptSig"
1055 ],
1056 [
1057 [
1058 [
1059 "0000000000000000000000000000000000000000000000000000000000000100",
1060 0,
1061 "0x60 0x02 0x0001",
1062 2000
1063 ]
1064 ],
1065 "01000000010001000000000000000000000000000000000000000000000000000000000000000000000151ffffffff010000000000000000015100000000",
1066 "P2SH,WITNESS"
1067 ],
1068 [
1069 "Non witness Single|AnyoneCanPay hash input's position (permutation)"
1070 ],
1071 [
1072 [
1073 [
1074 "0000000000000000000000000000000000000000000000000000000000000100",
1075 0,
1076 "0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG",
1077 1000
1078 ],
1079 [
1080 "0000000000000000000000000000000000000000000000000000000000000100",
1081 1,
1082 "0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG",
1083 1001
1084 ]
1085 ],
1086 "010000000200010000000000000000000000000000000000000000000000000000000000000100000049483045022100acb96cfdbda6dc94b489fd06f2d720983b5f350e31ba906cdbd800773e80b21c02200d74ea5bdf114212b4bbe9ed82c36d2e369e302dff57cb60d01c428f0bd3daab83ffffffff0001000000000000000000000000000000000000000000000000000000000000000000004847304402202a0b4b1294d70540235ae033d78e64b4897ec859c7b6f1b2b1d8a02e1d46006702201445e756d2254b0f1dfda9ab8e1e1bc26df9668077403204f32d16a49a36eb6983ffffffff02e9030000000000000151e803000000000000015100000000",
1087 "P2SH,WITNESS"
1088 ],
1089 [
1090 "P2WSH with a redeem representing a witness scriptPubKey should fail"
1091 ],
1092 [
1093 [
1094 [
1095 "0000000000000000000000000000000000000000000000000000000000000100",
1096 0,
1097 "0x00 0x20 0x34b6c399093e06cf9f0f7f660a1abcfe78fcf7b576f43993208edd9518a0ae9b",
1098 1000
1099 ]
1100 ],
1101 "0100000000010100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0001045102010100000000",
1102 "P2SH,WITNESS"
1103 ],
1104 [
1105 "33 bytes push should be considered a witness scriptPubKey"
1106 ],
1107 [
1108 [
1109 [
1110 "0000000000000000000000000000000000000000000000000000000000000100",
1111 0,
1112 "0x60 0x21 0xff25429251b5a84f452230a3c75fd886b7fc5a7865ce4a7bb7a9d7c5be6da3dbff",
1113 1000
1114 ]
1115 ],
1116 "010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000",
1117 "P2SH,WITNESS,DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"
1118 ],
1119 [
1120 "FindAndDelete tests"
1121 ],
1122 [
1123 "This is a test of FindAndDelete. The first tx is a spend of normal scriptPubKey and the second tx is a spend of bare P2WSH."
1124 ],
1125 [
1126 "The redeemScript/witnessScript is CHECKSIGVERIFY <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01>."
1127 ],
1128 [
1129 "The signature is <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01> <pubkey>,"
1130 ],
1131 [
1132 "where the pubkey is obtained through key recovery with sig and the wrong sighash."
1133 ],
1134 [
1135 "This is to show that FindAndDelete is applied only to non-segwit scripts"
1136 ],
1137 [
1138 "To show that the tests are 'correctly wrong', they should pass by modifying OP_CHECKSIG under interpreter.cpp"
1139 ],
1140 [
1141 "by replacing (sigversion == SIGVERSION_BASE) with (sigversion != SIGVERSION_BASE)"
1142 ],
1143 [
1144 "Non-segwit: wrong sighash (without FindAndDelete) = 1ba1fe3bc90c5d1265460e684ce6774e324f0fabdf67619eda729e64e8b6bc08"
1145 ],
1146 [
1147 [
1148 [
1149 "f18783ace138abac5d3a7a5cf08e88fe6912f267ef936452e0c27d090621c169",
1150 7000,
1151 "HASH160 0x14 0x0c746489e2d83cdbb5b90b432773342ba809c134 EQUAL",
1152 200000
1153 ]
1154 ],
1155 "010000000169c12106097dc2e0526493ef67f21269fe888ef05c7a3a5dacab38e1ac8387f1581b0000b64830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e012103b12a1ec8428fc74166926318c15e17408fea82dbb157575e16a8c365f546248f4aad4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01ffffffff0101000000000000000000000000",
1156 "P2SH,WITNESS"
1157 ],
1158 [
1159 "BIP143: wrong sighash (with FindAndDelete) = 71c9cd9b2869b9c70b01b1f0360c148f42dee72297db312638df136f43311f23"
1160 ],
1161 [
1162 [
1163 [
1164 "f18783ace138abac5d3a7a5cf08e88fe6912f267ef936452e0c27d090621c169",
1165 7500,
1166 "0x00 0x20 0x9e1be07558ea5cc8e02ed1d80c0911048afad949affa36d5c3951e3159dbea19",
1167 200000
1168 ]
1169 ],
1170 "0100000000010169c12106097dc2e0526493ef67f21269fe888ef05c7a3a5dacab38e1ac8387f14c1d000000ffffffff01010000000000000000034830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e012102a9d7ed6e161f0e255c10bbfcca0128a9e2035c2c8da58899c54d22d3a31afdef4aad4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0100000000",
1171 "P2SH,WITNESS"
1172 ],
1173 [
1174 "This is multisig version of the FindAndDelete tests"
1175 ],
1176 [
1177 "Script is 2 CHECKMULTISIGVERIFY <sig1> <sig2> DROP"
1178 ],
1179 [
1180 "52af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175"
1181 ],
1182 [
1183 "Signature is 0 <sig1> <sig2> 2 <key1> <key2>"
1184 ],
1185 [
1186 "Should pass by replacing (sigversion == SIGVERSION_BASE) with (sigversion != SIGVERSION_BASE) under OP_CHECKMULTISIG"
1187 ],
1188 [
1189 "Non-segwit: wrong sighash (without FindAndDelete) = 4bc6a53e8e16ef508c19e38bba08831daba85228b0211f323d4cb0999cf2a5e8"
1190 ],
1191 [
1192 [
1193 [
1194 "9628667ad48219a169b41b020800162287d2c0f713c04157e95c484a8dcb7592",
1195 7000,
1196 "HASH160 0x14 0x5748407f5ca5cdca53ba30b79040260770c9ee1b EQUAL",
1197 200000
1198 ]
1199 ],
1200 "01000000019275cb8d4a485ce95741c013f7c0d28722160008021bb469a11982d47a662896581b0000fd6f01004830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c039596015221023fd5dd42b44769c5653cbc5947ff30ab8871f240ad0c0e7432aefe84b5b4ff3421039d52178dbde360b83f19cf348deb04fa8360e1bf5634577be8e50fafc2b0e4ef4c9552af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175ffffffff0101000000000000000000000000",
1201 "P2SH,WITNESS"
1202 ],
1203 [
1204 "BIP143: wrong sighash (with FindAndDelete) = 17c50ec2181ecdfdc85ca081174b248199ba81fff730794d4f69b8ec031f2dce"
1205 ],
1206 [
1207 [
1208 [
1209 "9628667ad48219a169b41b020800162287d2c0f713c04157e95c484a8dcb7592",
1210 7500,
1211 "0x00 0x20 0x9b66c15b4e0b4eb49fa877982cafded24859fe5b0e2dbfbe4f0df1de7743fd52",
1212 200000
1213 ]
1214 ],
1215 "010000000001019275cb8d4a485ce95741c013f7c0d28722160008021bb469a11982d47a6628964c1d000000ffffffff0101000000000000000007004830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c03959601010221023cb6055f4b57a1580c5a753e19610cafaedf7e0ff377731c77837fd666eae1712102c1b1db303ac232ffa8e5e7cc2cf5f96c6e40d3e6914061204c0541cb2043a0969552af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c039596017500000000",
1216 "P2SH,WITNESS"
1217 ],
1218 [
1219 "Make diffs cleaner by leaving a comment here without comma at the end"
1220 ]
1221 ]
1222