Skip to content

Commit 2db7ca7

Browse files
committed
Implement IsMine for DescriptorScriptPubKeyMan
Adds a set of scriptPubKeys that DescriptorScriptPubKeyMan tracks. If the given script is in that set, it is considered ISMINE_SPENDABLE
1 parent db7177a commit 2db7ca7

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/wallet/scriptpubkeyman.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1507,6 +1507,10 @@ bool DescriptorScriptPubKeyMan::GetNewDestination(const OutputType type, CTxDest
15071507

15081508
isminetype DescriptorScriptPubKeyMan::IsMine(const CScript& script) const
15091509
{
1510+
LOCK(cs_desc_man);
1511+
if (m_map_script_pub_keys.count(script) > 0) {
1512+
return ISMINE_SPENDABLE;
1513+
}
15101514
return ISMINE_NO;
15111515
}
15121516

@@ -1580,7 +1584,7 @@ std::unique_ptr<SigningProvider> DescriptorScriptPubKeyMan::GetSolvingProvider(c
15801584

15811585
bool DescriptorScriptPubKeyMan::CanProvide(const CScript& script, SignatureData& sigdata)
15821586
{
1583-
return false;
1587+
return IsMine(script);
15841588
}
15851589

15861590
bool DescriptorScriptPubKeyMan::SignTransaction(CMutableTransaction& tx, const std::map<COutPoint, Coin>& coins, int sighash, std::map<int, std::string>& input_errors) const

0 commit comments

Comments
 (0)