aboutsummaryrefslogtreecommitdiff
path: root/src/walletdb.h
diff options
context:
space:
mode:
authorJonas Schnelli <jonas.schnelli@include7.ch>2015-02-03 21:09:47 +0100
committerJonas Schnelli <jonas.schnelli@include7.ch>2015-03-12 14:13:02 +0100
commit50c72f23ad5f7fcd13bf016f79cac6323c329caf (patch)
tree2ea49700ab27d3e9705f7a035f1a5783beed4ca2 /src/walletdb.h
parente564e63ef04e55b1e446f8440d51c611bc41cec6 (diff)
downloadbitcoin-50c72f23ad5f7fcd13bf016f79cac6323c329caf.tar.xz
[Move Only] Move wallet related things to src/wallet/
could once be renamed from /src/wallet to /src/legacywallet.
Diffstat (limited to 'src/walletdb.h')
-rw-r--r--src/walletdb.h142
1 files changed, 0 insertions, 142 deletions
diff --git a/src/walletdb.h b/src/walletdb.h
deleted file mode 100644
index 2627ef71a6..0000000000
--- a/src/walletdb.h
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright (c) 2009-2010 Satoshi Nakamoto
-// Copyright (c) 2009-2013 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
-#ifndef BITCOIN_WALLETDB_H
-#define BITCOIN_WALLETDB_H
-
-#include "amount.h"
-#include "db.h"
-#include "key.h"
-#include "keystore.h"
-
-#include <list>
-#include <stdint.h>
-#include <string>
-#include <utility>
-#include <vector>
-
-class CAccount;
-class CAccountingEntry;
-struct CBlockLocator;
-class CKeyPool;
-class CMasterKey;
-class CScript;
-class CWallet;
-class CWalletTx;
-class uint160;
-class uint256;
-
-/** Error statuses for the wallet database */
-enum DBErrors
-{
- DB_LOAD_OK,
- DB_CORRUPT,
- DB_NONCRITICAL_ERROR,
- DB_TOO_NEW,
- DB_LOAD_FAIL,
- DB_NEED_REWRITE
-};
-
-class CKeyMetadata
-{
-public:
- static const int CURRENT_VERSION=1;
- int nVersion;
- int64_t nCreateTime; // 0 means unknown
-
- CKeyMetadata()
- {
- SetNull();
- }
- CKeyMetadata(int64_t nCreateTime_)
- {
- nVersion = CKeyMetadata::CURRENT_VERSION;
- nCreateTime = nCreateTime_;
- }
-
- ADD_SERIALIZE_METHODS;
-
- template <typename Stream, typename Operation>
- inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
- READWRITE(this->nVersion);
- nVersion = this->nVersion;
- READWRITE(nCreateTime);
- }
-
- void SetNull()
- {
- nVersion = CKeyMetadata::CURRENT_VERSION;
- nCreateTime = 0;
- }
-};
-
-/** Access to the wallet database (wallet.dat) */
-class CWalletDB : public CDB
-{
-public:
- CWalletDB(const std::string& strFilename, const char* pszMode = "r+", bool fFlushOnClose = true) : CDB(strFilename, pszMode, fFlushOnClose)
- {
- }
-
- 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(uint256 hash, const CWalletTx& wtx);
- bool EraseTx(uint256 hash);
-
- 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);
- bool EraseWatchOnly(const CScript &script);
-
- bool WriteBestBlock(const CBlockLocator& locator);
- bool ReadBestBlock(CBlockLocator& locator);
-
- bool WriteOrderPosNext(int64_t nOrderPosNext);
-
- bool WriteDefaultKey(const CPubKey& vchPubKey);
-
- 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 ReadAccount(const std::string& strAccount, CAccount& account);
- bool WriteAccount(const std::string& strAccount, const CAccount& account);
-
- /// Write destination data key,value tuple to database
- bool WriteDestData(const std::string &address, const std::string &key, const std::string &value);
- /// Erase destination data tuple from wallet database
- bool EraseDestData(const std::string &address, const std::string &key);
-
- bool WriteAccountingEntry(const CAccountingEntry& acentry);
- CAmount GetAccountCreditDebit(const std::string& strAccount);
- void ListAccountCreditDebit(const std::string& strAccount, std::list<CAccountingEntry>& acentries);
-
- DBErrors ReorderTransactions(CWallet* pwallet);
- DBErrors LoadWallet(CWallet* pwallet);
- DBErrors FindWalletTx(CWallet* pwallet, std::vector<uint256>& vTxHash, std::vector<CWalletTx>& vWtx);
- DBErrors ZapWalletTx(CWallet* pwallet, std::vector<CWalletTx>& vWtx);
- static bool Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys);
- static bool Recover(CDBEnv& dbenv, std::string filename);
-
-private:
- CWalletDB(const CWalletDB&);
- void operator=(const CWalletDB&);
-
- bool WriteAccountingEntry(const uint64_t nAccEntryNum, const CAccountingEntry& acentry);
-};
-
-bool BackupWallet(const CWallet& wallet, const std::string& strDest);
-
-#endif // BITCOIN_WALLETDB_H