![]() |
Bitcoin Core 31.99.0
P2P Digital Currency
|
Access to the wallet database. More...
#include <walletdb.h>
Public Member Functions | |
| WalletBatch (WalletDatabase &database) | |
| WalletBatch (const WalletBatch &)=delete | |
| WalletBatch & | operator= (const WalletBatch &)=delete |
| bool | WriteName (const std::string &strAddress, const std::string &strName) |
| bool | EraseName (const std::string &strAddress) |
| bool | WritePurpose (const std::string &strAddress, const std::string &purpose) |
| bool | ErasePurpose (const std::string &strAddress) |
| bool | WriteTx (const CWalletTx &wtx) |
| bool | EraseTx (Txid hash) |
| bool | WriteWtxVariant (const Txid &txid, const CTransactionRef &tx) |
| bool | WriteKeyMetadata (const CKeyMetadata &meta, const CPubKey &pubkey, bool overwrite) |
| bool | WriteKey (const CPubKey &vchPubKey, const CPrivKey &vchPrivKey, const CKeyMetadata &keyMeta) |
| bool | WriteCryptedKey (const CPubKey &vchPubKey, const std::vector< unsigned char > &vchCryptedSecret, const CKeyMetadata &keyMeta) |
| bool | WriteMasterKey (unsigned int nID, const CMasterKey &kMasterKey) |
| bool | EraseMasterKey (unsigned int id) |
| bool | WriteWatchOnly (const CScript &script, const CKeyMetadata &keymeta) |
| bool | WriteBestBlock (const CBlockLocator &locator) |
| bool | ReadBestBlock (CBlockLocator &locator) |
| bool | IsEncrypted () |
| bool | WriteOrderPosNext (int64_t nOrderPosNext) |
| bool | WriteDescriptorKey (const uint256 &desc_id, const CPubKey &pubkey, const CPrivKey &privkey) |
| bool | WriteCryptedDescriptorKey (const uint256 &desc_id, const CPubKey &pubkey, const std::vector< unsigned char > &secret) |
| bool | WriteDescriptor (const uint256 &desc_id, const WalletDescriptor &descriptor) |
| bool | WriteDescriptorDerivedCache (const CExtPubKey &xpub, const uint256 &desc_id, uint32_t key_exp_index, uint32_t der_index) |
| bool | WriteDescriptorParentCache (const CExtPubKey &xpub, const uint256 &desc_id, uint32_t key_exp_index) |
| bool | WriteDescriptorLastHardenedCache (const CExtPubKey &xpub, const uint256 &desc_id, uint32_t key_exp_index) |
| bool | WriteDescriptorCacheItems (const uint256 &desc_id, const DescriptorCache &cache) |
| bool | WriteLockedUTXO (const COutPoint &output) |
| bool | EraseLockedUTXO (const COutPoint &output) |
| bool | WriteAddressPreviouslySpent (const CTxDestination &dest, bool previously_spent) |
| bool | WriteAddressReceiveRequest (const CTxDestination &dest, const std::string &id, const std::string &receive_request) |
| bool | EraseAddressReceiveRequest (const CTxDestination &dest, const std::string &id) |
| bool | EraseAddressData (const CTxDestination &dest) |
| bool | WriteActiveScriptPubKeyMan (uint8_t type, const uint256 &id, bool internal) |
| bool | EraseActiveScriptPubKeyMan (uint8_t type, bool internal) |
| DBErrors | LoadWallet (CWallet *pwallet) |
| bool | WriteVersion (int client_version) |
Write the given client_version to m_batch, indicating the last version of client software to load this wallet. More... | |
| bool | EraseRecords (const std::unordered_set< std::string > &types) |
| Delete records of the given types. More... | |
| bool | WriteWalletFlags (uint64_t flags) |
| bool | TxnBegin () |
| Begin a new transaction. More... | |
| bool | TxnCommit () |
| Commit current transaction. More... | |
| bool | TxnAbort () |
| Abort current transaction. More... | |
| bool | HasActiveTxn () |
| void | RegisterTxnListener (const DbTxnListener &l) |
| Registers db txn callback functions. More... | |
Private Member Functions | |
| template<typename K , typename T > | |
| bool | WriteIC (const K &key, const T &value, bool fOverwrite=true) |
| template<typename K > | |
| bool | EraseIC (const K &key) |
Private Attributes | |
| std::unique_ptr< DatabaseBatch > | m_batch |
| std::vector< DbTxnListener > | m_txn_listeners |
Access to the wallet database.
Opens the database and provides read and write access to it. Each read and write is its own transaction. Multiple operation transactions can be started using TxnBegin() and committed using TxnCommit() Otherwise the transaction will be committed when the object goes out of scope. Optionally (on by default) it will flush to disk on close. Every 1000 writes will automatically trigger a flush to disk.
Definition at line 198 of file walletdb.h.
|
inlineexplicit |
Definition at line 220 of file walletdb.h.
|
delete |
| bool wallet::WalletBatch::EraseActiveScriptPubKeyMan | ( | uint8_t | type, |
| bool | internal | ||
| ) |
Definition at line 216 of file walletdb.cpp.
| bool wallet::WalletBatch::EraseAddressData | ( | const CTxDestination & | dest | ) |
Definition at line 1273 of file walletdb.cpp.
| bool wallet::WalletBatch::EraseAddressReceiveRequest | ( | const CTxDestination & | dest, |
| const std::string & | id | ||
| ) |
Definition at line 1268 of file walletdb.cpp.
|
inlineprivate |
| bool wallet::WalletBatch::EraseLockedUTXO | ( | const COutPoint & | output | ) |
Definition at line 292 of file walletdb.cpp.
| bool wallet::WalletBatch::EraseMasterKey | ( | unsigned int | id | ) |
| bool wallet::WalletBatch::EraseName | ( | const std::string & | strAddress | ) |
Definition at line 82 of file walletdb.cpp.
| bool wallet::WalletBatch::ErasePurpose | ( | const std::string & | strAddress | ) |
Definition at line 94 of file walletdb.cpp.
| bool wallet::WalletBatch::EraseRecords | ( | const std::unordered_set< std::string > & | types | ) |
Delete records of the given types.
Definition at line 1285 of file walletdb.cpp.
| bool wallet::WalletBatch::EraseTx | ( | Txid | hash | ) |
Definition at line 109 of file walletdb.cpp.
|
inline |
| bool wallet::WalletBatch::IsEncrypted | ( | ) |
Definition at line 194 of file walletdb.cpp.
Definition at line 1134 of file walletdb.cpp.
|
delete |
| bool wallet::WalletBatch::ReadBestBlock | ( | CBlockLocator & | locator | ) |
| void wallet::WalletBatch::RegisterTxnListener | ( | const DbTxnListener & | l | ) |
Registers db txn callback functions.
Definition at line 1323 of file walletdb.cpp.
| bool wallet::WalletBatch::TxnAbort | ( | ) |
Abort current transaction.
Definition at line 1310 of file walletdb.cpp.
| bool wallet::WalletBatch::TxnBegin | ( | ) |
Begin a new transaction.
Definition at line 1292 of file walletdb.cpp.
| bool wallet::WalletBatch::TxnCommit | ( | ) |
Commit current transaction.
Definition at line 1297 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteActiveScriptPubKeyMan | ( | uint8_t | type, |
| const uint256 & | id, | ||
| bool | internal | ||
| ) |
Definition at line 210 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteAddressPreviouslySpent | ( | const CTxDestination & | dest, |
| bool | previously_spent | ||
| ) |
Definition at line 1257 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteAddressReceiveRequest | ( | const CTxDestination & | dest, |
| const std::string & | id, | ||
| const std::string & | receive_request | ||
| ) |
Definition at line 1263 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteBestBlock | ( | const CBlockLocator & | locator | ) |
Definition at line 182 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteCryptedDescriptorKey | ( | const uint256 & | desc_id, |
| const CPubKey & | pubkey, | ||
| const std::vector< unsigned char > & | secret | ||
| ) |
Definition at line 230 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteCryptedKey | ( | const CPubKey & | vchPubKey, |
| const std::vector< unsigned char > & | vchCryptedSecret, | ||
| const CKeyMetadata & | keyMeta | ||
| ) |
Definition at line 138 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteDescriptor | ( | const uint256 & | desc_id, |
| const WalletDescriptor & | descriptor | ||
| ) |
Definition at line 239 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteDescriptorCacheItems | ( | const uint256 & | desc_id, |
| const DescriptorCache & | cache | ||
| ) |
Definition at line 265 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteDescriptorDerivedCache | ( | const CExtPubKey & | xpub, |
| const uint256 & | desc_id, | ||
| uint32_t | key_exp_index, | ||
| uint32_t | der_index | ||
| ) |
Definition at line 244 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteDescriptorKey | ( | const uint256 & | desc_id, |
| const CPubKey & | pubkey, | ||
| const CPrivKey & | privkey | ||
| ) |
Definition at line 222 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteDescriptorLastHardenedCache | ( | const CExtPubKey & | xpub, |
| const uint256 & | desc_id, | ||
| uint32_t | key_exp_index | ||
| ) |
Definition at line 258 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteDescriptorParentCache | ( | const CExtPubKey & | xpub, |
| const uint256 & | desc_id, | ||
| uint32_t | key_exp_index | ||
| ) |
Definition at line 251 of file walletdb.cpp.
|
inlineprivate |
| bool wallet::WalletBatch::WriteKey | ( | const CPubKey & | vchPubKey, |
| const CPrivKey & | vchPrivKey, | ||
| const CKeyMetadata & | keyMeta | ||
| ) |
| bool wallet::WalletBatch::WriteKeyMetadata | ( | const CKeyMetadata & | meta, |
| const CPubKey & | pubkey, | ||
| bool | overwrite | ||
| ) |
Definition at line 121 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteLockedUTXO | ( | const COutPoint & | output | ) |
Definition at line 287 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteMasterKey | ( | unsigned int | nID, |
| const CMasterKey & | kMasterKey | ||
| ) |
Definition at line 164 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteName | ( | const std::string & | strAddress, |
| const std::string & | strName | ||
| ) |
Definition at line 77 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteOrderPosNext | ( | int64_t | nOrderPosNext | ) |
Definition at line 205 of file walletdb.cpp.
| bool wallet::WalletBatch::WritePurpose | ( | const std::string & | strAddress, |
| const std::string & | purpose | ||
| ) |
Definition at line 89 of file walletdb.cpp.
| bool wallet::WalletBatch::WriteTx | ( | const CWalletTx & | wtx | ) |
Definition at line 99 of file walletdb.cpp.
|
inline |
Write the given client_version to m_batch, indicating the last version of client software to load this wallet.
| [in] | client_version | CLIENT_VERSION outside of test code. |
Definition at line 281 of file walletdb.h.
| bool wallet::WalletBatch::WriteWalletFlags | ( | uint64_t | flags | ) |
| bool wallet::WalletBatch::WriteWatchOnly | ( | const CScript & | script, |
| const CKeyMetadata & | keymeta | ||
| ) |
| bool wallet::WalletBatch::WriteWtxVariant | ( | const Txid & | txid, |
| const CTransactionRef & | tx | ||
| ) |
Definition at line 116 of file walletdb.cpp.
|
private |
Definition at line 299 of file walletdb.h.
|
private |
Definition at line 303 of file walletdb.h.