script: add SCRIPT_ERR_TAPSCRIPT_EMPTY_PUBKEY

Empty public keys in tapscript are rejected by consensus rules, independent of SCRIPT_VERIFY_STRICTENC. Add SCRIPT_ERR_TAPSCRIPT_EMPTY_PUBKEY to distinguish this from STRICTENC policy failures currently reported as SCRIPT_ERR_PUBKEYTYPE.
This commit is contained in:
billymcbip
2025-11-27 15:41:10 +01:00
parent 808f1d972b
commit 9d5021a05b
6 changed files with 29 additions and 12 deletions

View File

@@ -2667,6 +2667,19 @@
"OK",
"TAPSCRIPT Test that DROP operations do not execute inside of a false IF conditional"
],
[
[
"aa",
"#SCRIPT# 0 CHECKSIG",
"#CONTROLBLOCK#",
0.00000001
],
"",
"0x51 0x20 #TAPROOTOUTPUT#",
"P2SH,WITNESS,TAPROOT",
"TAPSCRIPT_EMPTY_PUBKEY",
"TAPSCRIPT: OP_CHECKSIG with empty pubkey must fail"
],
["NULLFAIL should cover all signatures and signatures only"],
["0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", "DERSIG", "OK", "BIP66 and NULLFAIL-compliant"],