|
|
|
@ -612,8 +612,11 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
|
|
|
|
|
unsigned int nSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);
|
|
|
|
|
|
|
|
|
|
// Don't accept it if it can't get into a block
|
|
|
|
|
if (nFees < tx.GetMinFee(1000, true, GMF_RELAY))
|
|
|
|
|
return error("CTxMemPool::accept() : not enough fees");
|
|
|
|
|
int64 txMinFee = tx.GetMinFee(1000, true, GMF_RELAY);
|
|
|
|
|
if (nFees < txMinFee)
|
|
|
|
|
return error("CTxMemPool::accept() : not enough fees %s, %"PRI64d" < %"PRI64d,
|
|
|
|
|
hash.ToString().substr(0,10).c_str(),
|
|
|
|
|
nFees, txMinFee);
|
|
|
|
|
|
|
|
|
|
// Continuously rate-limit free transactions
|
|
|
|
|
// This mitigates 'penny-flooding' -- sending thousands of free transactions just to
|
|
|
|
|