|
|
@ -1823,7 +1823,7 @@ bool ConnectBlock(CBlock& block, CValidationState& state, CBlockIndex* pindex, C |
|
|
|
return state.DoS(100, |
|
|
|
return state.DoS(100, |
|
|
|
error("ConnectBlock() : coinbase pays too much (actual=%d vs limit=%d)", |
|
|
|
error("ConnectBlock() : coinbase pays too much (actual=%d vs limit=%d)", |
|
|
|
block.vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees)), |
|
|
|
block.vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees)), |
|
|
|
REJECT_INVALID, "bad-cb-amount"); |
|
|
|
REJECT_INVALID, "bad-cb-amount"); |
|
|
|
|
|
|
|
|
|
|
|
if (!control.Wait()) |
|
|
|
if (!control.Wait()) |
|
|
|
return state.DoS(100, false); |
|
|
|
return state.DoS(100, false); |
|
|
@ -3244,14 +3244,14 @@ void static ProcessGetData(CNode* pfrom) |
|
|
|
int nHeight = mi->second->nHeight; |
|
|
|
int nHeight = mi->second->nHeight; |
|
|
|
CBlockIndex* pcheckpoint = Checkpoints::GetLastCheckpoint(mapBlockIndex); |
|
|
|
CBlockIndex* pcheckpoint = Checkpoints::GetLastCheckpoint(mapBlockIndex); |
|
|
|
if (pcheckpoint && nHeight < pcheckpoint->nHeight) { |
|
|
|
if (pcheckpoint && nHeight < pcheckpoint->nHeight) { |
|
|
|
if (!chainActive.Contains(mi->second)) |
|
|
|
if (!chainActive.Contains(mi->second)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
LogPrintf("ProcessGetData(): ignoring request for old block that isn't in the main chain\n"); |
|
|
|
LogPrintf("ProcessGetData(): ignoring request for old block that isn't in the main chain\n"); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
send = true; |
|
|
|
send = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
send = true; |
|
|
|
send = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (send) |
|
|
|
if (send) |
|
|
@ -3759,7 +3759,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) |
|
|
|
} |
|
|
|
} |
|
|
|
int nDoS = 0; |
|
|
|
int nDoS = 0; |
|
|
|
if (state.IsInvalid(nDoS)) |
|
|
|
if (state.IsInvalid(nDoS)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
LogPrint("mempool", "%s from %s %s was not accepted into the memory pool: %s\n", tx.GetHash().ToString(), |
|
|
|
LogPrint("mempool", "%s from %s %s was not accepted into the memory pool: %s\n", tx.GetHash().ToString(), |
|
|
|
pfrom->addr.ToString(), pfrom->cleanSubVer, |
|
|
|
pfrom->addr.ToString(), pfrom->cleanSubVer, |
|
|
|
state.GetRejectReason()); |
|
|
|
state.GetRejectReason()); |
|
|
|