diff options
author | Andrew Chow <achow101-github@achow101.com> | 2019-07-09 18:23:51 -0400 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2020-04-23 13:59:48 -0400 |
commit | 953feb3d2724f5398dd48990c4957a19313d2c8c (patch) | |
tree | 5111473bc3650d2fc51eb4a7118e090dac6c706d /src/wallet/scriptpubkeyman.h | |
parent | 2363e9fcaa41b68bf11153f591b95f2d41ff9a1a (diff) | |
download | bitcoin-953feb3d2724f5398dd48990c4957a19313d2c8c.tar.xz |
Implement loading of keys for DescriptorScriptPubKeyMan
Diffstat (limited to 'src/wallet/scriptpubkeyman.h')
-rw-r--r-- | src/wallet/scriptpubkeyman.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/wallet/scriptpubkeyman.h b/src/wallet/scriptpubkeyman.h index 34ba07967e..8da6757de0 100644 --- a/src/wallet/scriptpubkeyman.h +++ b/src/wallet/scriptpubkeyman.h @@ -488,11 +488,21 @@ private: WalletDescriptor m_wallet_descriptor GUARDED_BY(cs_desc_man); using ScriptPubKeyMap = std::map<CScript, int32_t>; // Map of scripts to descriptor range index + using CryptedKeyMap = std::map<CKeyID, std::pair<CPubKey, std::vector<unsigned char>>>; + using KeyMap = std::map<CKeyID, CKey>; ScriptPubKeyMap m_map_script_pub_keys GUARDED_BY(cs_desc_man); OutputType m_address_type; bool m_internal; + + KeyMap m_map_keys GUARDED_BY(cs_desc_man); + CryptedKeyMap m_map_crypted_keys GUARDED_BY(cs_desc_man); + + bool SetCrypted(); + + //! keeps track of whether Unlock has run a thorough check before + bool m_decryption_thoroughly_checked = false; public: DescriptorScriptPubKeyMan(WalletStorage& storage, WalletDescriptor& descriptor) : ScriptPubKeyMan(storage), @@ -545,6 +555,9 @@ public: void SetType(OutputType type, bool internal) override; void SetCache(const DescriptorCache& cache); + + bool AddKey(const CKeyID& key_id, const CKey& key); + bool AddCryptedKey(const CKeyID& key_id, const CPubKey& pubkey, const std::vector<unsigned char>& crypted_key); }; #endif // BITCOIN_WALLET_SCRIPTPUBKEYMAN_H |