|
|
@ -822,7 +822,7 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa |
|
|
|
// Don't accept it if it can't get into a block
|
|
|
|
// Don't accept it if it can't get into a block
|
|
|
|
int64_t txMinFee = GetMinFee(tx, nSize, true, GMF_RELAY); |
|
|
|
int64_t txMinFee = GetMinFee(tx, nSize, true, GMF_RELAY); |
|
|
|
if (fLimitFree && nFees < txMinFee) |
|
|
|
if (fLimitFree && nFees < txMinFee) |
|
|
|
return state.DoS(0, error("AcceptToMemoryPool : not enough fees %s, %"PRId64" < %"PRId64, |
|
|
|
return state.DoS(0, error("AcceptToMemoryPool : not enough fees %s, %d < %d", |
|
|
|
hash.ToString(), nFees, txMinFee), |
|
|
|
hash.ToString(), nFees, txMinFee), |
|
|
|
REJECT_INSUFFICIENTFEE, "insufficient fee"); |
|
|
|
REJECT_INSUFFICIENTFEE, "insufficient fee"); |
|
|
|
|
|
|
|
|
|
|
@ -851,7 +851,7 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (fRejectInsaneFee && nFees > CTransaction::nMinRelayTxFee * 10000) |
|
|
|
if (fRejectInsaneFee && nFees > CTransaction::nMinRelayTxFee * 10000) |
|
|
|
return error("AcceptToMemoryPool: : insane fees %s, %"PRId64" > %"PRId64, |
|
|
|
return error("AcceptToMemoryPool: : insane fees %s, %d > %d", |
|
|
|
hash.ToString(), |
|
|
|
hash.ToString(), |
|
|
|
nFees, CTransaction::nMinRelayTxFee * 10000); |
|
|
|
nFees, CTransaction::nMinRelayTxFee * 10000); |
|
|
|
|
|
|
|
|
|
|
@ -1168,7 +1168,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead |
|
|
|
|
|
|
|
|
|
|
|
// Limit adjustment step
|
|
|
|
// Limit adjustment step
|
|
|
|
int64_t nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime(); |
|
|
|
int64_t nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime(); |
|
|
|
LogPrintf(" nActualTimespan = %"PRId64" before bounds\n", nActualTimespan); |
|
|
|
LogPrintf(" nActualTimespan = %d before bounds\n", nActualTimespan); |
|
|
|
if (nActualTimespan < nTargetTimespan/4) |
|
|
|
if (nActualTimespan < nTargetTimespan/4) |
|
|
|
nActualTimespan = nTargetTimespan/4; |
|
|
|
nActualTimespan = nTargetTimespan/4; |
|
|
|
if (nActualTimespan > nTargetTimespan*4) |
|
|
|
if (nActualTimespan > nTargetTimespan*4) |
|
|
@ -1185,7 +1185,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead |
|
|
|
|
|
|
|
|
|
|
|
/// debug print
|
|
|
|
/// debug print
|
|
|
|
LogPrintf("GetNextWorkRequired RETARGET\n"); |
|
|
|
LogPrintf("GetNextWorkRequired RETARGET\n"); |
|
|
|
LogPrintf("nTargetTimespan = %"PRId64" nActualTimespan = %"PRId64"\n", nTargetTimespan, nActualTimespan); |
|
|
|
LogPrintf("nTargetTimespan = %d nActualTimespan = %d\n", nTargetTimespan, nActualTimespan); |
|
|
|
LogPrintf("Before: %08x %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString()); |
|
|
|
LogPrintf("Before: %08x %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString()); |
|
|
|
LogPrintf("After: %08x %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString()); |
|
|
|
LogPrintf("After: %08x %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString()); |
|
|
|
|
|
|
|
|
|
|
@ -1737,7 +1737,7 @@ bool ConnectBlock(CBlock& block, CValidationState& state, CBlockIndex* pindex, C |
|
|
|
|
|
|
|
|
|
|
|
if (block.vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees)) |
|
|
|
if (block.vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees)) |
|
|
|
return state.DoS(100, |
|
|
|
return state.DoS(100, |
|
|
|
error("ConnectBlock() : coinbase pays too much (actual=%"PRId64" vs limit=%"PRId64")", |
|
|
|
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"); |
|
|
|
|
|
|
|
|
|
|
@ -3014,7 +3014,7 @@ bool LoadExternalBlockFile(FILE* fileIn, CDiskBlockPos *dbp) |
|
|
|
AbortNode(_("Error: system error: ") + e.what()); |
|
|
|
AbortNode(_("Error: system error: ") + e.what()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (nLoaded > 0) |
|
|
|
if (nLoaded > 0) |
|
|
|
LogPrintf("Loaded %i blocks from external file in %"PRId64"ms\n", nLoaded, GetTimeMillis() - nStart); |
|
|
|
LogPrintf("Loaded %i blocks from external file in %dms\n", nLoaded, GetTimeMillis() - nStart); |
|
|
|
return nLoaded > 0; |
|
|
|
return nLoaded > 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3804,7 +3804,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!(sProblem.empty())) { |
|
|
|
if (!(sProblem.empty())) { |
|
|
|
LogPrint("net", "pong %s %s: %s, %"PRIx64" expected, %"PRIx64" received, %"PRIszu" bytes\n", |
|
|
|
LogPrint("net", "pong %s %s: %s, %x expected, %x received, %"PRIszu" bytes\n", |
|
|
|
pfrom->addr.ToString(), |
|
|
|
pfrom->addr.ToString(), |
|
|
|
pfrom->cleanSubVer, |
|
|
|
pfrom->cleanSubVer, |
|
|
|
sProblem, |
|
|
|
sProblem, |
|
|
|