Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

CValidationInterface Class Reference

#include <validationinterface.h>

+ Inheritance diagram for CValidationInterface:

Protected Member Functions

virtual void AcceptedBlockHeader (const CBlockIndex *pindexNew)
 
virtual void NotifyHeaderTip (const CBlockIndex *pindexNew, bool fInitialDownload)
 
virtual void UpdatedBlockTip (const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload)
 Notifies listeners of updated block chain tip. More...
 
virtual void SynchronousUpdatedBlockTip (const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload)
 Same as UpdatedBlockTip, but called from the caller's thread. More...
 
virtual void TransactionAddedToMempool (const CTransactionRef &ptxn, int64_t nAcceptTime)
 Notifies listeners of a transaction having been added to mempool. More...
 
virtual void TransactionRemovedFromMempool (const CTransactionRef &ptx)
 Notifies listeners of a transaction leaving mempool. More...
 
virtual void BlockConnected (const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex, const std::vector< CTransactionRef > &txnConflicted)
 Notifies listeners of a block being connected. More...
 
virtual void BlockDisconnected (const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindexDisconnected)
 Notifies listeners of a block being disconnected. More...
 
virtual void NotifyTransactionLock (const CTransaction &tx, const llmq::CInstantSendLock &islock)
 
virtual void NotifyChainLock (const CBlockIndex *pindex, const llmq::CChainLockSig &clsig)
 
virtual void NotifyGovernanceVote (const CGovernanceVote &vote)
 
virtual void NotifyGovernanceObject (const CGovernanceObject &object)
 
virtual void NotifyInstantSendDoubleSpendAttempt (const CTransaction &currentTx, const CTransaction &previousTx)
 
virtual void NotifyMasternodeListChanged (bool undo, const CDeterministicMNList &oldMNList, const CDeterministicMNListDiff &diff)
 
virtual void SetBestChain (const CBlockLocator &locator)
 Notifies listeners of the new active block chain on-disk. More...
 
virtual void ResendWalletTransactions (int64_t nBestBlockTime, CConnman *connman)
 Tells listeners to broadcast their data. More...
 
virtual void BlockChecked (const CBlock &, const CValidationState &)
 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...
 
friend void ::RegisterValidationInterface (CValidationInterface *)
 
friend void ::UnregisterValidationInterface (CValidationInterface *)
 
friend void ::UnregisterAllValidationInterfaces ()
 

Detailed Description

Definition at line 64 of file validationinterface.h.

Member Function Documentation

◆ AcceptedBlockHeader()

virtual void CValidationInterface::AcceptedBlockHeader ( const CBlockIndex pindexNew)
inlineprotectedvirtual

Reimplemented in CDSNotificationInterface.

Definition at line 66 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ BlockChecked()

virtual void CValidationInterface::BlockChecked ( const CBlock ,
const CValidationState  
)
inlineprotectedvirtual

Notifies listeners of a block validation result.

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

Reimplemented in submitblock_StateCatcher, and PeerLogicValidation.

Definition at line 128 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ BlockConnected()

virtual void CValidationInterface::BlockConnected ( const std::shared_ptr< const CBlock > &  block,
const CBlockIndex pindex,
const std::vector< CTransactionRef > &  txnConflicted 
)
inlineprotectedvirtual

Notifies listeners of a block being connected.

Provides a vector of transactions evicted from the mempool as a result.

Called on a background thread.

Reimplemented in CWallet, PeerLogicValidation, CZMQNotificationInterface, and CDSNotificationInterface.

Definition at line 101 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ BlockDisconnected()

virtual void CValidationInterface::BlockDisconnected ( const std::shared_ptr< const CBlock > &  block,
const CBlockIndex pindexDisconnected 
)
inlineprotectedvirtual

Notifies listeners of a block being disconnected.

Called on a background thread.

Reimplemented in CWallet, CZMQNotificationInterface, and CDSNotificationInterface.

Definition at line 107 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ NewPoWValidBlock()

virtual void CValidationInterface::NewPoWValidBlock ( const CBlockIndex pindex,
const std::shared_ptr< const CBlock > &  block 
)
inlineprotectedvirtual

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.

Reimplemented in PeerLogicValidation.

Definition at line 132 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ NotifyChainLock()

virtual void CValidationInterface::NotifyChainLock ( const CBlockIndex pindex,
const llmq::CChainLockSig clsig 
)
inlineprotectedvirtual

◆ NotifyGovernanceObject()

virtual void CValidationInterface::NotifyGovernanceObject ( const CGovernanceObject object)
inlineprotectedvirtual

◆ NotifyGovernanceVote()

virtual void CValidationInterface::NotifyGovernanceVote ( const CGovernanceVote vote)
inlineprotectedvirtual

◆ NotifyHeaderTip()

virtual void CValidationInterface::NotifyHeaderTip ( const CBlockIndex pindexNew,
bool  fInitialDownload 
)
inlineprotectedvirtual

Reimplemented in CDSNotificationInterface.

Definition at line 67 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ NotifyInstantSendDoubleSpendAttempt()

virtual void CValidationInterface::NotifyInstantSendDoubleSpendAttempt ( const CTransaction currentTx,
const CTransaction previousTx 
)
inlineprotectedvirtual

◆ NotifyMasternodeListChanged()

virtual void CValidationInterface::NotifyMasternodeListChanged ( bool  undo,
const CDeterministicMNList oldMNList,
const CDeterministicMNListDiff diff 
)
inlineprotectedvirtual

Reimplemented in CDSNotificationInterface.

Definition at line 113 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ NotifyTransactionLock()

virtual void CValidationInterface::NotifyTransactionLock ( const CTransaction tx,
const llmq::CInstantSendLock islock 
)
inlineprotectedvirtual

Reimplemented in CWallet, and CZMQNotificationInterface.

Definition at line 108 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ ResendWalletTransactions()

virtual void CValidationInterface::ResendWalletTransactions ( int64_t  nBestBlockTime,
CConnman connman 
)
inlineprotectedvirtual

Tells listeners to broadcast their data.

Reimplemented in CWallet.

Definition at line 121 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ SetBestChain()

virtual void CValidationInterface::SetBestChain ( const CBlockLocator locator)
inlineprotectedvirtual

Notifies listeners of the new active block chain on-disk.

Called on a background thread.

Reimplemented in CWallet.

Definition at line 119 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ SynchronousUpdatedBlockTip()

virtual void CValidationInterface::SynchronousUpdatedBlockTip ( const CBlockIndex pindexNew,
const CBlockIndex pindexFork,
bool  fInitialDownload 
)
inlineprotectedvirtual

Same as UpdatedBlockTip, but called from the caller's thread.

Reimplemented in CDSNotificationInterface.

Definition at line 77 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ TransactionAddedToMempool()

virtual void CValidationInterface::TransactionAddedToMempool ( const CTransactionRef ptxn,
int64_t  nAcceptTime 
)
inlineprotectedvirtual

Notifies listeners of a transaction having been added to mempool.

Called on a background thread.

Reimplemented in CWallet, CZMQNotificationInterface, and CDSNotificationInterface.

Definition at line 83 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ TransactionRemovedFromMempool()

virtual void CValidationInterface::TransactionRemovedFromMempool ( const CTransactionRef ptx)
inlineprotectedvirtual

Notifies listeners of a transaction leaving mempool.

This only fires for transactions which leave mempool because of expiry, size limiting, reorg (changes in lock times/coinbase maturity), or replacement. This does not include any transactions which are included in BlockConnectedDisconnected either in block->vtx or in txnConflicted.

Called on a background thread.

Reimplemented in CWallet.

Definition at line 94 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ UpdatedBlockTip()

virtual void CValidationInterface::UpdatedBlockTip ( const CBlockIndex pindexNew,
const CBlockIndex pindexFork,
bool  fInitialDownload 
)
inlineprotectedvirtual

Notifies listeners of updated block chain tip.

Called on a background thread.

Reimplemented in CActiveMasternodeManager, PeerLogicValidation, CZMQNotificationInterface, and CDSNotificationInterface.

Definition at line 73 of file validationinterface.h.

Referenced by RegisterValidationInterface(), and UnregisterValidationInterface().

◆ void ::RegisterValidationInterface()

CValidationInterface::void ::RegisterValidationInterface ( CValidationInterface )
protected

◆ void ::UnregisterAllValidationInterfaces()

CValidationInterface::void ::UnregisterAllValidationInterfaces ( )
protected

◆ void ::UnregisterValidationInterface()

CValidationInterface::void ::UnregisterValidationInterface ( CValidationInterface )
protected

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