Bitcoin
|
#include <amount.h>
#include <interfaces/chain.h>
#include <interfaces/handler.h>
#include <outputtype.h>
#include <policy/feerate.h>
#include <script/sign.h>
#include <streams.h>
#include <tinyformat.h>
#include <ui_interface.h>
#include <util/strencodings.h>
#include <util/system.h>
#include <validationinterface.h>
#include <wallet/coinselection.h>
#include <wallet/crypter.h>
#include <wallet/ismine.h>
#include <wallet/walletdb.h>
#include <wallet/walletutil.h>
#include <algorithm>
#include <atomic>
#include <map>
#include <memory>
#include <set>
#include <stdexcept>
#include <stdint.h>
#include <string>
#include <utility>
#include <vector>
#include <boost/signals2/signal.hpp>
Go to the source code of this file.
Classes | |
class | CKeyPool |
class | ReserveDestination |
class | CAddressBookData |
struct | CRecipient |
struct | COutputEntry |
class | CMerkleTx |
class | CWalletTx |
class | COutput |
class | CWalletKey |
struct | CoinSelectionParams |
class | CWallet |
struct | CWallet::ScanResult |
struct | CWallet::Balance |
class | WalletRescanReserver |
Typedefs | |
typedef std::map< std::string, std::string > | mapValue_t |
Enumerations | |
enum | WalletCreationStatus { SUCCESS, CREATION_FAILED, ENCRYPTION_FAILED } |
enum | WalletFeature { FEATURE_BASE = 10500, FEATURE_WALLETCRYPT = 40000, FEATURE_COMPRPUBKEY = 60000, FEATURE_HD = 130000, FEATURE_HD_SPLIT = 139900, FEATURE_NO_DEFAULT_KEY = 159900, FEATURE_PRE_SPLIT_KEYPOOL = 169900, FEATURE_LATEST = FEATURE_PRE_SPLIT_KEYPOOL } |
enum | WalletFlags : uint64_t { WALLET_FLAG_AVOID_REUSE = (1ULL << 0), WALLET_FLAG_KEY_ORIGIN_METADATA = (1ULL << 1), WALLET_FLAG_DISABLE_PRIVATE_KEYS = (1ULL << 32), WALLET_FLAG_BLANK_WALLET = (1ULL << 33) } |
Functions | |
void | UnloadWallet (std::shared_ptr< CWallet > &&wallet) |
bool | AddWallet (const std::shared_ptr< CWallet > &wallet) |
bool | RemoveWallet (const std::shared_ptr< CWallet > &wallet) |
bool | HasWallets () |
std::vector< std::shared_ptr< CWallet > > | GetWallets () |
std::shared_ptr< CWallet > | GetWallet (const std::string &name) |
std::shared_ptr< CWallet > | LoadWallet (interfaces::Chain &chain, const WalletLocation &location, std::string &error, std::string &warning) |
std::shared_ptr< CWallet > | CreateWallet (interfaces::Chain &chain, const std::string &name, std::string &error, std::string &warning, WalletCreationStatus &status, const SecureString &passphrase, uint64_t wallet_creation_flags) |
static void | ReadOrderPos (int64_t &nOrderPos, mapValue_t &mapValue) |
static void | WriteOrderPos (const int64_t &nOrderPos, mapValue_t &mapValue) |
int | CalculateMaximumSignedInputSize (const CTxOut &txout, const CWallet *pwallet, bool use_max_sig=false) |
void | MaybeResendWalletTxs () |
int64_t | CalculateMaximumSignedTxSize (const CTransaction &tx, const CWallet *wallet, bool use_max_sig=false) EXCLUSIVE_LOCKS_REQUIRED(wallet -> cs_wallet) |
int64_t | CalculateMaximumSignedTxSize (const CTransaction &tx, const CWallet *wallet, const std::vector< CTxOut > &txouts, bool use_max_sig=false) |
Variables | |
static const unsigned int | DEFAULT_KEYPOOL_SIZE = 1000 |
Default for -keypool. More... | |
constexpr CAmount | DEFAULT_PAY_TX_FEE = 0 |
-paytxfee default More... | |
static const CAmount | DEFAULT_FALLBACK_FEE = 20000 |
-fallbackfee default More... | |
static const CAmount | DEFAULT_DISCARD_FEE = 10000 |
-discardfee default More... | |
static const CAmount | DEFAULT_TRANSACTION_MINFEE = 1000 |
-mintxfee default More... | |
static const CAmount | WALLET_INCREMENTAL_RELAY_FEE = 5000 |
minimum recommended increment for BIP 125 replacement txs More... | |
static const bool | DEFAULT_SPEND_ZEROCONF_CHANGE = true |
Default for -spendzeroconfchange. More... | |
static const bool | DEFAULT_WALLET_REJECT_LONG_CHAINS = false |
Default for -walletrejectlongchains. More... | |
static const bool | DEFAULT_AVOIDPARTIALSPENDS = false |
Default for -avoidpartialspends. More... | |
static const unsigned int | DEFAULT_TX_CONFIRM_TARGET = 6 |
-txconfirmtarget default More... | |
static const bool | DEFAULT_WALLET_RBF = false |
-walletrbf default More... | |
static const bool | DEFAULT_WALLETBROADCAST = true |
static const bool | DEFAULT_DISABLE_WALLET = false |
constexpr CAmount | DEFAULT_TRANSACTION_MAXFEE {COIN / 10} |
-maxtxfee default More... | |
constexpr CAmount | HIGH_TX_FEE_PER_KB {COIN / 100} |
Discourage users to set fees higher than this amount (in satoshis) per kB. More... | |
constexpr CAmount | HIGH_MAX_TX_FEE {100 * HIGH_TX_FEE_PER_KB} |
-maxtxfee will warn if called with a higher fee than this amount (in satoshis) More... | |
static constexpr size_t | DUMMY_NESTED_P2WPKH_INPUT_SIZE = 91 |
Pre-calculated constants for input size estimation in virtual size More... | |
constexpr OutputType | DEFAULT_ADDRESS_TYPE {OutputType::P2SH_SEGWIT} |
Default for -addresstype. More... | |
constexpr OutputType | DEFAULT_CHANGE_TYPE {OutputType::CHANGE_AUTO} |
Default for -changetype. More... | |
static constexpr uint64_t | KNOWN_WALLET_FLAGS |
static constexpr uint64_t | MUTABLE_WALLET_FLAGS |
static const std::map< std::string, WalletFlags > | WALLET_FLAG_MAP |
const std::map< uint64_t, std::string > | WALLET_FLAG_CAVEATS |
typedef std::map<std::string, std::string> mapValue_t |
enum WalletCreationStatus |
enum WalletFeature |
enum WalletFlags : uint64_t |
bool AddWallet | ( | const std::shared_ptr< CWallet > & | wallet | ) |
std::shared_ptr<CWallet> CreateWallet | ( | interfaces::Chain & | chain, |
const std::string & | name, | ||
std::string & | error, | ||
std::string & | warning, | ||
WalletCreationStatus & | status, | ||
const SecureString & | passphrase, | ||
uint64_t | wallet_creation_flags | ||
) |
std::shared_ptr<CWallet> GetWallet | ( | const std::string & | name | ) |
std::vector<std::shared_ptr<CWallet> > GetWallets | ( | ) |
bool HasWallets | ( | ) |
std::shared_ptr<CWallet> LoadWallet | ( | interfaces::Chain & | chain, |
const WalletLocation & | location, | ||
std::string & | error, | ||
std::string & | warning | ||
) |
void MaybeResendWalletTxs | ( | ) |
Called periodically by the schedule thread. Prompts individual wallets to resend their transactions. Actual rebroadcast schedule is managed by the wallets themselves.
|
inlinestatic |
bool RemoveWallet | ( | const std::shared_ptr< CWallet > & | wallet | ) |
void UnloadWallet | ( | std::shared_ptr< CWallet > && | wallet | ) |
Explicitly unload and delete the wallet. Blocks the current thread after signaling the unload intent so that all wallet clients release the wallet. Note that, when blocking is not required, the wallet is implicitly unloaded by the shared pointer deleter.
|
inlinestatic |
constexpr OutputType DEFAULT_ADDRESS_TYPE {OutputType::P2SH_SEGWIT} |
Default for -addresstype.
|
static |
Default for -avoidpartialspends.
constexpr OutputType DEFAULT_CHANGE_TYPE {OutputType::CHANGE_AUTO} |
Default for -changetype.
|
static |
|
static |
-discardfee default
|
static |
-fallbackfee default
|
static |
Default for -keypool.
constexpr CAmount DEFAULT_PAY_TX_FEE = 0 |
-paytxfee default
|
static |
Default for -spendzeroconfchange.
|
static |
-mintxfee default
|
static |
-txconfirmtarget default
|
static |
-walletrbf default
|
static |
Default for -walletrejectlongchains.
|
static |
|
static |
Pre-calculated constants for input size estimation in virtual size
constexpr CAmount HIGH_MAX_TX_FEE {100 * HIGH_TX_FEE_PER_KB} |
-maxtxfee will warn if called with a higher fee than this amount (in satoshis)
Discourage users to set fees higher than this amount (in satoshis) per kB.
|
static |
|
static |
const std::map<uint64_t,std::string> WALLET_FLAG_CAVEATS |
|
static |
|
static |
minimum recommended increment for BIP 125 replacement txs