bitcoin/bitcoin — pull request #4465 by cozz (2014-07-05 13:53:12+00:00)
Title: Fee fixes

- fix bug in CWallet::CreateTransaction. If dPriorityNeeded is -1, then dPriority >= dPriorityNeeded is always true,
so we always "break;"
- CFeeRate::GetFee(..) currently returns zero for very small nSatoshisPerK.
For example, if you set the voluntary fee to 1 satoshi, and the tx has less than 1000 bytes,
payTxFee.GetFee(nTxBytes) returns zero, this results in CWallet::GetMinimumFee(..) to return
pool.estimateFee(..) instead of the voluntary fee. So its not possible to set the voluntary fee as low as 1 satoshi.
- Add fallback hard-coded AllowFree to coin control, because CreateTransaction also does.
- Handle voluntary fee case in coin control. nPayFee was set to zero if
dPriority >= dPriorityNeeded, even in the voluntary fee case. And we need to consider, that
CreateTransaction pays at least for 1000 bytes in the voluntary fee case.

Just a question, why did -mintxfee move from Testing options to Wallet options?
I dont think we should bother people with this, otherwise we wouldnt need smart fee in the first place.