diff options
Diffstat (limited to 'src/keystore.h')
-rw-r--r-- | src/keystore.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/keystore.h b/src/keystore.h index 3e56919d3b..3f1f0ce9dd 100644 --- a/src/keystore.h +++ b/src/keystore.h @@ -6,7 +6,10 @@ #define BITCOIN_KEYSTORE_H #include "crypter.h" -#include "script.h" +#include "util.h" +#include "base58.h" + +class CScript; /** A virtual base class for key stores */ class CKeyStore @@ -56,15 +59,17 @@ public: bool HaveKey(const CBitcoinAddress &address) const { bool result; - CRITICAL_BLOCK(cs_KeyStore) + { + LOCK(cs_KeyStore); result = (mapKeys.count(address) > 0); + } return result; } void GetKeys(std::set<CBitcoinAddress> &setAddress) const { setAddress.clear(); - CRITICAL_BLOCK(cs_KeyStore) { + LOCK(cs_KeyStore); KeyMap::const_iterator mi = mapKeys.begin(); while (mi != mapKeys.end()) { @@ -75,8 +80,8 @@ public: } bool GetKey(const CBitcoinAddress &address, CKey &keyOut) const { - CRITICAL_BLOCK(cs_KeyStore) { + LOCK(cs_KeyStore); KeyMap::const_iterator mi = mapKeys.find(address); if (mi != mapKeys.end()) { @@ -131,8 +136,10 @@ public: if (!IsCrypted()) return false; bool result; - CRITICAL_BLOCK(cs_KeyStore) + { + LOCK(cs_KeyStore); result = vMasterKey.empty(); + } return result; } @@ -141,8 +148,10 @@ public: if (!SetCrypted()) return false; - CRITICAL_BLOCK(cs_KeyStore) + { + LOCK(cs_KeyStore); vMasterKey.clear(); + } return true; } @@ -151,8 +160,8 @@ public: bool AddKey(const CKey& key); bool HaveKey(const CBitcoinAddress &address) const { - CRITICAL_BLOCK(cs_KeyStore) { + LOCK(cs_KeyStore); if (!IsCrypted()) return CBasicKeyStore::HaveKey(address); return mapCryptedKeys.count(address) > 0; |