|
| WalletDatabase & | GetDBHandle () |
| | Get database handle used by this wallet. More...
|
| |
| WalletDatabase & | GetDatabase () const override |
| |
| bool | 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...
|
| |
| const std::string & | GetName () const |
| | Get a name for this wallet for logging/debugging purposes. More...
|
| |
| | CWallet (interfaces::Chain *chain, const std::string &name, std::unique_ptr< WalletDatabase > database) |
| | Construct wallet with specified name and database implementation. More...
|
| |
| | ~CWallet () |
| |
| bool | IsCrypted () const |
| |
| bool | IsLocked () const override |
| |
| bool | Lock () |
| |
| bool | HaveChain () const |
| | Interface to assert chain access. More...
|
| |
std::map< uint256, CWalletTx >
mapWallet | GUARDED_BY (cs_wallet) |
| |
| int64_t nOrderPosNext | GUARDED_BY (cs_wallet)=0 |
| |
std::map< CTxDestination,
CAddressBookData >
m_address_book | GUARDED_BY (cs_wallet) |
| |
| const CAddressBookData * | FindAddressBookEntry (const CTxDestination &, bool allow_change=false) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
std::set< COutPoint >
setLockedCoins | GUARDED_BY (cs_wallet) |
| |
| interfaces::Chain & | chain () const |
| | Interface for accessing chain state. More...
|
| |
| const CWalletTx * | GetWalletTx (const uint256 &hash) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | IsTrusted (const CWalletTx &wtx, std::set< uint256 > &trusted_parents) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | CanSupportFeature (enum WalletFeature wf) const override EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | check whether we support the named feature More...
|
| |
| void | AvailableCoins (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 EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | populate vCoins with vector of available COutputs. More...
|
| |
std::map< CTxDestination,
std::vector< COutput > > | ListCoins () const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Return list of available coins and locked coins grouped by non-change output address. More...
|
| |
| const CTxOut & | FindNonChangeParentOutput (const CTransaction &tx, int output) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Find non-change parent output. More...
|
| |
| bool | 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 | IsSpent (const uint256 &hash, unsigned int n) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Outpoint is spent if any non-conflicted transaction spends it: More...
|
| |
| bool | IsSpentKey (const uint256 &hash, unsigned int n) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | SetSpentKeyState (WalletBatch &batch, const uint256 &hash, unsigned int n, bool used, std::set< CTxDestination > &tx_destinations) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| std::vector< OutputGroup > | GroupOutputs (const std::vector< COutput > &outputs, bool single_coin, const size_t max_ancestors) const |
| |
| bool | IsLockedCoin (uint256 hash, unsigned int n) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | LockCoin (const COutPoint &output) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | UnlockCoin (const COutPoint &output) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | UnlockAllCoins () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | ListLockedCoins (std::vector< COutPoint > &vOutpts) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | AbortRescan () |
| |
| bool | IsAbortingRescan () const |
| |
| bool | IsScanning () const |
| |
| int64_t | ScanningDuration () const |
| |
| double | ScanningProgress () const |
| |
| void | UpgradeKeyMetadata () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Upgrade stored CKeyMetadata objects to store key origin info as KeyOriginInfo. More...
|
| |
| bool | LoadMinVersion (int nVersion) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | AddDestData (WalletBatch &batch, const CTxDestination &dest, const std::string &key, const std::string &value) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Adds a destination data tuple to the store, and saves it to disk When adding new fields, take care to consider how DelAddressBook should handle it! More...
|
| |
| bool | EraseDestData (WalletBatch &batch, const CTxDestination &dest, const std::string &key) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Erases a destination data tuple in the store and on disk. More...
|
| |
| void | LoadDestData (const CTxDestination &dest, const std::string &key, const std::string &value) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Adds a destination data tuple to the store, without saving it to disk. More...
|
| |
| bool | GetDestData (const CTxDestination &dest, const std::string &key, std::string *value) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Look up a destination data tuple in the store, return true if found false otherwise. More...
|
| |
| std::vector< std::string > | GetDestValues (const std::string &prefix) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Get all destination values matching a prefix. More...
|
| |
| int64_t nRelockTime | GUARDED_BY (cs_wallet) |
| | Holds a timestamp at which point the wallet is scheduled (externally) to be relocked. Caller must arrange for actual relocking to occur via Lock(). More...
|
| |
| bool | Unlock (const SecureString &strWalletPassphrase, bool accept_no_keys=false) |
| |
| bool | ChangeWalletPassphrase (const SecureString &strOldWalletPassphrase, const SecureString &strNewWalletPassphrase) |
| |
| bool | EncryptWallet (const SecureString &strWalletPassphrase) |
| |
| void | GetKeyBirthTimes (std::map< CKeyID, int64_t > &mapKeyBirth) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| unsigned int | ComputeTimeSmart (const CWalletTx &wtx) const |
| | Compute smart timestamp for a transaction being added to the wallet. More...
|
| |
| int64_t | IncOrderPosNext (WalletBatch *batch=nullptr) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Increment the next transaction order id. More...
|
| |
| DBErrors | ReorderTransactions () |
| |
| void | MarkDirty () |
| |
| CWalletTx * | AddToWallet (CTransactionRef tx, const CWalletTx::Confirmation &confirm, const UpdateWalletTxFn &update_wtx=nullptr, bool fFlushOnClose=true) |
| |
| bool | LoadToWallet (const uint256 &hash, const UpdateWalletTxFn &fill_wtx) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | transactionAddedToMempool (const CTransactionRef &tx, uint64_t mempool_sequence) override |
| |
| void | blockConnected (const CBlock &block, int height) override |
| |
| void | blockDisconnected (const CBlock &block, int height) override |
| |
| void | updatedBlockTip () override |
| |
| int64_t | RescanFromTime (int64_t startTime, const WalletRescanReserver &reserver, bool update) |
| | Scan active chain for relevant transactions after importing keys. More...
|
| |
| ScanResult | ScanForWalletTransactions (const uint256 &start_block, int start_height, Optional< int > max_height, const WalletRescanReserver &reserver, bool fUpdate) |
| | Scan the block chain (starting in start_block) for transactions from or to us. More...
|
| |
| void | transactionRemovedFromMempool (const CTransactionRef &tx, MemPoolRemovalReason reason, uint64_t mempool_sequence) override |
| |
| void | ReacceptWalletTransactions () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | ResendWalletTransactions () |
| |
| Balance | GetBalance (int min_depth=0, bool avoid_reuse=true) const |
| |
| CAmount | GetAvailableBalance (const CCoinControl *coinControl=nullptr) const |
| |
| OutputType | TransactionChangeType (const Optional< OutputType > &change_type, const std::vector< CRecipient > &vecSend) |
| |
| bool | FundTransaction (CMutableTransaction &tx, CAmount &nFeeRet, int &nChangePosInOut, bilingual_str &error, bool lockUnspents, const std::set< int > &setSubtractFeeFromOutputs, CCoinControl) |
| | Insert additional inputs into the transaction by calling CreateTransaction();. More...
|
| |
| bool | SignTransaction (CMutableTransaction &tx) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | SignTransaction (CMutableTransaction &tx, const std::map< COutPoint, Coin > &coins, int sighash, std::map< int, std::string > &input_errors) const |
| |
| SigningResult | SignMessage (const std::string &message, const PKHash &pkhash, std::string &str_sig) const |
| |
| TransactionError | FillPSBT (PartiallySignedTransaction &psbtx, bool &complete, int sighash_type=1, bool sign=true, bool bip32derivs=true, size_t *n_signed=nullptr) const |
| | Fills out a PSBT with information from the wallet. More...
|
| |
| bool | CreateTransaction (const std::vector< CRecipient > &vecSend, CTransactionRef &tx, CAmount &nFeeRet, int &nChangePosInOut, bilingual_str &error, const CCoinControl &coin_control, FeeCalculation &fee_calc_out, 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...
|
| |
| void | CommitTransaction (CTransactionRef tx, mapValue_t mapValue, std::vector< std::pair< std::string, std::string >> orderForm) |
| | Submit the transaction to the node's mempool and then relay to peers. More...
|
| |
| bool | DummySignTx (CMutableTransaction &txNew, const std::set< CTxOut > &txouts, bool use_max_sig=false) const |
| |
| bool | DummySignTx (CMutableTransaction &txNew, const std::vector< CTxOut > &txouts, bool use_max_sig=false) const |
| |
| bool | DummySignInput (CTxIn &tx_in, const CTxOut &txout, bool use_max_sig=false) const |
| |
| bool | ImportScripts (const std::set< CScript > scripts, int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | ImportPrivKeys (const std::map< CKeyID, CKey > &privkey_map, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | ImportPubKeys (const std::vector< CKeyID > &ordered_pubkeys, const std::map< CKeyID, CPubKey > &pubkey_map, const std::map< CKeyID, std::pair< CPubKey, KeyOriginInfo >> &key_origins, const bool add_keypool, const bool internal, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | ImportScriptPubKeys (const std::string &label, const std::set< CScript > &script_pub_keys, const bool have_solving_data, const bool apply_label, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| size_t | KeypoolCountExternalKeys () const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | TopUpKeyPool (unsigned int kpSize=0) |
| |
| int64_t | GetOldestKeyPoolTime () const |
| |
std::set< std::set
< CTxDestination > > | GetAddressGroupings () const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| std::map< CTxDestination, CAmount > | GetAddressBalances () const |
| |
| std::set< CTxDestination > | GetLabelAddresses (const std::string &label) const |
| |
| void | MarkDestinationsDirty (const std::set< CTxDestination > &destinations) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Marks all outputs in each one of the destinations dirty, so their cache is reset and does not return outdated information. More...
|
| |
| bool | GetNewDestination (const OutputType type, const std::string label, CTxDestination &dest, std::string &error) |
| |
| bool | GetNewChangeDestination (const OutputType type, CTxDestination &dest, std::string &error) |
| |
| isminetype | IsMine (const CTxDestination &dest) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| isminetype | IsMine (const CScript &script) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| isminetype | IsMine (const CTxIn &txin) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| CAmount | GetDebit (const CTxIn &txin, const isminefilter &filter) const |
| | Returns amount of debit if the input matches the filter, otherwise returns 0. More...
|
| |
| isminetype | IsMine (const CTxOut &txout) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| CAmount | GetCredit (const CTxOut &txout, const isminefilter &filter) const |
| |
| bool | IsChange (const CTxOut &txout) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | IsChange (const CScript &script) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| CAmount | GetChange (const CTxOut &txout) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | IsMine (const CTransaction &tx) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | IsFromMe (const CTransaction &tx) const |
| | should probably be renamed to IsRelevantToMe More...
|
| |
| CAmount | GetDebit (const CTransaction &tx, const isminefilter &filter) const |
| |
| bool | IsAllFromMe (const CTransaction &tx, const isminefilter &filter) const |
| | Returns whether all of the inputs match the filter. More...
|
| |
| CAmount | GetCredit (const CTransaction &tx, const isminefilter &filter) const |
| |
| CAmount | GetChange (const CTransaction &tx) const |
| |
| void | chainStateFlushed (const CBlockLocator &loc) override |
| |
| DBErrors | LoadWallet (bool &fFirstRunRet) |
| |
| DBErrors | ZapSelectTx (std::vector< uint256 > &vHashIn, std::vector< uint256 > &vHashOut) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| bool | SetAddressBook (const CTxDestination &address, const std::string &strName, const std::string &purpose) |
| |
| bool | DelAddressBook (const CTxDestination &address) |
| |
| unsigned int | GetKeyPoolSize () const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | SetMinVersion (enum WalletFeature, WalletBatch *batch_in=nullptr) override |
| | signify that a particular wallet feature is now used. More...
|
| |
| int | GetVersion () const |
| | get the current wallet format (the oldest client version guaranteed to understand this wallet) More...
|
| |
| std::set< uint256 > | GetConflicts (const uint256 &txid) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Get wallet transactions that conflict with given transaction (spend same outputs) More...
|
| |
| bool | HasWalletSpend (const uint256 &txid) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Check if a given transaction has any of its outputs spent by another transaction in the wallet. More...
|
| |
| void | Flush () |
| | Flush wallet (bitdb flush) More...
|
| |
| void | Close () |
| | Close wallet database. More...
|
| |
| bool | GetBroadcastTransactions () const |
| | Inquire whether this wallet broadcasts transactions. More...
|
| |
| void | SetBroadcastTransactions (bool broadcast) |
| | Set whether this wallet broadcasts transactions. More...
|
| |
| bool | TransactionCanBeAbandoned (const uint256 &hashTx) const |
| | Return whether transaction can be abandoned. More...
|
| |
| bool | AbandonTransaction (const uint256 &hashTx) |
| |
| bool | MarkReplaced (const uint256 &originalHash, const uint256 &newHash) |
| | Mark a transaction as replaced by another transaction (e.g., BIP 125). More...
|
| |
| void | postInitProcess () |
| | Wallet post-init setup Gives the wallet a chance to register repetitive tasks and complete post-init tasks. More...
|
| |
| bool | BackupWallet (const std::string &strDest) const |
| |
| bool | IsHDEnabled () const |
| |
| bool | CanGetAddresses (bool internal=false) const |
| |
void
BlockUntilSyncedToCurrentChain()
const EXCLUSIVE_LOCKS_REQUIRED(!void | SetWalletFlag (uint64_t flags) |
| | Blocks until the wallet state is up-to-date to /at least/ the current chain at the time this function is entered Obviously holding cs_main/cs_wallet when going into this call may cause deadlock. More...
|
| |
| void | UnsetWalletFlag (uint64_t flag) |
| | Unsets a single wallet flag. More...
|
| |
| bool | IsWalletFlagSet (uint64_t flag) const override |
| | check if a certain wallet flag is set More...
|
| |
| bool | AddWalletFlags (uint64_t flags) |
| | overwrite all flags by the given uint64_t returns false if unknown, non-tolerable flags are present More...
|
| |
| bool | LoadWalletFlags (uint64_t flags) |
| | Loads the flags into the wallet. More...
|
| |
| bool | IsLegacy () const |
| | Determine if we are a legacy wallet. More...
|
| |
| const std::string | GetDisplayName () const override |
| | Returns a bracketed wallet name for displaying in logs, will return [default wallet] if the wallet has no name. More...
|
| |
| template<typename... Params> |
| void | WalletLogPrintf (std::string fmt, Params...parameters) const |
| | Prepends the wallet name in logging output to ease debugging in multi-wallet use cases. More...
|
| |
| bool | UpgradeWallet (int version, bilingual_str &error) |
| | Upgrade the wallet. More...
|
| |
| std::set< ScriptPubKeyMan * > | GetActiveScriptPubKeyMans () const |
| | Returns all unique ScriptPubKeyMans in m_internal_spk_managers and m_external_spk_managers. More...
|
| |
| std::set< ScriptPubKeyMan * > | GetAllScriptPubKeyMans () const |
| | Returns all unique ScriptPubKeyMans. More...
|
| |
| ScriptPubKeyMan * | GetScriptPubKeyMan (const OutputType &type, bool internal) const |
| | Get the ScriptPubKeyMan for the given OutputType and internal/external chain. More...
|
| |
| ScriptPubKeyMan * | GetScriptPubKeyMan (const CScript &script) const |
| | Get the ScriptPubKeyMan for a script. More...
|
| |
| ScriptPubKeyMan * | GetScriptPubKeyMan (const uint256 &id) const |
| | Get the ScriptPubKeyMan by id. More...
|
| |
| std::set< ScriptPubKeyMan * > | GetScriptPubKeyMans (const CScript &script, SignatureData &sigdata) const |
| | Get all of the ScriptPubKeyMans for a script given additional information in sigdata (populated by e.g. a psbt) More...
|
| |
| std::unique_ptr< SigningProvider > | GetSolvingProvider (const CScript &script) const |
| | Get the SigningProvider for a script. More...
|
| |
| std::unique_ptr< SigningProvider > | GetSolvingProvider (const CScript &script, SignatureData &sigdata) const |
| |
| LegacyScriptPubKeyMan * | GetLegacyScriptPubKeyMan () const |
| | Get the LegacyScriptPubKeyMan which is used for all types, internal, and external. More...
|
| |
| LegacyScriptPubKeyMan * | GetOrCreateLegacyScriptPubKeyMan () |
| |
| void | SetupLegacyScriptPubKeyMan () |
| | Make a LegacyScriptPubKeyMan and set it for all types, internal, and external. More...
|
| |
| const CKeyingMaterial & | GetEncryptionKey () const override |
| |
| bool | HasEncryptionKeys () const override |
| |
| int | GetLastBlockHeight () const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Get last block processed height. More...
|
| |
| uint256 | GetLastBlockHash () const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| |
| void | SetLastBlockProcessed (int block_height, uint256 block_hash) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Set last block processed height, currently only use in unit test. More...
|
| |
| void | ConnectScriptPubKeyManNotifiers () |
| | Connect the signals from ScriptPubKeyMans to the signals in CWallet. More...
|
| |
| void | LoadDescriptorScriptPubKeyMan (uint256 id, WalletDescriptor &desc) |
| | Instantiate a descriptor ScriptPubKeyMan from the WalletDescriptor and load it. More...
|
| |
| void | AddActiveScriptPubKeyMan (uint256 id, OutputType type, bool internal) |
| | Adds the active ScriptPubKeyMan for the specified type and internal. More...
|
| |
| void | LoadActiveScriptPubKeyMan (uint256 id, OutputType type, bool internal) |
| | Loads an active ScriptPubKeyMan for the specified type and internal. More...
|
| |
| void | SetupDescriptorScriptPubKeyMans () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
| | Create new DescriptorScriptPubKeyMans and add them to the wallet. More...
|
| |
| DescriptorScriptPubKeyMan * | GetDescriptorScriptPubKeyMan (const WalletDescriptor &desc) const |
| | Return the DescriptorScriptPubKeyMan for a WalletDescriptor if it is already in the wallet. More...
|
| |
| ScriptPubKeyMan * | AddWalletDescriptor (WalletDescriptor &desc, const FlatSigningProvider &signing_provider, const std::string &label, bool internal) |
| | Add a descriptor to the wallet, return a ScriptPubKeyMan & associated output type. More...
|
| |
| virtual | ~WalletStorage ()=default |
| |
| virtual | ~Notifications () |
| |