diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-04-26 09:20:39 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-04-26 09:20:44 +0200 |
commit | 74a960a220a32b4e240551ba992d5199edac38fc (patch) | |
tree | ee54c5f1445c5e6eacf8ba17e60a81671a541277 | |
parent | 0a0a95b9d6f97738fc48a975f3c2bf66cca854c7 (diff) | |
parent | c5a470eee1ac864b7c02b6a1669327b68411d806 (diff) |
Merge bitcoin/bitcoin#21714: refactor: Drop CCoinControl::SetNull
c5a470eee1ac864b7c02b6a1669327b68411d806 refactor: Drop CCoinControl::SetNull (João Barbosa)
Pull request description:
The only external call to `SetNull` is changed as follow
```diff
- m_coin_control->SetNull();
+ m_coin_control = std::make_unique<CCoinControl>();
```
ACKs for top commit:
theStack:
Code-Review ACK c5a470eee1ac864b7c02b6a1669327b68411d806
MarcoFalke:
review ACK c5a470eee1ac864b7c02b6a1669327b68411d806 🍤
Tree-SHA512: 2588828720cdcf405fc4fb06f2aa17ad4eef2a645e12d820311006127e732258dd084993f17f23742f8e7f782e18289a6199dcec3690efc9b92458f90b816a8f
-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 c4e6d5973b..e1a4faa266 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 { |