PRCYCoin  2.0.0.7rc1
P2P Digital Currency
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CWallet Class Reference

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...

#include <wallet.h>

Inheritance diagram for CWallet:
[legend]
Collaboration diagram for CWallet:
[legend]

Public Types

typedef std::map< unsigned int, CMasterKeyMasterKeyMap
 
typedef std::pair< CWalletTx *, CAccountingEntry * > TxPair
 
typedef std::multimap< int64_t, TxPairTxItems
 

Public Member Functions

bool RescanAfterUnlock (int fromHeight)
 
bool MintableCoins ()
 
StakingStatusError StakingCoinStatus (CAmount &minFee, CAmount &maxFee)
 
bool SelectStakeCoins (std::list< std::unique_ptr< CStakeInput > > &listInputs, CAmount nTargetAmount)
 
bool IsMasternodeController ()
 
bool checkPassPhraseRule (const char *pass)
 
COutPoint findMyOutPoint (const CTxIn &txin) const
 
void resetPendingOutPoints ()
 
bool estimateStakingConsolidationFees (CAmount &min, CAmount &max)
 
std::string GetTransactionType (const CTransaction &tx)
 
bool WriteAutoConsolidateSettingTime (uint32_t settingTime)
 
uint32_t ReadAutoConsolidateSettingTime ()
 
bool IsAutoConsolidateOn ()
 
std::string GetUniqueWalletBackupName () const
 
bool CreateSweepingTransaction (CAmount target, CAmount threshold, uint32_t nTimeBefore)
 
bool SendAll (std::string des, CWalletTx &wtxNew, bool inclLocked)
 
 CWallet ()
 
 CWallet (std::string strWalletFileIn)
 
 ~CWallet ()
 
void SetNull ()
 
bool isMultiSendEnabled ()
 
void setMultiSendDisabled ()
 
const CWalletTxGetWalletTx (const uint256 &hash) const
 
std::vector< CWalletTxgetWalletTxs ()
 
bool CanSupportFeature (enum WalletFeature wf)
 check whether we are allowed to upgrade (or already support) to the named feature More...
 
bool generateKeyImage (const CPubKey &pub, CKeyImage &img) const
 
bool generateKeyImage (const CScript &scriptKey, CKeyImage &img) const
 
bool AvailableCoins (std::vector< COutput > &vCoins, bool fOnlyConfirmed=true, const CCoinControl *coinControl=NULL, bool fIncludeZeroValue=false, AvailableCoinsType nCoinType=ALL_COINS, bool fUseIX=false)
 populate vCoins with vector of available COutputs. More...
 
std::map< CBitcoinAddress, std::vector< COutput > > AvailableCoinsByAddress (bool fConfirmed=true, CAmount maxCoinValue=0)
 
bool SelectCoinsMinConf (bool needFee, CAmount &estimatedFee, int ringSize, int numOut, const CAmount &nTargetValue, int nConfMine, int nConfTheirs, std::vector< COutput > vCoins, std::set< std::pair< const CWalletTx *, unsigned int > > &setCoinsRet, CAmount &nValueRet)
 
bool GetMasternodeVinAndKeys (CTxIn &txinRet, CPubKey &pubKeyRet, CKey &keyRet, std::string strTxHash, std::string strOutputIndex, std::string &strError)
 Get 5000 PRCY output and keys which can be used for the Masternode. More...
 
bool GetVinAndKeysFromOutput (COutput out, CTxIn &txinRet, CPubKey &pubKeyRet, CKey &keyRet)
 Extract txin information and keys from output. More...
 
bool IsSpent (const uint256 &hash, unsigned int n)
 Outpoint is spent if any non-conflicted transaction spends it: More...
 
unsigned int GetSpendDepth (const uint256 &hash, unsigned int n) const
 
bool IsLockedCoin (uint256 hash, unsigned int n) const
 
void LockCoin (COutPoint &output)
 
void UnlockCoin (COutPoint &output)
 
void UnlockAllCoins ()
 
void ListLockedCoins (std::vector< COutPoint > &vOutpts)
 
CPubKey GenerateNewKey ()
 
void DeriveNewChildKey (uint32_t nAccountIndex, CKey &secretRet)
 
void GenerateNewHDChain (std::string *phrase=NULL)
 
bool SetHDChain (const CHDChain &chain, bool memonly)
 
bool SetCryptedHDChain (const CHDChain &chain, bool memonly)
 
bool GetDecryptedHDChain (CHDChain &hdChainRet)
 
bool IsHDEnabled ()
 
bool GetSeedPhrase (std::string &phrase)
 
bool HaveKey (const CKeyID &address) const
 Check whether a key corresponding to a given address is present in the store. More...
 
bool GetPubKey (const CKeyID &address, CPubKey &vchPubKeyOut) const
 GetPubKey implementation that also checks the mapHdPubKeys. More...
 
bool GetKey (const CKeyID &address, CKey &keyOut) const
 GetKey implementation that can derive a HD private key on the fly. More...
 
bool AddHDPubKey (const CExtPubKey &extPubKey, bool fInternal, uint32_t nAccountIndex)
 Adds a HDPubKey into the wallet(database) More...
 
bool LoadHDPubKey (const CHDPubKey &hdPubKey)
 loads a HDPubKey into the wallets memory More...
 
bool AddKeyPubKey (const CKey &key, const CPubKey &pubkey)
 Adds a key to the store, and saves it to disk. More...
 
bool LoadKey (const CKey &key, const CPubKey &pubkey)
 Adds a key to the store, without saving it to disk (used by LoadWallet) More...
 
bool LoadKeyMetadata (const CPubKey &pubkey, const CKeyMetadata &metadata)
 Load metadata (used by LoadWallet) More...
 
bool LoadMinVersion (int nVersion)
 
bool AddCryptedKey (const CPubKey &vchPubKey, const std::vector< unsigned char > &vchCryptedSecret)
 Adds an encrypted key to the store, and saves it to disk. More...
 
bool LoadCryptedKey (const CPubKey &vchPubKey, const std::vector< unsigned char > &vchCryptedSecret)
 Adds an encrypted key to the store, without saving it to disk (used by LoadWallet) More...
 
bool AddCScript (const CScript &redeemScript)
 Support for BIP 0013 : see https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki. More...
 
bool LoadCScript (const CScript &redeemScript)
 
bool AddDestData (const CTxDestination &dest, const std::string &key, const std::string &value)
 Adds a destination data tuple to the store, and saves it to disk. More...
 
bool EraseDestData (const CTxDestination &dest, const std::string &key)
 Erases a destination data tuple in the store and on disk. More...
 
bool LoadDestData (const CTxDestination &dest, const std::string &key, const std::string &value)
 Adds a destination data tuple to the store, without saving it to disk. More...
 
bool AddWatchOnly (const CScript &dest)
 Adds a watch-only address to the store, and saves it to disk. More...
 
bool RemoveWatchOnly (const CScript &dest)
 
bool LoadWatchOnly (const CScript &dest)
 Adds a watch-only address to the store, without saving it to disk (used by LoadWallet) More...
 
bool Lock ()
 Lock Wallet. More...
 
bool Unlock (const SecureString &strWalletPassphrase, bool anonimizeOnly=false)
 
bool Unlock (const CKeyingMaterial &vMasterKeyIn)
 
bool ChangeWalletPassphrase (const SecureString &strOldWalletPassphrase, const SecureString &strNewWalletPassphrase)
 
bool EncryptWallet (const SecureString &strWalletPassphrase)
 
void GetKeyBirthTimes (std::map< CKeyID, int64_t > &mapKeyBirth) const
 
unsigned int ComputeTimeSmart (const CWalletTx &wtx) const
 
int64_t IncOrderPosNext (CWalletDB *pwalletdb=NULL)
 Increment the next transaction order id. More...
 
void MarkDirty ()
 
bool AddToWallet (const CWalletTx &wtxIn, bool fFromLoadWallet, CWalletDB *pwalletdb)
 
void SyncTransaction (const CTransaction &tx, const CBlock *pblock)
 
bool AddToWalletIfInvolvingMe (const CTransaction &tx, const CBlock *pblock, bool fUpdate)
 Add a transaction to the wallet, or update it. More...
 
bool EraseFromWallet (const uint256 &hash)
 
void ReorderWalletTransactions (std::map< std::pair< int, int >, CWalletTx * > &mapSorted, int64_t &maxOrderPos)
 Reorder the transactions based on block hieght and block index. More...
 
void UpdateWalletTransactionOrder (std::map< std::pair< int, int >, CWalletTx * > &mapSorted, bool resetOrder)
 Update the nOrderPos with passed in ordered map. More...
 
bool DeleteTransactions (std::vector< uint256 > &removeTxs, bool fRescan=false)
 Delete transactions from the Wallet. More...
 
bool DeleteWalletTransactions (const CBlockIndex *pindex, bool fRescan=false)
 
int ScanForWalletTransactions (CBlockIndex *pindexStart, bool fUpdate=false, bool fromStartup=false, int height=-1)
 Scan the block chain (starting in pindexStart) for transactions from or to us. More...
 
void ReacceptWalletTransactions ()
 
void ResendWalletTransactions ()
 
CAmount GetBalance ()
 
CAmount GetSpendableBalance ()
 
CAmount GetLockedCoins () const
 
CAmount GetUnlockedCoins () const
 
CAmount GetUnconfirmedBalance () const
 
CAmount GetImmatureBalance () const
 
CAmount GetWatchOnlyBalance () const
 
CAmount GetUnconfirmedWatchOnlyBalance () const
 
CAmount GetImmatureWatchOnlyBalance () const
 
bool CreateTransaction (CScript scriptPubKey, int64_t nValue, CWalletTx &wtxNew, CReserveKey &reservekey, int64_t &nFeeRet, std::string &strFailReason, const CCoinControl *coinControl)
 
bool CreateTransaction (const std::vector< std::pair< CScript, CAmount > > &vecSend, CWalletTx &wtxNew, CReserveKey &reservekey, CAmount &nFeeRet, std::string &strFailReason, const CCoinControl *coinControl=NULL, AvailableCoinsType coin_type=ALL_COINS, bool useIX=false, CAmount nFeePay=0)
 
bool CreateTransactionBulletProof (const CKey &txPrivDes, const CPubKey &recipientViewKey, const std::vector< std::pair< CScript, CAmount > > &vecSend, CWalletTx &wtxNew, CReserveKey &reservekey, CAmount &nFeeRet, std::string &strFailReason, const CCoinControl *coinControl=NULL, AvailableCoinsType coin_type=ALL_COINS, bool useIX=false, CAmount nFeePay=0, int ringSize=6, bool tomyself=false)
 
bool CreateTransactionBulletProof (const CKey &txPrivDes, const CPubKey &recipientViewKey, CScript scriptPubKey, const CAmount &nValue, CWalletTx &wtxNew, CReserveKey &reservekey, CAmount &nFeeRet, std::string &strFailReason, const CCoinControl *coinControl=NULL, AvailableCoinsType coin_type=ALL_COINS, bool useIX=false, CAmount nFeePay=0, int ringSize=6, bool tomyself=false)
 
int ComputeFee (size_t numIn, size_t numOut, size_t ringSize)
 
CAmount ComputeReserveUTXOAmount ()
 
bool CreateTransaction (CScript scriptPubKey, const CAmount &nValue, CWalletTx &wtxNew, CReserveKey &reservekey, CAmount &nFeeRet, std::string &strFailReason, const CCoinControl *coinControl=NULL, AvailableCoinsType coin_type=ALL_COINS, bool useIX=false, CAmount nFeePay=0)
 
bool CommitTransaction (CWalletTx &wtxNew, CReserveKey &reservekey, std::string strCommand=NetMsgType::TX)
 Call after CreateTransaction unless you want to abort. More...
 
bool AddAccountingEntry (const CAccountingEntry &, CWalletDB &pwalletdb)
 
bool CreateCoinStake (const CKeyStore &keystore, unsigned int nBits, int64_t nSearchInterval, CMutableTransaction &txNew, unsigned int &nTxNewTime)
 
bool MultiSend ()
 
void AutoCombineDust ()
 
bool NewKeyPool ()
 Mark old keypool keys as used, and generate all new keys. More...
 
bool TopUpKeyPool (unsigned int kpSize=0)
 
void ReserveKeyFromKeyPool (int64_t &nIndex, CKeyPool &keypool)
 
void KeepKey (int64_t nIndex)
 
void ReturnKey (int64_t nIndex)
 
bool GetKeyFromPool (CPubKey &key)
 
int64_t GetOldestKeyPoolTime ()
 
void GetAllReserveKeys (std::set< CKeyID > &setAddress) const
 
std::set< std::set< CTxDestination > > GetAddressGroupings ()
 
std::map< CTxDestination, CAmountGetAddressBalances ()
 
std::set< CTxDestinationGetAccountAddresses (std::string strAccount) const
 
bool GetBudgetSystemCollateralTX (CTransaction &tx, uint256 hash, bool useIX)
 
bool GetBudgetSystemCollateralTX (CWalletTx &tx, uint256 hash, bool useIX)
 
isminetype IsMine (const CTxIn &txin) const
 
CAmount GetDebit (const CTxIn &txin, const isminefilter &filter) const
 
isminetype IsMine (const CTxOut &txout) const
 
CAmount GetCredit (const CTransaction &tx, const CTxOut &txout, const isminefilter &filter) const
 
bool IsChange (const CTxOut &txout) const
 
CAmount GetChange (const CTransaction &tx, const CTxOut &txout) const
 
bool IsMine (const CTransaction &tx) const
 
bool IsFromMe (const CTransaction &tx) const
 should probably be renamed to IsRelevantToMe More...
 
CAmount GetDebit (const CTransaction &tx, const isminefilter &filter) const
 
CAmount GetCredit (const CTransaction &tx, const isminefilter &filter) const
 
CAmount GetChange (const CTransaction &tx) const
 
void SetBestChain (const CBlockLocator &loc)
 
DBErrors LoadWallet (bool &fFirstRunRet)
 
DBErrors ZapWalletTx (std::vector< CWalletTx > &vWtx)
 
bool SetAddressBook (const CTxDestination &address, const std::string &strName, const std::string &purpose)
 
bool DelAddressBook (const CTxDestination &address)
 
bool UpdatedTransaction (const uint256 &hashTx)
 
void Inventory (const uint256 &hash)
 
unsigned int GetKeyPoolSize ()
 
bool SetDefaultKey (const CPubKey &vchPubKey)
 
bool SetMinVersion (enum WalletFeature, CWalletDB *pwalletdbIn=NULL, bool fExplicit=false)
 signify that a particular wallet feature is now used. this may change nWalletVersion and nWalletMaxVersion if those are lower More...
 
bool SetMaxVersion (int nVersion)
 change which version we're allowed to upgrade to (note that this does not immediately imply upgrading to that format) More...
 
int GetVersion ()
 get the current wallet format (the oldest client version guaranteed to understand this wallet) More...
 
std::set< uint256GetConflicts (const uint256 &txid) const
 Get wallet transactions that conflict with given transaction (spend same outputs) More...
 
bool ComputeStealthPublicAddress (const std::string &accountName, std::string &pubAddress)
 
bool ComputeIntegratedPublicAddress (const uint64_t paymentID, const std::string &accountName, std::string &pubAddress)
 
bool EncodeStealthPublicAddress (const std::vector< unsigned char > &pubViewKey, const std::vector< unsigned char > &pubSpendKey, std::string &pubAddr)
 
bool EncodeStealthPublicAddress (const CPubKey &pubViewKey, const CPubKey &pubSpendKey, std::string &pubAddr)
 
bool SendToStealthAddress (const std::string &stealthAddr, CAmount nValue, CWalletTx &wtxNew, bool fUseIX=false, int ringSize=5)
 
bool GenerateAddress (CPubKey &pub, CPubKey &txPub, CKey &txPriv) const
 
bool IsTransactionForMe (const CTransaction &tx)
 
bool ReadAccountList (std::string &accountList)
 
bool ReadStealthAccount (const std::string &strAccount, CStealthAccount &account)
 
bool EncodeIntegratedAddress (const CPubKey &pubViewKey, const CPubKey &pubSpendKey, uint64_t paymentID, std::string &pubAddr)
 
bool EncodeIntegratedAddress (const std::vector< unsigned char > &pubViewKey, const std::vector< unsigned char > &pubSpendKey, uint64_t paymentID, std::string &pubAddrb58)
 
bool GenerateIntegratedAddress (const std::string &accountName, std::string &pubAddr)
 
std::string GenerateIntegratedAddressWithRandomPaymentID (std::string accountName, uint64_t &paymentID)
 
std::string GenerateIntegratedAddressWithProvidedPaymentID (std::string accountName, uint64_t paymentID)
 
bool GenerateIntegratedAddress (const CPubKey &pubViewKey, const CPubKey &pubSpendKey, std::string &pubAddr)
 
bool AllMyPublicAddresses (std::vector< std::string > &addresses, std::vector< std::string > &accountNames)
 
bool RevealTxOutAmount (const CTransaction &tx, const CTxOut &out, CAmount &amount, CKey &) const
 
bool EncodeTxOutAmount (CTxOut &out, const CAmount &amount, const unsigned char *sharedSec, bool isCoinstake=false)
 
CAmount getCOutPutValue (const COutput &output) const
 
CAmount getCTxOutValue (const CTransaction &tx, const CTxOut &out) const
 
bool findCorrespondingPrivateKey (const CTxOut &txout, CKey &key) const
 
void CreatePrivacyAccount (bool force=false)
 
bool mySpendPrivateKey (CKey &spend) const
 
bool myViewPrivateKey (CKey &view) const
 
bool WriteStakingStatus (bool status)
 
bool ReadStakingStatus ()
 
bool Write2FA (bool status)
 
bool Read2FA ()
 
bool Write2FASecret (std::string secret)
 
std::string Read2FASecret ()
 
bool Write2FAPeriod (int period)
 
int Read2FAPeriod ()
 
bool Write2FALastTime (uint64_t lastTime)
 
uint64_t Read2FALastTime ()
 
bool MakeShnorrSignature (CTransaction &)
 
bool MakeShnorrSignatureTxIn (CTxIn &txin, uint256)
 
bool computeSharedSec (const CTransaction &tx, const CTxOut &out, CPubKey &sharedSec) const
 
void AddComputedPrivateKey (const CTxOut &out)
 
bool IsCollateralized (const COutPoint &outpoint)
 
- Public Member Functions inherited from CCryptoKeyStore
 CCryptoKeyStore ()
 
bool IsCrypted () const
 
bool IsLocked () const
 
void GetKeys (std::set< CKeyID > &setAddress) const
 
- Public Member Functions inherited from CBasicKeyStore
void GetKeys (std::set< CKeyID > &setAddress) const
 
virtual bool HaveCScript (const CScriptID &hash) const
 
virtual bool GetCScript (const CScriptID &hash, CScript &redeemScriptOut) const
 
virtual bool HaveWatchOnly (const CScript &dest) const
 
virtual bool HaveWatchOnly () const
 
- Public Member Functions inherited from CKeyStore
virtual ~CKeyStore ()
 
virtual bool AddKey (const CKey &key)
 

Static Public Member Functions

static int ComputeTxSize (size_t numIn, size_t numOut, size_t ringSize)
 
static int MaxTxSizePerTx ()
 
static CAmount GetMinimumFee (unsigned int nTxBytes, unsigned int nConfirmTarget, const CTxMemPool &pool)
 
static bool DecodeStealthAddress (const std::string &stealth, CPubKey &pubViewKey, CPubKey &pubSpendKey, bool &hasPaymentID, uint64_t &paymentID)
 
static bool ComputeStealthDestination (const CKey &secret, const CPubKey &pubViewKey, const CPubKey &pubSpendKey, CPubKey &des)
 
static bool CreateCommitment (const CAmount val, CKey &blind, std::vector< unsigned char > &commitment)
 
static bool CreateCommitment (const unsigned char *blind, CAmount val, std::vector< unsigned char > &commitment)
 
static bool CreateCommitmentWithZeroBlind (const CAmount val, unsigned char *pBlind, std::vector< unsigned char > &commitment)
 
static bool ParameterInteraction ()
 

Public Attributes

RecursiveMutex cs_wallet
 
bool fFileBacked
 
bool fWalletUnlockStakingOnly
 
std::string strWalletFile
 
std::set< int64_t > setKeyPool
 
std::map< CKeyID, CKeyMetadatamapKeyMetadata
 
MasterKeyMap mapMasterKeys
 
unsigned int nMasterKeyMaxID
 
unsigned int nHashDrift
 
unsigned int nHashInterval
 
uint64_t nStakeSplitThreshold
 
int nStakeSetUpdateTime
 
int walletUnlockCountStatus = 0
 
std::vector< std::pair< std::string, int > > vMultiSend
 
bool fMultiSendStake
 
bool fMultiSendMasternodeReward
 
bool fMultiSendNotify
 
std::string strMultiSendChangeAddress
 
int nLastMultiSendHeight
 
std::vector< std::string > vDisabledAddresses
 
bool fCombineDust
 
CAmount nAutoCombineThreshold
 
CAmount nAutoCombineTarget
 
std::map< uint256, CWalletTxmapWallet
 
std::list< CAccountingEntrylaccentries
 
TxItems wtxOrdered
 
int64_t nOrderPosNext
 
std::map< uint256, int > mapRequestCount
 
std::map< CTxDestination, CAddressBookDatamapAddressBook
 
std::map< std::string, std::string > addrToTxHashMap
 
std::vector< CKeytxPrivKeys
 
CPubKey vchDefaultKey
 
std::set< COutPointsetLockedCoins
 
std::map< CKeyID, CHDPubKeymapHdPubKeys
 
int64_t nTimeFirstKey
 
CombineMode combineMode = OFF
 
int64_t DecoyConfirmationMinimum = 15
 
std::map< std::string, CKeyImageoutpointToKeyImages
 
std::map< std::string, bool > keyImagesSpends
 
std::map< std::string, std::string > keyImageMap
 
std::list< std::string > pendingKeyImages
 
std::map< COutPoint, bool > inSpendQueueOutpoints
 
std::vector< COutPointinSpendQueueOutpointsPerSession
 
std::map< CScript, CAmountamountMap
 
std::map< CScript, CKeyblindMap
 
std::map< COutPoint, uint256userDecoysPool
 
std::map< COutPoint, uint256coinbaseDecoysPool
 
CAmount dirtyCachedBalance = 0
 
boost::signals2::signal< void(CWallet *wallet, const CTxDestination &address, const std::string &label, bool isMine, const std::string &purpose, ChangeType status)> NotifyAddressBookChanged
 Address book entry changed. More...
 
boost::signals2::signal< void(CWallet *wallet, const uint256 &hashTx, ChangeType status)> NotifyTransactionChanged
 Wallet transaction added, removed or updated. More...
 
boost::signals2::signal< void(const std::string &title, int nProgress)> ShowProgress
 Show progress e.g. More...
 
boost::signals2::signal< void(bool fHaveWatchOnly)> NotifyWatchonlyChanged
 Watch-only address added. More...
 
boost::signals2::signal< void(const bool &fSuccess, const std::string &filename)> NotifyWalletBacked
 notify wallet file backed up More...
 
- Public Attributes inherited from CCryptoKeyStore
boost::signals2::signal< void(CCryptoKeyStore *wallet)> NotifyStatusChanged
 Wallet status (encrypted, locked) changed. More...
 

Static Public Attributes

static const int32_t MAX_DECOY_POOL = 500
 
static const int32_t PROBABILITY_NEW_COIN_SELECTED = 70
 
static CFeeRate minTxFee = CFeeRate(10000)
 Fees smaller than this (in duffs) are considered zero fee (for transaction creation) We are ~100 times smaller then bitcoin now (2015-06-23), set minTxFee 10 times higher so it's still 10 times lower comparing to bitcoin. More...
 

Private Types

typedef std::multimap< COutPoint, uint256TxSpends
 Used to keep track of spent outpoints, and detect and report conflicts (double-spends or mutated transactions where the mutant gets mined). More...
 

Private Member Functions

bool SelectCoins (bool needFee, CAmount &estimatedFee, int ringSize, int numOut, const CAmount &nTargetValue, std::set< std::pair< const CWalletTx *, unsigned int > > &setCoinsRet, CAmount &nValueRet, const CCoinControl *coinControl=NULL, AvailableCoinsType coin_type=ALL_COINS, bool useIX=true)
 
void AddToSpends (const COutPoint &outpoint, const uint256 &wtxid)
 
void AddToSpends (const uint256 &wtxid)
 
void RemoveFromSpends (const uint256 &wtxid)
 
void SyncMetaData (std::pair< TxSpends::iterator, TxSpends::iterator >)
 
bool encodeStealthBase58 (const std::vector< unsigned char > &raw, std::string &stealth)
 
bool allMyPrivateKeys (std::vector< CKey > &spends, std::vector< CKey > &views)
 
void createMasterKey () const
 
bool generateBulletProofAggregate (CTransaction &tx)
 
bool selectDecoysAndRealIndex (CTransaction &tx, int &myIndex, int ringSize)
 
bool makeRingCT (CTransaction &wtxNew, int ringSize, std::string &strFailReason)
 
bool isMatchMyKeyImage (const CKeyImage &ki, const COutPoint &out)
 
void ScanWalletKeyImages ()
 

Private Attributes

CWalletDBpwalletdbEncryption
 
bool fDecryptionThoroughlyChecked {false}
 keeps track of whether Unlock has run a thorough check before More...
 
int nWalletVersion
 the current wallet version: clients below this version are not able to load the wallet More...
 
int nWalletMaxVersion
 the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded More...
 
int64_t nNextResend
 
int64_t nLastResend
 
TxSpends mapTxSpends
 
int walletIdxCache = 0
 

Additional Inherited Members

- Protected Member Functions inherited from CCryptoKeyStore
bool SetCrypted ()
 
bool EncryptKeys (CKeyingMaterial &vMasterKeyIn)
 will encrypt previously unencrypted keys More...
 
bool EncryptHDChain (const CKeyingMaterial &vMasterKeyIn)
 
bool DecryptHDChain (CHDChain &hdChainRet) const
 
bool SetHDChain (const CHDChain &chain)
 
bool SetCryptedHDChain (const CHDChain &chain)
 
bool GetHDChain (CHDChain &hdChainRet) const
 
- Protected Member Functions inherited from CValidationInterface
virtual void UpdatedBlockTip (const CBlockIndex *pindex)
 
virtual void NotifyTransactionLock (const CTransaction &tx)
 
virtual void BlockChecked (const CBlock &, const CValidationState &)
 
virtual void ResetRequestCount (const uint256 &hash)
 
friend void ::RegisterValidationInterface (CValidationInterface *)
 
friend void ::UnregisterValidationInterface (CValidationInterface *)
 
friend void ::UnregisterAllValidationInterfaces ()
 
- Protected Attributes inherited from CCryptoKeyStore
CKeyingMaterial vMasterKey
 
CryptedKeyMap mapCryptedKeys
 
CHDChain cryptedHDChain
 
- Protected Attributes inherited from CBasicKeyStore
KeyMap mapKeys
 
ScriptMap mapScripts
 
WatchOnlySet setWatchOnly
 
MultiSigScriptSet setMultiSig
 
CHDChain hdChain
 
- Protected Attributes inherited from CKeyStore
RecursiveMutex cs_KeyStore
 

Detailed Description

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.

Definition at line 243 of file wallet.h.

Member Typedef Documentation

◆ MasterKeyMap

typedef std::map<unsigned int, CMasterKey> CWallet::MasterKeyMap

Definition at line 310 of file wallet.h.

◆ TxItems

typedef std::multimap<int64_t, TxPair > CWallet::TxItems

Definition at line 348 of file wallet.h.

◆ TxPair

Definition at line 347 of file wallet.h.

◆ TxSpends

typedef std::multimap<COutPoint, uint256> CWallet::TxSpends
private

Used to keep track of spent outpoints, and detect and report conflicts (double-spends or mutated transactions where the mutant gets mined).

Definition at line 267 of file wallet.h.

Constructor & Destructor Documentation

◆ CWallet() [1/2]

CWallet::CWallet ( )

Definition at line 6090 of file wallet.cpp.

Here is the call graph for this function:

◆ CWallet() [2/2]

CWallet::CWallet ( std::string  strWalletFileIn)

Definition at line 6095 of file wallet.cpp.

Here is the call graph for this function:

◆ ~CWallet()

CWallet::~CWallet ( )

Definition at line 6103 of file wallet.cpp.

Member Function Documentation

◆ AddDestData()

bool CWallet::AddDestData ( const CTxDestination dest,
const std::string &  key,
const std::string &  value 
)

Adds a destination data tuple to the store, and saves it to disk.

Definition at line 5226 of file wallet.cpp.

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

◆ AddHDPubKey()

bool CWallet::AddHDPubKey ( const CExtPubKey extPubKey,
bool  fInternal,
uint32_t  nAccountIndex 
)

Adds a HDPubKey into the wallet(database)

Definition at line 6948 of file wallet.cpp.

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

◆ allMyPrivateKeys()

bool CWallet::allMyPrivateKeys ( std::vector< CKey > &  spends,
std::vector< CKey > &  views 
)
private

Definition at line 6809 of file wallet.cpp.

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

◆ AllMyPublicAddresses()

bool CWallet::AllMyPublicAddresses ( std::vector< std::string > &  addresses,
std::vector< std::string > &  accountNames 
)

Definition at line 6781 of file wallet.cpp.

Here is the call graph for this function:

◆ AutoCombineDust()

void CWallet::AutoCombineDust ( )

Definition at line 5728 of file wallet.cpp.

Here is the call graph for this function:

◆ CanSupportFeature()

bool CWallet::CanSupportFeature ( enum WalletFeature  wf)

check whether we are allowed to upgrade (or already support) to the named feature

Definition at line 6153 of file wallet.cpp.

Here is the caller graph for this function:

◆ ComputeIntegratedPublicAddress()

bool CWallet::ComputeIntegratedPublicAddress ( const uint64_t  paymentID,
const std::string &  accountName,
std::string &  pubAddress 
)

Definition at line 6388 of file wallet.cpp.

Here is the call graph for this function:

◆ ComputeStealthDestination()

bool CWallet::ComputeStealthDestination ( const CKey secret,
const CPubKey pubViewKey,
const CPubKey pubSpendKey,
CPubKey des 
)
static

Definition at line 6618 of file wallet.cpp.

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

◆ ComputeStealthPublicAddress()

bool CWallet::ComputeStealthPublicAddress ( const std::string &  accountName,
std::string &  pubAddress 
)

Definition at line 6379 of file wallet.cpp.

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

◆ ComputeTimeSmart()

unsigned int CWallet::ComputeTimeSmart ( const CWalletTx wtx) const

Definition at line 5184 of file wallet.cpp.

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

◆ createMasterKey()

void CWallet::createMasterKey ( ) const
private

Definition at line 6973 of file wallet.cpp.

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

◆ CreateSweepingTransaction()

bool CWallet::CreateSweepingTransaction ( CAmount  target,
CAmount  threshold,
uint32_t  nTimeBefore 
)

Definition at line 5472 of file wallet.cpp.

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

◆ CreateTransaction()

bool CWallet::CreateTransaction ( CScript  scriptPubKey,
int64_t  nValue,
CWalletTx wtxNew,
CReserveKey reservekey,
int64_t &  nFeeRet,
std::string &  strFailReason,
const CCoinControl coinControl 
)
Here is the caller graph for this function:

◆ DecodeStealthAddress()

bool CWallet::DecodeStealthAddress ( const std::string &  stealth,
CPubKey pubViewKey,
CPubKey pubSpendKey,
bool &  hasPaymentID,
uint64_t &  paymentID 
)
static

Definition at line 6522 of file wallet.cpp.

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

◆ DeriveNewChildKey()

void CWallet::DeriveNewChildKey ( uint32_t  nAccountIndex,
CKey secretRet 
)

Definition at line 6860 of file wallet.cpp.

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

◆ EncodeIntegratedAddress() [1/2]

bool CWallet::EncodeIntegratedAddress ( const CPubKey pubViewKey,
const CPubKey pubSpendKey,
uint64_t  paymentID,
std::string &  pubAddr 
)

Definition at line 6478 of file wallet.cpp.

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

◆ EncodeIntegratedAddress() [2/2]

bool CWallet::EncodeIntegratedAddress ( const std::vector< unsigned char > &  pubViewKey,
const std::vector< unsigned char > &  pubSpendKey,
uint64_t  paymentID,
std::string &  pubAddrb58 
)

Definition at line 6453 of file wallet.cpp.

Here is the call graph for this function:

◆ encodeStealthBase58()

bool CWallet::encodeStealthBase58 ( const std::vector< unsigned char > &  raw,
std::string &  stealth 
)
private

Definition at line 6406 of file wallet.cpp.

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

◆ EncodeStealthPublicAddress() [1/2]

bool CWallet::EncodeStealthPublicAddress ( const CPubKey pubViewKey,
const CPubKey pubSpendKey,
std::string &  pubAddr 
)

Definition at line 6470 of file wallet.cpp.

Here is the call graph for this function:

◆ EncodeStealthPublicAddress() [2/2]

bool CWallet::EncodeStealthPublicAddress ( const std::vector< unsigned char > &  pubViewKey,
const std::vector< unsigned char > &  pubSpendKey,
std::string &  pubAddr 
)

Definition at line 6437 of file wallet.cpp.

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

◆ EncodeTxOutAmount()

bool CWallet::EncodeTxOutAmount ( CTxOut out,
const CAmount amount,
const unsigned char *  sharedSec,
bool  isCoinstake = false 
)

Definition at line 7168 of file wallet.cpp.

Here is the call graph for this function:

◆ EraseDestData()

bool CWallet::EraseDestData ( const CTxDestination dest,
const std::string &  key 
)

Erases a destination data tuple in the store and on disk.

Definition at line 5237 of file wallet.cpp.

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

◆ estimateStakingConsolidationFees()

bool CWallet::estimateStakingConsolidationFees ( CAmount min,
CAmount max 
)

Definition at line 5755 of file wallet.cpp.

Here is the call graph for this function:

◆ findCorrespondingPrivateKey()

bool CWallet::findCorrespondingPrivateKey ( const CTxOut txout,
CKey key 
) const

Definition at line 7108 of file wallet.cpp.

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

◆ GenerateAddress()

bool CWallet::GenerateAddress ( CPubKey pub,
CPubKey txPub,
CKey txPriv 
) const

Definition at line 6623 of file wallet.cpp.

Here is the call graph for this function:

◆ GenerateIntegratedAddress() [1/2]

bool CWallet::GenerateIntegratedAddress ( const CPubKey pubViewKey,
const CPubKey pubSpendKey,
std::string &  pubAddr 
)

Definition at line 6495 of file wallet.cpp.

Here is the call graph for this function:

◆ GenerateIntegratedAddress() [2/2]

bool CWallet::GenerateIntegratedAddress ( const std::string &  accountName,
std::string &  pubAddr 
)

Definition at line 6486 of file wallet.cpp.

Here is the call graph for this function:

◆ GenerateIntegratedAddressWithProvidedPaymentID()

std::string CWallet::GenerateIntegratedAddressWithProvidedPaymentID ( std::string  accountName,
uint64_t  paymentID 
)

Definition at line 6512 of file wallet.cpp.

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

◆ GenerateIntegratedAddressWithRandomPaymentID()

std::string CWallet::GenerateIntegratedAddressWithRandomPaymentID ( std::string  accountName,
uint64_t &  paymentID 
)

Definition at line 6501 of file wallet.cpp.

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

◆ generateKeyImage() [1/2]

bool CWallet::generateKeyImage ( const CPubKey pub,
CKeyImage img 
) const

Definition at line 7162 of file wallet.cpp.

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

◆ generateKeyImage() [2/2]

bool CWallet::generateKeyImage ( const CScript scriptKey,
CKeyImage img 
) const

Definition at line 7124 of file wallet.cpp.

Here is the call graph for this function:

◆ GetChange() [1/2]

CAmount CWallet::GetChange ( const CTransaction tx) const

Definition at line 6213 of file wallet.cpp.

Here is the call graph for this function:

◆ GetChange() [2/2]

CAmount CWallet::GetChange ( const CTransaction tx,
const CTxOut txout 
) const

Definition at line 6177 of file wallet.cpp.

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

◆ getCOutPutValue()

CAmount CWallet::getCOutPutValue ( const COutput output) const

Definition at line 7193 of file wallet.cpp.

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

◆ GetCredit() [1/2]

CAmount CWallet::GetCredit ( const CTransaction tx,
const CTxOut txout,
const isminefilter filter 
) const

Definition at line 6172 of file wallet.cpp.

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

◆ GetCredit() [2/2]

CAmount CWallet::GetCredit ( const CTransaction tx,
const isminefilter filter 
) const

Definition at line 6204 of file wallet.cpp.

Here is the call graph for this function:

◆ getCTxOutValue()

CAmount CWallet::getCTxOutValue ( const CTransaction tx,
const CTxOut out 
) const

Definition at line 7202 of file wallet.cpp.

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

◆ GetDebit()

CAmount CWallet::GetDebit ( const CTransaction tx,
const isminefilter filter 
) const

Definition at line 6195 of file wallet.cpp.

Here is the call graph for this function:

◆ GetKey()

bool CWallet::GetKey ( const CKeyID address,
CKey keyOut 
) const
virtual

GetKey implementation that can derive a HD private key on the fly.

Reimplemented from CCryptoKeyStore.

Definition at line 6906 of file wallet.cpp.

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

◆ GetKeyBirthTimes()

void CWallet::GetKeyBirthTimes ( std::map< CKeyID, int64_t > &  mapKeyBirth) const

Definition at line 5131 of file wallet.cpp.

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

◆ GetKeyPoolSize()

unsigned int CWallet::GetKeyPoolSize ( )

Definition at line 6232 of file wallet.cpp.

Here is the caller graph for this function:

◆ GetPubKey()

bool CWallet::GetPubKey ( const CKeyID address,
CPubKey vchPubKeyOut 
) const
virtual

GetPubKey implementation that also checks the mapHdPubKeys.

Reimplemented from CCryptoKeyStore.

Definition at line 6894 of file wallet.cpp.

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

◆ GetUniqueWalletBackupName()

std::string CWallet::GetUniqueWalletBackupName ( ) const

Definition at line 6081 of file wallet.cpp.

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

◆ GetVersion()

int CWallet::GetVersion ( )

get the current wallet format (the oldest client version guaranteed to understand this wallet)

Definition at line 6238 of file wallet.cpp.

◆ HaveKey()

bool CWallet::HaveKey ( const CKeyID address) const
virtual

Check whether a key corresponding to a given address is present in the store.

Reimplemented from CCryptoKeyStore.

Definition at line 6932 of file wallet.cpp.

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

◆ Inventory()

void CWallet::Inventory ( const uint256 hash)
virtual

Reimplemented from CValidationInterface.

Definition at line 6222 of file wallet.cpp.

◆ IsFromMe()

bool CWallet::IsFromMe ( const CTransaction tx) const

should probably be renamed to IsRelevantToMe

Definition at line 6190 of file wallet.cpp.

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

◆ IsMine() [1/2]

bool CWallet::IsMine ( const CTransaction tx) const

Definition at line 6182 of file wallet.cpp.

Here is the call graph for this function:

◆ IsMine() [2/2]

isminetype CWallet::IsMine ( const CTxOut txout) const

Definition at line 6167 of file wallet.cpp.

Here is the call graph for this function:

◆ isMultiSendEnabled()

bool CWallet::isMultiSendEnabled ( )

Definition at line 6142 of file wallet.cpp.

Here is the caller graph for this function:

◆ IsTransactionForMe()

bool CWallet::IsTransactionForMe ( const CTransaction tx)

Definition at line 6705 of file wallet.cpp.

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

◆ LoadDestData()

bool CWallet::LoadDestData ( const CTxDestination dest,
const std::string &  key,
const std::string &  value 
)

Adds a destination data tuple to the store, without saving it to disk.

Definition at line 5246 of file wallet.cpp.

◆ LoadHDPubKey()

bool CWallet::LoadHDPubKey ( const CHDPubKey hdPubKey)

loads a HDPubKey into the wallets memory

Definition at line 6940 of file wallet.cpp.

Here is the call graph for this function:

◆ LoadKey()

bool CWallet::LoadKey ( const CKey key,
const CPubKey pubkey 
)
inline

Adds a key to the store, without saving it to disk (used by LoadWallet)

Definition at line 433 of file wallet.h.

Here is the call graph for this function:

◆ LoadMinVersion()

bool CWallet::LoadMinVersion ( int  nVersion)

Definition at line 6159 of file wallet.cpp.

◆ MaxTxSizePerTx()

int CWallet::MaxTxSizePerTx ( )
static

Definition at line 5818 of file wallet.cpp.

Here is the call graph for this function:

◆ MultiSend()

bool CWallet::MultiSend ( )

Definition at line 5822 of file wallet.cpp.

Here is the call graph for this function:

◆ mySpendPrivateKey()

bool CWallet::mySpendPrivateKey ( CKey spend) const

Definition at line 7004 of file wallet.cpp.

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

◆ myViewPrivateKey()

bool CWallet::myViewPrivateKey ( CKey view) const

Definition at line 7025 of file wallet.cpp.

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

◆ ReadAccountList()

bool CWallet::ReadAccountList ( std::string &  accountList)

Definition at line 6369 of file wallet.cpp.

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

◆ ReadStealthAccount()

bool CWallet::ReadStealthAccount ( const std::string &  strAccount,
CStealthAccount account 
)

Definition at line 6374 of file wallet.cpp.

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

◆ RevealTxOutAmount()

bool CWallet::RevealTxOutAmount ( const CTransaction tx,
const CTxOut out,
CAmount amount,
CKey blind 
) const

Definition at line 7047 of file wallet.cpp.

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

◆ SendAll()

bool CWallet::SendAll ( std::string  des,
CWalletTx wtxNew,
bool  inclLocked 
)

Definition at line 5252 of file wallet.cpp.

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

◆ SendToStealthAddress()

bool CWallet::SendToStealthAddress ( const std::string &  stealthAddr,
CAmount  nValue,
CWalletTx wtxNew,
bool  fUseIX = false,
int  ringSize = 5 
)

Definition at line 6640 of file wallet.cpp.

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

◆ setMultiSendDisabled()

void CWallet::setMultiSendDisabled ( )

Definition at line 6147 of file wallet.cpp.

Here is the caller graph for this function:

◆ SetNull()

void CWallet::SetNull ( )

Definition at line 6108 of file wallet.cpp.

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

Member Data Documentation

◆ addrToTxHashMap

std::map<std::string, std::string> CWallet::addrToTxHashMap

Definition at line 355 of file wallet.h.

◆ amountMap

std::map<CScript, CAmount> CWallet::amountMap
mutable

Definition at line 374 of file wallet.h.

◆ blindMap

std::map<CScript, CKey> CWallet::blindMap
mutable

Definition at line 375 of file wallet.h.

◆ coinbaseDecoysPool

std::map<COutPoint, uint256> CWallet::coinbaseDecoysPool
mutable

Definition at line 377 of file wallet.h.

◆ combineMode

CombineMode CWallet::combineMode = OFF

Definition at line 365 of file wallet.h.

◆ cs_wallet

RecursiveMutex CWallet::cs_wallet
mutable

Definition at line 301 of file wallet.h.

◆ DecoyConfirmationMinimum

int64_t CWallet::DecoyConfirmationMinimum = 15

Definition at line 366 of file wallet.h.

◆ dirtyCachedBalance

CAmount CWallet::dirtyCachedBalance = 0

Definition at line 379 of file wallet.h.

◆ fCombineDust

bool CWallet::fCombineDust

Definition at line 331 of file wallet.h.

◆ fDecryptionThoroughlyChecked

bool CWallet::fDecryptionThoroughlyChecked {false}
private

keeps track of whether Unlock has run a thorough check before

Definition at line 251 of file wallet.h.

◆ fFileBacked

bool CWallet::fFileBacked

Definition at line 303 of file wallet.h.

◆ fMultiSendMasternodeReward

bool CWallet::fMultiSendMasternodeReward

Definition at line 324 of file wallet.h.

◆ fMultiSendNotify

bool CWallet::fMultiSendNotify

Definition at line 325 of file wallet.h.

◆ fMultiSendStake

bool CWallet::fMultiSendStake

Definition at line 323 of file wallet.h.

◆ fWalletUnlockStakingOnly

bool CWallet::fWalletUnlockStakingOnly

Definition at line 304 of file wallet.h.

◆ inSpendQueueOutpoints

std::map<COutPoint, bool> CWallet::inSpendQueueOutpoints

Definition at line 372 of file wallet.h.

◆ inSpendQueueOutpointsPerSession

std::vector<COutPoint> CWallet::inSpendQueueOutpointsPerSession

Definition at line 373 of file wallet.h.

◆ keyImageMap

std::map<std::string, std::string> CWallet::keyImageMap

Definition at line 370 of file wallet.h.

◆ keyImagesSpends

std::map<std::string, bool> CWallet::keyImagesSpends

Definition at line 369 of file wallet.h.

◆ laccentries

std::list<CAccountingEntry> CWallet::laccentries

Definition at line 345 of file wallet.h.

◆ mapAddressBook

std::map<CTxDestination, CAddressBookData> CWallet::mapAddressBook

Definition at line 354 of file wallet.h.

◆ mapHdPubKeys

std::map<CKeyID, CHDPubKey> CWallet::mapHdPubKeys

Definition at line 361 of file wallet.h.

◆ mapKeyMetadata

std::map<CKeyID, CKeyMetadata> CWallet::mapKeyMetadata

Definition at line 308 of file wallet.h.

◆ mapMasterKeys

MasterKeyMap CWallet::mapMasterKeys

Definition at line 311 of file wallet.h.

◆ mapRequestCount

std::map<uint256, int> CWallet::mapRequestCount

Definition at line 352 of file wallet.h.

◆ mapTxSpends

TxSpends CWallet::mapTxSpends
private

Definition at line 268 of file wallet.h.

◆ mapWallet

std::map<uint256, CWalletTx> CWallet::mapWallet
mutable

Definition at line 344 of file wallet.h.

◆ MAX_DECOY_POOL

const int32_t CWallet::MAX_DECOY_POOL = 500
static

Definition at line 276 of file wallet.h.

◆ minTxFee

CFeeRate CWallet::minTxFee = CFeeRate(10000)
static

Fees smaller than this (in duffs) are considered zero fee (for transaction creation) We are ~100 times smaller then bitcoin now (2015-06-23), set minTxFee 10 times higher so it's still 10 times lower comparing to bitcoin.

Override with -mintxfee

Definition at line 536 of file wallet.h.

◆ nAutoCombineTarget

CAmount CWallet::nAutoCombineTarget

Definition at line 333 of file wallet.h.

◆ nAutoCombineThreshold

CAmount CWallet::nAutoCombineThreshold

Definition at line 332 of file wallet.h.

◆ nHashDrift

unsigned int CWallet::nHashDrift

Definition at line 315 of file wallet.h.

◆ nHashInterval

unsigned int CWallet::nHashInterval

Definition at line 316 of file wallet.h.

◆ nLastMultiSendHeight

int CWallet::nLastMultiSendHeight

Definition at line 327 of file wallet.h.

◆ nLastResend

int64_t CWallet::nLastResend
private

Definition at line 260 of file wallet.h.

◆ nMasterKeyMaxID

unsigned int CWallet::nMasterKeyMaxID

Definition at line 312 of file wallet.h.

◆ nNextResend

int64_t CWallet::nNextResend
private

Definition at line 259 of file wallet.h.

◆ nOrderPosNext

int64_t CWallet::nOrderPosNext

Definition at line 351 of file wallet.h.

◆ NotifyAddressBookChanged

boost::signals2::signal<void(CWallet* wallet, const CTxDestination& address, const std::string& label, bool isMine, const std::string& purpose, ChangeType status)> CWallet::NotifyAddressBookChanged

Address book entry changed.

Note
called with lock cs_wallet held.

Definition at line 601 of file wallet.h.

◆ NotifyTransactionChanged

boost::signals2::signal<void(CWallet* wallet, const uint256& hashTx, ChangeType status)> CWallet::NotifyTransactionChanged

Wallet transaction added, removed or updated.

Note
called with lock cs_wallet held.

Definition at line 607 of file wallet.h.

◆ NotifyWalletBacked

boost::signals2::signal<void (const bool& fSuccess, const std::string& filename)> CWallet::NotifyWalletBacked

notify wallet file backed up

Definition at line 616 of file wallet.h.

◆ NotifyWatchonlyChanged

boost::signals2::signal<void(bool fHaveWatchOnly)> CWallet::NotifyWatchonlyChanged

Watch-only address added.

Definition at line 613 of file wallet.h.

◆ nStakeSetUpdateTime

int CWallet::nStakeSetUpdateTime

Definition at line 318 of file wallet.h.

◆ nStakeSplitThreshold

uint64_t CWallet::nStakeSplitThreshold

Definition at line 317 of file wallet.h.

◆ nTimeFirstKey

int64_t CWallet::nTimeFirstKey

Definition at line 363 of file wallet.h.

◆ nWalletMaxVersion

int CWallet::nWalletMaxVersion
private

the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded

Definition at line 257 of file wallet.h.

◆ nWalletVersion

int CWallet::nWalletVersion
private

the current wallet version: clients below this version are not able to load the wallet

Definition at line 254 of file wallet.h.

◆ outpointToKeyImages

std::map<std::string, CKeyImage> CWallet::outpointToKeyImages
mutable

Definition at line 368 of file wallet.h.

◆ pendingKeyImages

std::list<std::string> CWallet::pendingKeyImages

Definition at line 371 of file wallet.h.

◆ PROBABILITY_NEW_COIN_SELECTED

const int32_t CWallet::PROBABILITY_NEW_COIN_SELECTED = 70
static

Definition at line 277 of file wallet.h.

◆ pwalletdbEncryption

CWalletDB* CWallet::pwalletdbEncryption
private

Definition at line 249 of file wallet.h.

◆ setKeyPool

std::set<int64_t> CWallet::setKeyPool

Definition at line 307 of file wallet.h.

◆ setLockedCoins

std::set<COutPoint> CWallet::setLockedCoins

Definition at line 360 of file wallet.h.

◆ ShowProgress

boost::signals2::signal<void(const std::string& title, int nProgress)> CWallet::ShowProgress

Show progress e.g.

for rescan

Definition at line 610 of file wallet.h.

◆ strMultiSendChangeAddress

std::string CWallet::strMultiSendChangeAddress

Definition at line 326 of file wallet.h.

◆ strWalletFile

std::string CWallet::strWalletFile

Definition at line 305 of file wallet.h.

◆ txPrivKeys

std::vector<CKey> CWallet::txPrivKeys

Definition at line 356 of file wallet.h.

◆ userDecoysPool

std::map<COutPoint, uint256> CWallet::userDecoysPool
mutable

Definition at line 376 of file wallet.h.

◆ vchDefaultKey

CPubKey CWallet::vchDefaultKey

Definition at line 358 of file wallet.h.

◆ vDisabledAddresses

std::vector<std::string> CWallet::vDisabledAddresses

Definition at line 328 of file wallet.h.

◆ vMultiSend

std::vector<std::pair<std::string, int> > CWallet::vMultiSend

Definition at line 322 of file wallet.h.

◆ walletIdxCache

int CWallet::walletIdxCache = 0
private

Definition at line 672 of file wallet.h.

◆ walletUnlockCountStatus

int CWallet::walletUnlockCountStatus = 0

Definition at line 319 of file wallet.h.

◆ wtxOrdered

TxItems CWallet::wtxOrdered

Definition at line 349 of file wallet.h.


The documentation for this class was generated from the following files: