Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/coincontrol.h
// Copyright (c) 2011-2016 The Bitcoin Core developers | // Copyright (c) 2011-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_WALLET_COINCONTROL_H | #ifndef BITCOIN_WALLET_COINCONTROL_H | ||||
#define BITCOIN_WALLET_COINCONTROL_H | #define BITCOIN_WALLET_COINCONTROL_H | ||||
#include <optional.h> | |||||
#include <outputtype.h> | #include <outputtype.h> | ||||
#include <primitives/transaction.h> | #include <primitives/transaction.h> | ||||
#include <script/standard.h> | #include <script/standard.h> | ||||
const int DEFAULT_MIN_DEPTH = 0; | const int DEFAULT_MIN_DEPTH = 0; | ||||
const int DEFAULT_MAX_DEPTH = 9999999; | const int DEFAULT_MAX_DEPTH = 9999999; | ||||
//! Default for -avoidpartialspends | //! Default for -avoidpartialspends | ||||
static constexpr bool DEFAULT_AVOIDPARTIALSPENDS = false; | static constexpr bool DEFAULT_AVOIDPARTIALSPENDS = false; | ||||
/** Coin Control Features. */ | /** Coin Control Features. */ | ||||
class CCoinControl { | class CCoinControl { | ||||
public: | public: | ||||
CTxDestination destChange; | CTxDestination destChange; | ||||
//! Override the default change type if set, ignored if destChange is set | //! Override the default change type if set, ignored if destChange is set | ||||
Optional<OutputType> m_change_type; | std::optional<OutputType> m_change_type; | ||||
//! If false, allows unselected inputs, but requires all selected inputs be | //! If false, allows unselected inputs, but requires all selected inputs be | ||||
//! used | //! used | ||||
bool fAllowOtherInputs; | bool fAllowOtherInputs; | ||||
//! Includes watch only addresses which are solvable | //! Includes watch only addresses which are solvable | ||||
bool fAllowWatchOnly; | bool fAllowWatchOnly; | ||||
//! Override automatic min/max checks on fee, m_feerate must be set if true | //! Override automatic min/max checks on fee, m_feerate must be set if true | ||||
bool fOverrideFeeRate; | bool fOverrideFeeRate; | ||||
//! Override the wallet's m_pay_tx_fee if set | //! Override the wallet's m_pay_tx_fee if set | ||||
Optional<CFeeRate> m_feerate; | std::optional<CFeeRate> m_feerate; | ||||
//! Override the default confirmation target if set | //! Override the default confirmation target if set | ||||
Optional<unsigned int> m_confirm_target; | std::optional<unsigned int> m_confirm_target; | ||||
//! Avoid partial use of funds sent to a given address | //! Avoid partial use of funds sent to a given address | ||||
bool m_avoid_partial_spends; | bool m_avoid_partial_spends; | ||||
//! Forbids inclusion of dirty (previously used) addresses | //! Forbids inclusion of dirty (previously used) addresses | ||||
bool m_avoid_address_reuse; | bool m_avoid_address_reuse; | ||||
//! Minimum chain depth value for coin availability | //! Minimum chain depth value for coin availability | ||||
int m_min_depth = DEFAULT_MIN_DEPTH; | int m_min_depth = DEFAULT_MIN_DEPTH; | ||||
//! Maximum chain depth value for coin availability | //! Maximum chain depth value for coin availability | ||||
int m_max_depth = DEFAULT_MAX_DEPTH; | int m_max_depth = DEFAULT_MAX_DEPTH; | ||||
Show All 26 Lines |