Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Go to the source code of this file.
Functions | |
bool | CheckSpecialTx (const CTransaction &tx, const CBlockIndex *pindexPrev, CValidationState &state) |
bool | ProcessSpecialTxsInBlock (const CBlock &block, const CBlockIndex *pindex, CValidationState &state, bool fJustCheck, bool fCheckCbTxMerleRoots) |
bool | UndoSpecialTxsInBlock (const CBlock &block, const CBlockIndex *pindex) |
template<typename T > | |
bool | GetTxPayload (const std::vector< unsigned char > &payload, T &obj) |
template<typename T > | |
bool | GetTxPayload (const CMutableTransaction &tx, T &obj) |
template<typename T > | |
bool | GetTxPayload (const CTransaction &tx, T &obj) |
template<typename T > | |
void | SetTxPayload (CMutableTransaction &tx, const T &payload) |
uint256 | CalcTxInputsHash (const CTransaction &tx) |
Function Documentation
◆ CalcTxInputsHash()
uint256 CalcTxInputsHash | ( | const CTransaction & | tx | ) |
Definition at line 174 of file specialtx.cpp.
References CLIENT_VERSION, CHashWriter::GetHash(), SER_GETHASH, and CTransaction::vin.
Referenced by CheckInputsHash().
◆ CheckSpecialTx()
bool CheckSpecialTx | ( | const CTransaction & | tx, |
const CBlockIndex * | pindexPrev, | ||
CValidationState & | state | ||
) |
Definition at line 20 of file specialtx.cpp.
References CheckCbTx(), llmq::CheckLLMQCommitment(), CheckProRegTx(), CheckProUpRegTx(), CheckProUpRevTx(), CheckProUpServTx(), CValidationState::DoS(), LogPrintf, CBlockIndex::nHeight, CTransaction::nType, CTransaction::nVersion, Params(), REJECT_INVALID, TRANSACTION_COINBASE, TRANSACTION_NORMAL, TRANSACTION_PROVIDER_REGISTER, TRANSACTION_PROVIDER_UPDATE_REGISTRAR, TRANSACTION_PROVIDER_UPDATE_REVOKE, TRANSACTION_PROVIDER_UPDATE_SERVICE, and TRANSACTION_QUORUM_COMMITMENT.
Referenced by AcceptToMemoryPoolWorker(), and ProcessSpecialTxsInBlock().
◆ GetTxPayload() [1/3]
|
inline |
Definition at line 21 of file specialtx.h.
References CDataStream::empty(), PROTOCOL_VERSION, and SER_NETWORK.
Referenced by CTxMemPool::addUnchecked(), blockToJSON(), CDeterministicMNManager::BuildNewListFromBlock(), CalcCbTxMerkleRootQuorums(), CheckCbTx(), CheckCbTxMerkleRoots(), llmq::CheckLLMQCommitment(), CheckProRegTx(), CheckProUpRegTx(), CheckProUpRevTx(), CheckProUpServTx(), CBloomFilter::CheckSpecialTransactionMatchesAndUpdate(), CTxMemPool::existsProviderTxConflict(), llmq::CQuorumBlockProcessor::GetCommitmentsFromBlock(), GetTxPayload(), CDeterministicMNManager::IsProTxWithCollateral(), CTxMemPool::removeProTxConflicts(), CTxMemPool::removeUnchecked(), CSimplifiedMNListDiff::ToJson(), and TxToUniv().
◆ GetTxPayload() [2/3]
|
inline |
Definition at line 32 of file specialtx.h.
References GetTxPayload(), and CMutableTransaction::vExtraPayload.
◆ GetTxPayload() [3/3]
|
inline |
Definition at line 37 of file specialtx.h.
References GetTxPayload(), and CTransaction::vExtraPayload.
◆ ProcessSpecialTxsInBlock()
bool ProcessSpecialTxsInBlock | ( | const CBlock & | block, |
const CBlockIndex * | pindex, | ||
CValidationState & | state, | ||
bool | fJustCheck, | ||
bool | fCheckCbTxMerleRoots | ||
) |
Definition at line 94 of file specialtx.cpp.
References BCLog::BENCHMARK, CheckCbTxMerkleRoots(), CheckSpecialTx(), deterministicMNManager, CValidationState::DoS(), GetTimeMicros(), LogPrint, LogPrintf, CBlockIndex::pprev, ProcessSpecialTx(), llmq::quorumBlockProcessor, REJECT_INVALID, and CBlock::vtx.
Referenced by CChainState::ConnectBlock(), and CChainState::RollforwardBlock().
◆ SetTxPayload()
void SetTxPayload | ( | CMutableTransaction & | tx, |
const T & | payload | ||
) |
Definition at line 43 of file specialtx.h.
References CDataStream::begin(), CDataStream::end(), PROTOCOL_VERSION, SER_NETWORK, and CMutableTransaction::vExtraPayload.
Referenced by BlockAssembler::CreateNewBlock(), and llmq::CQuorumBlockProcessor::GetMinableCommitmentTx().
◆ UndoSpecialTxsInBlock()
bool UndoSpecialTxsInBlock | ( | const CBlock & | block, |
const CBlockIndex * | pindex | ||
) |
Definition at line 150 of file specialtx.cpp.
References deterministicMNManager, error(), llmq::quorumBlockProcessor, strprintf, UndoSpecialTx(), and CBlock::vtx.
Referenced by CChainState::DisconnectBlock().