X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=blobdiff_plain;f=src%2Fwalletdb.h;h=714b3ccf5c48b7b596121433f5e8f4965121abac;hp=64a2d9f41e4a36d5b0c867eb962334296c8c987d;hb=9e58e0a8ca28b15a4bfa677f5b23891972db40fd;hpb=edc83f6417f70f35539776cce6cdceb9d896a41b diff --git a/src/walletdb.h b/src/walletdb.h index 64a2d9f..714b3cc 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -83,45 +83,59 @@ public: return Erase(std::make_pair(std::string("tx"), hash)); } - bool WriteKey(const CPubKey& vchPubKey, const CPrivKey& vchPrivKey, const CKeyMetadata &keyMeta) + bool WriteKey(const CPubKey& key, const CPrivKey& vchPrivKey, const CKeyMetadata &keyMeta) { nWalletDBUpdated++; - if(!Write(std::make_pair(std::string("keymeta"), vchPubKey), keyMeta)) + if(!Write(std::make_pair(std::string("keymeta"), key), keyMeta)) return false; - if(!Write(std::make_pair(std::string("key"), vchPubKey.Raw()), vchPrivKey, false)) + if(!Write(std::make_pair(std::string("key"), key), vchPrivKey, false)) return false; return true; } - bool WriteMalleableKey(const CMalleableKeyView& keyView, const CMalleableKey& malleableKey, const CKeyMetadata &keyMeta) + 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()), malleableKey.GetSecretH(), 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())); - bool WriteCryptedKey(const CPubKey& vchPubKey, const std::vector& vchCryptedSecret, const CKeyMetadata &keyMeta) + return true; + } + + + bool WriteCryptedKey(const CPubKey& key, const std::vector& vchCryptedSecret, const CKeyMetadata &keyMeta) { nWalletDBUpdated++; bool fEraseUnencryptedKey = true; - if(!Write(std::make_pair(std::string("keymeta"), vchPubKey), keyMeta)) + if(!Write(std::make_pair(std::string("keymeta"), key), keyMeta)) return false; - if (!Write(std::make_pair(std::string("ckey"), vchPubKey.Raw()), vchCryptedSecret, false)) + if (!Write(std::make_pair(std::string("ckey"), key), vchCryptedSecret, false)) return false; if (fEraseUnencryptedKey) { - Erase(std::make_pair(std::string("key"), vchPubKey.Raw())); - Erase(std::make_pair(std::string("wkey"), vchPubKey.Raw())); + Erase(std::make_pair(std::string("key"), key)); + Erase(std::make_pair(std::string("wkey"), key)); } return true; } @@ -138,9 +152,14 @@ public: return Erase(std::make_pair(std::string("mkey"), nID)); } - bool EraseCryptedKey(const CPubKey& vchPubKey) + bool EraseCryptedKey(const CPubKey& key) + { + return Erase(std::make_pair(std::string("ckey"), key)); + } + + bool EraseCryptedMalleableKey(const CMalleableKeyView& keyView) { - return Erase(std::make_pair(std::string("ckey"), vchPubKey.Raw())); + return Erase(std::make_pair(std::string("malcpair"), keyView.ToString())); } bool WriteCScript(const uint160& hash, const CScript& redeemScript) @@ -178,10 +197,10 @@ public: return Write(std::string("orderposnext"), nOrderPosNext); } - bool WriteDefaultKey(const CPubKey& vchPubKey) + bool WriteDefaultKey(const CPubKey& key) { nWalletDBUpdated++; - return Write(std::string("defaultkey"), vchPubKey.Raw()); + return Write(std::string("defaultkey"), key); } bool ReadPool(int64_t nPool, CKeyPool& keypool)