Bitcoin Core 28.99.0
P2P Digital Currency
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
GenericTransactionSignatureChecker< T > Class Template Reference

#include <interpreter.h>

Inheritance diagram for GenericTransactionSignatureChecker< T >:
[legend]
Collaboration diagram for GenericTransactionSignatureChecker< T >:
[legend]

Public Member Functions

 GenericTransactionSignatureChecker (const T *txToIn, unsigned int nInIn, const CAmount &amountIn, MissingDataBehavior mdb)
 
 GenericTransactionSignatureChecker (const T *txToIn, unsigned int nInIn, const CAmount &amountIn, const PrecomputedTransactionData &txdataIn, MissingDataBehavior mdb)
 
bool CheckECDSASignature (const std::vector< unsigned char > &scriptSig, const std::vector< unsigned char > &vchPubKey, const CScript &scriptCode, SigVersion sigversion) const override
 
bool CheckSchnorrSignature (Span< const unsigned char > sig, Span< const unsigned char > pubkey, SigVersion sigversion, ScriptExecutionData &execdata, ScriptError *serror=nullptr) const override
 
bool CheckLockTime (const CScriptNum &nLockTime) const override
 
bool CheckSequence (const CScriptNum &nSequence) const override
 
- Public Member Functions inherited from BaseSignatureChecker
virtual bool CheckECDSASignature (const std::vector< unsigned char > &scriptSig, const std::vector< unsigned char > &vchPubKey, const CScript &scriptCode, SigVersion sigversion) const
 
virtual bool CheckSchnorrSignature (Span< const unsigned char > sig, Span< const unsigned char > pubkey, SigVersion sigversion, ScriptExecutionData &execdata, ScriptError *serror=nullptr) const
 
virtual bool CheckLockTime (const CScriptNum &nLockTime) const
 
virtual bool CheckSequence (const CScriptNum &nSequence) const
 
virtual ~BaseSignatureChecker ()=default
 

Protected Member Functions

virtual bool VerifyECDSASignature (const std::vector< unsigned char > &vchSig, const CPubKey &vchPubKey, const uint256 &sighash) const
 
virtual bool VerifySchnorrSignature (Span< const unsigned char > sig, const XOnlyPubKey &pubkey, const uint256 &sighash) const
 

Private Attributes

const TtxTo
 
const MissingDataBehavior m_mdb
 
unsigned int nIn
 
const CAmount amount
 
const PrecomputedTransactionDatatxdata
 

Detailed Description

template<class T>
class GenericTransactionSignatureChecker< T >

Definition at line 284 of file interpreter.h.

Constructor & Destructor Documentation

◆ GenericTransactionSignatureChecker() [1/2]

template<class T >
GenericTransactionSignatureChecker< T >::GenericTransactionSignatureChecker ( const T txToIn,
unsigned int  nInIn,
const CAmount amountIn,
MissingDataBehavior  mdb 
)
inline

Definition at line 298 of file interpreter.h.

◆ GenericTransactionSignatureChecker() [2/2]

template<class T >
GenericTransactionSignatureChecker< T >::GenericTransactionSignatureChecker ( const T txToIn,
unsigned int  nInIn,
const CAmount amountIn,
const PrecomputedTransactionData txdataIn,
MissingDataBehavior  mdb 
)
inline

Definition at line 299 of file interpreter.h.

Member Function Documentation

◆ CheckECDSASignature()

template<class T >
bool GenericTransactionSignatureChecker< T >::CheckECDSASignature ( const std::vector< unsigned char > &  scriptSig,
const std::vector< unsigned char > &  vchPubKey,
const CScript scriptCode,
SigVersion  sigversion 
) const
overridevirtual

Reimplemented from BaseSignatureChecker.

Definition at line 1648 of file interpreter.cpp.

Here is the call graph for this function:

◆ CheckLockTime()

template<class T >
bool GenericTransactionSignatureChecker< T >::CheckLockTime ( const CScriptNum nLockTime) const
overridevirtual

Reimplemented from BaseSignatureChecker.

Definition at line 1701 of file interpreter.cpp.

◆ CheckSchnorrSignature()

template<class T >
bool GenericTransactionSignatureChecker< T >::CheckSchnorrSignature ( Span< const unsigned char >  sig,
Span< const unsigned char >  pubkey,
SigVersion  sigversion,
ScriptExecutionData execdata,
ScriptError serror = nullptr 
) const
overridevirtual

Reimplemented from BaseSignatureChecker.

Definition at line 1673 of file interpreter.cpp.

Here is the call graph for this function:

◆ CheckSequence()

template<class T >
bool GenericTransactionSignatureChecker< T >::CheckSequence ( const CScriptNum nSequence) const
overridevirtual

Reimplemented from BaseSignatureChecker.

Definition at line 1738 of file interpreter.cpp.

Here is the call graph for this function:

◆ VerifyECDSASignature()

template<class T >
bool GenericTransactionSignatureChecker< T >::VerifyECDSASignature ( const std::vector< unsigned char > &  vchSig,
const CPubKey vchPubKey,
const uint256 sighash 
) const
protectedvirtual

Reimplemented in CachingTransactionSignatureChecker.

Definition at line 1636 of file interpreter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VerifySchnorrSignature()

template<class T >
bool GenericTransactionSignatureChecker< T >::VerifySchnorrSignature ( Span< const unsigned char >  sig,
const XOnlyPubKey pubkey,
const uint256 sighash 
) const
protectedvirtual

Reimplemented in CachingTransactionSignatureChecker.

Definition at line 1642 of file interpreter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ amount

template<class T >
const CAmount GenericTransactionSignatureChecker< T >::amount
private

Definition at line 290 of file interpreter.h.

◆ m_mdb

template<class T >
const MissingDataBehavior GenericTransactionSignatureChecker< T >::m_mdb
private

Definition at line 288 of file interpreter.h.

◆ nIn

template<class T >
unsigned int GenericTransactionSignatureChecker< T >::nIn
private

Definition at line 289 of file interpreter.h.

◆ txdata

template<class T >
const PrecomputedTransactionData* GenericTransactionSignatureChecker< T >::txdata
private

Definition at line 291 of file interpreter.h.

◆ txTo

template<class T >
const T* GenericTransactionSignatureChecker< T >::txTo
private

Definition at line 287 of file interpreter.h.


The documentation for this class was generated from the following files: