diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2016-08-24 10:32:59 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2016-08-24 10:33:16 +0200 |
commit | f9167003d947fa994cdd14406da79a1758acb7b3 (patch) | |
tree | ed03842a9672d119ec97c1a0f0a931f49e3f7319 /src/wallet/wallet.h | |
parent | 9358893518a19f38eab9186c768ad81c7a2f9cec (diff) | |
parent | 8680d3aa800aa4fab8c321b92cc7f3fa97a8a0a3 (diff) |
Merge #8445: Move CWallet::setKeyPool to private section of CWallet.
8680d3a Move wallet initialization logic from AppInit2 to CWallet::InitLoadWallet (Patrick Strateman)
e86eb71 Move CWallet::setKeyPool to private section of CWallet (Patrick Strateman)
Diffstat (limited to 'src/wallet/wallet.h')
-rw-r--r-- | src/wallet/wallet.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 30f092e9a8..c06513650c 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -582,6 +582,8 @@ private: CHDChain hdChain; bool fFileBacked; + + std::set<int64_t> setKeyPool; public: /* * Main wallet lock. @@ -594,7 +596,18 @@ public: std::string strWalletFile; - std::set<int64_t> setKeyPool; + void LoadKeyPool(int nIndex, const CKeyPool &keypool) + { + setKeyPool.insert(nIndex); + + // If no metadata exists yet, create a default with the pool key's + // creation time. Note that this may be overwritten by actually + // stored metadata for that key later, which is fine. + CKeyID keyid = keypool.vchPubKey.GetID(); + if (mapKeyMetadata.count(keyid) == 0) + mapKeyMetadata[keyid] = CKeyMetadata(keypool.nTime); + } + std::map<CKeyID, CKeyMetadata> mapKeyMetadata; typedef std::map<unsigned int, CMasterKey> MasterKeyMap; |