aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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());