|
| bool | CastToBool (const valtype &vch) |
| |
| static void | popstack (std::vector< valtype > &stack) |
| |
| static bool | IsCompressedOrUncompressedPubKey (const valtype &vchPubKey) |
| |
| static bool | IsCompressedPubKey (const valtype &vchPubKey) |
| |
| static bool | IsValidSignatureEncoding (const std::vector< unsigned char > &sig) |
| | A canonical signature exists of: <30> <total len>=""> <02> <len r>=""> <R> <02> <len s>=""> <S> <hashtype> Where R and S are not negative (their first byte has its highest bit not set), and not excessively padded (do not start with a 0 byte, unless an otherwise negative number follows, in which case a single 0 byte is necessary and even required). More...
|
| |
| static bool | IsLowDERSignature (const valtype &vchSig, ScriptError *serror) |
| |
| static bool | IsDefinedHashtypeSignature (const valtype &vchSig) |
| |
| bool | CheckSignatureEncoding (const std::vector< unsigned char > &vchSig, unsigned int flags, ScriptError *serror) |
| |
| static bool | CheckPubKeyEncoding (const valtype &vchPubKey, unsigned int flags, const SigVersion &sigversion, ScriptError *serror) |
| |
| static bool | CheckMinimalPush (const valtype &data, opcodetype opcode) |
| |
| int | FindAndDelete (CScript &script, const CScript &b) |
| |
| static bool | EvalChecksigPreTapscript (const valtype &vchSig, const valtype &vchPubKey, CScript::const_iterator pbegincodehash, CScript::const_iterator pend, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *serror, bool &fSuccess) |
| |
| static bool | EvalChecksigTapscript (const valtype &sig, const valtype &pubkey, ScriptExecutionData &execdata, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *serror, bool &success) |
| |
| static bool | EvalChecksig (const valtype &sig, const valtype &pubkey, CScript::const_iterator pbegincodehash, CScript::const_iterator pend, ScriptExecutionData &execdata, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *serror, bool &success) |
| | Helper for OP_CHECKSIG, OP_CHECKSIGVERIFY, and (in Tapscript) OP_CHECKSIGADD. More...
|
| |
| bool | EvalScript (std::vector< std::vector< unsigned char > > &stack, const CScript &script, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptExecutionData &execdata, ScriptError *serror) |
| |
| bool | EvalScript (std::vector< std::vector< unsigned char > > &stack, const CScript &script, unsigned int flags, const BaseSignatureChecker &checker, SigVersion sigversion, ScriptError *serror) |
| |
| template<typename T > |
| bool | SignatureHashSchnorr (uint256 &hash_out, const ScriptExecutionData &execdata, const T &tx_to, uint32_t in_pos, uint8_t hash_type, SigVersion sigversion, const PrecomputedTransactionData &cache) |
| |
| template<class T > |
| uint256 | SignatureHash (const CScript &scriptCode, const T &txTo, unsigned int nIn, int nHashType, const CAmount &amount, SigVersion sigversion, const PrecomputedTransactionData *cache) |
| |
| static bool | ExecuteWitnessScript (const Span< const valtype > &stack_span, const CScript &scriptPubKey, unsigned int flags, SigVersion sigversion, const BaseSignatureChecker &checker, ScriptExecutionData &execdata, ScriptError *serror) |
| |
| static bool | VerifyTaprootCommitment (const std::vector< unsigned char > &control, const std::vector< unsigned char > &program, const CScript &script, uint256 &tapleaf_hash) |
| |
| static bool | VerifyWitnessProgram (const CScriptWitness &witness, int witversion, const std::vector< unsigned char > &program, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *serror, bool is_p2sh) |
| |
| bool | VerifyScript (const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *serror) |
| |
| static size_t | WitnessSigOps (int witversion, const std::vector< unsigned char > &witprogram, const CScriptWitness &witness) |
| |
| size_t | CountWitnessSigOps (const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags) |
| |
| static bool IsValidSignatureEncoding |
( |
const std::vector< unsigned char > & |
sig | ) |
|
|
static |
A canonical signature exists of: <30> <total len>=""> <02> <len r>=""> <R> <02> <len s>=""> <S> <hashtype> Where R and S are not negative (their first byte has its highest bit not set), and not excessively padded (do not start with a 0 byte, unless an otherwise negative number follows, in which case a single 0 byte is necessary and even required).
See https://bitcointalk.org/index.php?topic=8392.msg127623#msg127623
This function is consensus-critical since BIP66.
Definition at line 107 of file interpreter.cpp.