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

Check if transaction will be BIP 68 final in the next block to be created. More...

#include <validation.h>

Collaboration diagram for CScriptCheck:
[legend]

Public Member Functions

 CScriptCheck ()
 
 CScriptCheck (const CTxOut &outIn, const CTransaction &txToIn, unsigned int nInIn, uint32_t nFlagsIn, bool cacheIn, const PrecomputedTransactionData &txdataIn, TxSigCheckLimiter *pTxLimitSigChecksIn=nullptr, CheckInputsLimiter *pBlockLimitSigChecksIn=nullptr)
 
bool operator() ()
 
void swap (CScriptCheck &check)
 
ScriptError GetScriptError () const
 
ScriptExecutionMetrics GetScriptExecutionMetrics () const
 

Private Attributes

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

Detailed Description

Check if transaction will be BIP 68 final in the next block to be created.

Simulates calling SequenceLocks() with data from the tip of the current active chain. Optionally stores in LockPoints the resulting height and time calculated and the hash of the block needed for calculation or skips the calculation and uses the LockPoints passed in for evaluation. The LockPoints should not be considered valid if CheckSequenceLocks returns false.

See consensus/consensus.h for flag definitions. 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 461 of file validation.h.

Constructor & Destructor Documentation

◆ CScriptCheck() [1/2]

CScriptCheck::CScriptCheck ( )
inline

Definition at line 475 of file validation.h.

◆ CScriptCheck() [2/2]

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

Definition at line 480 of file validation.h.

Member Function Documentation

◆ GetScriptError()

ScriptError CScriptCheck::GetScriptError ( ) const
inline

Definition at line 505 of file validation.h.

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

◆ GetScriptExecutionMetrics()

ScriptExecutionMetrics CScriptCheck::GetScriptExecutionMetrics ( ) const
inline

Definition at line 507 of file validation.h.

Here is the caller graph for this function:

◆ operator()()

bool CScriptCheck::operator() ( )

Definition at line 1105 of file validation.cpp.

Here is the call graph for this function:

◆ swap()

void CScriptCheck::swap ( CScriptCheck check)
inline

Definition at line 492 of file validation.h.

Here is the call graph for this function:

Member Data Documentation

◆ cacheStore

bool CScriptCheck::cacheStore
private

Definition at line 467 of file validation.h.

◆ error

ScriptError CScriptCheck::error
private

Definition at line 468 of file validation.h.

◆ m_tx_out

CTxOut CScriptCheck::m_tx_out
private

Definition at line 463 of file validation.h.

◆ metrics

ScriptExecutionMetrics CScriptCheck::metrics
private

Definition at line 469 of file validation.h.

◆ nFlags

uint32_t CScriptCheck::nFlags
private

Definition at line 466 of file validation.h.

◆ nIn

unsigned int CScriptCheck::nIn
private

Definition at line 465 of file validation.h.

◆ pBlockLimitSigChecks

CheckInputsLimiter* CScriptCheck::pBlockLimitSigChecks
private

Definition at line 472 of file validation.h.

◆ pTxLimitSigChecks

TxSigCheckLimiter* CScriptCheck::pTxLimitSigChecks
private

Definition at line 471 of file validation.h.

◆ ptxTo

const CTransaction* CScriptCheck::ptxTo
private

Definition at line 464 of file validation.h.

◆ txdata

PrecomputedTransactionData CScriptCheck::txdata
private

Definition at line 470 of file validation.h.


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