| 165 | bool GetPubKey(const CKeyID& address, CPubKey& vchPubKeyOut, bool IsMiner = false) const; |
| 166 | |
| 167 | void GetKeys(set<CKeyID>& setAddress, bool bFlag = false) const { |
| 168 | if (!IsEncrypted()) { |
| 169 | CBasicKeyStore::GetKeys(setAddress, bFlag); |
| 170 | return; |
| 171 | } |
| 172 | |
| 173 | setAddress.clear(); |
| 174 | CryptedKeyMap::const_iterator mi = mapCryptedKeys.begin(); |
| 175 | while (mi != mapCryptedKeys.end()) { |
| 176 | if (!bFlag) |
| 177 | setAddress.insert((*mi).first); |
| 178 | else { |
| 179 | CKeyCombi keyCombi; |
| 180 | if (GetKeyCombi((*mi).first, keyCombi)) { |
| 181 | if (keyCombi.HaveMinerKey() || keyCombi.HasMainKey()) // only return satisfied mining address |
| 182 | setAddress.insert((*mi).first); |
| 183 | } |
| 184 | } |
| 185 | mi++; |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | bool GetKeyCombi(const CKeyID& address, CKeyCombi& keyCombiOut) const; |
| 190 | }; |
no test coverage detected