Bitcoin Core 32.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | Protected Member Functions | Private Attributes | List of all members
node::BlockValidationStateCatcher Class Referencefinal

Captures the validation state reported for a specific block. More...

#include <block_validation_state_catcher.h>

Inheritance diagram for node::BlockValidationStateCatcher:
[legend]
Collaboration diagram for node::BlockValidationStateCatcher:
[legend]

Public Member Functions

 BlockValidationStateCatcher (const uint256 &hash)
 

Public Attributes

std::optional< BlockValidationState > m_state
 

Protected Member Functions

void BlockChecked (const std::shared_ptr< const CBlock > &block, const BlockValidationState &state) override
 Notifies listeners of a block validation result. More...
 
- Protected Member Functions inherited from CValidationInterface
 ~CValidationInterface ()=default
 Protected destructor so that instances can only be deleted by derived classes. More...
 
virtual void UpdatedBlockTip (const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload)
 Notifies listeners when the block chain tip advances. More...
 
virtual void ActiveTipChange (const CBlockIndex &new_tip, bool is_ibd)
 Notifies listeners any time the block chain tip changes, synchronously. More...
 
virtual void TransactionAddedToMempool (const NewMempoolTransactionInfo &tx, uint64_t mempool_sequence)
 Notifies listeners of a transaction having been added to mempool. More...
 
virtual void TransactionRemovedFromMempool (const CTransactionRef &tx, MemPoolRemovalReason reason, uint64_t mempool_sequence)
 Notifies listeners of a transaction leaving mempool. More...
 
virtual void MempoolTransactionsRemovedForBlock (const std::shared_ptr< const CBlock > &block, const std::vector< RemovedMempoolTransactionInfo > &txs_removed_for_block, unsigned int block_height)
 
virtual void BlockConnected (const kernel::ChainstateRole &role, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex)
 Notifies listeners of a block being connected. More...
 
virtual void BlockDisconnected (const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex)
 Notifies listeners of a block being disconnected Provides the block that was disconnected. More...
 
virtual void ChainStateFlushed (const kernel::ChainstateRole &role, const CBlockLocator &locator)
 Notifies listeners of the new active block chain on-disk. More...
 
virtual void BlockChecked (const std::shared_ptr< const CBlock > &, const BlockValidationState &)
 Notifies listeners of a block validation result. More...
 
virtual void NewPoWValidBlock (const CBlockIndex *pindex, const std::shared_ptr< const CBlock > &block)
 Notifies listeners that a block which builds directly on our current tip has been received and connected to the headers tree, though not validated yet. More...
 

Private Attributes

uint256 m_hash
 

Detailed Description

Captures the validation state reported for a specific block.

Callers manage registration and unregistration with ValidationSignals.

Definition at line 19 of file block_validation_state_catcher.h.

Constructor & Destructor Documentation

◆ BlockValidationStateCatcher()

node::BlockValidationStateCatcher::BlockValidationStateCatcher ( const uint256 &  hash)
inlineexplicit

Definition at line 26 of file block_validation_state_catcher.h.

Member Function Documentation

◆ BlockChecked()

void node::BlockValidationStateCatcher::BlockChecked ( const std::shared_ptr< const CBlock > &  ,
const BlockValidationState &   
)
inlineoverrideprotectedvirtual

Notifies listeners of a block validation result.

If the provided BlockValidationState IsValid, the provided block is guaranteed to be the current best block at the time the callback was generated (not necessarily now).

Reimplemented from CValidationInterface.

Definition at line 29 of file block_validation_state_catcher.h.

Member Data Documentation

◆ m_hash

uint256 node::BlockValidationStateCatcher::m_hash
private

Definition at line 22 of file block_validation_state_catcher.h.

◆ m_state

std::optional<BlockValidationState> node::BlockValidationStateCatcher::m_state

Definition at line 25 of file block_validation_state_catcher.h.


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