Changeset View
Changeset View
Standalone View
Standalone View
src/test/data/script_tests.json
Show First 20 Lines • Show All 1,030 Lines • ▼ Show 20 Lines | |||||
["EQUAL"], | ["EQUAL"], | ||||
["", "EQUAL NOT", "P2SH,STRICTENC", "INVALID_STACK_OPERATION", "EQUAL must error when there are no stack items"], | ["", "EQUAL NOT", "P2SH,STRICTENC", "INVALID_STACK_OPERATION", "EQUAL must error when there are no stack items"], | ||||
["0", "EQUAL NOT", "P2SH,STRICTENC", "INVALID_STACK_OPERATION", "EQUAL must error when there are not 2 stack items"], | ["0", "EQUAL NOT", "P2SH,STRICTENC", "INVALID_STACK_OPERATION", "EQUAL must error when there are not 2 stack items"], | ||||
["0 1","EQUAL", "P2SH,STRICTENC", "EVAL_FALSE"], | ["0 1","EQUAL", "P2SH,STRICTENC", "EVAL_FALSE"], | ||||
["1 1 ADD", "0 EQUAL", "P2SH,STRICTENC", "EVAL_FALSE"], | ["1 1 ADD", "0 EQUAL", "P2SH,STRICTENC", "EVAL_FALSE"], | ||||
["11 1 ADD 12 SUB", "11 EQUAL", "P2SH,STRICTENC", "EVAL_FALSE"], | ["11 1 ADD 12 SUB", "11 EQUAL", "P2SH,STRICTENC", "EVAL_FALSE"], | ||||
["CHECKDATASIG"], | |||||
["", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "INVALID_STACK_OPERATION"], | |||||
["0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "INVALID_STACK_OPERATION"], | |||||
["0 0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "INVALID_STACK_OPERATION"], | |||||
["0 0 0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "OPERAND_SIZE"], | |||||
[ | |||||
"0 0x21 0x000000000000000000000000000000000000000000000000000000000000000001", | |||||
"0 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"OPERAND_SIZE" | |||||
], | |||||
[ | |||||
"0 0x1f 0x00000000000000000000000000000000000000000000000000000000000001", | |||||
"0 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"OPERAND_SIZE" | |||||
], | |||||
[ | |||||
"0 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"PUBKEYTYPE" | |||||
], | |||||
[ | |||||
"0 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"EVAL_FALSE" | |||||
], | |||||
[ | |||||
"0x08 0x3006020101020101 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"P2SH,STRICTENC,CHECKDATASIG", | |||||
"EVAL_FALSE", "Check that NULLFAIL trigger only when specified" | |||||
], | |||||
[ | |||||
"0x08 0x3006020101020101 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"NULLFAIL" | |||||
], | |||||
[ | |||||
"0x09 0x300602010102010101 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"SIG_DER", "Ensure that sighashtype is ignored" | |||||
], | |||||
[ | |||||
"0x09 0x300702010102020001 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"SIG_DER", "Non cannonical DER encoding" | |||||
], | |||||
["CHECKDATASIGVERIFY"], | |||||
["", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,CHECKDATASIG", "INVALID_STACK_OPERATION"], | |||||
["0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "INVALID_STACK_OPERATION"], | |||||
["0 0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "INVALID_STACK_OPERATION"], | |||||
["0 0 0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", "OPERAND_SIZE"], | |||||
[ | |||||
"0 0x21 0x000000000000000000000000000000000000000000000000000000000000000001", | |||||
"0 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"OPERAND_SIZE" | |||||
], | |||||
[ | |||||
"0 0x1f 0x00000000000000000000000000000000000000000000000000000000000001", | |||||
"0 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"OPERAND_SIZE" | |||||
], | |||||
[ | |||||
"0 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"PUBKEYTYPE" | |||||
], | |||||
[ | |||||
"0 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"CHECKDATASIGVERIFY" | |||||
], | |||||
[ | |||||
"0x08 0x3006020101020101 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,CHECKDATASIG", | |||||
"CHECKDATASIGVERIFY", "Check that NULLFAIL trigger only when specified" | |||||
], | |||||
[ | |||||
"0x08 0x3006020101020101 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"NULLFAIL" | |||||
], | |||||
[ | |||||
"0x09 0x300602010102010101 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"SIG_DER", "Ensure that sighashtype is ignored" | |||||
], | |||||
[ | |||||
"0x09 0x300702010102020001 0x20 0x0000000000000000000000000000000000000000000000000000000000000001", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", | |||||
"SIG_DER", "Non cannonical DER encoding" | |||||
], | |||||
["ADD"], | |||||
["2147483648 0 ADD", "NOP", "P2SH,STRICTENC", "UNKNOWN_ERROR", "arithmetic operands must be in range [-2^31...2^31] "], | ["2147483648 0 ADD", "NOP", "P2SH,STRICTENC", "UNKNOWN_ERROR", "arithmetic operands must be in range [-2^31...2^31] "], | ||||
["-2147483648 0 ADD", "NOP", "P2SH,STRICTENC", "UNKNOWN_ERROR", "arithmetic operands must be in range [-2^31...2^31] "], | ["-2147483648 0 ADD", "NOP", "P2SH,STRICTENC", "UNKNOWN_ERROR", "arithmetic operands must be in range [-2^31...2^31] "], | ||||
["2147483647 DUP ADD", "4294967294 NUMEQUAL", "P2SH,STRICTENC", "UNKNOWN_ERROR", "NUMEQUAL must be in numeric range"], | ["2147483647 DUP ADD", "4294967294 NUMEQUAL", "P2SH,STRICTENC", "UNKNOWN_ERROR", "NUMEQUAL must be in numeric range"], | ||||
["'abcdef' NOT", "0 EQUAL", "P2SH,STRICTENC", "UNKNOWN_ERROR", "NOT is an arithmetic operand"], | ["'abcdef' NOT", "0 EQUAL", "P2SH,STRICTENC", "UNKNOWN_ERROR", "NOT is an arithmetic operand"], | ||||
["2 DUP MUL", "4 EQUAL", "P2SH,STRICTENC", "DISABLED_OPCODE", "disabled"], | ["2 DUP MUL", "4 EQUAL", "P2SH,STRICTENC", "DISABLED_OPCODE", "disabled"], | ||||
["2 2MUL", "4 EQUAL", "P2SH,STRICTENC", "DISABLED_OPCODE", "disabled"], | ["2 2MUL", "4 EQUAL", "P2SH,STRICTENC", "DISABLED_OPCODE", "disabled"], | ||||
["2 2DIV", "1 EQUAL", "P2SH,STRICTENC", "DISABLED_OPCODE", "disabled"], | ["2 2DIV", "1 EQUAL", "P2SH,STRICTENC", "DISABLED_OPCODE", "disabled"], | ||||
Show All 17 Lines | |||||
["NOP10", "1", "P2SH,DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS", "Discouraged NOP10 in scriptSig"], | ["NOP10", "1", "P2SH,DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS", "Discouraged NOP10 in scriptSig"], | ||||
["1 0x01 0xb9", "HASH160 0x14 0x15727299b05b45fdaf9ac9ecf7565cfe27c3e567 EQUAL", | ["1 0x01 0xb9", "HASH160 0x14 0x15727299b05b45fdaf9ac9ecf7565cfe27c3e567 EQUAL", | ||||
"P2SH,DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS", "Discouraged NOP10 in redeemScript"], | "P2SH,DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS", "Discouraged NOP10 in redeemScript"], | ||||
["0x50","1", "P2SH,STRICTENC", "BAD_OPCODE", "opcode 0x50 is reserved"], | ["0x50","1", "P2SH,STRICTENC", "BAD_OPCODE", "opcode 0x50 is reserved"], | ||||
["1", "IF CHECKDATASIG ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF CHECKDATASIG ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF CHECKDATASIG ELSE 1 ENDIF", "P2SH,STRICTENC,CHECKDATASIG", "BAD_OPCODE"], | |||||
["1", "IF CHECKDATASIGVERIFY ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF CHECKDATASIGVERIFY ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF CHECKDATASIGVERIFY ELSE 1 ENDIF", "P2SH,STRICTENC,CHECKDATASIG", "BAD_OPCODE"], | |||||
["1", "IF 0xbc ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE", "opcodes >= FIRST_UNDEFINED_OP_VALUE invalid if executed"], | ["1", "IF 0xbc ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE", "opcodes >= FIRST_UNDEFINED_OP_VALUE invalid if executed"], | ||||
["1", "IF 0xbd ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xbd ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF 0xbe ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xbe ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF 0xbf ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xbf ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF 0xc0 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xc0 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF 0xc1 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xc1 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF 0xc2 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xc2 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
["1", "IF 0xc3 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ["1", "IF 0xc3 ELSE 1 ENDIF", "P2SH,STRICTENC", "BAD_OPCODE"], | ||||
▲ Show 20 Lines • Show All 1,031 Lines • ▼ Show 20 Lines | [ | ||||
123450.00000000 | 123450.00000000 | ||||
], | ], | ||||
"0x47 0x30440220368d68340dfbebf99d5ec87d77fba899763e466c0a7ab2fa0221fb868ab0f3ef0220266c1a52a8e5b7b597613b80cf53814d3925dfb6715dce712c8e7a25e63a044041", | "0x47 0x30440220368d68340dfbebf99d5ec87d77fba899763e466c0a7ab2fa0221fb868ab0f3ef0220266c1a52a8e5b7b597613b80cf53814d3925dfb6715dce712c8e7a25e63a044041", | ||||
"0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKSIG", | "0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKSIG", | ||||
"REPLAY_PROTECTION,SIGHASH_FORKID", | "REPLAY_PROTECTION,SIGHASH_FORKID", | ||||
"EVAL_FALSE", | "EVAL_FALSE", | ||||
"P2PK REPLAY PROTECTED" | "P2PK REPLAY PROTECTED" | ||||
], | ], | ||||
[ | |||||
"0x46 0x30440220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da0220519999b4f25b37de557a9c909cb5b155d1f0b11293b0890236696bfa0bd310e1 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"OK", | |||||
"Standard CHECKDATASIG" | |||||
], | |||||
[ | |||||
"0x46 0x30440220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da0220519999b4f25b37de557a9c909cb5b155d1f0b11293b0890236696bfa0bd310e1 0x20 0x0200000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"NULLFAIL", | |||||
"CHECKDATASIG with NULLFAIL flags" | |||||
], | |||||
[ | |||||
"0x46 0x30440220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da0220519999b4f25b37de557a9c909cb5b155d1f0b11293b0890236696bfa0bd310e1 0x20 0x0200000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", | |||||
"CHECKDATASIG,STRICTENC", | |||||
"OK", | |||||
"CHECKDATASIG without NULLFAIL flags" | |||||
], | |||||
[ | |||||
"0 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"OK", | |||||
"CHECKDATASIG empty signature" | |||||
], | |||||
[ | |||||
"0x47 0x30450220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da022100ae66664b0da4c821aa85636f634a4ea8e8be2bd41b9817398968f292c4633060 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"OK", | |||||
"CHECKDATASIG with High S but no Low S" | |||||
], | |||||
[ | |||||
"0x47 0x30450220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da022100ae66664b0da4c821aa85636f634a4ea8e8be2bd41b9817398968f292c4633060 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"CHECKDATASIG,LOW_S,NULLFAIL,STRICTENC", | |||||
"SIG_HIGH_S", | |||||
"CHECKDATASIG with High S" | |||||
], | |||||
[ | |||||
"0x46 0x30440220e54f8b4dc9b45e1e76207fd0062f3f8b09381e6131d9be3781d2a791fe889c96022038ff0a5f76c1b972149700568ea98b2932e163b5debc78814fc7f1b89f7bcf02 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL", | |||||
"OK", | |||||
"CHECKDATASIG with too little R padding but no DERSIG" | |||||
], | |||||
[ | |||||
"0x46 0x30440220e54f8b4dc9b45e1e76207fd0062f3f8b09381e6131d9be3781d2a791fe889c96022038ff0a5f76c1b972149700568ea98b2932e163b5debc78814fc7f1b89f7bcf02 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"SIG_DER", | |||||
"CHECKDATASIG with too little R padding" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51855179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL", | |||||
"OK", | |||||
"CHECKDATASIG with hybrid pubkey but no STRICTENC" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51855179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"PUBKEYTYPE", | |||||
"CHECKDATASIG with hybrid pubkey" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51854179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG NOT", | |||||
"CHECKDATASIG", | |||||
"OK", | |||||
"CHECKDATASIG with invalid hybrid pubkey but no STRICTENC" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51854179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"PUBKEYTYPE", | |||||
"CHECKDATASIG with invalid hybrid pubkey" | |||||
], | |||||
[ | |||||
"0x46 0x30440220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da0220519999b4f25b37de557a9c909cb5b155d1f0b11293b0890236696bfa0bd310e1 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"OK", | |||||
"Standard CHECKDATASIGVERIFY" | |||||
], | |||||
[ | |||||
"0x46 0x30440220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da0220519999b4f25b37de557a9c909cb5b155d1f0b11293b0890236696bfa0bd310e1 0x20 0x0200000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"NULLFAIL", | |||||
"CHECKDATASIGVERIFY with NULLFAIL flags" | |||||
], | |||||
[ | |||||
"0x46 0x30440220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da0220519999b4f25b37de557a9c909cb5b155d1f0b11293b0890236696bfa0bd310e1 0x20 0x0200000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,STRICTENC", | |||||
"CHECKDATASIGVERIFY", | |||||
"CHECKDATASIGVERIFY without NULLFAIL flags" | |||||
], | |||||
[ | |||||
"0 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"CHECKDATASIGVERIFY", | |||||
"CHECKDATASIGVERIFY empty signature" | |||||
], | |||||
[ | |||||
"0x47 0x30450220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da022100ae66664b0da4c821aa85636f634a4ea8e8be2bd41b9817398968f292c4633060 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"OK", | |||||
"CHECKDATASIG with High S but no Low S" | |||||
], | |||||
[ | |||||
"0x47 0x30450220052a549456efe256a8c190650648e7ebdd46161f330830733fc7c674aeb7d3da022100ae66664b0da4c821aa85636f634a4ea8e8be2bd41b9817398968f292c4633060 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,LOW_S,NULLFAIL,STRICTENC", | |||||
"SIG_HIGH_S", | |||||
"CHECKDATASIG with High S" | |||||
], | |||||
[ | |||||
"0x46 0x30440220e54f8b4dc9b45e1e76207fd0062f3f8b09381e6131d9be3781d2a791fe889c96022038ff0a5f76c1b972149700568ea98b2932e163b5debc78814fc7f1b89f7bcf02 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL", | |||||
"OK", | |||||
"CHECKDATASIGVERIFY with too little R padding but no DERSIG" | |||||
], | |||||
[ | |||||
"0x46 0x30440220e54f8b4dc9b45e1e76207fd0062f3f8b09381e6131d9be3781d2a791fe889c96022038ff0a5f76c1b972149700568ea98b2932e163b5debc78814fc7f1b89f7bcf02 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"SIG_DER", | |||||
"CHECKDATASIGVERIFY with too little R padding" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51855179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL", | |||||
"OK", | |||||
"CHECKDATASIGVERIFY with hybrid pubkey but no STRICTENC" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51855179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"PUBKEYTYPE", | |||||
"CHECKDATASIGVERIFY with hybrid pubkey" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51854179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG", | |||||
"CHECKDATASIGVERIFY", | |||||
"CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC" | |||||
], | |||||
[ | |||||
"0x46 0x304402201f9ab6bce51854179000754f239bcdc91682e556275514ec72a6b429b8972da2022076ba6228144dbaaeffb5e58ead6281a56bd4e3ae05f0890d1bbb5dad8f61b1ac 0x20 0x0100000000000000000000000000000000000000000000000000000000000000", | |||||
"0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", | |||||
"CHECKDATASIG,NULLFAIL,STRICTENC", | |||||
"PUBKEYTYPE", | |||||
"CHECKDATASIGVERIFY with invalid hybrid pubkey" | |||||
], | |||||
["CHECKSEQUENCEVERIFY tests"], | ["CHECKSEQUENCEVERIFY tests"], | ||||
["", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "INVALID_STACK_OPERATION", "CSV automatically fails on a empty stack"], | ["", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "INVALID_STACK_OPERATION", "CSV automatically fails on a empty stack"], | ||||
["-1", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "NEGATIVE_LOCKTIME", "CSV automatically fails if stack top is negative"], | ["-1", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "NEGATIVE_LOCKTIME", "CSV automatically fails if stack top is negative"], | ||||
["0x0100", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY,MINIMALDATA", "UNKNOWN_ERROR", "CSV fails if stack top is not minimally encoded"], | ["0x0100", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY,MINIMALDATA", "UNKNOWN_ERROR", "CSV fails if stack top is not minimally encoded"], | ||||
["0", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME", "CSV fails if stack top bit 1 << 31 is set and the tx version < 2"], | ["0", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME", "CSV fails if stack top bit 1 << 31 is set and the tx version < 2"], | ||||
["4294967296", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME", | ["4294967296", "CHECKSEQUENCEVERIFY", "CHECKSEQUENCEVERIFY", "UNSATISFIED_LOCKTIME", | ||||
"CSV fails if stack top bit 1 << 31 is not set, and tx version < 2"], | "CSV fails if stack top bit 1 << 31 is not set, and tx version < 2"], | ||||
▲ Show 20 Lines • Show All 58 Lines • Show Last 20 Lines |