diff options
author | Andrew Chow <achow101-github@achow101.com> | 2019-07-05 18:33:55 -0400 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2020-04-23 13:59:48 -0400 |
commit | 2db7ca765c8fb2c71dd6f7c4f29ad70e68ff1720 (patch) | |
tree | 389dafe912b25bf40a3db918936c725736d25d13 /src/wallet | |
parent | db7177af8c159abbcc209f2caafcd45d54c181c5 (diff) | |
download | bitcoin-2db7ca765c8fb2c71dd6f7c4f29ad70e68ff1720.tar.xz |
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
Diffstat (limited to 'src/wallet')
-rw-r--r-- | src/wallet/scriptpubkeyman.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/wallet/scriptpubkeyman.cpp b/src/wallet/scriptpubkeyman.cpp index c825438f99..88563459bc 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<SigningProvider> DescriptorScriptPubKeyMan::GetSolvingProvider(c bool DescriptorScriptPubKeyMan::CanProvide(const CScript& script, SignatureData& sigdata) { - return false; + return IsMine(script); } bool DescriptorScriptPubKeyMan::SignTransaction(CMutableTransaction& tx, const std::map<COutPoint, Coin>& coins, int sighash, std::map<int, std::string>& input_errors) const |