p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED

This commit is contained in:
Greg Sanders
2025-06-03 10:29:00 -04:00
parent bac9ee4830
commit 28299ce776
3 changed files with 1 additions and 20 deletions

View File

@@ -84,8 +84,6 @@ typedef enum ReadStatus_t
READ_STATUS_OK, READ_STATUS_OK,
READ_STATUS_INVALID, // Invalid object, peer is sending bogus crap READ_STATUS_INVALID, // Invalid object, peer is sending bogus crap
READ_STATUS_FAILED, // Failed to process object READ_STATUS_FAILED, // Failed to process object
READ_STATUS_CHECKBLOCK_FAILED, // Used only by FillBlock to indicate a
// failure in CheckBlock.
} ReadStatus; } ReadStatus;
class CBlockHeaderAndShortTxIDs { class CBlockHeaderAndShortTxIDs {

View File

@@ -3381,23 +3381,7 @@ void PeerManagerImpl::ProcessCompactBlockTxns(CNode& pfrom, Peer& peer, const Bl
return; return;
} }
} else { } else {
// Block is either okay, or possibly we received // Block is okay for further processing
// READ_STATUS_CHECKBLOCK_FAILED.
// Note that CheckBlock can only fail for one of a few reasons:
// 1. bad-proof-of-work (impossible here, because we've already
// accepted the header)
// 2. merkleroot doesn't match the transactions given (already
// caught in FillBlock with READ_STATUS_FAILED, so
// impossible here)
// 3. the block is otherwise invalid (eg invalid coinbase,
// block is too big, too many legacy sigops, etc).
// So if CheckBlock failed, #3 is the only possibility.
// Under BIP 152, we don't discourage the peer unless proof of work is
// invalid (we don't require all the stateless checks to have
// been run). This is handled below, so just treat this as
// though the block was successfully read, and rely on the
// handling in ProcessNewBlock to ensure the block index is
// updated, etc.
RemoveBlockRequest(block_transactions.blockhash, pfrom.GetId()); // it is now an empty pointer RemoveBlockRequest(block_transactions.blockhash, pfrom.GetId()); // it is now an empty pointer
fBlockRead = true; fBlockRead = true;
// mapBlockSource is used for potentially punishing peers and // mapBlockSource is used for potentially punishing peers and

View File

@@ -125,7 +125,6 @@ FUZZ_TARGET(partially_downloaded_block, .init = initialize_pdb)
assert(!fail_block_mutated); assert(!fail_block_mutated);
assert(block->GetHash() == reconstructed_block.GetHash()); assert(block->GetHash() == reconstructed_block.GetHash());
break; break;
case READ_STATUS_CHECKBLOCK_FAILED: [[fallthrough]];
case READ_STATUS_FAILED: case READ_STATUS_FAILED:
assert(fail_block_mutated); assert(fail_block_mutated);
break; break;