mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 06:43:45 +01:00
p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user