Always respect GetRequiredFee for wallet txs
This commit is contained in:
parent
605c17844e
commit
995b9f385b
1 changed files with 2 additions and 7 deletions
|
@ -2223,14 +2223,9 @@ CAmount CWallet::GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarge
|
||||||
if (nFeeNeeded == 0) {
|
if (nFeeNeeded == 0) {
|
||||||
int estimateFoundTarget = nConfirmTarget;
|
int estimateFoundTarget = nConfirmTarget;
|
||||||
nFeeNeeded = pool.estimateSmartFee(nConfirmTarget, &estimateFoundTarget).GetFee(nTxBytes);
|
nFeeNeeded = pool.estimateSmartFee(nConfirmTarget, &estimateFoundTarget).GetFee(nTxBytes);
|
||||||
// ... unless we don't have enough mempool data for our desired target
|
|
||||||
// so we make sure we're paying at least minTxFee
|
|
||||||
if (nFeeNeeded == 0 || (unsigned int)estimateFoundTarget > nConfirmTarget)
|
|
||||||
nFeeNeeded = std::max(nFeeNeeded, GetRequiredFee(nTxBytes));
|
|
||||||
}
|
}
|
||||||
// prevent user from paying a non-sense fee (like 1 satoshi): 0 < fee < minRelayFee
|
// prevent user from paying a fee below minRelayTxFee or minTxFee
|
||||||
if (nFeeNeeded < ::minRelayTxFee.GetFee(nTxBytes))
|
nFeeNeeded = std::max(nFeeNeeded, GetRequiredFee(nTxBytes));
|
||||||
nFeeNeeded = ::minRelayTxFee.GetFee(nTxBytes);
|
|
||||||
// But always obey the maximum
|
// But always obey the maximum
|
||||||
if (nFeeNeeded > maxTxFee)
|
if (nFeeNeeded > maxTxFee)
|
||||||
nFeeNeeded = maxTxFee;
|
nFeeNeeded = maxTxFee;
|
||||||
|
|
Loading…
Reference in a new issue