|
|
|
@ -1823,7 +1823,7 @@ bool ConnectBlock(CBlock& block, CValidationState& state, CBlockIndex* pindex, C
@@ -1823,7 +1823,7 @@ bool ConnectBlock(CBlock& block, CValidationState& state, CBlockIndex* pindex, C
|
|
|
|
|
return state.DoS(100, |
|
|
|
|
error("ConnectBlock() : coinbase pays too much (actual=%d vs limit=%d)", |
|
|
|
|
block.vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees)), |
|
|
|
|
REJECT_INVALID, "bad-cb-amount"); |
|
|
|
|
REJECT_INVALID, "bad-cb-amount"); |
|
|
|
|
|
|
|
|
|
if (!control.Wait()) |
|
|
|
|
return state.DoS(100, false); |
|
|
|
@ -3244,14 +3244,14 @@ void static ProcessGetData(CNode* pfrom)
@@ -3244,14 +3244,14 @@ void static ProcessGetData(CNode* pfrom)
|
|
|
|
|
int nHeight = mi->second->nHeight; |
|
|
|
|
CBlockIndex* pcheckpoint = Checkpoints::GetLastCheckpoint(mapBlockIndex); |
|
|
|
|
if (pcheckpoint && nHeight < pcheckpoint->nHeight) { |
|
|
|
|
if (!chainActive.Contains(mi->second)) |
|
|
|
|
{ |
|
|
|
|
LogPrintf("ProcessGetData(): ignoring request for old block that isn't in the main chain\n"); |
|
|
|
|
} else { |
|
|
|
|
send = true; |
|
|
|
|
} |
|
|
|
|
if (!chainActive.Contains(mi->second)) |
|
|
|
|
{ |
|
|
|
|
LogPrintf("ProcessGetData(): ignoring request for old block that isn't in the main chain\n"); |
|
|
|
|
} else { |
|
|
|
|
send = true; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
send = true; |
|
|
|
|
send = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (send) |
|
|
|
|