aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Zumsande <mzumsande@gmail.com>2024-01-23 10:58:25 -0500
committerMartin Zumsande <mzumsande@gmail.com>2024-01-23 18:26:57 -0500
commit033477dba65151b1863214606d5a49686ab6f559 (patch)
tree5b439bebf86571d864539a2c24af8d79c5d07096
parent651fb034d85eb5db561bfd24b74f7271417defa5 (diff)
doc: fix checkblockindex comments
These exceptions are not related to situations specific to tests, but are required in general: Without the first check CheckBlockindex could fail for blocks where we only know the header. Without the second, it could fail when blocks are received out of order.
-rw-r--r--src/validation.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/validation.cpp b/src/validation.cpp
index 8c583c586c..e47ce5edbd 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -4865,9 +4865,9 @@ void ChainstateManager::CheckBlockIndex()
// Make sure nChainTx sum is correctly computed.
unsigned int prev_chain_tx = pindex->pprev ? pindex->pprev->nChainTx : 0;
assert((pindex->nChainTx == pindex->nTx + prev_chain_tx)
- // For testing, allow transaction counts to be completely unset.
+ // Transaction may be completely unset - happens if only the header was accepted but the block hasn't been processed.
|| (pindex->nChainTx == 0 && pindex->nTx == 0)
- // For testing, allow this nChainTx to be unset if previous is also unset.
+ // nChainTx may be unset, but nTx set (if a block has been accepted, but one of its predecessors hasn't been processed yet)
|| (pindex->nChainTx == 0 && prev_chain_tx == 0 && pindex->pprev)
// Transaction counts prior to snapshot are unknown.
|| pindex->IsAssumedValid());