Bitcoin ABC 0.32.4
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
CScriptCheck Class Reference

Closure representing one script verification. More...

#include <validation.h>

Collaboration diagram for CScriptCheck:
[legend]

Public Member Functions

 CScriptCheck (const CTxOut &outIn, const CTransaction &txToIn, SignatureCache &signature_cache, unsigned int nInIn, uint32_t nFlagsIn, bool cacheIn, const PrecomputedTransactionData &txdataIn, TxSigCheckLimiter *pTxLimitSigChecksIn=nullptr, CheckInputsLimiter *pBlockLimitSigChecksIn=nullptr)
 
 CScriptCheck (const CScriptCheck &)=delete
 
CScriptCheckoperator= (const CScriptCheck &)=delete
 
 CScriptCheck (CScriptCheck &&)=default
 
CScriptCheckoperator= (CScriptCheck &&)=default
 
std::optional< std::pair< ScriptError, std::string > > operator() ()
 
ScriptExecutionMetrics GetScriptExecutionMetrics () const
 

Private Attributes

CTxOut m_tx_out
 
const CTransactionptxTo
 
unsigned int nIn
 
uint32_t nFlags
 
bool cacheStore
 
ScriptExecutionMetrics metrics
 
PrecomputedTransactionData txdata
 
SignatureCachem_signature_cache
 
TxSigCheckLimiterpTxLimitSigChecks
 
CheckInputsLimiterpBlockLimitSigChecks
 

Detailed Description

Closure representing one script verification.

Note that this stores references to the spending transaction.

Note that if pLimitSigChecks is passed, then failure does not imply that scripts have failed.

Definition at line 566 of file validation.h.

Constructor & Destructor Documentation

◆ CScriptCheck() [1/3]

CScriptCheck::CScriptCheck ( const CTxOut outIn,
const CTransaction txToIn,
SignatureCache signature_cache,
unsigned int  nInIn,
uint32_t  nFlagsIn,
bool  cacheIn,
const PrecomputedTransactionData txdataIn,
TxSigCheckLimiter pTxLimitSigChecksIn = nullptr,
CheckInputsLimiter pBlockLimitSigChecksIn = nullptr 
)
inline

Definition at line 580 of file validation.h.

◆ CScriptCheck() [2/3]

CScriptCheck::CScriptCheck ( const CScriptCheck )
delete

◆ CScriptCheck() [3/3]

CScriptCheck::CScriptCheck ( CScriptCheck &&  )
default

Member Function Documentation

◆ GetScriptExecutionMetrics()

ScriptExecutionMetrics CScriptCheck::GetScriptExecutionMetrics ( ) const
inline

Definition at line 599 of file validation.h.

Here is the caller graph for this function:

◆ operator()()

std::optional< std::pair< ScriptError, std::string > > CScriptCheck::operator() ( )

Definition at line 1742 of file validation.cpp.

Here is the call graph for this function:

◆ operator=() [1/2]

CScriptCheck & CScriptCheck::operator= ( const CScriptCheck )
delete

◆ operator=() [2/2]

CScriptCheck & CScriptCheck::operator= ( CScriptCheck &&  )
default

Member Data Documentation

◆ cacheStore

bool CScriptCheck::cacheStore
private

Definition at line 572 of file validation.h.

◆ m_signature_cache

SignatureCache* CScriptCheck::m_signature_cache
private

Definition at line 575 of file validation.h.

◆ m_tx_out

CTxOut CScriptCheck::m_tx_out
private

Definition at line 568 of file validation.h.

◆ metrics

ScriptExecutionMetrics CScriptCheck::metrics
private

Definition at line 573 of file validation.h.

◆ nFlags

uint32_t CScriptCheck::nFlags
private

Definition at line 571 of file validation.h.

◆ nIn

unsigned int CScriptCheck::nIn
private

Definition at line 570 of file validation.h.

◆ pBlockLimitSigChecks

CheckInputsLimiter* CScriptCheck::pBlockLimitSigChecks
private

Definition at line 577 of file validation.h.

◆ pTxLimitSigChecks

TxSigCheckLimiter* CScriptCheck::pTxLimitSigChecks
private

Definition at line 576 of file validation.h.

◆ ptxTo

const CTransaction* CScriptCheck::ptxTo
private

Definition at line 569 of file validation.h.

◆ txdata

PrecomputedTransactionData CScriptCheck::txdata
private

Definition at line 574 of file validation.h.


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