diff --git a/src/test/data/script_tests.json b/src/test/data/script_tests.json --- a/src/test/data/script_tests.json +++ b/src/test/data/script_tests.json @@ -253,9 +253,7 @@ "Discouraged NOPs are allowed if not executed"], ["0", "IF CHECKDATASIG ELSE 1 ENDIF", "P2SH,STRICTENC", "OK"], -["0", "IF CHECKDATASIG ELSE 1 ENDIF", "P2SH,STRICTENC,CHECKDATASIG", "OK"], ["0", "IF CHECKDATASIGVERIFY ELSE 1 ENDIF", "P2SH,STRICTENC", "OK"], -["0", "IF CHECKDATASIGVERIFY ELSE 1 ENDIF", "P2SH,STRICTENC,CHECKDATASIG", "OK"], ["0", "IF 0xbc ELSE 1 ENDIF", "P2SH,STRICTENC", "OK", "opcodes >= FIRST_UNDEFINED_OP_VALUE invalid if executed"], ["0", "IF 0xbd ELSE 1 ENDIF", "P2SH,STRICTENC", "OK"], ["0", "IF 0xbe ELSE 1 ENDIF", "P2SH,STRICTENC", "OK"], @@ -1049,166 +1047,166 @@ ["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"], +["", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL", "INVALID_STACK_OPERATION"], +["0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL", "INVALID_STACK_OPERATION"], +["0 0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL", "INVALID_STACK_OPERATION"], [ "0 0", "0 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "PUBKEYTYPE" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "EVAL_FALSE" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,CHECKDATASIG", + "P2SH,STRICTENC", "EVAL_FALSE", "Check that NULLFAIL trigger only when specified" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "NULLFAIL" ], [ "0x09 0x300602010102010101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "SIG_DER", "Ensure that sighashtype is ignored" ], [ "0x09 0x300702010102020001 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "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"], +["", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC", "INVALID_STACK_OPERATION"], +["0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL", "INVALID_STACK_OPERATION"], +["0 0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL", "INVALID_STACK_OPERATION"], [ "0 0", "0 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "PUBKEYTYPE" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "CHECKDATASIGVERIFY" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,CHECKDATASIG", + "P2SH,STRICTENC", "CHECKDATASIGVERIFY", "Check that NULLFAIL trigger only when specified" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "NULLFAIL" ], [ "0x09 0x300602010102010101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "SIG_DER", "Ensure that sighashtype is ignored" ], [ "0x09 0x300702010102020001 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "SIG_DER", "Non cannonical DER encoding" ], ["Schnorr flag on: CHECKDATASIG unchanged"], -["", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", "INVALID_STACK_OPERATION"], -["0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", "INVALID_STACK_OPERATION"], -["0 0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", "INVALID_STACK_OPERATION"], +["", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,SCHNORR", "INVALID_STACK_OPERATION"], +["0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,SCHNORR", "INVALID_STACK_OPERATION"], +["0 0", "CHECKDATASIG", "P2SH,STRICTENC,NULLFAIL,SCHNORR", "INVALID_STACK_OPERATION"], [ "0 0", "0 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "PUBKEYTYPE" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "EVAL_FALSE" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,SCHNORR", "EVAL_FALSE", "Check that NULLFAIL trigger only when specified" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "NULLFAIL" ], [ "0x09 0x300602010102010101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "SIG_DER", "Ensure that sighashtype is ignored" ], [ "0x09 0x300702010102020001 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "SIG_DER", "Non cannonical DER encoding" ], ["Schnorr flag on: CHECKDATASIGVERIFY unchanged"], -["", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,CHECKDATASIG,SCHNORR", "INVALID_STACK_OPERATION"], -["0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", "INVALID_STACK_OPERATION"], -["0 0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", "INVALID_STACK_OPERATION"], +["", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,SCHNORR", "INVALID_STACK_OPERATION"], +["0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,SCHNORR", "INVALID_STACK_OPERATION"], +["0 0", "CHECKDATASIGVERIFY 1", "P2SH,STRICTENC,NULLFAIL,SCHNORR", "INVALID_STACK_OPERATION"], [ "0 0", "0 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "PUBKEYTYPE" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "CHECKDATASIGVERIFY" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,SCHNORR", "CHECKDATASIGVERIFY", "Check that NULLFAIL trigger only when specified" ], [ "0x08 0x3006020101020101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "NULLFAIL" ], [ "0x09 0x300602010102010101 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "SIG_DER", "Ensure that sighashtype is ignored" ], [ "0x09 0x300702010102020001 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG,SCHNORR", + "P2SH,STRICTENC,NULLFAIL,SCHNORR", "SIG_DER", "Non cannonical DER encoding" ], @@ -1584,9 +1582,9 @@ ["64/65-byte sig length tests"], ["0x41 0x303e021d4444444444444444444444444444444444444444444444444444444444021d444444444444444444444444444444444444444444444444444444444401", "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG NOT", "", "OK"], -["0x40 0x303e021d4444444444444444444444444444444444444444444444444444444444021d4444444444444444444444444444444444444444444444444444444444", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "CHECKDATASIG", "OK"], +["0x40 0x303e021d4444444444444444444444444444444444444444444444444444444444021d4444444444444444444444444444444444444444444444444444444444", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "", "OK"], ["0x41 0x303e021d4444444444444444444444444444444444444444444444444444444444021d444444444444444444444444444444444444444444444444444444444401", " 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG NOT", "SCHNORR", "OK"], -["0x40 0x303e021d4444444444444444444444444444444444444444444444444444444444021d4444444444444444444444444444444444444444444444444444444444", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "CHECKDATASIG,SCHNORR", "OK"], +["0x40 0x303e021d4444444444444444444444444444444444444444444444444444444444021d4444444444444444444444444444444444444444444444444444444444", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "SCHNORR", "OK"], ["0 0x41 0x303e021d4444444444444444444444444444444444444444444444444444444444021d444444444444444444444444444444444444444444444444444444444401", "1 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 1 CHECKMULTISIG NOT", "", "OK"], ["0 0x41 0x303e021d4444444444444444444444444444444444444444444444444444444444021d444444444444444444444444444444444444444444444444444444444401", "1 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 1 CHECKMULTISIG NOT", "STRICTENC", "OK"], ["0 0x41 0x303e021d4444444444444444444444444444444444444444444444444444444444021d444444444444444444444444444444444444444444444444444444444401", "1 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 1 CHECKMULTISIG NOT", "SCHNORR", "SIG_BADLENGTH"], @@ -1597,9 +1595,9 @@ ["0x41 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG NOT", "", "OK"], ["0x41 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG NOT", "STRICTENC", "SIG_DER"], ["0x41 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKSIG NOT", "STRICTENC,SCHNORR", "OK"], -["0x40 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "CHECKDATASIG", "OK"], -["0x40 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "CHECKDATASIG,STRICTENC", "SIG_DER"], -["0x40 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "CHECKDATASIG,STRICTENC,SCHNORR", "OK"], +["0x40 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "", "OK"], +["0x40 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "STRICTENC", "SIG_DER"], +["0x40 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 CHECKDATASIG NOT", "STRICTENC,SCHNORR", "OK"], ["0 0x41 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "1 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 1 CHECKMULTISIG NOT", "", "OK"], ["0 0x41 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "1 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 1 CHECKMULTISIG NOT", "STRICTENC", "SIG_DER"], ["0 0x41 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "1 0x21 0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 1 CHECKMULTISIG NOT", "STRICTENC,SCHNORR", "SIG_BADLENGTH"], @@ -2319,168 +2317,168 @@ [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "OK", "Standard CHECKDATASIG" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "NULLFAIL", "CHECKDATASIG with NULLFAIL flags" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", - "CHECKDATASIG,STRICTENC", + "STRICTENC", "OK", "CHECKDATASIG without NULLFAIL flags" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "OK", "CHECKDATASIG empty signature" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "OK", "CHECKDATASIG with High S but no Low S" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,LOW_S,NULLFAIL,STRICTENC", + "LOW_S,NULLFAIL,STRICTENC", "SIG_HIGH_S", "CHECKDATASIG with High S" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL", + "NULLFAIL", "OK", "CHECKDATASIG with too little R padding but no DERSIG" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "SIG_DER", "CHECKDATASIG with too little R padding" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL", + "NULLFAIL", "OK", "CHECKDATASIG with hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "PUBKEYTYPE", "CHECKDATASIG with hybrid pubkey" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG NOT", - "CHECKDATASIG", + "", "OK", "CHECKDATASIG with invalid hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "PUBKEYTYPE", "CHECKDATASIG with invalid hybrid pubkey" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "OK", "Standard CHECKDATASIGVERIFY" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "NULLFAIL", "CHECKDATASIGVERIFY with NULLFAIL flags" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,STRICTENC", + "STRICTENC", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY without NULLFAIL flags" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY empty signature" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "OK", "CHECKDATASIG with High S but no Low S" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,LOW_S,NULLFAIL,STRICTENC", + "LOW_S,NULLFAIL,STRICTENC", "SIG_HIGH_S", "CHECKDATASIG with High S" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL", + "NULLFAIL", "OK", "CHECKDATASIGVERIFY with too little R padding but no DERSIG" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "SIG_DER", "CHECKDATASIGVERIFY with too little R padding" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL", + "NULLFAIL", "OK", "CHECKDATASIGVERIFY with hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "PUBKEYTYPE", "CHECKDATASIGVERIFY with hybrid pubkey" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG", + "", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,STRICTENC", + "NULLFAIL,STRICTENC", "PUBKEYTYPE", "CHECKDATASIGVERIFY with invalid hybrid pubkey" ], @@ -2529,168 +2527,168 @@ [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "OK", "Standard CHECKDATASIG" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "NULLFAIL", "CHECKDATASIG with NULLFAIL flags" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG without NULLFAIL flags" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG NOT", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "OK", "CHECKDATASIG empty signature" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "OK", "CHECKDATASIG with High S but no Low S" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,LOW_S,NULLFAIL,SCHNORR,STRICTENC", + "LOW_S,NULLFAIL,SCHNORR,STRICTENC", "SIG_HIGH_S", "CHECKDATASIG with High S" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR", + "NULLFAIL,SCHNORR", "OK", "CHECKDATASIG with too little R padding but no DERSIG" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "SIG_DER", "CHECKDATASIG with too little R padding" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR", + "NULLFAIL,SCHNORR", "OK", "CHECKDATASIG with hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "PUBKEYTYPE", "CHECKDATASIG with hybrid pubkey" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG NOT", - "CHECKDATASIG", + "", "OK", "CHECKDATASIG with invalid hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "PUBKEYTYPE", "CHECKDATASIG with invalid hybrid pubkey" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "OK", "Standard CHECKDATASIGVERIFY" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "NULLFAIL", "CHECKDATASIGVERIFY with NULLFAIL flags" ], [ "0x46 0x3044022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022037964f01a61db1b24ea44137b3d67d7095ec25f68bd7b508e01441e5539d96a9 1", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY without NULLFAIL flags" ], [ "0 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY empty signature" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "OK", "CHECKDATASIG with High S but no Low S" ], [ "0x47 0x3045022021309a532a60d471cc4ef025a96572c7bf26c4640b53c7d45e411a5aa99980f6022100c869b0fe59e24e4db15bbec84c29828e24c2b6f02370eb32dfbe1ca77c98aa98 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,LOW_S,NULLFAIL,SCHNORR,STRICTENC", + "LOW_S,NULLFAIL,SCHNORR,STRICTENC", "SIG_HIGH_S", "CHECKDATASIG with High S" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR", + "NULLFAIL,SCHNORR", "OK", "CHECKDATASIGVERIFY with too little R padding but no DERSIG" ], [ "0x46 0x3044022093cbfaab2bbef6fc019d1286018fd11e2612d817756d40913b3f82a428f1e90a022045d010bd0f3c31aa470d096bb3f693275214f48d4e727f45a9e0adb2645d7489 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "SIG_DER", "CHECKDATASIGVERIFY with too little R padding" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR", + "NULLFAIL,SCHNORR", "OK", "CHECKDATASIGVERIFY with hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "PUBKEYTYPE", "CHECKDATASIGVERIFY with hybrid pubkey" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG", + "", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0de8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d 0", "0x41 0x0679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,NULLFAIL,SCHNORR,STRICTENC", + "NULLFAIL,SCHNORR,STRICTENC", "PUBKEYTYPE", "CHECKDATASIGVERIFY with invalid hybrid pubkey" ], @@ -2837,168 +2835,168 @@ [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG", + "", "EVAL_FALSE", "CHECKDATASIG Schnorr w/ neither STRICTENC,SCHNORR" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG", + "", "OK", "CHECKDATASIG ECDSA w/ neither STRICTENC,SCHNORR" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,SCHNORR", + "SCHNORR", "OK", "CHECKDATASIG Schnorr w/ SCHNORR" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,SCHNORR", + "SCHNORR", "OK", "CHECKDATASIG ECDSA w/ SCHNORR" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,STRICTENC", + "STRICTENC", "SIG_DER", "CHECKDATASIG Schnorr w/ STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,STRICTENC", + "STRICTENC", "OK", "CHECKDATASIG ECDSA w/ STRICTENC" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG Schnorr w/ STRICTENC,SCHNORR" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG ECDSA w/ STRICTENC,SCHNORR" ], [ "0x40 0x65c4bceda6ebb49e692180387e72c84be500f3431daac85d08d5d6c527e296f5b8a5b868a681f76aee309ad05e152b4f190732b3e7c46ef788b68c6035f6eab0", "0 0x41 0x048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf CHECKDATASIG", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG Schnorr other key" ], [ "0x40 0x65c4bceda6ebb49e692180387e72c84be500f3431daac85d08d5d6c527e296f5b8a5b868a681f76aee309ad05e152b4f190732b3e7c46ef788b68c6035f6eab0", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIG NOT", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG Schnorr mismatched key" ], [ "0x40 0xe20d68eea1c55d8c23310ef33b4c68e3d876b1c5a36595f4dcc9d728894c957879e53bb4aebf8b3aa36861d89266ff864d2c3f513ab6f79c9d226ad45fbf5407", "1 0x41 0x048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf CHECKDATASIG", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG Schnorr other message" ], [ "0x40 0xe20d68eea1c55d8c23310ef33b4c68e3d876b1c5a36595f4dcc9d728894c957879e53bb4aebf8b3aa36861d89266ff864d2c3f513ab6f79c9d226ad45fbf5407", "0 0x41 0x048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf CHECKDATASIG NOT", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIG Schnorr wrong message" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG", + "", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY Schnorr w/ neither STRICTENC,SCHNORR" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG", + "", "OK", "CHECKDATASIGVERIFY ECDSA w/ neither STRICTENC,SCHNORR" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR", + "SCHNORR", "OK", "CHECKDATASIGVERIFY Schnorr w/ SCHNORR" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR", + "SCHNORR", "OK", "CHECKDATASIGVERIFY ECDSA w/ SCHNORR" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,STRICTENC", + "STRICTENC", "SIG_DER", "CHECKDATASIGVERIFY Schnorr w/ STRICTENC" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,STRICTENC", + "STRICTENC", "OK", "CHECKDATASIGVERIFY ECDSA w/ STRICTENC" ], [ "0x40 0x9db0671f61f1fafa84aaab76ad2e070b27cf9ae85338bafc0b947ac9ad8c56ff7b24aa76c95ad86bb13cbff314742dbe1f545869d1a28efa54b411ccd37717e5", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIGVERIFY Schnorr w/ STRICTENC,SCHNORR" ], [ "0x46 0x304402205ffea7d9fa4e0ce8058c96edfb721aaf2840912080ac4ae86a92d9462e69fde302203567149cb9c8c343523a87d7a64be304983899d2e2c6f267a7136c48ff21908d", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIGVERIFY ECDSA w/ STRICTENC,SCHNORR" ], [ "0x40 0x65c4bceda6ebb49e692180387e72c84be500f3431daac85d08d5d6c527e296f5b8a5b868a681f76aee309ad05e152b4f190732b3e7c46ef788b68c6035f6eab0", "0 0x41 0x048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIGVERIFY Schnorr other key" ], [ "0x40 0x65c4bceda6ebb49e692180387e72c84be500f3431daac85d08d5d6c527e296f5b8a5b868a681f76aee309ad05e152b4f190732b3e7c46ef788b68c6035f6eab0", "0 0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY Schnorr mismatched key" ], [ "0x40 0xe20d68eea1c55d8c23310ef33b4c68e3d876b1c5a36595f4dcc9d728894c957879e53bb4aebf8b3aa36861d89266ff864d2c3f513ab6f79c9d226ad45fbf5407", "1 0x41 0x048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "OK", "CHECKDATASIGVERIFY Schnorr other message" ], [ "0x40 0xe20d68eea1c55d8c23310ef33b4c68e3d876b1c5a36595f4dcc9d728894c957879e53bb4aebf8b3aa36861d89266ff864d2c3f513ab6f79c9d226ad45fbf5407", "0 0x41 0x048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf CHECKDATASIGVERIFY 1", - "CHECKDATASIG,SCHNORR,STRICTENC", + "SCHNORR,STRICTENC", "CHECKDATASIGVERIFY", "CHECKDATASIGVERIFY Schnorr wrong message" ], diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -1169,9 +1169,8 @@ .ScriptError(SCRIPT_ERR_EVAL_FALSE)); // Test OP_CHECKDATASIG - const uint32_t checkdatasigflags = SCRIPT_VERIFY_STRICTENC | - SCRIPT_VERIFY_NULLFAIL | - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS; + const uint32_t checkdatasigflags = + SCRIPT_VERIFY_STRICTENC | SCRIPT_VERIFY_NULLFAIL; tests.push_back( TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKDATASIG, @@ -1239,7 +1238,7 @@ TestBuilder(CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIG << OP_NOT, "CHECKDATASIG with invalid hybrid pubkey but no STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) + 0) .PushDataSigECDSA(keys.key0, {}) .DamagePush(10) .Num(0)); @@ -1328,8 +1327,7 @@ TestBuilder( CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIGVERIFY << OP_TRUE, - "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) + "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC", 0) .PushDataSigECDSA(keys.key0, {}) .DamagePush(10) .Num(0) @@ -1391,9 +1389,9 @@ .ScriptError(SCRIPT_ERR_PUBKEYTYPE)); // Duplicated test OP_CHECKDATASIG with Schnorr flag on - const uint32_t checkdatasigschnorrflags = - SCRIPT_VERIFY_STRICTENC | SCRIPT_VERIFY_NULLFAIL | - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_ENABLE_SCHNORR; + const uint32_t checkdatasigschnorrflags = SCRIPT_VERIFY_STRICTENC | + SCRIPT_VERIFY_NULLFAIL | + SCRIPT_ENABLE_SCHNORR; tests.push_back( TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKDATASIG, @@ -1464,7 +1462,7 @@ TestBuilder(CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIG << OP_NOT, "CHECKDATASIG with invalid hybrid pubkey but no STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) + 0) .PushDataSigECDSA(keys.key0, {}) .DamagePush(10) .Num(0)); @@ -1554,8 +1552,7 @@ TestBuilder( CScript() << ToByteVector(keys.pubkey0H) << OP_CHECKDATASIGVERIFY << OP_TRUE, - "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) + "CHECKDATASIGVERIFY with invalid hybrid pubkey but no STRICTENC", 0) .PushDataSigECDSA(keys.key0, {}) .DamagePush(10) .Num(0) @@ -1680,82 +1677,64 @@ tests.push_back( TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIG, - "CHECKDATASIG Schnorr w/ neither STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) + "CHECKDATASIG Schnorr w/ neither STRICTENC,SCHNORR", 0) .PushDataSigSchnorr(keys.key0, {}) .ScriptError(SCRIPT_ERR_EVAL_FALSE)); tests.push_back( TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIG, - "CHECKDATASIG ECDSA w/ neither STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) - .PushDataSigECDSA(keys.key0, {})); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIG, - "CHECKDATASIG Schnorr w/ SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_ENABLE_SCHNORR) - .PushDataSigSchnorr(keys.key0, {})); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIG, - "CHECKDATASIG ECDSA w/ SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_ENABLE_SCHNORR) - .PushDataSigECDSA(keys.key0, {})); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIG, - "CHECKDATASIG Schnorr w/ STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_VERIFY_STRICTENC) - .PushDataSigSchnorr(keys.key0, {}) - .ScriptError(SCRIPT_ERR_SIG_DER)); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIG, - "CHECKDATASIG ECDSA w/ STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_VERIFY_STRICTENC) + "CHECKDATASIG ECDSA w/ neither STRICTENC,SCHNORR", 0) .PushDataSigECDSA(keys.key0, {})); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIG, + "CHECKDATASIG Schnorr w/ SCHNORR", + SCRIPT_ENABLE_SCHNORR) + .PushDataSigSchnorr(keys.key0, {})); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIG, + "CHECKDATASIG ECDSA w/ SCHNORR", + SCRIPT_ENABLE_SCHNORR) + .PushDataSigECDSA(keys.key0, {})); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIG, + "CHECKDATASIG Schnorr w/ STRICTENC", + SCRIPT_VERIFY_STRICTENC) + .PushDataSigSchnorr(keys.key0, {}) + .ScriptError(SCRIPT_ERR_SIG_DER)); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIG, + "CHECKDATASIG ECDSA w/ STRICTENC", + SCRIPT_VERIFY_STRICTENC) + .PushDataSigECDSA(keys.key0, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIG, "CHECKDATASIG Schnorr w/ STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key0, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIG, "CHECKDATASIG ECDSA w/ STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigECDSA(keys.key0, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey1) << OP_CHECKDATASIG, "CHECKDATASIG Schnorr other key", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIG << OP_NOT, "CHECKDATASIG Schnorr mismatched key", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {})); tests.push_back(TestBuilder(CScript() << OP_1 << ToByteVector(keys.pubkey1) << OP_CHECKDATASIG, "CHECKDATASIG Schnorr other message", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {1})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey1) << OP_CHECKDATASIG << OP_NOT, "CHECKDATASIG Schnorr wrong message", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {1})); // CHECKDATASIGVERIFY and Schnorr @@ -1763,82 +1742,66 @@ TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY Schnorr w/ neither STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) + 0) .PushDataSigSchnorr(keys.key0, {}) .ScriptError(SCRIPT_ERR_CHECKDATASIGVERIFY)); tests.push_back( TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIGVERIFY << OP_1, - "CHECKDATASIGVERIFY ECDSA w/ neither STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS) - .PushDataSigECDSA(keys.key0, {})); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIGVERIFY << OP_1, - "CHECKDATASIGVERIFY Schnorr w/ SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_ENABLE_SCHNORR) - .PushDataSigSchnorr(keys.key0, {})); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIGVERIFY << OP_1, - "CHECKDATASIGVERIFY ECDSA w/ SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_ENABLE_SCHNORR) - .PushDataSigECDSA(keys.key0, {})); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIGVERIFY << OP_1, - "CHECKDATASIGVERIFY Schnorr w/ STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_VERIFY_STRICTENC) - .PushDataSigSchnorr(keys.key0, {}) - .ScriptError(SCRIPT_ERR_SIG_DER)); - tests.push_back( - TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) - << OP_CHECKDATASIGVERIFY << OP_1, - "CHECKDATASIGVERIFY ECDSA w/ STRICTENC", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_VERIFY_STRICTENC) + "CHECKDATASIGVERIFY ECDSA w/ neither STRICTENC,SCHNORR", 0) .PushDataSigECDSA(keys.key0, {})); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIGVERIFY << OP_1, + "CHECKDATASIGVERIFY Schnorr w/ SCHNORR", + SCRIPT_ENABLE_SCHNORR) + .PushDataSigSchnorr(keys.key0, {})); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIGVERIFY << OP_1, + "CHECKDATASIGVERIFY ECDSA w/ SCHNORR", + SCRIPT_ENABLE_SCHNORR) + .PushDataSigECDSA(keys.key0, {})); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIGVERIFY << OP_1, + "CHECKDATASIGVERIFY Schnorr w/ STRICTENC", + SCRIPT_VERIFY_STRICTENC) + .PushDataSigSchnorr(keys.key0, {}) + .ScriptError(SCRIPT_ERR_SIG_DER)); + tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) + << OP_CHECKDATASIGVERIFY << OP_1, + "CHECKDATASIGVERIFY ECDSA w/ STRICTENC", + SCRIPT_VERIFY_STRICTENC) + .PushDataSigECDSA(keys.key0, {})); tests.push_back( TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY Schnorr w/ STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key0, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY ECDSA w/ STRICTENC,SCHNORR", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigECDSA(keys.key0, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey1) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY Schnorr other key", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey0) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY Schnorr mismatched key", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {}) .ScriptError(SCRIPT_ERR_CHECKDATASIGVERIFY)); tests.push_back(TestBuilder(CScript() << OP_1 << ToByteVector(keys.pubkey1) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY Schnorr other message", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {1})); tests.push_back(TestBuilder(CScript() << OP_0 << ToByteVector(keys.pubkey1) << OP_CHECKDATASIGVERIFY << OP_1, "CHECKDATASIGVERIFY Schnorr wrong message", - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | - SCRIPT_ENABLE_SCHNORR | - SCRIPT_VERIFY_STRICTENC) + SCRIPT_ENABLE_SCHNORR | SCRIPT_VERIFY_STRICTENC) .PushDataSigSchnorr(keys.key1, {1}) .ScriptError(SCRIPT_ERR_CHECKDATASIGVERIFY));