X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fwalletdb.h;h=94b355f9256bc0cbf12e75d266baf10e79595198;hb=32b53bb54ee7591fd47dd1ee24e05b73337f40b5;hp=b5b7f02dc8f0b3a90c36393f20d7f600042330f7;hpb=52c85881648d3381c29da10925c06cbd083cc570;p=novacoin.git diff --git a/src/walletdb.h b/src/walletdb.h index b5b7f02..94b355f 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -6,7 +6,7 @@ #define BITCOIN_WALLETDB_H #include "db.h" -#include "base58.h" +//#include "base58.h" #include "keystore.h" class CKeyPool; @@ -95,6 +95,33 @@ public: return true; } + bool WriteMalleableKey(const CMalleableKeyView& keyView, const CSecret& vchSecretH, const CKeyMetadata &keyMeta) + { + nWalletDBUpdated++; + if(!Write(std::make_pair(std::string("malmeta"), keyView.ToString()), keyMeta)) + return false; + + if(!Write(std::make_pair(std::string("malpair"), keyView.ToString()), vchSecretH, false)) + return false; + + return true; + } + + bool WriteCryptedMalleableKey(const CMalleableKeyView& keyView, const std::vector& vchCryptedSecretH, const CKeyMetadata &keyMeta) + { + nWalletDBUpdated++; + if(!Write(std::make_pair(std::string("malmeta"), keyView.ToString()), keyMeta)) + return false; + + if(!Write(std::make_pair(std::string("malcpair"), keyView.ToString()), vchCryptedSecretH, false)) + return false; + + Erase(std::make_pair(std::string("malpair"), keyView.ToString())); + + return true; + } + + bool WriteCryptedKey(const CPubKey& vchPubKey, const std::vector& vchCryptedSecret, const CKeyMetadata &keyMeta) { nWalletDBUpdated++; @@ -130,6 +157,11 @@ public: return Erase(std::make_pair(std::string("ckey"), vchPubKey.Raw())); } + bool EraseCryptedMalleableKey(const CMalleableKeyView& keyView) + { + return Erase(std::make_pair(std::string("malcpair"), keyView.ToString())); + } + bool WriteCScript(const uint160& hash, const CScript& redeemScript) { nWalletDBUpdated++; @@ -204,6 +236,9 @@ public: DBErrors ReorderTransactions(CWallet*); DBErrors LoadWallet(CWallet* pwallet); + DBErrors FindWalletTx(CWallet* pwallet, std::vector& vTxHash); + DBErrors ZapWalletTx(CWallet* pwallet); + static bool Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys); static bool Recover(CDBEnv& dbenv, std::string filename); };