diff options
author | Andrew Chow <achow101-github@achow101.com> | 2019-12-05 18:01:30 -0500 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2019-12-06 15:05:08 -0500 |
commit | fd9d6eebc1eabb4675a118d19d38283da2dead39 (patch) | |
tree | 94b31da8c4ac4ee1cd54250ed4417d294446c961 /src | |
parent | 4ee8a58ce77a1e013af98ceff1cf96bd0e4fd436 (diff) |
Add GetEncryptionKey() and HasEncryptionKeys() to WalletStorage
Adds functions in WalletStorage that allow ScriptPubKeyMans to check
and get encryption keys from the wallet.
Diffstat (limited to 'src')
-rw-r--r-- | src/wallet/scriptpubkeyman.h | 2 | ||||
-rw-r--r-- | src/wallet/wallet.cpp | 10 | ||||
-rw-r--r-- | src/wallet/wallet.h | 3 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/wallet/scriptpubkeyman.h b/src/wallet/scriptpubkeyman.h index 6ed9a4787a..d738418a69 100644 --- a/src/wallet/scriptpubkeyman.h +++ b/src/wallet/scriptpubkeyman.h @@ -31,6 +31,8 @@ public: virtual void UnsetBlankWalletFlag(WalletBatch&) = 0; virtual bool CanSupportFeature(enum WalletFeature) const = 0; virtual void SetMinVersion(enum WalletFeature, WalletBatch* = nullptr, bool = false) = 0; + virtual const CKeyingMaterial& GetEncryptionKey() const = 0; + virtual bool HasEncryptionKeys() const = 0; virtual bool IsLocked() const = 0; }; diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index abee497c1d..af3b7cf613 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -4056,3 +4056,13 @@ LegacyScriptPubKeyMan* CWallet::GetLegacyScriptPubKeyMan() const { return m_spk_man.get(); } + +const CKeyingMaterial& CWallet::GetEncryptionKey() const +{ + return vMasterKey; +} + +bool CWallet::HasEncryptionKeys() const +{ + return !mapMasterKeys.empty(); +} diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index b02e092f0a..82661fcc31 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -1136,6 +1136,9 @@ public: LegacyScriptPubKeyMan* GetLegacyScriptPubKeyMan() const; + const CKeyingMaterial& GetEncryptionKey() const override; + bool HasEncryptionKeys() const override; + // Temporary LegacyScriptPubKeyMan accessors and aliases. friend class LegacyScriptPubKeyMan; std::unique_ptr<LegacyScriptPubKeyMan> m_spk_man = MakeUnique<LegacyScriptPubKeyMan>(*this); |