BSHA3  0.17.99
P2P Blockchain, based on Bitcoin
Classes | Typedefs | Enumerations | Functions | Variables
wallet.h File Reference
#include <amount.h>
#include <outputtype.h>
#include <policy/feerate.h>
#include <streams.h>
#include <tinyformat.h>
#include <ui_interface.h>
#include <utilstrencodings.h>
#include <validationinterface.h>
#include <script/ismine.h>
#include <script/sign.h>
#include <util.h>
#include <wallet/crypter.h>
#include <wallet/coinselection.h>
#include <wallet/walletdb.h>
#include <wallet/rpcwallet.h>
#include <algorithm>
#include <atomic>
#include <map>
#include <memory>
#include <set>
#include <stdexcept>
#include <stdint.h>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for wallet.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CKeyPool
 A key pool entry. More...
 
class  CAddressBookData
 Address book data. More...
 
struct  CRecipient
 
struct  COutputEntry
 
class  CMerkleTx
 A transaction with a merkle branch linking it to the block chain. More...
 
class  CWalletTx
 A transaction with a bunch of additional info that only the owner cares about. More...
 
class  COutput
 
class  CWalletKey
 Private key that includes an expiration date in case it never gets used. More...
 
struct  CoinSelectionParams
 
class  CWallet
 A CWallet is an extension of a keystore, which also maintains a set of transactions and balances, and provides the ability to create new transactions. More...
 
class  CReserveKey
 A key allocated from the key pool. More...
 
class  WalletRescanReserver
 RAII object to check and reserve a wallet rescan. More...
 

Typedefs

typedef std::map< std::string, std::string > mapValue_t
 

Enumerations

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
}
 (client) version numbers for particular wallet features More...
 
enum  WalletFlags : uint64_t { WALLET_FLAG_DISABLE_PRIVATE_KEYS = (1ULL << 32) }
 

Functions

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< CWalletGetWallet (const std::string &name)
 
std::vector< std::shared_ptr< CWallet > > vpwallets GUARDED_BY (cs_wallets)
 
int CalculateMaximumSignedInputSize (const CTxOut &txout, const CWallet *pwallet, bool use_max_sig=false)
 
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

CCriticalSection cs_wallets
 
constexpr CAmount DEFAULT_PAY_TX_FEE = 0
 -paytxfee default 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...
 

Typedef Documentation

◆ mapValue_t

typedef std::map<std::string, std::string> mapValue_t

Definition at line 182 of file wallet.h.

Enumeration Type Documentation

◆ WalletFeature

(client) version numbers for particular wallet features

Enumerator
FEATURE_BASE 
FEATURE_WALLETCRYPT 
FEATURE_COMPRPUBKEY 
FEATURE_HD 
FEATURE_HD_SPLIT 
FEATURE_NO_DEFAULT_KEY 
FEATURE_PRE_SPLIT_KEYPOOL 
FEATURE_LATEST 

Definition at line 82 of file wallet.h.

◆ WalletFlags

enum WalletFlags : uint64_t
Enumerator
WALLET_FLAG_DISABLE_PRIVATE_KEYS 

Definition at line 106 of file wallet.h.

Function Documentation

◆ AddWallet()

bool AddWallet ( const std::shared_ptr< CWallet > &  wallet)

Definition at line 43 of file wallet.cpp.

◆ GetWallet()

std::shared_ptr<CWallet> GetWallet ( const std::string &  name)

Definition at line 75 of file wallet.cpp.

Here is the caller graph for this function:

◆ GetWallets()

std::vector<std::shared_ptr<CWallet> > GetWallets ( )

Definition at line 47 of file dummywallet.cpp.

Here is the caller graph for this function:

◆ GUARDED_BY()

std::vector<std::shared_ptr<CWallet> > vpwallets GUARDED_BY ( cs_wallets  )

◆ HasWallets()

bool HasWallets ( )

Definition at line 63 of file wallet.cpp.

Here is the caller graph for this function:

◆ RemoveWallet()

bool RemoveWallet ( const std::shared_ptr< CWallet > &  wallet)

Definition at line 53 of file wallet.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ cs_wallets

CCriticalSection cs_wallets

Definition at line 40 of file wallet.cpp.

◆ DEFAULT_ADDRESS_TYPE

constexpr OutputType DEFAULT_ADDRESS_TYPE {OutputType::P2SH_SEGWIT}

Default for -addresstype.

Definition at line 101 of file wallet.h.

◆ DEFAULT_CHANGE_TYPE

constexpr OutputType DEFAULT_CHANGE_TYPE {OutputType::CHANGE_AUTO}

Default for -changetype.

Definition at line 104 of file wallet.h.

◆ DEFAULT_PAY_TX_FEE

constexpr CAmount DEFAULT_PAY_TX_FEE = 0

-paytxfee default

Definition at line 48 of file wallet.h.