diff --git a/src/wallet/scriptpubkeyman.cpp b/src/wallet/scriptpubkeyman.cpp index c825438f997..88563459bce 100644 --- a/src/wallet/scriptpubkeyman.cpp +++ b/src/wallet/scriptpubkeyman.cpp @@ -1507,6 +1507,10 @@ bool DescriptorScriptPubKeyMan::GetNewDestination(const OutputType type, CTxDest isminetype DescriptorScriptPubKeyMan::IsMine(const CScript& script) const { + LOCK(cs_desc_man); + if (m_map_script_pub_keys.count(script) > 0) { + return ISMINE_SPENDABLE; + } return ISMINE_NO; } @@ -1580,7 +1584,7 @@ std::unique_ptr DescriptorScriptPubKeyMan::GetSolvingProvider(c bool DescriptorScriptPubKeyMan::CanProvide(const CScript& script, SignatureData& sigdata) { - return false; + return IsMine(script); } bool DescriptorScriptPubKeyMan::SignTransaction(CMutableTransaction& tx, const std::map& coins, int sighash, std::map& input_errors) const