From b231f4d556876ae70305e8710e31d53525ded8ae Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Mon, 24 Jun 2024 12:15:00 -0400 Subject: [PATCH] wallet: Move LegacyScriptPubKeyMan::IsMine to LegacyDataSPKM IsMine is necessary for migration. It should be inlined with migration when the legacy wallet is removed. --- src/wallet/scriptpubkeyman.cpp | 4 ++-- src/wallet/scriptpubkeyman.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/wallet/scriptpubkeyman.cpp b/src/wallet/scriptpubkeyman.cpp index f642dc1ab7..73f45f5fa7 100644 --- a/src/wallet/scriptpubkeyman.cpp +++ b/src/wallet/scriptpubkeyman.cpp @@ -98,7 +98,7 @@ bool HaveKeys(const std::vector& pubkeys, const LegacyDataSPKM& keystor //! scripts or simply treat any script that has been //! stored in the keystore as spendable // NOLINTNEXTLINE(misc-no-recursion) -IsMineResult IsMineInner(const LegacyScriptPubKeyMan& keystore, const CScript& scriptPubKey, IsMineSigVersion sigversion, bool recurse_scripthash=true) +IsMineResult IsMineInner(const LegacyDataSPKM& keystore, const CScript& scriptPubKey, IsMineSigVersion sigversion, bool recurse_scripthash=true) { IsMineResult ret = IsMineResult::NO; @@ -213,7 +213,7 @@ IsMineResult IsMineInner(const LegacyScriptPubKeyMan& keystore, const CScript& s } // namespace -isminetype LegacyScriptPubKeyMan::IsMine(const CScript& script) const +isminetype LegacyDataSPKM::IsMine(const CScript& script) const { switch (IsMineInner(*this, script, IsMineSigVersion::TOP)) { case IsMineResult::INVALID: diff --git a/src/wallet/scriptpubkeyman.h b/src/wallet/scriptpubkeyman.h index 470b2dbf77..6e29e4668f 100644 --- a/src/wallet/scriptpubkeyman.h +++ b/src/wallet/scriptpubkeyman.h @@ -314,6 +314,8 @@ public: std::unordered_set GetScriptPubKeys() const override; std::unique_ptr GetSolvingProvider(const CScript& script) const override; uint256 GetID() const override { return uint256::ONE; } + // TODO: Remove IsMine when deleting LegacyScriptPubKeyMan + isminetype IsMine(const CScript& script) const override; // FillableSigningProvider overrides bool HaveKey(const CKeyID &address) const override; @@ -435,7 +437,6 @@ public: LegacyScriptPubKeyMan(WalletStorage& storage, int64_t keypool_size) : LegacyDataSPKM(storage), m_keypool_size(keypool_size) {} util::Result GetNewDestination(const OutputType type) override; - isminetype IsMine(const CScript& script) const override; bool Encrypt(const CKeyingMaterial& master_key, WalletBatch* batch) override;