Skip to main content

Module flags

Module flags 

Source
Expand description

Script verification flags matching Bitcoin Core interpreter.h.

These constants map directly to Bitcoin Core’s SCRIPT_VERIFY_* flags. Divergence from Core’s values is a consensus bug.

Reference: bitcoin/bitcoin src/script/interpreter.h (Bitcoin Core 26+).

Constants§

SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY
Enable OP_CHECKLOCKTIMEVERIFY (BIP65).
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY
Enable OP_CHECKSEQUENCEVERIFY (BIP112).
SCRIPT_VERIFY_CLEANSTACK
Require clean stack after script evaluation (BIP62).
SCRIPT_VERIFY_CONST_SCRIPTCODE
Signature hash must not hash the script code after a CODESEPARATOR (BIP143 §4).
SCRIPT_VERIFY_DERSIG
Enforce strict DER signature encoding (BIP66).
SCRIPT_VERIFY_DISCOURAGE_OP_SUCCESS
Reject OP_SUCCESS opcodes that are not re-defined by a known Tapscript upgrade.
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS
NOPs 1–10 are reserved; treat them as invalid if a future soft-fork hasn’t defined them.
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_PUBKEYTYPE
Reject unknown pubkey types in Tapscript (allows future soft-forks).
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION
Reject unknown Taproot leaf versions (allows future soft-forks).
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
Reject unknown witness program versions (allows future soft-forks).
SCRIPT_VERIFY_LOW_S
Enforce low-S signature requirement (BIP62).
SCRIPT_VERIFY_MINIMALDATA
Require minimal encoding for pushdata (BIP62 rule 3 & 4).
SCRIPT_VERIFY_MINIMALIF
Require minimal IF argument (BIP342 and pre-taproot cleanups).
SCRIPT_VERIFY_NONE
No flags — bare pubkey / standard evaluation.
SCRIPT_VERIFY_NULLDUMMY
OP_CHECKMULTISIG dummy element must be OP_0 (BIP147).
SCRIPT_VERIFY_NULLFAIL
Require empty sig on CHECKSIG failure (BIP342 null-fail rule).
SCRIPT_VERIFY_P2SH
Evaluate P2SH subscripts (BIP16).
SCRIPT_VERIFY_SIGPUSHONLY
Require only push opcodes in scriptSig.
SCRIPT_VERIFY_STRICTENC
Require DER-encoded signatures (BIP66 stricter encoding).
SCRIPT_VERIFY_TAPROOT
Enable Taproot/Tapscript evaluation (BIP341/342).
SCRIPT_VERIFY_WITNESS
Enable Segregated Witness evaluation (BIP141/143).
SCRIPT_VERIFY_WITNESS_PUBKEYTYPE
Require compressed public keys in witness programs (BIP143).
SEGWIT_STANDARD_FLAGS
Standard mandatory flags for segwit-v0 transactions (pre-Taproot).
TAPROOT_STANDARD_FLAGS
Full Taproot activation flag set (P2SH + SegWit + Taproot).