Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

Used to track blocks whose transactions were applied to the UTXO state as a part of a single ActivateBestChainStep call. More...

+ Collaboration diagram for ConnectTrace:

Public Member Functions

 ConnectTrace (CTxMemPool &_pool)
 
 ~ConnectTrace ()
 
void BlockConnected (CBlockIndex *pindex, std::shared_ptr< const CBlock > pblock)
 
std::vector< PerBlockConnectTrace > & GetBlocksConnected ()
 
void NotifyEntryRemoved (CTransactionRef txRemoved, MemPoolRemovalReason reason)
 

Private Attributes

std::vector< PerBlockConnectTraceblocksConnected
 
CTxMemPoolpool
 

Detailed Description

Used to track blocks whose transactions were applied to the UTXO state as a part of a single ActivateBestChainStep call.

This class also tracks transactions that are removed from the mempool as conflicts (per block) and can be used to pass all those transactions through SyncTransaction.

This class assumes (and asserts) that the conflicted transactions for a given block are added via mempool callbacks prior to the BlockConnected() associated with those transactions. If any transactions are marked conflicted, it is assumed that an associated block will always be added.

This class is single-use, once you call GetBlocksConnected() you have to throw it away and make a new one.

Definition at line 2692 of file validation.cpp.

Constructor & Destructor Documentation

◆ ConnectTrace()

ConnectTrace::ConnectTrace ( CTxMemPool _pool)
inlineexplicit

Definition at line 2698 of file validation.cpp.

References CTxMemPool::NotifyEntryRemoved, NotifyEntryRemoved(), and pool.

◆ ~ConnectTrace()

ConnectTrace::~ConnectTrace ( )
inline

Definition at line 2702 of file validation.cpp.

References CTxMemPool::NotifyEntryRemoved, NotifyEntryRemoved(), and pool.

Member Function Documentation

◆ BlockConnected()

void ConnectTrace::BlockConnected ( CBlockIndex pindex,
std::shared_ptr< const CBlock pblock 
)
inline

Definition at line 2706 of file validation.cpp.

References blocksConnected.

Referenced by CChainState::ConnectTip().

◆ GetBlocksConnected()

std::vector<PerBlockConnectTrace>& ConnectTrace::GetBlocksConnected ( )
inline

Definition at line 2715 of file validation.cpp.

References blocksConnected.

Referenced by CChainState::ActivateBestChain().

◆ NotifyEntryRemoved()

void ConnectTrace::NotifyEntryRemoved ( CTransactionRef  txRemoved,
MemPoolRemovalReason  reason 
)
inline

Definition at line 2727 of file validation.cpp.

References blocksConnected, and CONFLICT.

Referenced by ConnectTrace(), and ~ConnectTrace().

Member Data Documentation

◆ blocksConnected

std::vector<PerBlockConnectTrace> ConnectTrace::blocksConnected
private

Definition at line 2694 of file validation.cpp.

Referenced by BlockConnected(), GetBlocksConnected(), and NotifyEntryRemoved().

◆ pool

CTxMemPool& ConnectTrace::pool
private

Definition at line 2695 of file validation.cpp.

Referenced by ConnectTrace(), and ~ConnectTrace().


The documentation for this class was generated from the following file:
Released under the MIT license