Bitcoin ABC 0.32.4
P2P Digital Currency
Namespaces | Functions | Variables
tx_verify.h File Reference
#include <kernel/cs_main.h>
#include <threadsafety.h>
#include <cstdint>
#include <vector>
Include dependency graph for tx_verify.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Consensus
 

Functions

bool Consensus::CheckTxInputs (const CTransaction &tx, TxValidationState &state, const CCoinsViewCache &inputs, int nSpendHeight, Amount &txfee)
 Check whether all inputs of this transaction are valid (no double spends and amounts). More...
 
bool ContextualCheckTransaction (const Consensus::Params &params, const CTransaction &tx, TxValidationState &state, int nHeight, int64_t nMedianTimePast)
 Context dependent validity checks for non coinbase transactions. More...
 
bool EvaluateSequenceLocks (const CBlockIndex &block, std::pair< int, int64_t > lockPair)
 
bool SequenceLocks (const CTransaction &tx, int flags, std::vector< int > &prevHeights, const CBlockIndex &block)
 Check if transaction is final per BIP 68 sequence numbers and can be included in a block. More...
 

Variables

bool ContextualCheckTransactionForCurrentBlock(const CBlockIndex &active_chain_tip, const Consensus::Params &params, const CTransaction &tx, TxValidationState &state) EXCLUSIVE_LOCKS_REQUIRED(std::pair< int, int64_t > CalculateSequenceLocks (const CTransaction &tx, int flags, std::vector< int > &prevHeights, const CBlockIndex &block)
 This is a variant of ContextualCheckTransaction which computes the contextual check for a transaction based on the chain tip. More...
 

Function Documentation

◆ ContextualCheckTransaction()

bool ContextualCheckTransaction ( const Consensus::Params params,
const CTransaction tx,
TxValidationState state,
int  nHeight,
int64_t  nMedianTimePast 
)

Context dependent validity checks for non coinbase transactions.

This doesn't check the validity of the transaction against the UTXO set, but simply characteristic that are suceptible to change over time such as feature activation/deactivation and CLTV.

Definition at line 42 of file tx_verify.cpp.

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

◆ EvaluateSequenceLocks()

bool EvaluateSequenceLocks ( const CBlockIndex block,
std::pair< int, int64_t >  lockPair 
)

Definition at line 177 of file tx_verify.cpp.

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

◆ SequenceLocks()

bool SequenceLocks ( const CTransaction tx,
int  flags,
std::vector< int > &  prevHeights,
const CBlockIndex block 
)

Check if transaction is final per BIP 68 sequence numbers and can be included in a block.

Consensus critical. Takes as input a list of heights at which tx's inputs (in order) confirmed.

Definition at line 188 of file tx_verify.cpp.

Here is the call graph for this function:

Variable Documentation

◆ CalculateSequenceLocks

bool ContextualCheckTransactionForCurrentBlock(const CBlockIndex &active_chain_tip, const Consensus::Params &params, const CTransaction &tx, TxValidationState &state) EXCLUSIVE_LOCKS_REQUIRED(std::pair< int, int64_t > CalculateSequenceLocks(const CTransaction &tx, int flags, std::vector< int > &prevHeights, const CBlockIndex &block) ( const CTransaction tx,
int  flags,
std::vector< int > &  prevHeights,
const CBlockIndex block 
)

This is a variant of ContextualCheckTransaction which computes the contextual check for a transaction based on the chain tip.

Calculates the block height and previous block's median time past at which the transaction will be considered final in the context of BIP 68. Also removes from the vector of input heights any entries which did not correspond to sequence locked inputs as they do not affect the calculation.

Definition at line 62 of file tx_verify.h.