Refactor: Declare LegacyScriptPubKeyMan methods as virtual

This commit does not change behavior.
This commit is contained in:
Andrew Chow committed 2019-11-01 22:56:37 -04:00
1 parent b4cb18bce3
commit 533d8b364f
1 file changed
+22 -7
+22 -7
View File
@@ -145,6 +145,21 @@ protected:
public: public:
ScriptPubKeyMan(WalletStorage& storage) : m_storage(storage) {} ScriptPubKeyMan(WalletStorage& storage) : m_storage(storage) {}
virtual ~ScriptPubKeyMan() {};
virtual isminetype IsMine(const CScript& script) const { return ISMINE_NO; }
//! Upgrade stored CKeyMetadata objects to store key origin info as KeyOriginInfo
virtual void UpgradeKeyMetadata() {}
/* Returns true if HD is enabled */
virtual bool IsHDEnabled() const { return false; }
/* Returns true if the wallet can give out new addresses. This means it has keys in the keypool or can generate new keys */
virtual bool CanGetAddresses(bool internal = false) { return false; }
virtual int64_t GetOldestKeyPoolTime() { return GetTime(); }
virtual size_t KeypoolCountExternalKeys() { return 0; }
}; };
class LegacyScriptPubKeyMan : public ScriptPubKeyMan, public FillableSigningProvider class LegacyScriptPubKeyMan : public ScriptPubKeyMan, public FillableSigningProvider
@@ -228,19 +243,18 @@ private:
public: public:
bool GetNewDestination(const OutputType type, const std::string label, CTxDestination& dest, std::string& error); bool GetNewDestination(const OutputType type, const std::string label, CTxDestination& dest, std::string& error);
isminetype IsMine(const CScript& script) const; isminetype IsMine(const CScript& script) const override;
//! will encrypt previously unencrypted keys //! will encrypt previously unencrypted keys
bool EncryptKeys(CKeyingMaterial& vMasterKeyIn); bool EncryptKeys(CKeyingMaterial& vMasterKeyIn);
void UpgradeKeyMetadata() EXCLUSIVE_LOCKS_REQUIRED(cs_wallet); void UpgradeKeyMetadata() override EXCLUSIVE_LOCKS_REQUIRED(cs_wallet);
bool IsHDEnabled() const; bool IsHDEnabled() const override;
int64_t GetOldestKeyPoolTime(); int64_t GetOldestKeyPoolTime() override;
size_t KeypoolCountExternalKeys() EXCLUSIVE_LOCKS_REQUIRED(cs_wallet); size_t KeypoolCountExternalKeys() override EXCLUSIVE_LOCKS_REQUIRED(cs_wallet);
/* Returns true if the wallet can give out new addresses. This means it has keys in the keypool or can generate new keys */ bool CanGetAddresses(bool internal = false) override;
bool CanGetAddresses(bool internal = false);
// Map from Key ID to key metadata. // Map from Key ID to key metadata.
std::map<CKeyID, CKeyMetadata> mapKeyMetadata GUARDED_BY(cs_wallet); std::map<CKeyID, CKeyMetadata> mapKeyMetadata GUARDED_BY(cs_wallet);
@@ -282,6 +296,7 @@ public:
//! Fetches a pubkey from mapWatchKeys if it exists there //! Fetches a pubkey from mapWatchKeys if it exists there
bool GetWatchPubKey(const CKeyID &address, CPubKey &pubkey_out) const; bool GetWatchPubKey(const CKeyID &address, CPubKey &pubkey_out) const;
/* SigningProvider overrides */
bool HaveKey(const CKeyID &address) const override; bool HaveKey(const CKeyID &address) const override;
bool GetKey(const CKeyID &address, CKey& keyOut) const override; bool GetKey(const CKeyID &address, CKey& keyOut) const override;
bool GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const override; bool GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const override;