![]() |
Bitcoin Core 22.99.0
P2P Digital Currency
|
Functions | |
bool | DummySignInput (const SigningProvider &provider, CTxIn &tx_in, const CTxOut &txout, bool use_max_sig) |
const CWalletTx * | CWallet::GetWalletTx (const uint256 &hash) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
void | CWallet::UpgradeKeyMetadata () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Upgrade stored CKeyMetadata objects to store key origin info as KeyOriginInfo. More... | |
void | CWallet::UpgradeDescriptorCache () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Upgrade DescriptorCaches. More... | |
bool | CWallet::Unlock (const SecureString &strWalletPassphrase, bool accept_no_keys=false) |
bool | CWallet::ChangeWalletPassphrase (const SecureString &strOldWalletPassphrase, const SecureString &strNewWalletPassphrase) |
void | CWallet::chainStateFlushed (const CBlockLocator &loc) override |
void | CWallet::SetMinVersion (enum WalletFeature, WalletBatch *batch_in=nullptr) override |
signify that a particular wallet feature is now used. More... | |
std::set< uint256 > | CWallet::GetConflicts (const uint256 &txid) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Get wallet transactions that conflict with given transaction (spend same outputs) More... | |
bool | CWallet::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 | CWallet::Flush () |
Flush wallet (bitdb flush) More... | |
void | CWallet::Close () |
Close wallet database. More... | |
void | CWallet::SyncMetaData (std::pair< TxSpends::iterator, TxSpends::iterator >) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::IsSpent (const uint256 &hash, unsigned int n) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Outpoint is spent if any non-conflicted transaction spends it: More... | |
void | CWallet::AddToSpends (const COutPoint &outpoint, const uint256 &wtxid, WalletBatch *batch=nullptr) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
void | CWallet::AddToSpends (const uint256 &wtxid, WalletBatch *batch=nullptr) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::EncryptWallet (const SecureString &strWalletPassphrase) |
DBErrors | CWallet::ReorderTransactions () |
int64_t | CWallet::IncOrderPosNext (WalletBatch *batch=nullptr) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Increment the next transaction order id. More... | |
void | CWallet::MarkDirty () |
bool | CWallet::MarkReplaced (const uint256 &originalHash, const uint256 &newHash) |
Mark a transaction as replaced by another transaction (e.g., BIP 125). More... | |
void | CWallet::SetSpentKeyState (WalletBatch &batch, const uint256 &hash, unsigned int n, bool used, std::set< CTxDestination > &tx_destinations) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::IsSpentKey (const uint256 &hash, unsigned int n) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
CWalletTx * | CWallet::AddToWallet (CTransactionRef tx, const CWalletTx::Confirmation &confirm, const UpdateWalletTxFn &update_wtx=nullptr, bool fFlushOnClose=true, bool rescanning_old_block=false) |
bool | CWallet::LoadToWallet (const uint256 &hash, const UpdateWalletTxFn &fill_wtx) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::AddToWalletIfInvolvingMe (const CTransactionRef &tx, CWalletTx::Confirmation confirm, bool fUpdate, bool rescanning_old_block) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Add a transaction to the wallet, or update it. More... | |
bool | CWallet::TransactionCanBeAbandoned (const uint256 &hashTx) const |
Return whether transaction can be abandoned. More... | |
void | CWallet::MarkInputsDirty (const CTransactionRef &tx) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
Mark a transaction's inputs dirty, thus forcing the outputs to be recomputed. More... | |
bool | CWallet::AbandonTransaction (const uint256 &hashTx) |
void | CWallet::MarkConflicted (const uint256 &hashBlock, int conflicting_height, const uint256 &hashTx) |
Mark a transaction (and its in-wallet descendants) as conflicting with a particular block. More... | |
void | CWallet::SyncTransaction (const CTransactionRef &tx, CWalletTx::Confirmation confirm, bool update_tx=true, bool rescanning_old_block=false) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
void | CWallet::transactionAddedToMempool (const CTransactionRef &tx, uint64_t mempool_sequence) override |
void | CWallet::transactionRemovedFromMempool (const CTransactionRef &tx, MemPoolRemovalReason reason, uint64_t mempool_sequence) override |
void | CWallet::blockConnected (const CBlock &block, int height) override |
void | CWallet::blockDisconnected (const CBlock &block, int height) override |
void | CWallet::updatedBlockTip () override |
CAmount | CWallet::GetDebit (const CTxIn &txin, const isminefilter &filter) const |
Returns amount of debit if the input matches the filter, otherwise returns 0. More... | |
isminetype | CWallet::IsMine (const CTxOut &txout) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
isminetype | CWallet::IsMine (const CTxDestination &dest) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
isminetype | CWallet::IsMine (const CScript &script) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::IsMine (const CTransaction &tx) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::IsFromMe (const CTransaction &tx) const |
should probably be renamed to IsRelevantToMe More... | |
CAmount | CWallet::GetDebit (const CTransaction &tx, const isminefilter &filter) const |
bool | CWallet::IsHDEnabled () const |
bool | CWallet::CanGetAddresses (bool internal=false) const |
void BlockUntilSyncedToCurrentChain() const LOCKS_EXCLUDED(void | CWallet::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 | CWallet::UnsetWalletFlag (uint64_t flag) |
Unsets a single wallet flag. More... | |
void | CWallet::UnsetWalletFlagWithDB (WalletBatch &batch, uint64_t flag) |
Unsets a wallet flag and saves it to disk. More... | |
void | CWallet::UnsetBlankWalletFlag (WalletBatch &batch) override |
Unset the blank wallet flag and saves it to disk. More... | |
bool | CWallet::IsWalletFlagSet (uint64_t flag) const override |
check if a certain wallet flag is set More... | |
bool | CWallet::LoadWalletFlags (uint64_t flags) |
Loads the flags into the wallet. More... | |
bool | CWallet::AddWalletFlags (uint64_t flags) |
overwrite all flags by the given uint64_t returns false if unknown, non-tolerable flags are present More... | |
bool | CWallet::DummySignTx (CMutableTransaction &txNew, const std::vector< CTxOut > &txouts, const CCoinControl *coin_control=nullptr) const |
bool | CWallet::ImportScripts (const std::set< CScript > scripts, int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::ImportPrivKeys (const std::map< CKeyID, CKey > &privkey_map, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::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 | CWallet::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) |
int64_t | CWallet::RescanFromTime (int64_t startTime, const WalletRescanReserver &reserver, bool update) |
Scan active chain for relevant transactions after importing keys. More... | |
ScanResult | CWallet::ScanForWalletTransactions (const uint256 &start_block, int start_height, std::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 | CWallet::ReacceptWalletTransactions () EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) |
bool | CWallet::SubmitTxMemoryPoolAndRelay (const CWalletTx &wtx, std::string &err_string, bool relay) const |
Pass this transaction to node for mempool insertion and relay to peers if flag set to true. More... | |
std::set< uint256 > | CWallet::GetTxConflicts (const CWalletTx &wtx) const NO_THREAD_SAFETY_ANALYSIS |
void | CWallet::ResendWalletTransactions () |
bool CWallet::AbandonTransaction | ( | const uint256 & | hashTx | ) |
|
private |
Definition at line 593 of file wallet.cpp.
|
private |
CWalletTx * CWallet::AddToWallet | ( | CTransactionRef | tx, |
const CWalletTx::Confirmation & | confirm, | ||
const UpdateWalletTxFn & | update_wtx = nullptr , |
||
bool | fFlushOnClose = true , |
||
bool | rescanning_old_block = false |
||
) |
Definition at line 888 of file wallet.cpp.
|
private |
Add a transaction to the wallet, or update it.
confirm.block_* should be set when the transaction was known to be included in a block. When block_hash.IsNull(), then wallet state is not updated in AddToWallet, but notifications happen and cached balances are marked dirty.
If fUpdate is true, existing transactions will be updated. TODO: One exception to this is that the abandoned state is cleared under the assumption that any further notification of a transaction that was considered abandoned is an indication that it is not safe to be considered abandoned. Abandoned state should probably be more carefully tracked via different chain notifications or by checking mempool presence when necessary.
Should be called with rescanning_old_block set to true, if the transaction is not discovered in real time, but during a rescan of old blocks.
Definition at line 1035 of file wallet.cpp.
bool CWallet::AddWalletFlags | ( | uint64_t | flags | ) |
overwrite all flags by the given uint64_t returns false if unknown, non-tolerable flags are present
Definition at line 1438 of file wallet.cpp.
|
overridevirtual |
Reimplemented from interfaces::Chain::Notifications.
Definition at line 1260 of file wallet.cpp.
|
overridevirtual |
Reimplemented from interfaces::Chain::Notifications.
Definition at line 1273 of file wallet.cpp.
bool CWallet::CanGetAddresses | ( | bool | internal = false | ) | const |
|
overridevirtual |
Reimplemented from interfaces::Chain::Notifications.
Definition at line 469 of file wallet.cpp.
bool CWallet::ChangeWalletPassphrase | ( | const SecureString & | strOldWalletPassphrase, |
const SecureString & | strNewWalletPassphrase | ||
) |
void CWallet::Close | ( | ) |
Close wallet database.
Definition at line 526 of file wallet.cpp.
bool DummySignInput | ( | const SigningProvider & | provider, |
CTxIn & | tx_in, | ||
const CTxOut & | txout, | ||
bool | use_max_sig | ||
) |
Definition at line 1452 of file wallet.cpp.
bool CWallet::DummySignTx | ( | CMutableTransaction & | txNew, |
const std::vector< CTxOut > & | txouts, | ||
const CCoinControl * | coin_control = nullptr |
||
) | const |
bool CWallet::EncryptWallet | ( | const SecureString & | strWalletPassphrase | ) |
void CWallet::Flush | ( | ) |
Flush wallet (bitdb flush)
Definition at line 521 of file wallet.cpp.
Get wallet transactions that conflict with given transaction (spend same outputs)
Definition at line 491 of file wallet.cpp.
CAmount CWallet::GetDebit | ( | const CTransaction & | tx, |
const isminefilter & | filter | ||
) | const |
CAmount CWallet::GetDebit | ( | const CTxIn & | txin, |
const isminefilter & | filter | ||
) | const |
Returns amount of debit if the input matches the filter, otherwise returns 0.
Definition at line 1306 of file wallet.cpp.
Definition at line 361 of file wallet.cpp.
bool CWallet::HasWalletSpend | ( | const uint256 & | txid | ) | const |
Check if a given transaction has any of its outputs spent by another transaction in the wallet.
Definition at line 514 of file wallet.cpp.
bool CWallet::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 | ||
) |
bool CWallet::ImportScripts | ( | const std::set< CScript > | scripts, |
int64_t | timestamp | ||
) |
int64_t CWallet::IncOrderPosNext | ( | WalletBatch * | batch = nullptr | ) |
Increment the next transaction order id.
Definition at line 781 of file wallet.cpp.
bool CWallet::IsFromMe | ( | const CTransaction & | tx | ) | const |
should probably be renamed to IsRelevantToMe
Definition at line 1353 of file wallet.cpp.
bool CWallet::IsHDEnabled | ( | ) | const |
Definition at line 1370 of file wallet.cpp.
isminetype CWallet::IsMine | ( | const CScript & | script | ) | const |
bool CWallet::IsMine | ( | const CTransaction & | tx | ) | const |
isminetype CWallet::IsMine | ( | const CTxDestination & | dest | ) | const |
Definition at line 1328 of file wallet.cpp.
isminetype CWallet::IsMine | ( | const CTxOut & | txout | ) | const |
bool CWallet::IsSpent | ( | const uint256 & | hash, |
unsigned int | n | ||
) | const |
Outpoint is spent if any non-conflicted transaction spends it:
Definition at line 574 of file wallet.cpp.
bool CWallet::IsSpentKey | ( | const uint256 & | hash, |
unsigned int | n | ||
) | const |
|
overridevirtual |
check if a certain wallet flag is set
Implements WalletStorage.
Definition at line 1421 of file wallet.cpp.
bool CWallet::LoadToWallet | ( | const uint256 & | hash, |
const UpdateWalletTxFn & | fill_wtx | ||
) |
Definition at line 991 of file wallet.cpp.
bool CWallet::LoadWalletFlags | ( | uint64_t | flags | ) |
Loads the flags into the wallet.
(used by LoadWallet)
Definition at line 1426 of file wallet.cpp.
|
private |
Mark a transaction (and its in-wallet descendants) as conflicting with a particular block.
Definition at line 1150 of file wallet.cpp.
void CWallet::MarkDirty | ( | ) |
|
private |
Mark a transaction's inputs dirty, thus forcing the outputs to be recomputed.
Definition at line 1086 of file wallet.cpp.
Mark a transaction as replaced by another transaction (e.g., BIP 125).
Definition at line 802 of file wallet.cpp.
void CWallet::ReacceptWalletTransactions | ( | ) |
Definition at line 1695 of file wallet.cpp.
DBErrors CWallet::ReorderTransactions | ( | ) |
Definition at line 724 of file wallet.cpp.
int64_t CWallet::RescanFromTime | ( | int64_t | startTime, |
const WalletRescanReserver & | reserver, | ||
bool | update | ||
) |
Scan active chain for relevant transactions after importing keys.
This should be called whenever new keys are added to the wallet, with the oldest key creation time.
Definition at line 1549 of file wallet.cpp.
void CWallet::ResendWalletTransactions | ( | ) |
CWallet::ScanResult CWallet::ScanForWalletTransactions | ( | const uint256 & | start_block, |
int | start_height, | ||
std::optional< int > | max_height, | ||
const WalletRescanReserver & | reserver, | ||
bool | fUpdate | ||
) |
Scan the block chain (starting in start_block) for transactions from or to us.
If fUpdate is true, found transactions that already exist in the wallet will be updated.
[in] | start_block | Scan starting block. If block is not on the active chain, the scan will return SUCCESS immediately. |
[in] | start_height | Height of start_block |
[in] | max_height | Optional max scanning height. If unset there is no maximum and scanning can continue to the tip |
Definition at line 1592 of file wallet.cpp.
|
overridevirtual |
signify that a particular wallet feature is now used.
Implements WalletStorage.
Definition at line 475 of file wallet.cpp.
void CWallet::SetSpentKeyState | ( | WalletBatch & | batch, |
const uint256 & | hash, | ||
unsigned int | n, | ||
bool | used, | ||
std::set< CTxDestination > & | tx_destinations | ||
) |
Definition at line 834 of file wallet.cpp.
void CWallet::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.
set a single wallet flag
Definition at line 1394 of file wallet.cpp.
bool CWallet::SubmitTxMemoryPoolAndRelay | ( | const CWalletTx & | wtx, |
std::string & | err_string, | ||
bool | relay | ||
) | const |
Pass this transaction to node for mempool insertion and relay to peers if flag set to true.
Definition at line 1723 of file wallet.cpp.
|
private |
Definition at line 531 of file wallet.cpp.
|
private |
Definition at line 1202 of file wallet.cpp.
|
overridevirtual |
Reimplemented from interfaces::Chain::Notifications.
Definition at line 1213 of file wallet.cpp.
bool CWallet::TransactionCanBeAbandoned | ( | const uint256 & | hashTx | ) | const |
Return whether transaction can be abandoned.
Definition at line 1079 of file wallet.cpp.
|
overridevirtual |
Reimplemented from interfaces::Chain::Notifications.
Definition at line 1223 of file wallet.cpp.
bool CWallet::Unlock | ( | const SecureString & | strWalletPassphrase, |
bool | accept_no_keys = false |
||
) |
|
overrideprivatevirtual |
Unset the blank wallet flag and saves it to disk.
Implements WalletStorage.
Definition at line 1416 of file wallet.cpp.
void CWallet::UnsetWalletFlag | ( | uint64_t | flag | ) |
Unsets a single wallet flag.
Definition at line 1402 of file wallet.cpp.
|
private |
Unsets a wallet flag and saves it to disk.
Definition at line 1408 of file wallet.cpp.
|
overridevirtual |
Reimplemented from interfaces::Chain::Notifications.
Definition at line 1288 of file wallet.cpp.
void CWallet::UpgradeDescriptorCache | ( | ) |
Upgrade DescriptorCaches.
Definition at line 385 of file wallet.cpp.
void CWallet::UpgradeKeyMetadata | ( | ) |
Upgrade stored CKeyMetadata objects to store key origin info as KeyOriginInfo.
Definition at line 370 of file wallet.cpp.