#include <script/script_error.h>
#include <span.h>
#include <primitives/transaction.h>
#include <vector>
#include <stdint.h>
Go to the source code of this file.
|
enum | {
SIGHASH_ALL = 1,
SIGHASH_NONE = 2,
SIGHASH_SINGLE = 3,
SIGHASH_ANYONECANPAY = 0x80,
SIGHASH_DEFAULT = 0,
SIGHASH_OUTPUT_MASK = 3,
SIGHASH_INPUT_MASK = 0x80
} |
| Signature hash types/flags. More...
|
|
enum | {
SCRIPT_VERIFY_NONE = 0,
SCRIPT_VERIFY_P2SH = (1U << 0),
SCRIPT_VERIFY_STRICTENC = (1U << 1),
SCRIPT_VERIFY_DERSIG = (1U << 2),
SCRIPT_VERIFY_LOW_S = (1U << 3),
SCRIPT_VERIFY_NULLDUMMY = (1U << 4),
SCRIPT_VERIFY_SIGPUSHONLY = (1U << 5),
SCRIPT_VERIFY_MINIMALDATA = (1U << 6),
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS = (1U << 7),
SCRIPT_VERIFY_CLEANSTACK = (1U << 8),
SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9),
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY = (1U << 10),
SCRIPT_VERIFY_WITNESS = (1U << 11),
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM = (1U << 12),
SCRIPT_VERIFY_MINIMALIF = (1U << 13),
SCRIPT_VERIFY_NULLFAIL = (1U << 14),
SCRIPT_VERIFY_WITNESS_PUBKEYTYPE = (1U << 15),
SCRIPT_VERIFY_CONST_SCRIPTCODE = (1U << 16),
SCRIPT_VERIFY_TAPROOT = (1U << 17),
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION = (1U << 18),
SCRIPT_VERIFY_DISCOURAGE_OP_SUCCESS = (1U << 19),
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_PUBKEYTYPE = (1U << 20)
} |
| Script verification flags. More...
|
|
enum | SigVersion { SigVersion::BASE = 0,
SigVersion::WITNESS_V0 = 1,
SigVersion::TAPROOT = 2,
SigVersion::TAPSCRIPT = 3
} |
|
|
bool | CheckSignatureEncoding (const std::vector< unsigned char > &vchSig, unsigned int flags, ScriptError *serror) |
|
template<class T > |
uint256 | SignatureHash (const CScript &scriptCode, const T &txTo, unsigned int nIn, int nHashType, const CAmount &amount, SigVersion sigversion, const PrecomputedTransactionData *cache=nullptr) |
|
bool | EvalScript (std::vector< std::vector< unsigned char > > &stack, const CScript &script, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptExecutionData &execdata, ScriptError *error=nullptr) |
|
bool | EvalScript (std::vector< std::vector< unsigned char > > &stack, const CScript &script, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *error=nullptr) |
|
bool | VerifyScript (const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *serror=nullptr) |
|
size_t | CountWitnessSigOps (const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags) |
|
int | FindAndDelete (CScript &script, const CScript &b) |
|
◆ MutableTransactionSignatureChecker
◆ TransactionSignatureChecker
◆ anonymous enum
Signature hash types/flags.
Enumerator |
---|
SIGHASH_ALL | |
SIGHASH_NONE | |
SIGHASH_SINGLE | |
SIGHASH_ANYONECANPAY | |
SIGHASH_DEFAULT | Taproot only; implied when sighash byte is missing, and equivalent to SIGHASH_ALL.
|
SIGHASH_OUTPUT_MASK | |
SIGHASH_INPUT_MASK | |
Definition at line 24 of file interpreter.h.
◆ anonymous enum
Script verification flags.
All flags are intended to be soft forks: the set of acceptable scripts under flags (A | B) is a subset of the acceptable scripts under flag (A).
Enumerator |
---|
SCRIPT_VERIFY_NONE | |
SCRIPT_VERIFY_P2SH | |
SCRIPT_VERIFY_STRICTENC | |
SCRIPT_VERIFY_DERSIG | |
SCRIPT_VERIFY_LOW_S | |
SCRIPT_VERIFY_NULLDUMMY | |
SCRIPT_VERIFY_SIGPUSHONLY | |
SCRIPT_VERIFY_MINIMALDATA | |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | |
SCRIPT_VERIFY_CLEANSTACK | |
SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | |
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | |
SCRIPT_VERIFY_WITNESS | |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM | |
SCRIPT_VERIFY_MINIMALIF | |
SCRIPT_VERIFY_NULLFAIL | |
SCRIPT_VERIFY_WITNESS_PUBKEYTYPE | |
SCRIPT_VERIFY_CONST_SCRIPTCODE | |
SCRIPT_VERIFY_TAPROOT | |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION | |
SCRIPT_VERIFY_DISCOURAGE_OP_SUCCESS | |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_PUBKEYTYPE | |
Definition at line 41 of file interpreter.h.
◆ SigVersion
Enumerator |
---|
BASE | Bare scripts and BIP16 P2SH-wrapped redeemscripts.
|
WITNESS_V0 | Witness v0 (P2WPKH and P2WSH); see BIP 141.
|
TAPROOT | Witness v1 with 32-byte program, not BIP16 P2SH-wrapped, key path spending; see BIP 341.
|
TAPSCRIPT | Witness v1 with 32-byte program, not BIP16 P2SH-wrapped, script path spending, leaf version 0xc0; see BIP 342.
|
Definition at line 176 of file interpreter.h.
◆ CheckSignatureEncoding()
bool CheckSignatureEncoding |
( |
const std::vector< unsigned char > & |
vchSig, |
|
|
unsigned int |
flags, |
|
|
ScriptError * |
serror |
|
) |
| |
◆ CountWitnessSigOps()
◆ EvalScript() [1/2]
◆ EvalScript() [2/2]
◆ FindAndDelete()
◆ SignatureHash()
◆ VerifyScript()
◆ TAPROOT_CONTROL_BASE_SIZE
constexpr size_t TAPROOT_CONTROL_BASE_SIZE = 33 |
|
static |
◆ TAPROOT_CONTROL_MAX_NODE_COUNT
constexpr size_t TAPROOT_CONTROL_MAX_NODE_COUNT = 128 |
|
static |
◆ TAPROOT_CONTROL_MAX_SIZE
◆ TAPROOT_CONTROL_NODE_SIZE
constexpr size_t TAPROOT_CONTROL_NODE_SIZE = 32 |
|
static |
◆ TAPROOT_LEAF_MASK
constexpr uint8_t TAPROOT_LEAF_MASK = 0xfe |
|
static |
◆ TAPROOT_LEAF_TAPSCRIPT
constexpr uint8_t TAPROOT_LEAF_TAPSCRIPT = 0xc0 |
|
static |
◆ WITNESS_V0_KEYHASH_SIZE
constexpr size_t WITNESS_V0_KEYHASH_SIZE = 20 |
|
static |
◆ WITNESS_V0_SCRIPTHASH_SIZE
constexpr size_t WITNESS_V0_SCRIPTHASH_SIZE = 32 |
|
static |
◆ WITNESS_V1_TAPROOT_SIZE
constexpr size_t WITNESS_V1_TAPROOT_SIZE = 32 |
|
static |