Page MenuHomePhabricator

D9991.id.diff
No OneTemporary

D9991.id.diff

diff --git a/src/wallet/walletdb.cpp b/src/wallet/walletdb.cpp
--- a/src/wallet/walletdb.cpp
+++ b/src/wallet/walletdb.cpp
@@ -664,9 +664,6 @@
ssValue >> ser_xpub;
CExtPubKey xpub;
xpub.Decode(ser_xpub.data());
- if (wss.m_descriptor_caches.count(desc_id)) {
- wss.m_descriptor_caches[desc_id] = DescriptorCache();
- }
if (parent) {
wss.m_descriptor_caches[desc_id].CacheParentExtPubKey(
key_exp_index, xpub);
diff --git a/test/functional/wallet_importdescriptors.py b/test/functional/wallet_importdescriptors.py
--- a/test/functional/wallet_importdescriptors.py
+++ b/test/functional/wallet_importdescriptors.py
@@ -120,6 +120,14 @@
assert_equal(w1.getwalletinfo()['keypoolsize'], 0)
+ test_address(w1,
+ key.p2pkh_addr,
+ ismine=True,
+ solvable=True)
+
+ # Check persistence of data and that loading works correctly
+ w1.unloadwallet()
+ self.nodes[1].loadwallet('w1')
test_address(w1,
key.p2pkh_addr,
ismine=True,
@@ -372,6 +380,11 @@
self.sync_all()
assert_equal(wmulti_pub.getbalance(), wmulti_priv.getbalance())
+ # Make sure that descriptor wallets containing multiple xpubs in a
+ # single descriptor load correctly
+ wmulti_pub.unloadwallet()
+ self.nodes[1].loadwallet('wmulti_pub')
+
self.log.info("Multisig with distributed keys")
self.nodes[1].createwallet(
wallet_name="wmulti_priv1",

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 11:11 (12 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5569925
Default Alt Text
D9991.id.diff (1 KB)

Event Timeline