From f0bf33da8357bd6aff100bbe5b84a7f01937e379 Mon Sep 17 00:00:00 2001 From: Alex Morcos Date: Tue, 13 Jun 2017 14:02:55 -0400 Subject: Change default fee estimation mode. Fee estimates will default to be non-conservative if the transaction in question is opt-in-RBF. --- src/wallet/wallet.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/wallet/wallet.cpp') diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index a43b5398e..9a5f6b279 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2725,7 +2725,7 @@ bool CWallet::CreateTransaction(const std::vector& vecSend, CWalletT currentConfirmationTarget = coinControl->nConfirmTarget; // Allow to override the default fee estimate mode over the CoinControl instance - bool conservative_estimate = CalculateEstimateType(coinControl ? coinControl->m_fee_mode : FeeEstimateMode::UNSET); + bool conservative_estimate = CalculateEstimateType(coinControl ? coinControl->m_fee_mode : FeeEstimateMode::UNSET, rbf); CAmount nFeeNeeded = GetMinimumFee(nBytes, currentConfirmationTarget, ::mempool, ::feeEstimator, &feeCalc, false /* ignoreGlobalPayTxFee */, conservative_estimate); if (coinControl && coinControl->fOverrideFeeRate) @@ -4158,9 +4158,10 @@ bool CMerkleTx::AcceptToMemoryPool(const CAmount& nAbsurdFee, CValidationState& return ::AcceptToMemoryPool(mempool, state, tx, true, NULL, NULL, false, nAbsurdFee); } -bool CalculateEstimateType(FeeEstimateMode mode) { +bool CalculateEstimateType(FeeEstimateMode mode, bool opt_in_rbf) { switch (mode) { case FeeEstimateMode::UNSET: + return !opt_in_rbf; // Allow for lower fees if RBF is an option case FeeEstimateMode::CONSERVATIVE: return true; case FeeEstimateMode::ECONOMICAL: -- cgit v1.2.3