![]() |
Bitcoin Core 30.99.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 &outpoint) const |
| Returns true if the given output is pre-selected. More... | |
| bool | IsExternalSelected (const COutPoint &outpoint) 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... | |
| PreselectedInput & | Select (const COutPoint &outpoint) |
| Lock-in the given output for spending. More... | |
| void | UnSelect (const COutPoint &outpoint) |
| 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... | |
| std::optional< int64_t > | GetInputWeight (const COutPoint &outpoint) const |
| Returns the input weight. More... | |
| std::optional< uint32_t > | GetSequence (const COutPoint &outpoint) const |
| Retrieve the sequence for an input. More... | |
| std::pair< std::optional< CScript >, std::optional< CScriptWitness > > | GetScripts (const COutPoint &outpoint) const |
| Retrieves the scriptSig and scriptWitness for an input. More... | |
| bool | HasSelectedOrder () const |
| std::optional< unsigned int > | GetSelectionPos (const COutPoint &outpoint) const |
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 | 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... | |
| uint32_t | m_version = DEFAULT_WALLET_TX_VERSION |
| Version. More... | |
| std::optional< uint32_t > | m_locktime |
| Locktime. More... | |
| std::optional< int > | m_max_tx_weight {std::nullopt} |
| Caps weight of resulting tx. More... | |
Private Attributes | |
| std::map< COutPoint, PreselectedInput > | m_selected |
| Selected inputs (inputs that will be used, regardless of whether they're optimal or not) More... | |
| unsigned int | m_selection_pos {0} |
Coin Control Features.
Definition at line 82 of file coincontrol.h.
| wallet::CCoinControl::CCoinControl | ( | ) |
Returns the external output for the given outpoint if it exists.
Definition at line 31 of file coincontrol.cpp.
| std::optional< int64_t > wallet::CCoinControl::GetInputWeight | ( | const COutPoint & | outpoint | ) | const |
Returns the input weight.
Definition at line 72 of file coincontrol.cpp.
| std::pair< std::optional< CScript >, std::optional< CScriptWitness > > wallet::CCoinControl::GetScripts | ( | const COutPoint & | outpoint | ) | const |
Retrieves the scriptSig and scriptWitness for an input.
Definition at line 84 of file coincontrol.cpp.
|
inline |
Definition at line 174 of file coincontrol.h.
| std::optional< uint32_t > wallet::CCoinControl::GetSequence | ( | const COutPoint & | outpoint | ) | const |
Retrieve the sequence for an input.
Definition at line 78 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.
|
inline |
Definition at line 169 of file coincontrol.h.
| bool wallet::CCoinControl::IsExternalSelected | ( | const COutPoint & | outpoint | ) | 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 & | outpoint | ) | 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 57 of file coincontrol.cpp.
| PreselectedInput & wallet::CCoinControl::Select | ( | const COutPoint & | outpoint | ) |
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.
| void wallet::CCoinControl::SetInputWeight | ( | const COutPoint & | outpoint, |
| int64_t | weight | ||
| ) |
Set an input's weight.
Definition at line 67 of file coincontrol.cpp.
| void wallet::CCoinControl::UnSelect | ( | const COutPoint & | outpoint | ) |
Unselects the given output.
Definition at line 47 of file coincontrol.cpp.
| void wallet::CCoinControl::UnSelectAll | ( | ) |
Unselects all outputs.
Definition at line 52 of file coincontrol.cpp.
| CTxDestination wallet::CCoinControl::destChange = CNoDestination() |
Custom change destination, if not set an address is generated.
Definition at line 86 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 95 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 93 of file coincontrol.h.
| bool wallet::CCoinControl::m_avoid_address_reuse = false |
Forbids inclusion of dirty (previously used) addresses.
Definition at line 105 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 103 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 88 of file coincontrol.h.
| std::optional<unsigned int> wallet::CCoinControl::m_confirm_target |
Override the default confirmation target if set.
Definition at line 99 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 113 of file coincontrol.h.
| FeeEstimateMode wallet::CCoinControl::m_fee_mode = FeeEstimateMode::UNSET |
Fee estimation mode to control arguments to estimateSmartFee.
Definition at line 107 of file coincontrol.h.
| std::optional<CFeeRate> wallet::CCoinControl::m_feerate |
Override the wallet's m_pay_tx_fee if set.
Definition at line 97 of file coincontrol.h.
| bool wallet::CCoinControl::m_include_unsafe_inputs = false |
If false, only safe inputs will be used.
Definition at line 90 of file coincontrol.h.
| std::optional<uint32_t> wallet::CCoinControl::m_locktime |
Locktime.
Definition at line 117 of file coincontrol.h.
| int wallet::CCoinControl::m_max_depth = DEFAULT_MAX_DEPTH |
Maximum chain depth value for coin availability.
Definition at line 111 of file coincontrol.h.
| std::optional<int> wallet::CCoinControl::m_max_tx_weight {std::nullopt} |
Caps weight of resulting tx.
Definition at line 119 of file coincontrol.h.
| int wallet::CCoinControl::m_min_depth = DEFAULT_MIN_DEPTH |
Minimum chain depth value for coin availability.
Definition at line 109 of file coincontrol.h.
|
private |
Selected inputs (inputs that will be used, regardless of whether they're optimal or not)
Definition at line 185 of file coincontrol.h.
|
private |
Definition at line 186 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 101 of file coincontrol.h.
| uint32_t wallet::CCoinControl::m_version = DEFAULT_WALLET_TX_VERSION |
Version.
Definition at line 115 of file coincontrol.h.