|
|
@ -127,66 +127,66 @@ |
|
|
|
["CHECKLOCKTIMEVERIFY tests"], |
|
|
|
["CHECKLOCKTIMEVERIFY tests"], |
|
|
|
|
|
|
|
|
|
|
|
["By-height locks, with argument just beyond tx nLockTime"], |
|
|
|
["By-height locks, with argument just beyond tx nLockTime"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"], |
|
|
|
["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Argument missing"], |
|
|
|
["Argument missing"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Argument negative with by-blockheight nLockTime=0"], |
|
|
|
["Argument negative with by-blockheight nLockTime=0"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Argument negative with by-blocktime nLockTime=500,000,000"], |
|
|
|
["Argument negative with by-blocktime nLockTime=500,000,000"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Input locked"], |
|
|
|
["Input locked"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"], |
|
|
|
["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"] , |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"] , |
|
|
|
["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]], |
|
|
|
["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]], |
|
|
|
"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Argument/tx height/time mismatch, both versions"], |
|
|
|
["Argument/tx height/time mismatch, both versions"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b100000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b100000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Argument 2^32 with nLockTime=2^32-1"], |
|
|
|
["Argument 2^32 with nLockTime=2^32-1"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Same, but with nLockTime=2^31-1"], |
|
|
|
["Same, but with nLockTime=2^31-1"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"], |
|
|
|
["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 NOP2 1"]], |
|
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 CHECKLOCKTIMEVERIFY 1"]], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
|
|
|
|
|
|
|
|
|
|
|
["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"], |
|
|
|
["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"], |
|
|
|