mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge bitcoin/bitcoin#22121: doc: Various validation doc fixups
fa4245d88409091a3a6115a96a200b70be663725 doc: Various validation doc fixups (MarcoFalke) Pull request description: ACKs for top commit: michaelfolkson: Re-ACK fa4245d88409091a3a6115a96a200b70be663725 jnewbery: ACK fa4245d884 Tree-SHA512: fa1086b09941247a4ffcbc1d7d27dc77a17a3ae093a5146dbb703db9ff4ba5d73ea77bd5b7747af79ea8a7dfe2c4c56a7e19ac5aac3417090e9ae127836022ae
This commit is contained in:
parent
2996daad4c
commit
348f4a8b9e
@ -179,7 +179,7 @@ public:
|
||||
//!
|
||||
//! Note: this value is modified to show BLOCK_OPT_WITNESS during UTXO snapshot
|
||||
//! load to avoid the block index being spuriously rewound.
|
||||
//! @sa RewindBlockIndex
|
||||
//! @sa NeedsRedownload
|
||||
//! @sa ActivateSnapshot
|
||||
uint32_t nStatus{0};
|
||||
|
||||
|
@ -1475,7 +1475,8 @@ void CChainState::ConflictingChainFound(CBlockIndex* pindexNew)
|
||||
|
||||
// Same as InvalidChainFound, above, except not called directly from InvalidateBlock,
|
||||
// which does its own setBlockIndexCandidates manageent.
|
||||
void CChainState::InvalidBlockFound(CBlockIndex *pindex, const BlockValidationState &state) {
|
||||
void CChainState::InvalidBlockFound(CBlockIndex *pindex, const BlockValidationState &state)
|
||||
{
|
||||
statsClient.inc("warnings.InvalidBlockFound", 1.0f);
|
||||
if (state.GetResult() != BlockValidationResult::BLOCK_MUTATED) {
|
||||
pindex->nStatus |= BLOCK_FAILED_VALID;
|
||||
@ -2087,8 +2088,8 @@ bool CChainState::ConnectBlock(const CBlock& block, BlockValidationState& state,
|
||||
// may have let in a block that violates the rule prior to updating the
|
||||
// software, and we would NOT be enforcing the rule here. Fully solving
|
||||
// upgrade from one software version to the next after a consensus rule
|
||||
// change is potentially tricky and issue-specific (see RewindBlockIndex()
|
||||
// for one general approach that was used for BIP 141 deployment).
|
||||
// change is potentially tricky and issue-specific (see NeedsRedownload()
|
||||
// for one approach that was used for BIP 141 deployment).
|
||||
// Also, currently the rule against blocks more than 2 hours in the future
|
||||
// is enforced in ContextualCheckBlockHeader(); we wouldn't want to
|
||||
// re-enforce that rule here (at least until we make it impossible for
|
||||
@ -5998,20 +5999,16 @@ bool ChainstateManager::PopulateAndValidateSnapshot(
|
||||
LOCK(::cs_main);
|
||||
|
||||
// Fake various pieces of CBlockIndex state:
|
||||
//
|
||||
// - nChainTx: so that we accurately report IBD-to-tip progress
|
||||
// - nTx: so that LoadBlockIndex() loads assumed-valid CBlockIndex entries
|
||||
// (among other things)
|
||||
// - nStatus & BLOCK_OPT_WITNESS: so that RewindBlockIndex() doesn't zealously
|
||||
// unwind the assumed-valid chain.
|
||||
//
|
||||
CBlockIndex* index = nullptr;
|
||||
for (int i = 0; i <= snapshot_chainstate.m_chain.Height(); ++i) {
|
||||
index = snapshot_chainstate.m_chain[i];
|
||||
|
||||
// Fake nTx so that LoadBlockIndex() loads assumed-valid CBlockIndex
|
||||
// entries (among other things)
|
||||
if (!index->nTx) {
|
||||
index->nTx = 1;
|
||||
}
|
||||
// Fake nChainTx so that GuessVerificationProgress reports accurately
|
||||
index->nChainTx = index->pprev ? index->pprev->nChainTx + index->nTx : 1;
|
||||
}
|
||||
|
||||
|
@ -620,7 +620,7 @@ enum class CoinsCacheSizeState
|
||||
*
|
||||
* Anything that is contingent on the current tip of the chain is stored here,
|
||||
* whereas block information and metadata independent of the current tip is
|
||||
* kept in `BlockMetadataManager`.
|
||||
* kept in `BlockManager`.
|
||||
*/
|
||||
class CChainState
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user