diff options
| author | Andrew Chow <[email protected]> | 2019-07-11 14:44:53 -0400 |
|---|---|---|
| committer | Andrew Chow <[email protected]> | 2020-04-23 13:59:48 -0400 |
| commit | 586b57a9a6b4b12a78f792785b63a5a1743bce0c (patch) | |
| tree | 9f739a60610a81ffd2093c0f23f59119396103c6 | |
| parent | Implement GetReservedDestination in DescriptorScriptPubKeyMan (diff) | |
| download | discoin-586b57a9a6b4b12a78f792785b63a5a1743bce0c.tar.xz discoin-586b57a9a6b4b12a78f792785b63a5a1743bce0c.zip | |
Implement ReturnDestination in DescriptorScriptPubKeyMan
| -rw-r--r-- | src/wallet/scriptpubkeyman.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/wallet/scriptpubkeyman.cpp b/src/wallet/scriptpubkeyman.cpp index c9f2e38ae..c0d48c224 100644 --- a/src/wallet/scriptpubkeyman.cpp +++ b/src/wallet/scriptpubkeyman.cpp @@ -1617,6 +1617,13 @@ bool DescriptorScriptPubKeyMan::GetReservedDestination(const OutputType type, bo void DescriptorScriptPubKeyMan::ReturnDestination(int64_t index, bool internal, const CTxDestination& addr) { + LOCK(cs_desc_man); + // Only return when the index was the most recent + if (m_wallet_descriptor.next_index - 1 == index) { + m_wallet_descriptor.next_index--; + } + WalletBatch(m_storage.GetDatabase()).WriteDescriptor(GetID(), m_wallet_descriptor); + NotifyCanGetAddressesChanged(); } std::map<CKeyID, CKey> DescriptorScriptPubKeyMan::GetKeys() const |