This makes use of the github actions cache to save and restore the Go test and module caches. This should result in faster CI runs since most changes only affect a small number of tests. It also updates the RPC integration tests to ensure the logs directory is not in the source code dir so the go testing cache can be used. Next, it renames the txscript module's data dir to testdata so go does not treat it like a package. Finally, it adds a script that stabilizes the timestamps on all files in testdata directories when running the github action. This is necessary because the go testing cache logic uses the timestamps of all input files when determining whether or not a test needs to be rerun and github clones a fresh repo on every run which causes the timestamps of the test data to change.
232 lines
22 KiB
JSON
232 lines
22 KiB
JSON
[
|
|
["The following are deserialized transactions which are invalid."],
|
|
["They are in the form"],
|
|
["[[[prevout hash, prevout index, prevout scriptPubKey], [input 2], ...],"],
|
|
["serializedTransaction, verifyFlags]"],
|
|
["Objects that are only a single string (like this one) are ignored"],
|
|
["All signatures for these tests should use the following private keys:"],
|
|
[" The first key is for single CHECKSIG and all three are for CHECKMULTISIG"],
|
|
[" 0000000000000000000000000000000000000000000000000000000000000001"],
|
|
[" 0000000000000000000000000000000000000000000000000000000000000002"],
|
|
[" 0000000000000000000000000000000000000000000000000000000000000003"],
|
|
|
|
["Valid signature but with extra junk appended to the end of the scriptPubKey"],
|
|
[[["6ca7ec7b1847f6bdbd737176050e6a08d66ccd55bb94ad24f4018024107a5827", 0, "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG VERIFY 1"]],
|
|
"010000000127587a10248001f424ad94bb55cd6cd6086a0e05767173bdbdf647187beca76c0000000000ffffffff0100f2052a0100000000001976a914fc50c5907d86fed474ba5ce8b12a66e0a4c139d888ac000000000000000001000000000000000000000000000000004948304502210092d7db36a37f386e9592ab60654fd9a251144eeb0406e12e699f80c8effe0d4a02204f6430f494fbe08caeaaf5b34dadbf6b2b1b9ed00f9dfbd8f3e1736792813b7101", "NONE"],
|
|
|
|
["This is the nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG"],
|
|
["but with the signature duplicated in the scriptPubKey with a non-standard pushdata prefix"],
|
|
["See removeOpcodeByData, which will only remove if it uses the same pushdata prefix as is standard"],
|
|
["Remove the 0x4c in the public key script to prove correctness"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0xe280cb6e66b96679aec288b1fbdbd4db08077a1b EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x48 0x3045022100d403cac2b75374b53e7ee906b182d4470e3f7a42195c912c89624b41a9f8d0cd022018f3da9a174f8635b4e54ef5961e0d986d59aebdac56cfacbaaed0c7168aef1c01"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01000000000000000000000151000000000000000001000000000000000000000000000000006b483045022100d403cac2b75374b53e7ee906b182d4470e3f7a42195c912c89624b41a9f8d0cd022018f3da9a174f8635b4e54ef5961e0d986d59aebdac56cfacbaaed0c7168aef1c01210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "NONE"],
|
|
|
|
["Same as above, but with the sig in the scriptSig also pushed with the same non-standard OP_PUSHDATA"],
|
|
["Remove the 0x4c in the public key script to prove correctness"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0xe280cb6e66b96679aec288b1fbdbd4db08077a1b EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x48 0x3045022100d403cac2b75374b53e7ee906b182d4470e3f7a42195c912c89624b41a9f8d0cd022018f3da9a174f8635b4e54ef5961e0d986d59aebdac56cfacbaaed0c7168aef1c01"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01000000000000000000000151000000000000000001000000000000000000000000000000006c4c483045022100d403cac2b75374b53e7ee906b182d4470e3f7a42195c912c89624b41a9f8d0cd022018f3da9a174f8635b4e54ef5961e0d986d59aebdac56cfacbaaed0c7168aef1c01210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "NONE"],
|
|
|
|
["This is the nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG"],
|
|
["but with the signature duplicated in the scriptPubKey with a different hashtype suffix"],
|
|
["See removeOpcodeByData, which will only remove if the signature, including the hash type, matches"],
|
|
["Change the final 81 in the public key script to 01 to prove correctness"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0xe280cb6e66b96679aec288b1fbdbd4db08077a1b EQUALVERIFY CHECKSIGVERIFY 1 0x48 0x3045022100d403cac2b75374b53e7ee906b182d4470e3f7a42195c912c89624b41a9f8d0cd022018f3da9a174f8635b4e54ef5961e0d986d59aebdac56cfacbaaed0c7168aef1c81"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01000000000000000000000151000000000000000001000000000000000000000000000000006b483045022100d403cac2b75374b53e7ee906b182d4470e3f7a42195c912c89624b41a9f8d0cd022018f3da9a174f8635b4e54ef5961e0d986d59aebdac56cfacbaaed0c7168aef1c01210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "NONE"],
|
|
|
|
["An invalid P2SH Transaction"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7e1fdc4efcf81756453416ad61b88e9b66f0398e EQUAL"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010000000000000000000001510000000000000000010000000000000000000000000000000009085768617420697320", "NONE"],
|
|
|
|
["Tests for CheckTransaction()"],
|
|
["No inputs"],
|
|
["Skipped because this is not checked by txscript, this is a problem for chain."],
|
|
|
|
["No outputs"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x207b9fa91f9acc57e371d9cc1daed0eb29ee913b EQUAL"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000001000000000000000000000000000000006d483045022100f16703104aab4e4088317c862daec83440242411b039d14280e03dd33b487ab802201318a7be236672c5c56083eb7a5a195bc57a40af7923ff8545016cd3b571e2a601232103c40e5d339df3f30bf753e7e04450ae4ef76c9e45587d1d993bdc4cd06f0651c7ac", "NONE"],
|
|
|
|
["Negative output"],
|
|
["Removed because txscript doesn't do tx sanity checking."],
|
|
|
|
["MAX_MONEY + 1 output"],
|
|
["Removed because txscript doesn't do tx sanity checking."],
|
|
|
|
["MAX_MONEY output + 1 output"],
|
|
["Removed because txscript doesn't do tx sanity checking."],
|
|
|
|
["Duplicate inputs"],
|
|
["Removed because txscript doesn't check input duplication, chain does"],
|
|
|
|
["Coinbase of size 1"],
|
|
["Note the input is just required to make the tester happy"],
|
|
["Removed because txscript doesn't handle coinbase checking, chain does"],
|
|
|
|
["Coinbase of size 101"],
|
|
["Note the input is just required to make the tester happy"],
|
|
["Removed because txscript doesn't handle coinbase checking, chain does"],
|
|
|
|
["Null txin"],
|
|
["Removed because txscript doesn't do tx sanity checking."],
|
|
|
|
["One input SIGHASH_ALL and one SIGHASH_ANYONECANPAY, but we set the _ANYONECANPAY sequence number, invalidating the SIGHASH_ALL signature"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG"],
|
|
["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG"]],
|
|
"0100000002000100000000000000000000000000000000000000000000000000000000000000000000000100000000020000000000000000000000000000000000000000000000000000000000000000000000010000000101000000000000000000015100000000000000000200000000000000000000000000000000484730440220672f3e43db0fe4186453a821216fb67329430ee51e68ac1fce2df99b40fb3f2602205199eac8c92537603d0bd2c0f447a6930a84819c4b459a0407bc7a2efc9ed25101000000000000000000000000000000004847304402203adbbf331218a3413d3f9d00de5b4b6db98f5d390c9a6b246d5def621f860b10022068994ba0d4f562b88e189bd0059b57272b54de0b6cb8cdb78b83f6e8a76118ed81", "NONE"],
|
|
|
|
["CHECKMULTISIG with incorrect signature order"],
|
|
["Note the input is just required to make the tester happy"],
|
|
[[["b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223", 0, "HASH160 0x14 0x44a3733738b2401b73ae4628940cc5ceea811bd0 EQUAL"]],
|
|
"01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab30000000000ffffffff01803801000000000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000000000000100000000000000000000000000000000fd4501483045022100916a68d57bd368ec03f20336edf24bbaab0449164e4b49ed3521751ca164033d02204dbdcb5f43e144be870986e741154798c75c973982c2cfc63662d977df262079014830450221009f12199e27497a8cef1e0839605ed80b2febf610dbad1be40e71024d3cf71cc2022020a00a38f8a0251b4458c00429890f3472961f774fb459e1480354c6ec555c6e01473044022065619c3964ff89d985d10d922d3525fc0aef467f31444be82d018dd05552cd28022050f22c503b332261c10835440b9cdd7b647ab9571afde4bb187a6369c2fa76c1014c6952210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817982102c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee52102f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f953ae", "NONE"],
|
|
|
|
|
|
["Empty pubkey"],
|
|
[[["229257c295e7f555421c1bfec8538dd30a4b5c37c1c8810bbe83cafa7811652c", 0, "0x00 CHECKSIG NOT"]],
|
|
"01000000012c651178faca83be0b81c8c1375c4b0ad38d53c8fe1b1c4255f5e795c25792220000000000ffffffff0101000000000000000000232102c2410f8891ae918cab4ffc4bb4a3b0881be67c7a1e7faa8b5acf9ab8932ec30cac0000000000000000010000000000000000000000000000000049483045022100d6044562284ac76c985018fc4a90127847708c9edb280996c507b28babdc4b2a02203d74eca3f1a4d1eea7ff77b528fde6d5dc324ec2dbfdb964ba885f643b9704cd01", "NONE"],
|
|
|
|
|
|
["Empty stack when we try to run CHECKSIG"],
|
|
[[["ad503f72c18df5801ee64d76090afe4c607fb2b822e9b7b63c5826c50e22fc3b", 0, "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG NOT"]],
|
|
"01000000013bfc220ec526583cb6b7e922b8b27f604cfe0a09764de61e80f58dc1723f50ad0000000000ffffffff01010000000000000000002321027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5ac0000000000000000010000000000000000000000000000000000", "NONE"],
|
|
|
|
|
|
["CODESEPARATOR is always invalid when passed over regardless of being executed"],
|
|
|
|
["CODESEPARATOR is invalid in an executed IF block"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "IF CODESEPARATOR ENDIF 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000016a000000000000000001000000000000000000000000000000000151", "NONE"],
|
|
|
|
["CODESEPARATOR is invalid in an unexecuted IF block"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "IF CODESEPARATOR ENDIF 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000016a000000000000000001000000000000000000000000000000000100", "NONE"],
|
|
|
|
|
|
["CHECKLOCKTIMEVERIFY tests"],
|
|
|
|
["By-height locks, with argument just beyond tx nLockTime"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]],
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000fe64cd1d00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000065cd1d00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 NOP2 1"]],
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000feffffff00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Argument missing"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000010000000000000000000000000000000001b1", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Argument negative with by-blockheight nLockTime=0"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Argument negative with by-blocktime nLockTime=500,000,000"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000065cd1d00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000200000000000000010000000000000000000000000000000004005194b1", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Input locked"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010000000000000000000000020000000000000001000000000000000000000000000000000251b1", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"] ,
|
|
["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]],
|
|
"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff000200000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Argument/tx height/time mismatch, both versions"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000065cd1d00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000065cd1d0000000001000000000000000000000000000000000251b1", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000065cd1d00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]],
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff64cd1d00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Argument 2^32 with nLockTime=2^32-1"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 NOP2 1"]],
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffffffff00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Same, but with nLockTime=2^31-1"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 NOP2 1"]],
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffffff7f00000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 NOP2 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]],
|
|
"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000251b1", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["Failure due to failing CHECKLOCKTIMEVERIFY in redeemScript"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x69780eeb90f65bf4cec3c17aeb3d466b88e7be66 EQUAL"]],
|
|
"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000030251b1", "CHECKLOCKTIMEVERIFY"],
|
|
|
|
["CHECKSEQUENCEVERIFY tests"],
|
|
|
|
["By-height locks, with argument just beyond txin.sequence"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "65535 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff00000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["By-time locks, with argument just beyond txin.sequence (but within numerical boundries)"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194305 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Argument missing"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Argument negative with by-blockheight txin.sequence=0"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Argument negative with by-blocktime txin.sequence=threshold"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Argument/tx height/time mismatch, both versions"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "65535 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194304 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 CHECKSEQUENCEVERIFY 1"]],
|
|
"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Failure due to failing CHECKSEQUENCEVERIFY in signature script"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]],
|
|
"02000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000251b2", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Failure due to failing CHECKSEQUENCEVERIFY in redeem script"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x2bdb899598acb78ab63c2113434bbda853220b72 EQUAL"]],
|
|
"0200000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000030251b2", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Failure due to insufficient tx version (<2)"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKSEQUENCEVERIFY 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194304 CHECKSEQUENCEVERIFY 1"]],
|
|
"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000000000000000010000000000000000000000000000000000", "CHECKSEQUENCEVERIFY"],
|
|
|
|
["Make diffs cleaner by leaving a comment here without comma at the end"]
|
|
]
|