Bitcoin Core  0.18.99
P2P Digital Currency
Functions
Actions

Functions

Balance CWallet::GetBalance (int min_depth=0) const
 
CAmount CWallet::GetAvailableBalance (const CCoinControl *coinControl=nullptr) const
 
void CWallet::AvailableCoins (interfaces::Chain::Lock &locked_chain, std::vector< COutput > &vCoins, bool fOnlySafe=true, const CCoinControl *coinControl=nullptr, const CAmount &nMinimumAmount=1, const CAmount &nMaximumAmount=MAX_MONEY, const CAmount &nMinimumSumAmount=MAX_MONEY, const uint64_t nMaximumCount=0, const int nMinDepth=0, const int nMaxDepth=9999999) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 populate vCoins with vector of available COutputs. More...
 
std::map< CTxDestination, std::vector< COutput > > CWallet::ListCoins (interfaces::Chain::Lock &locked_chain) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 Return list of available coins and locked coins grouped by non-change output address. More...
 
const CTxOutCWallet::FindNonChangeParentOutput (const CTransaction &tx, int output) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 Find non-change parent output. More...
 
bool CWallet::SelectCoinsMinConf (const CAmount &nTargetValue, const CoinEligibilityFilter &eligibility_filter, std::vector< OutputGroup > groups, std::set< CInputCoin > &setCoinsRet, CAmount &nValueRet, const CoinSelectionParams &coin_selection_params, bool &bnb_used) const
 Shuffle and select coins until nTargetValue is reached while avoiding small change; This method is stochastic for some inputs and upon completion the coin set and corresponding actual target value is assembled. More...
 
bool CWallet::SelectCoins (const std::vector< COutput > &vAvailableCoins, const CAmount &nTargetValue, std::set< CInputCoin > &setCoinsRet, CAmount &nValueRet, const CCoinControl &coin_control, CoinSelectionParams &coin_selection_params, bool &bnb_used) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 Select a set of coins such that nValueRet >= nTargetValue and at least all coins from coinControl are selected; Never select unconfirmed coins if they are not ours. More...
 
bool CWallet::SignTransaction (CMutableTransaction &tx) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
bool CWallet::FundTransaction (CMutableTransaction &tx, CAmount &nFeeRet, int &nChangePosInOut, std::string &strFailReason, bool lockUnspents, const std::set< int > &setSubtractFeeFromOutputs, CCoinControl)
 Insert additional inputs into the transaction by calling CreateTransaction();. More...
 
OutputType CWallet::TransactionChangeType (OutputType change_type, const std::vector< CRecipient > &vecSend)
 
bool CWallet::CreateTransaction (interfaces::Chain::Lock &locked_chain, const std::vector< CRecipient > &vecSend, CTransactionRef &tx, CReserveKey &reservekey, CAmount &nFeeRet, int &nChangePosInOut, std::string &strFailReason, const CCoinControl &coin_control, bool sign=true)
 Create a new transaction paying the recipients with a set of coins selected by SelectCoins(); Also create the change output, when needed. More...
 
bool CWallet::CommitTransaction (CTransactionRef tx, mapValue_t mapValue, std::vector< std::pair< std::string, std::string >> orderForm, CReserveKey &reservekey, CValidationState &state)
 Call after CreateTransaction unless you want to abort. More...
 
DBErrors CWallet::LoadWallet (bool &fFirstRunRet)
 
DBErrors CWallet::ZapSelectTx (std::vector< uint256 > &vHashIn, std::vector< uint256 > &vHashOut) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
DBErrors CWallet::ZapWalletTx (std::vector< CWalletTx > &vWtx)
 
bool CWallet::SetAddressBook (const CTxDestination &address, const std::string &strName, const std::string &purpose)
 
bool CWallet::DelAddressBook (const CTxDestination &address)
 
const std::string & CWallet::GetLabelName (const CScript &scriptPubKey) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
bool CWallet::NewKeyPool ()
 Mark old keypool keys as used, and generate all new keys. More...
 
size_t CWallet::KeypoolCountExternalKeys () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
void CWallet::LoadKeyPool (int64_t nIndex, const CKeyPool &keypool) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
bool CWallet::TopUpKeyPool (unsigned int kpSize=0)
 
void CWallet::AddKeypoolPubkey (const CPubKey &pubkey, const bool internal)
 
void CWallet::AddKeypoolPubkeyWithDB (const CPubKey &pubkey, const bool internal, WalletBatch &batch)
 
bool CWallet::ReserveKeyFromKeyPool (int64_t &nIndex, CKeyPool &keypool, bool fRequestedInternal)
 Reserves a key from the keypool and sets nIndex to its index. More...
 
void CWallet::KeepKey (int64_t nIndex)
 
void CWallet::ReturnKey (int64_t nIndex, bool fInternal, const CPubKey &pubkey)
 
bool CWallet::GetKeyFromPool (CPubKey &key, bool internal=false)
 
int64_t CWallet::GetOldestKeyPoolTime ()
 
std::map< CTxDestination, CAmountCWallet::GetAddressBalances (interfaces::Chain::Lock &locked_chain)
 
std::set< std::set< CTxDestination > > CWallet::GetAddressGroupings () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
std::set< CTxDestinationCWallet::GetLabelAddresses (const std::string &label) const
 
bool CReserveKey::GetReservedKey (CPubKey &pubkey, bool internal=false)
 Reserve a key from the keypool. More...
 
void CReserveKey::KeepKey ()
 Keep the key. Do not return it to the keypool when this object goes out of scope. More...
 
void CReserveKey::ReturnKey ()
 Return a key to the keypool. More...
 
void CWallet::MarkReserveKeysAsUsed (int64_t keypool_id) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 Marks all keys in the keypool up to and including reserve_key as used. More...
 
void CWallet::LockCoin (const COutPoint &output) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
void CWallet::UnlockCoin (const COutPoint &output) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
void CWallet::UnlockAllCoins () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
bool CWallet::IsLockedCoin (uint256 hash, unsigned int n) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 
void CWallet::ListLockedCoins (std::vector< COutPoint > &vOutpts) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet)
 

Detailed Description

Function Documentation

◆ AddKeypoolPubkey()

void CWallet::AddKeypoolPubkey ( const CPubKey pubkey,
const bool  internal 
)

Definition at line 3318 of file wallet.cpp.

◆ AddKeypoolPubkeyWithDB()

void CWallet::AddKeypoolPubkeyWithDB ( const CPubKey pubkey,
const bool  internal,
WalletBatch batch 
)

Definition at line 3325 of file wallet.cpp.

Here is the call graph for this function:

◆ AvailableCoins()

void CWallet::AvailableCoins ( interfaces::Chain::Lock locked_chain,
std::vector< COutput > &  vCoins,
bool  fOnlySafe = true,
const CCoinControl coinControl = nullptr,
const CAmount nMinimumAmount = 1,
const CAmount nMaximumAmount = MAX_MONEY,
const CAmount nMinimumSumAmount = MAX_MONEY,
const uint64_t  nMaximumCount = 0,
const int  nMinDepth = 0,
const int  nMaxDepth = 9999999 
) const

populate vCoins with vector of available COutputs.

Definition at line 2181 of file wallet.cpp.

◆ CommitTransaction()

bool CWallet::CommitTransaction ( CTransactionRef  tx,
mapValue_t  mapValue,
std::vector< std::pair< std::string, std::string >>  orderForm,
CReserveKey reservekey,
CValidationState state 
)

Call after CreateTransaction unless you want to abort.

Definition at line 3018 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateTransaction()

bool CWallet::CreateTransaction ( interfaces::Chain::Lock locked_chain,
const std::vector< CRecipient > &  vecSend,
CTransactionRef tx,
CReserveKey reservekey,
CAmount nFeeRet,
int &  nChangePosInOut,
std::string &  strFailReason,
const CCoinControl coin_control,
bool  sign = true 
)

Create a new transaction paying the recipients with a set of coins selected by SelectCoins(); Also create the change output, when needed.

Note
passing nChangePosInOut as -1 will result in setting a random position

Definition at line 2651 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DelAddressBook()

bool CWallet::DelAddressBook ( const CTxDestination address)

Definition at line 3171 of file wallet.cpp.

Here is the call graph for this function:

◆ FindNonChangeParentOutput()

const CTxOut & CWallet::FindNonChangeParentOutput ( const CTransaction tx,
int  output 
) const

Find non-change parent output.

Definition at line 2327 of file wallet.cpp.

Here is the call graph for this function:

◆ FundTransaction()

bool CWallet::FundTransaction ( CMutableTransaction tx,
CAmount nFeeRet,
int &  nChangePosInOut,
std::string &  strFailReason,
bool  lockUnspents,
const std::set< int > &  setSubtractFeeFromOutputs,
CCoinControl  coinControl 
)

Insert additional inputs into the transaction by calling CreateTransaction();.

Definition at line 2508 of file wallet.cpp.

Here is the call graph for this function:

◆ GetAddressBalances()

std::map< CTxDestination, CAmount > CWallet::GetAddressBalances ( interfaces::Chain::Lock locked_chain)

Definition at line 3468 of file wallet.cpp.

Here is the call graph for this function:

◆ GetAddressGroupings()

std::set< std::set< CTxDestination > > CWallet::GetAddressGroupings ( )

Definition at line 3508 of file wallet.cpp.

Here is the call graph for this function:

◆ GetAvailableBalance()

CAmount CWallet::GetAvailableBalance ( const CCoinControl coinControl = nullptr) const

Definition at line 2165 of file wallet.cpp.

◆ GetBalance()

CWallet::Balance CWallet::GetBalance ( int  min_depth = 0) const

Definition at line 2137 of file wallet.cpp.

Here is the call graph for this function:

◆ GetKeyFromPool()

bool CWallet::GetKeyFromPool ( CPubKey key,
bool  internal = false 
)

Definition at line 3414 of file wallet.cpp.

◆ GetLabelAddresses()

std::set< CTxDestination > CWallet::GetLabelAddresses ( const std::string &  label) const

Definition at line 3601 of file wallet.cpp.

◆ GetLabelName()

const std::string & CWallet::GetLabelName ( const CScript scriptPubKey) const

Definition at line 3191 of file wallet.cpp.

Here is the call graph for this function:

◆ GetOldestKeyPoolTime()

int64_t CWallet::GetOldestKeyPoolTime ( )

Definition at line 3450 of file wallet.cpp.

◆ GetReservedKey()

bool CReserveKey::GetReservedKey ( CPubKey pubkey,
bool  internal = false 
)

Reserve a key from the keypool.

Definition at line 3615 of file wallet.cpp.

◆ IsLockedCoin()

bool CWallet::IsLockedCoin ( uint256  hash,
unsigned int  n 
) const

Definition at line 3694 of file wallet.cpp.

Here is the call graph for this function:

◆ KeepKey() [1/2]

void CReserveKey::KeepKey ( )

Keep the key. Do not return it to the keypool when this object goes out of scope.

Definition at line 3635 of file wallet.cpp.

Here is the caller graph for this function:

◆ KeepKey() [2/2]

void CWallet::KeepKey ( int64_t  nIndex)

Definition at line 3388 of file wallet.cpp.

Here is the call graph for this function:

◆ KeypoolCountExternalKeys()

size_t CWallet::KeypoolCountExternalKeys ( )

Definition at line 3244 of file wallet.cpp.

Here is the call graph for this function:

◆ ListCoins()

std::map< CTxDestination, std::vector< COutput > > CWallet::ListCoins ( interfaces::Chain::Lock locked_chain) const

Return list of available coins and locked coins grouped by non-change output address.

Definition at line 2290 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ListLockedCoins()

void CWallet::ListLockedCoins ( std::vector< COutPoint > &  vOutpts) const

Definition at line 3702 of file wallet.cpp.

Here is the call graph for this function:

◆ LoadKeyPool()

void CWallet::LoadKeyPool ( int64_t  nIndex,
const CKeyPool keypool 
)

Definition at line 3250 of file wallet.cpp.

Here is the call graph for this function:

◆ LoadWallet()

DBErrors CWallet::LoadWallet ( bool &  fFirstRunRet)

Definition at line 3066 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LockCoin()

void CWallet::LockCoin ( const COutPoint output)

Definition at line 3676 of file wallet.cpp.

Here is the call graph for this function:

◆ MarkReserveKeysAsUsed()

void CWallet::MarkReserveKeysAsUsed ( int64_t  keypool_id)

Marks all keys in the keypool up to and including reserve_key as used.

Definition at line 3652 of file wallet.cpp.

Here is the call graph for this function:

◆ NewKeyPool()

bool CWallet::NewKeyPool ( )

Mark old keypool keys as used, and generate all new keys.

Definition at line 3210 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReserveKeyFromKeyPool()

bool CWallet::ReserveKeyFromKeyPool ( int64_t &  nIndex,
CKeyPool keypool,
bool  fRequestedInternal 
)

Reserves a key from the keypool and sets nIndex to its index.

Parameters
[out]nIndexthe index of the key in keypool
[out]keypoolthe keypool the key was drawn from, which could be the the pre-split pool if present, or the internal or external pool
fRequestedInternaltrue if the caller would like the key drawn from the internal keypool, false if external is preferred
Returns
true if succeeded, false if failed due to empty keypool
Exceptions
std::runtime_errorif keypool read failed, key was invalid, was not found in the wallet, or was misclassified in the internal or external keypool

Definition at line 3341 of file wallet.cpp.

Here is the call graph for this function:

◆ ReturnKey() [1/2]

void CReserveKey::ReturnKey ( )

Return a key to the keypool.

Definition at line 3643 of file wallet.cpp.

◆ ReturnKey() [2/2]

void CWallet::ReturnKey ( int64_t  nIndex,
bool  fInternal,
const CPubKey pubkey 
)

Definition at line 3396 of file wallet.cpp.

Here is the call graph for this function:

◆ SelectCoins()

bool CWallet::SelectCoins ( const std::vector< COutput > &  vAvailableCoins,
const CAmount nTargetValue,
std::set< CInputCoin > &  setCoinsRet,
CAmount nValueRet,
const CCoinControl coin_control,
CoinSelectionParams coin_selection_params,
bool &  bnb_used 
) const

Select a set of coins such that nValueRet >= nTargetValue and at least all coins from coinControl are selected; Never select unconfirmed coins if they are not ours.

Definition at line 2398 of file wallet.cpp.

◆ SelectCoinsMinConf()

bool CWallet::SelectCoinsMinConf ( const CAmount nTargetValue,
const CoinEligibilityFilter eligibility_filter,
std::vector< OutputGroup groups,
std::set< CInputCoin > &  setCoinsRet,
CAmount nValueRet,
const CoinSelectionParams coin_selection_params,
bool &  bnb_used 
) const

Shuffle and select coins until nTargetValue is reached while avoiding small change; This method is stochastic for some inputs and upon completion the coin set and corresponding actual target value is assembled.

Definition at line 2344 of file wallet.cpp.

Here is the call graph for this function:

◆ SetAddressBook()

bool CWallet::SetAddressBook ( const CTxDestination address,
const std::string &  strName,
const std::string &  purpose 
)

Definition at line 3153 of file wallet.cpp.

Here is the caller graph for this function:

◆ SignTransaction()

bool CWallet::SignTransaction ( CMutableTransaction tx)

Definition at line 2485 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TopUpKeyPool()

bool CWallet::TopUpKeyPool ( unsigned int  kpSize = 0)

Definition at line 3271 of file wallet.cpp.

Here is the call graph for this function:

◆ TransactionChangeType()

OutputType CWallet::TransactionChangeType ( OutputType  change_type,
const std::vector< CRecipient > &  vecSend 
)

Definition at line 2623 of file wallet.cpp.

◆ UnlockAllCoins()

void CWallet::UnlockAllCoins ( )

Definition at line 3688 of file wallet.cpp.

Here is the call graph for this function:

◆ UnlockCoin()

void CWallet::UnlockCoin ( const COutPoint output)

Definition at line 3682 of file wallet.cpp.

Here is the call graph for this function:

◆ ZapSelectTx()

DBErrors CWallet::ZapSelectTx ( std::vector< uint256 > &  vHashIn,
std::vector< uint256 > &  vHashOut 
)

Definition at line 3098 of file wallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ZapWalletTx()

DBErrors CWallet::ZapWalletTx ( std::vector< CWalletTx > &  vWtx)

Definition at line 3129 of file wallet.cpp.

Here is the call graph for this function: