aboutsummaryrefslogtreecommitdiff
path: root/src/keystore.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2011-07-11 21:30:40 +0200
committerPieter Wuille <sipa@ulyssis.org>2011-12-17 21:49:47 +0100
commit93db3fceac1bfe274bc0fd906428a20e709e2da5 (patch)
treebcf91d8c05f2b5044de557c1ef8f832528bb0de0 /src/keystore.cpp
parent4c6e22953ef8ae0764576993088ec83d729d18f8 (diff)
downloadbitcoin-93db3fceac1bfe274bc0fd906428a20e709e2da5.tar.xz
Add GetSecret() and GetKeys() to CKeyStore
Diffstat (limited to 'src/keystore.cpp')
-rw-r--r--src/keystore.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/keystore.cpp b/src/keystore.cpp
index 68f57e7e0e..6cf557fafe 100644
--- a/src/keystore.cpp
+++ b/src/keystore.cpp
@@ -29,7 +29,7 @@ bool CKeyStore::GetPubKey(const CBitcoinAddress &address, std::vector<unsigned c
bool CBasicKeyStore::AddKey(const CKey& key)
{
CRITICAL_BLOCK(cs_KeyStore)
- mapKeys[key.GetAddress()] = key.GetSecret();
+ mapKeys[CBitcoinAddress(key.GetPubKey())] = key.GetSecret();
return true;
}
@@ -116,23 +116,19 @@ bool CCryptoKeyStore::AddCryptedKey(const std::vector<unsigned char> &vchPubKey,
return true;
}
-bool CCryptoKeyStore::GetKey(const CBitcoinAddress &address, CKey& keyOut) const
+bool CCryptoKeyStore::GetSecret(const CBitcoinAddress &address, CSecret& vchSecretOut) const
{
CRITICAL_BLOCK(cs_KeyStore)
{
if (!IsCrypted())
- return CBasicKeyStore::GetKey(address, keyOut);
+ return CBasicKeyStore::GetSecret(address, vchSecretOut);
CryptedKeyMap::const_iterator mi = mapCryptedKeys.find(address);
if (mi != mapCryptedKeys.end())
{
const std::vector<unsigned char> &vchPubKey = (*mi).second.first;
const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;
- CSecret vchSecret;
- if (!DecryptSecret(vMasterKey, vchCryptedSecret, Hash(vchPubKey.begin(), vchPubKey.end()), vchSecret))
- return false;
- keyOut.SetSecret(vchSecret);
- return true;
+ return DecryptSecret(vMasterKey, vchCryptedSecret, Hash(vchPubKey.begin(), vchPubKey.end()), vchSecretOut);
}
}
return false;