Bitcoin Core
22.99.0
P2P Digital Currency
|
Access to the wallet database. More...
#include <walletdb.h>
Public Member Functions | |
WalletBatch (WalletDatabase &database, bool _fFlushOnClose=true) | |
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 (uint256 hash) |
bool | WriteKeyMetadata (const CKeyMetadata &meta, const CPubKey &pubkey, const 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 | WriteCScript (const uint160 &hash, const CScript &redeemScript) |
bool | WriteWatchOnly (const CScript &script, const CKeyMetadata &keymeta) |
bool | EraseWatchOnly (const CScript &script) |
bool | WriteBestBlock (const CBlockLocator &locator) |
bool | ReadBestBlock (CBlockLocator &locator) |
bool | WriteOrderPosNext (int64_t nOrderPosNext) |
bool | ReadPool (int64_t nPool, CKeyPool &keypool) |
bool | WritePool (int64_t nPool, const CKeyPool &keypool) |
bool | ErasePool (int64_t nPool) |
bool | WriteMinVersion (int nVersion) |
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 | WriteDestData (const std::string &address, const std::string &key, const std::string &value) |
Write destination data key,value tuple to database. More... | |
bool | EraseDestData (const std::string &address, const std::string &key) |
Erase destination data tuple from wallet database. More... | |
bool | WriteActiveScriptPubKeyMan (uint8_t type, const uint256 &id, bool internal) |
bool | EraseActiveScriptPubKeyMan (uint8_t type, bool internal) |
DBErrors | LoadWallet (CWallet *pwallet) |
DBErrors | FindWalletTx (std::vector< uint256 > &vTxHash, std::list< CWalletTx > &vWtx) |
DBErrors | ZapSelectTx (std::vector< uint256 > &vHashIn, std::vector< uint256 > &vHashOut) |
bool | WriteHDChain (const CHDChain &chain) |
write the hdchain model (external chain child index counter) More... | |
bool | WriteWalletFlags (const uint64_t flags) |
bool | TxnBegin () |
Begin a new transaction. More... | |
bool | TxnCommit () |
Commit current transaction. More... | |
bool | TxnAbort () |
Abort current transaction. More... | |
Static Public Member Functions | |
static bool | IsKeyType (const std::string &strType) |
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 |
WalletDatabase & | m_database |
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 178 of file walletdb.h.
|
inlineexplicit |
Definition at line 208 of file walletdb.h.
|
delete |
bool WalletBatch::EraseActiveScriptPubKeyMan | ( | uint8_t | type, |
bool | internal | ||
) |
Definition at line 214 of file walletdb.cpp.
bool WalletBatch::EraseDestData | ( | const std::string & | address, |
const std::string & | key | ||
) |
Erase destination data tuple from wallet database.
Definition at line 1072 of file walletdb.cpp.
|
inlineprivate |
Definition at line 195 of file walletdb.h.
bool WalletBatch::EraseLockedUTXO | ( | const COutPoint & | output | ) |
Definition at line 293 of file walletdb.cpp.
bool WalletBatch::EraseName | ( | const std::string & | strAddress | ) |
Definition at line 72 of file walletdb.cpp.
bool WalletBatch::ErasePool | ( | int64_t | nPool | ) |
Definition at line 198 of file walletdb.cpp.
bool WalletBatch::ErasePurpose | ( | const std::string & | strAddress | ) |
Definition at line 84 of file walletdb.cpp.
bool WalletBatch::EraseTx | ( | uint256 | hash | ) |
Definition at line 94 of file walletdb.cpp.
bool WalletBatch::EraseWatchOnly | ( | const CScript & | script | ) |
Definition at line 163 of file walletdb.cpp.
|
static |
Definition at line 761 of file walletdb.cpp.
|
delete |
bool WalletBatch::ReadBestBlock | ( | CBlockLocator & | locator | ) |
bool WalletBatch::ReadPool | ( | int64_t | nPool, |
CKeyPool & | keypool | ||
) |
bool WalletBatch::TxnAbort | ( | ) |
Abort current transaction.
Definition at line 1098 of file walletdb.cpp.
bool WalletBatch::TxnBegin | ( | ) |
Begin a new transaction.
Definition at line 1088 of file walletdb.cpp.
bool WalletBatch::TxnCommit | ( | ) |
Commit current transaction.
Definition at line 1093 of file walletdb.cpp.
bool WalletBatch::WriteActiveScriptPubKeyMan | ( | uint8_t | type, |
const uint256 & | id, | ||
bool | internal | ||
) |
Definition at line 208 of file walletdb.cpp.
bool WalletBatch::WriteBestBlock | ( | const CBlockLocator & | locator | ) |
Definition at line 171 of file walletdb.cpp.
bool WalletBatch::WriteCryptedDescriptorKey | ( | const uint256 & | desc_id, |
const CPubKey & | pubkey, | ||
const std::vector< unsigned char > & | secret | ||
) |
Definition at line 231 of file walletdb.cpp.
bool WalletBatch::WriteCryptedKey | ( | const CPubKey & | vchPubKey, |
const std::vector< unsigned char > & | vchCryptedSecret, | ||
const CKeyMetadata & | keyMeta | ||
) |
Definition at line 119 of file walletdb.cpp.
Definition at line 150 of file walletdb.cpp.
bool WalletBatch::WriteDescriptor | ( | const uint256 & | desc_id, |
const WalletDescriptor & | descriptor | ||
) |
Definition at line 240 of file walletdb.cpp.
bool WalletBatch::WriteDescriptorCacheItems | ( | const uint256 & | desc_id, |
const DescriptorCache & | cache | ||
) |
Definition at line 266 of file walletdb.cpp.
bool WalletBatch::WriteDescriptorDerivedCache | ( | const CExtPubKey & | xpub, |
const uint256 & | desc_id, | ||
uint32_t | key_exp_index, | ||
uint32_t | der_index | ||
) |
Definition at line 245 of file walletdb.cpp.
bool WalletBatch::WriteDescriptorKey | ( | const uint256 & | desc_id, |
const CPubKey & | pubkey, | ||
const CPrivKey & | privkey | ||
) |
Definition at line 220 of file walletdb.cpp.
bool WalletBatch::WriteDescriptorLastHardenedCache | ( | const CExtPubKey & | xpub, |
const uint256 & | desc_id, | ||
uint32_t | key_exp_index | ||
) |
Definition at line 259 of file walletdb.cpp.
bool WalletBatch::WriteDescriptorParentCache | ( | const CExtPubKey & | xpub, |
const uint256 & | desc_id, | ||
uint32_t | key_exp_index | ||
) |
Definition at line 252 of file walletdb.cpp.
bool WalletBatch::WriteDestData | ( | const std::string & | address, |
const std::string & | key, | ||
const std::string & | value | ||
) |
Write destination data key,value tuple to database.
Definition at line 1067 of file walletdb.cpp.
bool WalletBatch::WriteHDChain | ( | const CHDChain & | chain | ) |
write the hdchain model (external chain child index counter)
Definition at line 1078 of file walletdb.cpp.
|
inlineprivate |
Definition at line 182 of file walletdb.h.
bool WalletBatch::WriteKey | ( | const CPubKey & | vchPubKey, |
const CPrivKey & | vchPrivKey, | ||
const CKeyMetadata & | keyMeta | ||
) |
Definition at line 104 of file walletdb.cpp.
bool WalletBatch::WriteKeyMetadata | ( | const CKeyMetadata & | meta, |
const CPubKey & | pubkey, | ||
const bool | overwrite | ||
) |
Definition at line 99 of file walletdb.cpp.
bool WalletBatch::WriteLockedUTXO | ( | const COutPoint & | output | ) |
Definition at line 288 of file walletdb.cpp.
bool WalletBatch::WriteMasterKey | ( | unsigned int | nID, |
const CMasterKey & | kMasterKey | ||
) |
Definition at line 145 of file walletdb.cpp.
bool WalletBatch::WriteMinVersion | ( | int | nVersion | ) |
Definition at line 203 of file walletdb.cpp.
bool WalletBatch::WriteName | ( | const std::string & | strAddress, |
const std::string & | strName | ||
) |
Definition at line 67 of file walletdb.cpp.
bool WalletBatch::WriteOrderPosNext | ( | int64_t | nOrderPosNext | ) |
Definition at line 183 of file walletdb.cpp.
bool WalletBatch::WritePool | ( | int64_t | nPool, |
const CKeyPool & | keypool | ||
) |
Definition at line 193 of file walletdb.cpp.
bool WalletBatch::WritePurpose | ( | const std::string & | strAddress, |
const std::string & | purpose | ||
) |
Definition at line 79 of file walletdb.cpp.
bool WalletBatch::WriteTx | ( | const CWalletTx & | wtx | ) |
Definition at line 89 of file walletdb.cpp.
bool WalletBatch::WriteWalletFlags | ( | const uint64_t | flags | ) |
Definition at line 1083 of file walletdb.cpp.
bool WalletBatch::WriteWatchOnly | ( | const CScript & | script, |
const CKeyMetadata & | keymeta | ||
) |
Definition at line 155 of file walletdb.cpp.
DBErrors WalletBatch::ZapSelectTx | ( | std::vector< uint256 > & | vHashIn, |
std::vector< uint256 > & | vHashOut | ||
) |
Definition at line 1002 of file walletdb.cpp.
|
private |
Definition at line 282 of file walletdb.h.
|
private |
Definition at line 283 of file walletdb.h.