Browse Source

Always respect GetRequiredFee for wallet txs

0.13
Alex Morcos 9 years ago
parent
commit
995b9f385b
  1. 9
      src/wallet/wallet.cpp

9
src/wallet/wallet.cpp

@ -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…
Cancel
Save