|
120 | 120 | [[["a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944", 0, "IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1"]], |
121 | 121 | "010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a483045022100fa4a74ba9fd59c59f46c3960cf90cbe0d2b743c471d24a3d5d6db6002af5eebb02204d70ec490fd0f7055a7c45f86514336e3a7f03503dacecabb247fc23f15c83510100ffffffff010000000000000000016a00000000", "P2SH"], |
122 | 122 |
|
| 123 | +["CHECKLOCKTIMEVERIFY tests"], |
| 124 | + |
| 125 | +["By-height locks, with argument just beyond tx nLockTime"], |
| 126 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 1 NOP2"]], |
| 127 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 128 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 1 NOP2"]], |
| 129 | +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 130 | + |
| 131 | +["By-time locks, with argument just beyond tx nLockTime (but within numerical boundries)"], |
| 132 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 1 NOP2"]], |
| 133 | +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 134 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 1 NOP2"]], |
| 135 | +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 136 | + |
| 137 | +["Argument missing"], |
| 138 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 NOP2"]], |
| 139 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 140 | + |
| 141 | +["Argument negative with by-blockheight nLockTime=0"], |
| 142 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 1 NOP2"]], |
| 143 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 144 | + |
| 145 | +["Argument negative with by-blocktime nLockTime=500,000,000"], |
| 146 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 1 NOP2"]], |
| 147 | +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 148 | + |
| 149 | +["Input locked"], |
| 150 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 1 NOP2"]], |
| 151 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 152 | + |
| 153 | +["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"], |
| 154 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 1 NOP2"] , |
| 155 | + ["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]], |
| 156 | +"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 157 | + |
| 158 | +["Argument/tx height/time mismatch, both versions"], |
| 159 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 1 NOP2"]], |
| 160 | +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 161 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 1 NOP2"]], |
| 162 | +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 163 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 1 NOP2"]], |
| 164 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 165 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 1 NOP2"]], |
| 166 | +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 167 | + |
| 168 | +["Argument 2^32 with nLockTime=2^32-1"], |
| 169 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 1 NOP2"]], |
| 170 | +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 171 | + |
| 172 | +["Same, but with nLockTime=2^31-1"], |
| 173 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 1 NOP2"]], |
| 174 | +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 175 | + |
| 176 | +["6 byte non-minimally-encoded arguments are invalid even in their contents are valid"], |
| 177 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 1 NOP2"]], |
| 178 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 179 | + |
| 180 | +["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"], |
| 181 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, ""]], |
| 182 | +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000035151b1000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 183 | + |
| 184 | +["Failure due to failing CHECKLOCKTIMEVERIFY in redeemScript"], |
| 185 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x9c0876b427ee3c9389be376e0071730a76714818 EQUAL"]], |
| 186 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000004035151b1000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 187 | + |
| 188 | +["The type argument must be a valid number within numerical limits"], |
| 189 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 2147483648 NOP2 1"]], |
| 190 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 191 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 -2147483648 NOP2 1"]], |
| 192 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
| 193 | +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 0x05 0100000000 NOP2 1"]], |
| 194 | +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], |
123 | 195 |
|
124 | 196 | ["Make diffs cleaner by leaving a comment here without comma at the end"] |
125 | 197 | ] |
0 commit comments