|
|
@@ -3135,6 +3135,12 @@ static bool AcceptBlock(const std::shared_ptr<const CBlock>& pblock, CValidation |
|
|
|
if (pindex->nTx != 0) return true; // This is a previously-processed block that was pruned |
|
|
|
if (!fHasMoreWork) return true; // Don't process less-work chains |
|
|
|
if (fTooFarAhead) return true; // Block height is too high |
|
|
|
|
|
|
|
// Protect against DoS attacks from low-work chains. |
|
|
|
// If our tip is behind, a peer could try to send us |
|
|
|
// low-work blocks on a fake chain that we would never |
|
|
|
// request; don't process these. |
|
|
|
if (pindex->nChainWork < nMinimumChainWork) return true; |
|
|
|
} |
|
|
|
if (fNewBlock) *fNewBlock = true; |
|
|
|
|