diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2021-04-17 01:49:57 +0100 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2021-04-18 21:10:47 +0100 |
commit | c5a470eee1ac864b7c02b6a1669327b68411d806 (patch) | |
tree | dc449a601701f0fcc8f92cf20351a2fb74ab1695 | |
parent | 585cbe22575306c05b156ea90faa9caa1add4c87 (diff) |
refactor: Drop CCoinControl::SetNull
-rw-r--r-- | src/qt/sendcoinsdialog.cpp | 5 | ||||
-rw-r--r-- | src/wallet/coincontrol.cpp | 16 | ||||
-rw-r--r-- | src/wallet/coincontrol.h | 23 |
3 files changed, 13 insertions, 31 deletions
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index f0e720617c..186e8b8647 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -839,8 +839,9 @@ void SendCoinsDialog::coinControlFeatureChanged(bool checked) { ui->frameCoinControl->setVisible(checked); - if (!checked && model) // coin control features disabled - m_coin_control->SetNull(); + if (!checked && model) { // coin control features disabled + m_coin_control = std::make_unique<CCoinControl>(); + } coinControlUpdateLabels(); } diff --git a/src/wallet/coincontrol.cpp b/src/wallet/coincontrol.cpp index 720877ead0..598c5f082c 100644 --- a/src/wallet/coincontrol.cpp +++ b/src/wallet/coincontrol.cpp @@ -6,21 +6,7 @@ #include <util/system.h> -void CCoinControl::SetNull() +CCoinControl::CCoinControl() { - destChange = CNoDestination(); - m_change_type.reset(); - m_add_inputs = true; - fAllowOtherInputs = false; - fAllowWatchOnly = false; m_avoid_partial_spends = gArgs.GetBoolArg("-avoidpartialspends", DEFAULT_AVOIDPARTIALSPENDS); - m_avoid_address_reuse = false; - setSelected.clear(); - m_feerate.reset(); - fOverrideFeeRate = false; - m_confirm_target.reset(); - m_signal_bip125_rbf.reset(); - m_fee_mode = FeeEstimateMode::UNSET; - m_min_depth = DEFAULT_MIN_DEPTH; - m_max_depth = DEFAULT_MAX_DEPTH; } diff --git a/src/wallet/coincontrol.h b/src/wallet/coincontrol.h index d25a3fb3fa..716e1922fe 100644 --- a/src/wallet/coincontrol.h +++ b/src/wallet/coincontrol.h @@ -24,17 +24,17 @@ class CCoinControl { public: //! Custom change destination, if not set an address is generated - CTxDestination destChange; + CTxDestination destChange = CNoDestination(); //! Override the default change type if set, ignored if destChange is set std::optional<OutputType> m_change_type; //! If false, only selected inputs are used - bool m_add_inputs; + bool m_add_inputs = true; //! If false, allows unselected inputs, but requires all selected inputs be used - bool fAllowOtherInputs; + bool fAllowOtherInputs = false; //! Includes watch only addresses which are solvable - bool fAllowWatchOnly; + bool fAllowWatchOnly = false; //! Override automatic min/max checks on fee, m_feerate must be set if true - bool fOverrideFeeRate; + bool fOverrideFeeRate = false; //! Override the wallet's m_pay_tx_fee if set std::optional<CFeeRate> m_feerate; //! Override the default confirmation target if set @@ -42,22 +42,17 @@ public: //! Override the wallet's m_signal_rbf if set std::optional<bool> m_signal_bip125_rbf; //! Avoid partial use of funds sent to a given address - bool m_avoid_partial_spends; + bool m_avoid_partial_spends = DEFAULT_AVOIDPARTIALSPENDS; //! Forbids inclusion of dirty (previously used) addresses - bool m_avoid_address_reuse; + bool m_avoid_address_reuse = false; //! Fee estimation mode to control arguments to estimateSmartFee - FeeEstimateMode m_fee_mode; + FeeEstimateMode m_fee_mode = FeeEstimateMode::UNSET; //! Minimum chain depth value for coin availability int m_min_depth = DEFAULT_MIN_DEPTH; //! Maximum chain depth value for coin availability int m_max_depth = DEFAULT_MAX_DEPTH; - CCoinControl() - { - SetNull(); - } - - void SetNull(); + CCoinControl(); bool HasSelected() const { |