|
|
|
@ -722,15 +722,18 @@ int64 GetMinFee(const CTransaction& tx, bool fAllowFree, enum GetMinFee_mode mod
@@ -722,15 +722,18 @@ int64 GetMinFee(const CTransaction& tx, bool fAllowFree, enum GetMinFee_mode mod
|
|
|
|
|
{ |
|
|
|
|
// There is a free transaction area in blocks created by most miners,
|
|
|
|
|
// * If we are relaying we allow transactions up to DEFAULT_BLOCK_PRIORITY_SIZE - 1000
|
|
|
|
|
// to be considered to fall into this category
|
|
|
|
|
// * If we are creating a transaction we allow transactions up to DEFAULT_BLOCK_PRIORITY_SIZE - 17000
|
|
|
|
|
// (= 10000) to be considered safe and assume they can likely make it into this section
|
|
|
|
|
if (nBytes < (mode == GMF_SEND ? (DEFAULT_BLOCK_PRIORITY_SIZE - 17000) : (DEFAULT_BLOCK_PRIORITY_SIZE - 1000))) |
|
|
|
|
// to be considered to fall into this category. We don't want to encourage sending
|
|
|
|
|
// multiple transactions instead of one big transaction to avoid fees.
|
|
|
|
|
// * If we are creating a transaction we allow transactions up to 1,000 bytes
|
|
|
|
|
// to be considered safe and assume they can likely make it into this section.
|
|
|
|
|
if (nBytes < (mode == GMF_SEND ? 1000 : (DEFAULT_BLOCK_PRIORITY_SIZE - 1000))) |
|
|
|
|
nMinFee = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// To limit dust spam, require base fee if any output is less than 0.01
|
|
|
|
|
if (nMinFee < nBaseFee) |
|
|
|
|
// This code can be removed after enough miners have upgraded to version 0.9.
|
|
|
|
|
// Until then, be safe when sending and require a fee if any output
|
|
|
|
|
// is less than CENT:
|
|
|
|
|
if (nMinFee < nBaseFee && mode == GMF_SEND) |
|
|
|
|
{ |
|
|
|
|
BOOST_FOREACH(const CTxOut& txout, tx.vout) |
|
|
|
|
if (txout.nValue < CENT) |
|
|
|
|