Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

#include <quorums_blockprocessor.h>

+ Collaboration diagram for llmq::CQuorumBlockProcessor:

Public Member Functions

 CQuorumBlockProcessor (CEvoDB &_evoDb)
 
void UpgradeDB ()
 
void ProcessMessage (CNode *pfrom, const std::string &strCommand, CDataStream &vRecv, CConnman &connman)
 
bool ProcessBlock (const CBlock &block, const CBlockIndex *pindex, CValidationState &state)
 
bool UndoBlock (const CBlock &block, const CBlockIndex *pindex)
 
void AddMinableCommitment (const CFinalCommitment &fqc)
 
bool HasMinableCommitment (const uint256 &hash)
 
bool GetMinableCommitmentByHash (const uint256 &commitmentHash, CFinalCommitment &ret)
 
bool GetMinableCommitment (Consensus::LLMQType llmqType, int nHeight, CFinalCommitment &ret)
 
bool GetMinableCommitmentTx (Consensus::LLMQType llmqType, int nHeight, CTransactionRef &ret)
 
bool HasMinedCommitment (Consensus::LLMQType llmqType, const uint256 &quorumHash)
 
bool GetMinedCommitment (Consensus::LLMQType llmqType, const uint256 &quorumHash, CFinalCommitment &ret, uint256 &retMinedBlockHash)
 
std::vector< const CBlockIndex * > GetMinedCommitmentsUntilBlock (Consensus::LLMQType llmqType, const CBlockIndex *pindex, size_t maxCount)
 
std::map< Consensus::LLMQType, std::vector< const CBlockIndex * > > GetMinedAndActiveCommitmentsUntilBlock (const CBlockIndex *pindex)
 

Private Member Functions

bool GetCommitmentsFromBlock (const CBlock &block, const CBlockIndex *pindex, std::map< Consensus::LLMQType, CFinalCommitment > &ret, CValidationState &state)
 
bool ProcessCommitment (int nHeight, const uint256 &blockHash, const CFinalCommitment &qc, CValidationState &state)
 
bool IsMiningPhase (Consensus::LLMQType llmqType, int nHeight)
 
bool IsCommitmentRequired (Consensus::LLMQType llmqType, int nHeight)
 
uint256 GetQuorumBlockHash (Consensus::LLMQType llmqType, int nHeight)
 

Private Attributes

CEvoDBevoDb
 
CCriticalSection minableCommitmentsCs
 
std::map< std::pair< Consensus::LLMQType, uint256 >, uint256minableCommitmentsByQuorum
 
std::map< uint256, CFinalCommitmentminableCommitments
 
std::unordered_map< std::pair< Consensus::LLMQType, uint256 >, bool, StaticSaltedHasherhasMinedCommitmentCache
 

Detailed Description

Definition at line 25 of file quorums_blockprocessor.h.

Constructor & Destructor Documentation

◆ CQuorumBlockProcessor()

llmq::CQuorumBlockProcessor::CQuorumBlockProcessor ( CEvoDB _evoDb)
inlineexplicit

Definition at line 38 of file quorums_blockprocessor.h.

Member Function Documentation

◆ AddMinableCommitment()

◆ GetCommitmentsFromBlock()

◆ GetMinableCommitment()

bool llmq::CQuorumBlockProcessor::GetMinableCommitment ( Consensus::LLMQType  llmqType,
int  nHeight,
CFinalCommitment ret 
)

◆ GetMinableCommitmentByHash()

bool llmq::CQuorumBlockProcessor::GetMinableCommitmentByHash ( const uint256 commitmentHash,
llmq::CFinalCommitment ret 
)

Definition at line 519 of file quorums_blockprocessor.cpp.

References LOCK, minableCommitments, and minableCommitmentsCs.

◆ GetMinableCommitmentTx()

◆ GetMinedAndActiveCommitmentsUntilBlock()

std::map< Consensus::LLMQType, std::vector< const CBlockIndex * > > llmq::CQuorumBlockProcessor::GetMinedAndActiveCommitmentsUntilBlock ( const CBlockIndex pindex)

◆ GetMinedCommitment()

bool llmq::CQuorumBlockProcessor::GetMinedCommitment ( Consensus::LLMQType  llmqType,
const uint256 quorumHash,
CFinalCommitment ret,
uint256 retMinedBlockHash 
)

◆ GetMinedCommitmentsUntilBlock()

◆ GetQuorumBlockHash()

uint256 llmq::CQuorumBlockProcessor::GetQuorumBlockHash ( Consensus::LLMQType  llmqType,
int  nHeight 
)
private

◆ HasMinableCommitment()

bool llmq::CQuorumBlockProcessor::HasMinableCommitment ( const uint256 hash)

Definition at line 481 of file quorums_blockprocessor.cpp.

References LOCK, minableCommitments, and minableCommitmentsCs.

Referenced by AlreadyHave().

◆ HasMinedCommitment()

bool llmq::CQuorumBlockProcessor::HasMinedCommitment ( Consensus::LLMQType  llmqType,
const uint256 quorumHash 
)

◆ IsCommitmentRequired()

bool llmq::CQuorumBlockProcessor::IsCommitmentRequired ( Consensus::LLMQType  llmqType,
int  nHeight 
)
private

◆ IsMiningPhase()

bool llmq::CQuorumBlockProcessor::IsMiningPhase ( Consensus::LLMQType  llmqType,
int  nHeight 
)
private

◆ ProcessBlock()

◆ ProcessCommitment()

◆ ProcessMessage()

◆ UndoBlock()

◆ UpgradeDB()

Member Data Documentation

◆ evoDb

CEvoDB& llmq::CQuorumBlockProcessor::evoDb
private

◆ hasMinedCommitmentCache

std::unordered_map<std::pair<Consensus::LLMQType, uint256>, bool, StaticSaltedHasher> llmq::CQuorumBlockProcessor::hasMinedCommitmentCache
private

Definition at line 35 of file quorums_blockprocessor.h.

Referenced by HasMinedCommitment(), ProcessCommitment(), and UndoBlock().

◆ minableCommitments

std::map<uint256, CFinalCommitment> llmq::CQuorumBlockProcessor::minableCommitments
private

◆ minableCommitmentsByQuorum

std::map<std::pair<Consensus::LLMQType, uint256>, uint256> llmq::CQuorumBlockProcessor::minableCommitmentsByQuorum
private

◆ minableCommitmentsCs


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