X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fkeystore.h;h=3e56919d3bb8871c8a67ef94c5046be73f98fd7b;hb=d11488abd05cb39a9f481e7c4c35f780197a3d28;hp=801afbf91718cb6b4d05de067314c821b8c6a90c;hpb=11529c6e4f7288d8a64c488a726ee3821c7adefe;p=novacoin.git diff --git a/src/keystore.h b/src/keystore.h index 801afbf..3e56919 100644 --- a/src/keystore.h +++ b/src/keystore.h @@ -1,20 +1,22 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2011 The Bitcoin developers +// Copyright (c) 2009-2012 The Bitcoin developers // Distributed under the MIT/X11 software license, see the accompanying -// file license.txt or http://www.opensource.org/licenses/mit-license.php. +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_KEYSTORE_H #define BITCOIN_KEYSTORE_H #include "crypter.h" #include "script.h" -// A virtual base class for key stores +/** A virtual base class for key stores */ class CKeyStore { protected: mutable CCriticalSection cs_KeyStore; public: + virtual ~CKeyStore() {} + // Add a key to the store. virtual bool AddKey(const CKey& key) =0; @@ -25,12 +27,10 @@ public: virtual bool GetPubKey(const CBitcoinAddress &address, std::vector& vchPubKeyOut) const; // Support for BIP 0013 : see https://en.bitcoin.it/wiki/BIP_0013 - virtual bool AddCScript(const uint160 &hash, const CScript& redeemScript) =0; + virtual bool AddCScript(const CScript& redeemScript) =0; virtual bool HaveCScript(const uint160 &hash) const =0; virtual bool GetCScript(const uint160 &hash, CScript& redeemScriptOut) const =0; - // Generate a new key, and add it to the store - virtual std::vector GenerateNewKey(); virtual bool GetSecret(const CBitcoinAddress &address, CSecret& vchSecret, bool &fCompressed) const { CKey key; @@ -44,7 +44,7 @@ public: typedef std::map > KeyMap; typedef std::map ScriptMap; -// Basic key store, that keeps keys in an address->secret map +/** Basic key store, that keeps keys in an address->secret map */ class CBasicKeyStore : public CKeyStore { protected: @@ -87,15 +87,16 @@ public: } return false; } - virtual bool AddCScript(const uint160 &hash, const CScript& redeemScript); + virtual bool AddCScript(const CScript& redeemScript); virtual bool HaveCScript(const uint160 &hash) const; virtual bool GetCScript(const uint160 &hash, CScript& redeemScriptOut) const; }; typedef std::map, std::vector > > CryptedKeyMap; -// Keystore which keeps the private keys encrypted -// It derives from the basic key store, which is used if no encryption is active. +/** Keystore which keeps the private keys encrypted. + * It derives from the basic key store, which is used if no encryption is active. + */ class CCryptoKeyStore : public CBasicKeyStore { private: