diff options
author | S3RK <1466284+S3RK@users.noreply.github.com> | 2022-08-15 09:30:31 +0200 |
---|---|---|
committer | S3RK <1466284+S3RK@users.noreply.github.com> | 2022-08-15 09:34:26 +0200 |
commit | c8cf08ea743e430c2bf3fe46439594257b0937e5 (patch) | |
tree | 81f06a202081dd8c4402d524b70ad359d8ac7af6 /src/wallet/spend.cpp | |
parent | dc9d6626835ec2864dfa747c12071dabdc95b919 (diff) | |
download | bitcoin-c8cf08ea743e430c2bf3fe46439594257b0937e5.tar.xz |
wallet: ensure m_min_change_target always covers change fee
Diffstat (limited to 'src/wallet/spend.cpp')
-rw-r--r-- | src/wallet/spend.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/wallet/spend.cpp b/src/wallet/spend.cpp index 61d86844df..9babb5e04e 100644 --- a/src/wallet/spend.cpp +++ b/src/wallet/spend.cpp @@ -794,7 +794,6 @@ static util::Result<CreatedTransactionResult> CreateTransactionInternal( coin_selection_params.m_subtract_fee_outputs = true; } } - coin_selection_params.m_min_change_target = GenerateChangeTarget(std::floor(recipients_sum / vecSend.size()), rng_fast); // Create change script that will be used if we need change CScript scriptChange; @@ -863,6 +862,8 @@ static util::Result<CreatedTransactionResult> CreateTransactionInternal( coin_selection_params.m_change_fee = coin_selection_params.m_effective_feerate.GetFee(coin_selection_params.change_output_size); coin_selection_params.m_cost_of_change = coin_selection_params.m_discard_feerate.GetFee(coin_selection_params.change_spend_size) + coin_selection_params.m_change_fee; + coin_selection_params.m_min_change_target = GenerateChangeTarget(std::floor(recipients_sum / vecSend.size()), coin_selection_params.m_change_fee, rng_fast); + // vouts to the payees if (!coin_selection_params.m_subtract_fee_outputs) { coin_selection_params.tx_noinputs_size = 10; // Static vsize overhead + outputs vsize. 4 nVersion, 4 nLocktime, 1 input count, 1 witness overhead (dummy, flag, stack size) |