|
|
@ -998,7 +998,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C
|
|
|
|
nLastTime = nNow;
|
|
|
|
nLastTime = nNow;
|
|
|
|
// -limitfreerelay unit is thousand-bytes-per-minute
|
|
|
|
// -limitfreerelay unit is thousand-bytes-per-minute
|
|
|
|
// At default rate it would take over a month to fill 1GB
|
|
|
|
// At default rate it would take over a month to fill 1GB
|
|
|
|
if (dFreeCount >= GetArg("-limitfreerelay", DEFAULT_LIMITFREERELAY) * 10 * 1000)
|
|
|
|
if (dFreeCount + nSize >= GetArg("-limitfreerelay", DEFAULT_LIMITFREERELAY) * 10 * 1000)
|
|
|
|
return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "rate limited free transaction");
|
|
|
|
return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "rate limited free transaction");
|
|
|
|
LogPrint("mempool", "Rate limit dFreeCount: %g => %g\n", dFreeCount, dFreeCount+nSize);
|
|
|
|
LogPrint("mempool", "Rate limit dFreeCount: %g => %g\n", dFreeCount, dFreeCount+nSize);
|
|
|
|
dFreeCount += nSize;
|
|
|
|
dFreeCount += nSize;
|
|
|
|