Changeset View
Changeset View
Standalone View
Standalone View
src/keystore.cpp
Show All 29 Lines | |||||
} | } | ||||
bool CBasicKeyStore::AddKeyPubKey(const CKey &key, const CPubKey &pubkey) { | bool CBasicKeyStore::AddKeyPubKey(const CKey &key, const CPubKey &pubkey) { | ||||
LOCK(cs_KeyStore); | LOCK(cs_KeyStore); | ||||
mapKeys[pubkey.GetID()] = key; | mapKeys[pubkey.GetID()] = key; | ||||
return true; | return true; | ||||
} | } | ||||
bool CBasicKeyStore::HaveKey(const CKeyID &address) const { | |||||
LOCK(cs_KeyStore); | |||||
return mapKeys.count(address) > 0; | |||||
} | |||||
std::set<CKeyID> CBasicKeyStore::GetKeys() const { | |||||
LOCK(cs_KeyStore); | |||||
std::set<CKeyID> set_address; | |||||
for (const auto &mi : mapKeys) { | |||||
set_address.insert(mi.first); | |||||
} | |||||
return set_address; | |||||
} | |||||
bool CBasicKeyStore::GetKey(const CKeyID &address, CKey &keyOut) const { | |||||
{ | |||||
LOCK(cs_KeyStore); | |||||
KeyMap::const_iterator mi = mapKeys.find(address); | |||||
if (mi != mapKeys.end()) { | |||||
keyOut = mi->second; | |||||
return true; | |||||
} | |||||
} | |||||
return false; | |||||
} | |||||
bool CBasicKeyStore::AddCScript(const CScript &redeemScript) { | bool CBasicKeyStore::AddCScript(const CScript &redeemScript) { | ||||
if (redeemScript.size() > MAX_SCRIPT_ELEMENT_SIZE) | if (redeemScript.size() > MAX_SCRIPT_ELEMENT_SIZE) | ||||
return error("CBasicKeyStore::AddCScript(): redeemScripts > %i bytes " | return error("CBasicKeyStore::AddCScript(): redeemScripts > %i bytes " | ||||
"are invalid", | "are invalid", | ||||
MAX_SCRIPT_ELEMENT_SIZE); | MAX_SCRIPT_ELEMENT_SIZE); | ||||
LOCK(cs_KeyStore); | LOCK(cs_KeyStore); | ||||
mapScripts[CScriptID(redeemScript)] = redeemScript; | mapScripts[CScriptID(redeemScript)] = redeemScript; | ||||
▲ Show 20 Lines • Show All 59 Lines • Show Last 20 Lines |