Bugfix: fForRelay should be false when deciding required fee to include in blocks
authorLuke Dashjr <luke-jr+git@utopios.org>
Wed, 14 Dec 2011 06:03:55 +0000 (01:03 -0500)
committerLuke Dashjr <luke-jr+git@utopios.org>
Wed, 14 Dec 2011 06:06:21 +0000 (01:06 -0500)
During the rushed transition from 0.01 BTC to 0.0005 BTC fees, we took the
approach of dropping the relay and block-inclusion fee to 0.0005 BTC
immediately, and only delayed adjusting the sending fee for the next release.
Afterward, the relay fee was lowered to 0.0001 BTC to avoid having the same
problem in the future. However, the block inclusion code was left setting
fForRelay to true! This fixes that, so the lower 0.0001 BTC allowance is (as
intended) only permitted for real relaying.

src/main.cpp

index 6a3bacc..59db0aa 100644 (file)
@@ -2757,7 +2757,7 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
 
             // Transaction fee required depends on block size
             bool fAllowFree = (nBlockSize + nTxSize < 4000 || CTransaction::AllowFree(dPriority));
-            int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree, true);
+            int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree);
 
             // Connecting shouldn't fail due to dependency on other memory pool transactions
             // because we're already processing them in order of dependency