|
|
@ -1655,6 +1655,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) |
|
|
|
int64 deltaTime = pblock->GetBlockTime() - pcheckpoint->nTime; |
|
|
|
int64 deltaTime = pblock->GetBlockTime() - pcheckpoint->nTime; |
|
|
|
if (deltaTime < 0) |
|
|
|
if (deltaTime < 0) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (pfrom) |
|
|
|
pfrom->Misbehaving(100); |
|
|
|
pfrom->Misbehaving(100); |
|
|
|
return error("ProcessBlock() : block with timestamp before last checkpoint"); |
|
|
|
return error("ProcessBlock() : block with timestamp before last checkpoint"); |
|
|
|
} |
|
|
|
} |
|
|
@ -1664,6 +1665,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) |
|
|
|
bnRequired.SetCompact(ComputeMinWork(pcheckpoint->nBits, deltaTime)); |
|
|
|
bnRequired.SetCompact(ComputeMinWork(pcheckpoint->nBits, deltaTime)); |
|
|
|
if (bnNewBlock > bnRequired) |
|
|
|
if (bnNewBlock > bnRequired) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (pfrom) |
|
|
|
pfrom->Misbehaving(100); |
|
|
|
pfrom->Misbehaving(100); |
|
|
|
return error("ProcessBlock() : block with too little proof-of-work"); |
|
|
|
return error("ProcessBlock() : block with too little proof-of-work"); |
|
|
|
} |
|
|
|
} |
|
|
|