![]() |
Bitcoin Core
26.1.0
P2P Digital Currency
|
Coin Control Features. More...
#include <coincontrol.h>
Public Member Functions | |
| CCoinControl () | |
| bool | HasSelected () const |
| Returns true if there are pre-selected inputs. More... | |
| bool | IsSelected (const COutPoint &output) const |
| Returns true if the given output is pre-selected. More... | |
| bool | IsExternalSelected (const COutPoint &output) const |
| Returns true if the given output is selected as an external input. More... | |
| std::optional< CTxOut > | GetExternalOutput (const COutPoint &outpoint) const |
| Returns the external output for the given outpoint if it exists. More... | |
| void | Select (const COutPoint &output) |
| Lock-in the given output for spending. More... | |
| void | SelectExternal (const COutPoint &outpoint, const CTxOut &txout) |
| Lock-in the given output as an external input for spending because it is not in the wallet. More... | |
| void | UnSelect (const COutPoint &output) |
| Unselects the given output. More... | |
| void | UnSelectAll () |
| Unselects all outputs. More... | |
| std::vector< COutPoint > | ListSelected () const |
| List the selected inputs. More... | |
| void | SetInputWeight (const COutPoint &outpoint, int64_t weight) |
| Set an input's weight. More... | |
| bool | HasInputWeight (const COutPoint &outpoint) const |
| Returns true if the input weight is set. More... | |
| int64_t | GetInputWeight (const COutPoint &outpoint) const |
| Returns the input weight. More... | |
Public Attributes | |
| CTxDestination | destChange = CNoDestination() |
| Custom change destination, if not set an address is generated. More... | |
| std::optional< OutputType > | m_change_type |
| Override the default change type if set, ignored if destChange is set. More... | |
| bool | m_include_unsafe_inputs = false |
| If false, only safe inputs will be used. More... | |
| bool | m_allow_other_inputs = true |
| If true, the selection process can add extra unselected inputs from the wallet while requires all selected inputs be used. More... | |
| bool | fAllowWatchOnly = false |
| Includes watch only addresses which are solvable. More... | |
| bool | fOverrideFeeRate = false |
| Override automatic min/max checks on fee, m_feerate must be set if true. More... | |
| std::optional< CFeeRate > | m_feerate |
| Override the wallet's m_pay_tx_fee if set. More... | |
| std::optional< unsigned int > | m_confirm_target |
| Override the default confirmation target if set. More... | |
| std::optional< bool > | m_signal_bip125_rbf |
| Override the wallet's m_signal_rbf if set. More... | |
| bool | m_avoid_partial_spends = DEFAULT_AVOIDPARTIALSPENDS |
| Avoid partial use of funds sent to a given address. More... | |
| bool | m_avoid_address_reuse = false |
| Forbids inclusion of dirty (previously used) addresses. More... | |
| FeeEstimateMode | m_fee_mode = FeeEstimateMode::UNSET |
| Fee estimation mode to control arguments to estimateSmartFee. More... | |
| int | m_min_depth = DEFAULT_MIN_DEPTH |
| Minimum chain depth value for coin availability. More... | |
| int | m_max_depth = DEFAULT_MAX_DEPTH |
| Maximum chain depth value for coin availability. More... | |
| FlatSigningProvider | m_external_provider |
| SigningProvider that has pubkeys and scripts to do spend size estimation for external inputs. More... | |
Private Attributes | |
| std::set< COutPoint > | m_selected_inputs |
| Selected inputs (inputs that will be used, regardless of whether they're optimal or not) More... | |
| std::map< COutPoint, CTxOut > | m_external_txouts |
| Map of external inputs to include in the transaction These are not in the wallet, so we need to track them separately. More... | |
| std::map< COutPoint, int64_t > | m_input_weights |
| Map of COutPoints to the maximum weight for that input. More... | |
Coin Control Features.
Definition at line 28 of file coincontrol.h.
| wallet::CCoinControl::CCoinControl | ( | ) |
Returns the external output for the given outpoint if it exists.
Definition at line 30 of file coincontrol.cpp.
| int64_t wallet::CCoinControl::GetInputWeight | ( | const COutPoint & | outpoint | ) | const |
Returns the input weight.
Definition at line 76 of file coincontrol.cpp.
| bool wallet::CCoinControl::HasInputWeight | ( | const COutPoint & | outpoint | ) | const |
Returns true if the input weight is set.
Definition at line 71 of file coincontrol.cpp.
| bool wallet::CCoinControl::HasSelected | ( | ) | const |
Returns true if there are pre-selected inputs.
Definition at line 15 of file coincontrol.cpp.
| bool wallet::CCoinControl::IsExternalSelected | ( | const COutPoint & | output | ) | const |
Returns true if the given output is selected as an external input.
Definition at line 25 of file coincontrol.cpp.
| bool wallet::CCoinControl::IsSelected | ( | const COutPoint & | output | ) | const |
Returns true if the given output is pre-selected.
Definition at line 20 of file coincontrol.cpp.
| std::vector< COutPoint > wallet::CCoinControl::ListSelected | ( | ) | const |
List the selected inputs.
Definition at line 61 of file coincontrol.cpp.
| void wallet::CCoinControl::Select | ( | const COutPoint & | output | ) |
Lock-in the given output for spending.
The output will be included in the transaction even if it's not the most optimal choice.
Definition at line 40 of file coincontrol.cpp.
Lock-in the given output as an external input for spending because it is not in the wallet.
The output will be included in the transaction even if it's not the most optimal choice.
Definition at line 45 of file coincontrol.cpp.
| void wallet::CCoinControl::SetInputWeight | ( | const COutPoint & | outpoint, |
| int64_t | weight | ||
| ) |
Set an input's weight.
Definition at line 66 of file coincontrol.cpp.
| void wallet::CCoinControl::UnSelect | ( | const COutPoint & | output | ) |
Unselects the given output.
Definition at line 51 of file coincontrol.cpp.
| void wallet::CCoinControl::UnSelectAll | ( | ) |
Unselects all outputs.
Definition at line 56 of file coincontrol.cpp.
| CTxDestination wallet::CCoinControl::destChange = CNoDestination() |
Custom change destination, if not set an address is generated.
Definition at line 32 of file coincontrol.h.
| bool wallet::CCoinControl::fAllowWatchOnly = false |
Includes watch only addresses which are solvable.
Definition at line 41 of file coincontrol.h.
| bool wallet::CCoinControl::fOverrideFeeRate = false |
Override automatic min/max checks on fee, m_feerate must be set if true.
Definition at line 43 of file coincontrol.h.
| bool wallet::CCoinControl::m_allow_other_inputs = true |
If true, the selection process can add extra unselected inputs from the wallet while requires all selected inputs be used.
Definition at line 39 of file coincontrol.h.
| bool wallet::CCoinControl::m_avoid_address_reuse = false |
Forbids inclusion of dirty (previously used) addresses.
Definition at line 53 of file coincontrol.h.
| bool wallet::CCoinControl::m_avoid_partial_spends = DEFAULT_AVOIDPARTIALSPENDS |
Avoid partial use of funds sent to a given address.
Definition at line 51 of file coincontrol.h.
| std::optional<OutputType> wallet::CCoinControl::m_change_type |
Override the default change type if set, ignored if destChange is set.
Definition at line 34 of file coincontrol.h.
| std::optional<unsigned int> wallet::CCoinControl::m_confirm_target |
Override the default confirmation target if set.
Definition at line 47 of file coincontrol.h.
| FlatSigningProvider wallet::CCoinControl::m_external_provider |
SigningProvider that has pubkeys and scripts to do spend size estimation for external inputs.
Definition at line 61 of file coincontrol.h.
Map of external inputs to include in the transaction These are not in the wallet, so we need to track them separately.
Definition at line 121 of file coincontrol.h.
| FeeEstimateMode wallet::CCoinControl::m_fee_mode = FeeEstimateMode::UNSET |
Fee estimation mode to control arguments to estimateSmartFee.
Definition at line 55 of file coincontrol.h.
| std::optional<CFeeRate> wallet::CCoinControl::m_feerate |
Override the wallet's m_pay_tx_fee if set.
Definition at line 45 of file coincontrol.h.
| bool wallet::CCoinControl::m_include_unsafe_inputs = false |
If false, only safe inputs will be used.
Definition at line 36 of file coincontrol.h.
|
private |
Map of COutPoints to the maximum weight for that input.
Definition at line 123 of file coincontrol.h.
| int wallet::CCoinControl::m_max_depth = DEFAULT_MAX_DEPTH |
Maximum chain depth value for coin availability.
Definition at line 59 of file coincontrol.h.
| int wallet::CCoinControl::m_min_depth = DEFAULT_MIN_DEPTH |
Minimum chain depth value for coin availability.
Definition at line 57 of file coincontrol.h.
|
private |
Selected inputs (inputs that will be used, regardless of whether they're optimal or not)
Definition at line 118 of file coincontrol.h.
| std::optional<bool> wallet::CCoinControl::m_signal_bip125_rbf |
Override the wallet's m_signal_rbf if set.
Definition at line 49 of file coincontrol.h.
1.8.14