Names of the individual SCRIPT_VERIFY_* verification flags (forward declaration).
Synopsis
Declared in <script/interpreter.h>
enum class script_verify_flag_name : uint8_t;
Members
Name |
Description |
|
Evaluate P2SH subscripts (BIP16). |
|
Passing a non‐strict‐DER signature or one with undefined hashtype to a checksig operation causes script failure. Evaluating a pubkey that is not (0x04 + 64 bytes) or (0x02 or 0x03 + 32 bytes) by checksig causes script failure. (not used or intended as a consensus rule). |
|
Passing a non‐strict‐DER signature to a checksig operation causes script failure (BIP62 rule 1) |
|
Passing a non‐strict‐DER signature or one with S > order/2 to a checksig operation causes script failure (BIP62 rule 5). |
|
verify dummy stack item consumed by CHECKMULTISIG is of zero‐length (BIP62 rule 7). |
|
Using a non‐push operator in the scriptSig causes script failure (BIP62 rule 2). |
|
Require minimal encodings for all push operations (OP_0... OP_16, OP_1NEGATE where possible, direct pushes up to 75 bytes, OP_PUSHDATA up to 255 bytes, OP_PUSHDATA2 for anything larger). Evaluating any other push causes the script to fail (BIP62 rule 3). In addition, whenever a stack element is interpreted as a number, it must be of minimal length (BIP62 rule 4). |
|
Discourage use of NOPs reserved for upgrades (NOP1‐10) |
|
Require that only a single stack element remains after evaluation. This changes the success criterion from "At least one stack element must remain, and when interpreted as a boolean, it must be true" to "Exactly one stack element must remain, and when interpreted as a boolean, it must be true". (BIP62 rule 6) Note: CLEANSTACK should never be used without P2SH or WITNESS. Note: WITNESS_V0 and TAPSCRIPT script execution have behavior similar to CLEANSTACK as part of their consensus rules. It is automatic there and does not need this flag. |
|
Verify CHECKLOCKTIMEVERIFY |
|
support CHECKSEQUENCEVERIFY opcode |
|
Support segregated witness |
|
Making v1‐v16 witness program non‐standard |
|
Segwit script only: Require the argument of OP_IF/NOTIF to be exactly 0x01 or empty vector |
|
Signature(s) must be empty vector if a CHECK(MULTI)SIG operation failed |
|
Public keys in segregated witness scripts must be compressed |
|
Making OP_CODESEPARATOR and FindAndDelete fail any non‐segwit scripts |
|
Taproot/Tapscript validation (BIPs 341 & 342) |
|
Making unknown Taproot leaf versions non‐standard |
|
Making unknown OP_SUCCESS non‐standard |
|
Making unknown public key versions (in BIP 342 scripts) non‐standard |
|
Constants to point to the highest flag in use. Add new flags above this line. |
Non-Member Functions
Name |
Description |
Bitwise OR of two flag names. |
|
Bitwise complement of a single flag name. |
Created with MrDocs