@@ -2368,16 +2368,16 @@ bool CWallet::SelectCoinsMinConf(const CAmount& nTargetValue, const CoinEligibil
23682368 // When subtracting the fee from the outputs, we want the effective feerate to be 0
23692369 CFeeRate effective_feerate{0 };
23702370 if (!coin_selection_params.m_subtract_fee_outputs ) {
2371- effective_feerate = coin_selection_params.effective_fee ;
2371+ effective_feerate = coin_selection_params.m_effective_feerate ;
23722372 }
23732373
23742374 std::vector<OutputGroup> groups = GroupOutputs (coins, !coin_selection_params.m_avoid_partial_spends , effective_feerate, coin_selection_params.m_long_term_feerate , eligibility_filter, true /* positive_only */ );
23752375
23762376 // Calculate cost of change
2377- CAmount cost_of_change = coin_selection_params.m_discard_feerate .GetFee (coin_selection_params.change_spend_size ) + coin_selection_params.effective_fee .GetFee (coin_selection_params.change_output_size );
2377+ CAmount cost_of_change = coin_selection_params.m_discard_feerate .GetFee (coin_selection_params.change_spend_size ) + coin_selection_params.m_effective_feerate .GetFee (coin_selection_params.change_output_size );
23782378
23792379 // Calculate the fees for things that aren't inputs
2380- CAmount not_input_fees = coin_selection_params.effective_fee .GetFee (coin_selection_params.tx_noinputs_size );
2380+ CAmount not_input_fees = coin_selection_params.m_effective_feerate .GetFee (coin_selection_params.tx_noinputs_size );
23812381 bnb_used = true ;
23822382 return SelectCoinsBnB (groups, nTargetValue, cost_of_change, setCoinsRet, nValueRet, not_input_fees);
23832383 } else {
@@ -2431,7 +2431,7 @@ bool CWallet::SelectCoins(const std::vector<COutput>& vAvailableCoins, const CAm
24312431 if (coin.m_input_bytes <= 0 ) {
24322432 return false ; // Not solvable, can't estimate size for fee
24332433 }
2434- coin.effective_value = coin.txout .nValue - coin_selection_params.effective_fee .GetFee (coin.m_input_bytes );
2434+ coin.effective_value = coin.txout .nValue - coin_selection_params.m_effective_feerate .GetFee (coin.m_input_bytes );
24352435 if (coin_selection_params.use_bnb ) {
24362436 value_to_select -= coin.effective_value ;
24372437 } else {
@@ -2802,11 +2802,11 @@ bool CWallet::CreateTransactionInternal(
28022802 coin_selection_params.m_discard_feerate = GetDiscardRate (*this );
28032803
28042804 // Get the fee rate to use effective values in coin selection
2805- coin_selection_params.effective_fee = GetMinimumFeeRate (*this , coin_control, &feeCalc);
2805+ coin_selection_params.m_effective_feerate = GetMinimumFeeRate (*this , coin_control, &feeCalc);
28062806 // Do not, ever, assume that it's fine to change the fee rate if the user has explicitly
28072807 // provided one
2808- if (coin_control.m_feerate && coin_selection_params.effective_fee > *coin_control.m_feerate ) {
2809- error = strprintf (_ (" Fee rate (%s) is lower than the minimum fee rate setting (%s)" ), coin_control.m_feerate ->ToString (FeeEstimateMode::SAT_VB), coin_selection_params.effective_fee .ToString (FeeEstimateMode::SAT_VB));
2808+ if (coin_control.m_feerate && coin_selection_params.m_effective_feerate > *coin_control.m_feerate ) {
2809+ error = strprintf (_ (" Fee rate (%s) is lower than the minimum fee rate setting (%s)" ), coin_control.m_feerate ->ToString (FeeEstimateMode::SAT_VB), coin_selection_params.m_effective_feerate .ToString (FeeEstimateMode::SAT_VB));
28102810 return false ;
28112811 }
28122812 if (feeCalc.reason == FeeReason::FALLBACK && !m_allow_fallback_fee) {
@@ -2955,7 +2955,7 @@ bool CWallet::CreateTransactionInternal(
29552955 return false ;
29562956 }
29572957
2958- nFeeNeeded = coin_selection_params.effective_fee .GetFee (nBytes);
2958+ nFeeNeeded = coin_selection_params.m_effective_feerate .GetFee (nBytes);
29592959 if (nFeeRet >= nFeeNeeded) {
29602960 // Reduce fee to only the needed amount if possible. This
29612961 // prevents potential overpayment in fees if the coins
@@ -2969,7 +2969,7 @@ bool CWallet::CreateTransactionInternal(
29692969 // change output. Only try this once.
29702970 if (nChangePosInOut == -1 && nSubtractFeeFromAmount == 0 && pick_new_inputs) {
29712971 unsigned int tx_size_with_change = nBytes + coin_selection_params.change_output_size + 2 ; // Add 2 as a buffer in case increasing # of outputs changes compact size
2972- CAmount fee_needed_with_change = coin_selection_params.effective_fee .GetFee (tx_size_with_change);
2972+ CAmount fee_needed_with_change = coin_selection_params.m_effective_feerate .GetFee (tx_size_with_change);
29732973 CAmount minimum_value_for_change = GetDustThreshold (change_prototype_txout, coin_selection_params.m_discard_feerate );
29742974 if (nFeeRet >= fee_needed_with_change + minimum_value_for_change) {
29752975 pick_new_inputs = false ;
0 commit comments