mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
Merge 2649e655b9 into merged_master (Bitcoin PR bitcoin/bitcoin#29412)
This commit is contained in:
commit
c75430d439
8 changed files with 460 additions and 44 deletions
|
|
@ -4785,6 +4785,16 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|||
|
||||
LogPrint(BCLog::NET, "received block %s peer=%d\n", pblock->GetHash().ToString(), pfrom.GetId());
|
||||
|
||||
const CBlockIndex* prev_block{WITH_LOCK(m_chainman.GetMutex(), return m_chainman.m_blockman.LookupBlockIndex(pblock->hashPrevBlock))};
|
||||
|
||||
if (IsBlockMutated(/*block=*/*pblock,
|
||||
/*check_witness_root=*/DeploymentActiveAfter(prev_block, m_chainman, Consensus::DEPLOYMENT_SEGWIT))) {
|
||||
LogDebug(BCLog::NET, "Received mutated block from peer=%d\n", peer->m_id);
|
||||
Misbehaving(*peer, 100, "mutated block");
|
||||
WITH_LOCK(cs_main, RemoveBlockRequest(pblock->GetHash(), peer->m_id));
|
||||
return;
|
||||
}
|
||||
|
||||
bool forceProcessing = false;
|
||||
const uint256 hash(pblock->GetHash());
|
||||
bool min_pow_checked = false;
|
||||
|
|
@ -4800,7 +4810,6 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|||
mapBlockSource.emplace(hash, std::make_pair(pfrom.GetId(), true));
|
||||
|
||||
// Check work on this block against our anti-dos thresholds.
|
||||
const CBlockIndex* prev_block = m_chainman.m_blockman.LookupBlockIndex(pblock->hashPrevBlock);
|
||||
if (prev_block && prev_block->nChainWork + CalculateHeadersWork({pblock->GetBlockHeader()}) >= GetAntiDoSWorkThreshold()) {
|
||||
min_pow_checked = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue