Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <evo/cbtx.h>
#include <evo/deterministicmns.h>
#include <llmq/quorums.h>
#include <llmq/quorums_blockprocessor.h>
#include <llmq/quorums_commitment.h>
#include <evo/simplifiedmns.h>
#include <evo/specialtx.h>
#include <chainparams.h>
#include <consensus/merkle.h>
#include <univalue.h>
#include <validation.h>
Go to the source code of this file.
Functions | |
bool | CheckCbTx (const CTransaction &tx, const CBlockIndex *pindexPrev, CValidationState &state) |
bool | CheckCbTxMerkleRoots (const CBlock &block, const CBlockIndex *pindex, CValidationState &state) |
bool | CalcCbTxMerkleRootMNList (const CBlock &block, const CBlockIndex *pindexPrev, uint256 &merkleRootRet, CValidationState &state) |
bool | CalcCbTxMerkleRootQuorums (const CBlock &block, const CBlockIndex *pindexPrev, uint256 &merkleRootRet, CValidationState &state) |
Function Documentation
◆ CalcCbTxMerkleRootMNList()
bool CalcCbTxMerkleRootMNList | ( | const CBlock & | block, |
const CBlockIndex * | pindexPrev, | ||
uint256 & | merkleRootRet, | ||
CValidationState & | state | ||
) |
Definition at line 103 of file cbtx.cpp.
References BCLog::BENCHMARK, CSimplifiedMNList::CalcMerkleRoot(), deterministicMNManager, CValidationState::DoS(), GetTimeMicros(), LOCK, LogPrint, LogPrintf, CSimplifiedMNList::mnList, and REJECT_INVALID.
Referenced by CheckCbTxMerkleRoots(), and BlockAssembler::CreateNewBlock().
◆ CalcCbTxMerkleRootQuorums()
bool CalcCbTxMerkleRootQuorums | ( | const CBlock & | block, |
const CBlockIndex * | pindexPrev, | ||
uint256 & | merkleRootRet, | ||
CValidationState & | state | ||
) |
Definition at line 161 of file cbtx.cpp.
References BCLog::BENCHMARK, llmq::CFinalCommitmentTxPayload::commitment, ComputeMerkleRoot(), CValidationState::DoS(), CChainParams::GetConsensus(), llmq::CQuorumBlockProcessor::GetMinedAndActiveCommitmentsUntilBlock(), llmq::CQuorumBlockProcessor::GetMinedCommitment(), GetTimeMicros(), GetTxPayload(), llmq::CFinalCommitment::IsNull(), Consensus::Params::llmqs, llmq::CFinalCommitment::llmqType, LogPrint, Params(), llmq::quorumBlockProcessor, REJECT_INVALID, SerializeHash(), TRANSACTION_QUORUM_COMMITMENT, and CBlock::vtx.
Referenced by CheckCbTxMerkleRoots(), and BlockAssembler::CreateNewBlock().
◆ CheckCbTx()
bool CheckCbTx | ( | const CTransaction & | tx, |
const CBlockIndex * | pindexPrev, | ||
CValidationState & | state | ||
) |
Definition at line 18 of file cbtx.cpp.
References CCbTx::CURRENT_VERSION, Consensus::DEPLOYMENT_DIP0008, CValidationState::DoS(), GetTxPayload(), CTransaction::IsCoinBase(), CCbTx::nHeight, CBlockIndex::nHeight, CTransaction::nType, CCbTx::nVersion, Params(), REJECT_INVALID, THRESHOLD_ACTIVE, TRANSACTION_COINBASE, versionbitscache, and VersionBitsState().
Referenced by CheckSpecialTx().
◆ CheckCbTxMerkleRoots()
bool CheckCbTxMerkleRoots | ( | const CBlock & | block, |
const CBlockIndex * | pindex, | ||
CValidationState & | state | ||
) |
Definition at line 52 of file cbtx.cpp.
References BCLog::BENCHMARK, CalcCbTxMerkleRootMNList(), CalcCbTxMerkleRootQuorums(), CValidationState::DoS(), GetTimeMicros(), GetTxPayload(), LogPrint, CCbTx::merkleRootMNList, CCbTx::merkleRootQuorums, CCbTx::nVersion, CBlockIndex::pprev, REJECT_INVALID, TRANSACTION_COINBASE, and CBlock::vtx.
Referenced by ProcessSpecialTxsInBlock().