Skip to content

Commit 86de8c1

Browse files
committed
scripted-diff: test: remove 'descriptors=True' argument for createwallet calls
Descriptor wallets are already created by default since v23.0, but since the recent legacy wallet removal this parameter *must* be True (see commit 9f04e02), i.e. still passing it wouldn't contain any information for test readers anymore. So simply drop them in the functional tests in order to reduce code bloat. -BEGIN VERIFY SCRIPT- sed -i 's/, descriptors=True//g' $(git ls-files -- 'test/functional' ':(exclude)test/functional/wallet_backwards_compatibility.py') sed -i '/descriptors=True,/d' ./test/functional/mempool_persist.py -END VERIFY SCRIPT-
1 parent 7710a31 commit 86de8c1

12 files changed

+53
-54
lines changed

test/functional/mempool_persist.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def run_test(self):
6060
if self.is_wallet_compiled():
6161
self.nodes[2].createwallet(
6262
wallet_name="watch",
63-
descriptors=True,
6463
disable_private_keys=True,
6564
load_on_startup=False,
6665
)

test/functional/wallet_basic.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ def run_test(self):
606606
# Prevent race of listunspent with outstanding TxAddedToMempool notifications
607607
self.nodes[0].syncwithvalidationinterfacequeue()
608608
# Now import the descriptors, make sure we can identify on which descriptor each coin was received.
609-
self.nodes[0].createwallet(wallet_name="wo", descriptors=True, disable_private_keys=True)
609+
self.nodes[0].createwallet(wallet_name="wo", disable_private_keys=True)
610610
wo_wallet = self.nodes[0].get_wallet_rpc("wo")
611611
wo_wallet.importdescriptors([
612612
{

test/functional/wallet_descriptor.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def test_concurrent_writes(self):
7171
def run_test(self):
7272
# Make a descriptor wallet
7373
self.log.info("Making a descriptor wallet")
74-
self.nodes[0].createwallet(wallet_name="desc1", descriptors=True)
74+
self.nodes[0].createwallet(wallet_name="desc1")
7575

7676
# A descriptor wallet should have 100 addresses * 4 types = 400 keys
7777
self.log.info("Checking wallet info")
@@ -125,7 +125,7 @@ def run_test(self):
125125
assert_equal(addr_info['hdkeypath'], 'm/86h/1h/0h/1/0')
126126

127127
# Make a wallet to receive coins at
128-
self.nodes[0].createwallet(wallet_name="desc2", descriptors=True)
128+
self.nodes[0].createwallet(wallet_name="desc2")
129129
recv_wrpc = self.nodes[0].get_wallet_rpc("desc2")
130130
send_wrpc = self.nodes[0].get_wallet_rpc("desc1")
131131

@@ -175,19 +175,19 @@ def run_test(self):
175175
enc_rpc.getnewaddress() # Makes sure that we can get a new address from a born encrypted wallet
176176

177177
self.log.info("Test blank descriptor wallets")
178-
self.nodes[0].createwallet(wallet_name='desc_blank', blank=True, descriptors=True)
178+
self.nodes[0].createwallet(wallet_name='desc_blank', blank=True)
179179
blank_rpc = self.nodes[0].get_wallet_rpc('desc_blank')
180180
assert_raises_rpc_error(-4, 'This wallet has no available keys', blank_rpc.getnewaddress)
181181

182182
self.log.info("Test descriptor wallet with disabled private keys")
183-
self.nodes[0].createwallet(wallet_name='desc_no_priv', disable_private_keys=True, descriptors=True)
183+
self.nodes[0].createwallet(wallet_name='desc_no_priv', disable_private_keys=True)
184184
nopriv_rpc = self.nodes[0].get_wallet_rpc('desc_no_priv')
185185
assert_raises_rpc_error(-4, 'This wallet has no available keys', nopriv_rpc.getnewaddress)
186186

187187
self.log.info("Test descriptor exports")
188-
self.nodes[0].createwallet(wallet_name='desc_export', descriptors=True)
188+
self.nodes[0].createwallet(wallet_name='desc_export')
189189
exp_rpc = self.nodes[0].get_wallet_rpc('desc_export')
190-
self.nodes[0].createwallet(wallet_name='desc_import', disable_private_keys=True, descriptors=True)
190+
self.nodes[0].createwallet(wallet_name='desc_import', disable_private_keys=True)
191191
imp_rpc = self.nodes[0].get_wallet_rpc('desc_import')
192192

193193
addr_types = [('legacy', False, 'pkh(', '44h/1h/0h', -13),
@@ -244,7 +244,7 @@ def run_test(self):
244244
assert_equal(exp_addr, imp_addr)
245245

246246
self.log.info("Test that loading descriptor wallet containing legacy key types throws error")
247-
self.nodes[0].createwallet(wallet_name="crashme", descriptors=True)
247+
self.nodes[0].createwallet(wallet_name="crashme")
248248
self.nodes[0].unloadwallet("crashme")
249249
wallet_db = self.nodes[0].wallets_path / "crashme" / self.wallet_data_filename
250250
conn = sqlite3.connect(wallet_db)

test/functional/wallet_fast_rescan.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def run_test(self):
3737

3838
self.log.info("Create descriptor wallet with backup")
3939
WALLET_BACKUP_FILENAME = node.datadir_path / 'wallet.bak'
40-
node.createwallet(wallet_name='topup_test', descriptors=True)
40+
node.createwallet(wallet_name='topup_test')
4141
w = node.get_wallet_rpc('topup_test')
4242
fixed_key = get_generate_key()
4343
print(w.importdescriptors([{"desc": descsum_create(f"wpkh({fixed_key.privkey})"), "timestamp": "now"}]))
@@ -66,7 +66,7 @@ def run_test(self):
6666
txids_fast = self.get_wallet_txids(node, 'rescan_fast')
6767

6868
self.log.info("Import non-active descriptors with block filter index")
69-
node.createwallet(wallet_name='rescan_fast_nonactive', descriptors=True, disable_private_keys=True, blank=True)
69+
node.createwallet(wallet_name='rescan_fast_nonactive', disable_private_keys=True, blank=True)
7070
with node.assert_debug_log(['fast variant using block filters']):
7171
w = node.get_wallet_rpc('rescan_fast_nonactive')
7272
w.importdescriptors([{"desc": descriptor['desc'], "timestamp": 0} for descriptor in descriptors])
@@ -79,7 +79,7 @@ def run_test(self):
7979
txids_slow = self.get_wallet_txids(node, 'rescan_slow')
8080

8181
self.log.info("Import non-active descriptors w/o block filter index")
82-
node.createwallet(wallet_name='rescan_slow_nonactive', descriptors=True, disable_private_keys=True, blank=True)
82+
node.createwallet(wallet_name='rescan_slow_nonactive', disable_private_keys=True, blank=True)
8383
with node.assert_debug_log(['slow variant inspecting all blocks']):
8484
w = node.get_wallet_rpc('rescan_slow_nonactive')
8585
w.importdescriptors([{"desc": descriptor['desc'], "timestamp": 0} for descriptor in descriptors])

test/functional/wallet_importdescriptors.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ def test_importdesc(self, req, success, error_code=None, error_message=None, war
6565

6666
def run_test(self):
6767
self.log.info('Setting up wallets')
68-
self.nodes[0].createwallet(wallet_name='w0', disable_private_keys=False, descriptors=True)
68+
self.nodes[0].createwallet(wallet_name='w0', disable_private_keys=False)
6969
w0 = self.nodes[0].get_wallet_rpc('w0')
7070

71-
self.nodes[1].createwallet(wallet_name='w1', disable_private_keys=True, blank=True, descriptors=True)
71+
self.nodes[1].createwallet(wallet_name='w1', disable_private_keys=True, blank=True)
7272
w1 = self.nodes[1].get_wallet_rpc('w1')
7373
assert_equal(w1.getwalletinfo()['keypoolsize'], 0)
7474

75-
self.nodes[1].createwallet(wallet_name="wpriv", disable_private_keys=False, blank=True, descriptors=True)
75+
self.nodes[1].createwallet(wallet_name="wpriv", disable_private_keys=False, blank=True)
7676
wpriv = self.nodes[1].get_wallet_rpc("wpriv")
7777
assert_equal(wpriv.getwalletinfo()['keypoolsize'], 0)
7878

@@ -428,7 +428,7 @@ def run_test(self):
428428

429429
# Make sure that we can use import and use multisig as addresses
430430
self.log.info('Test that multisigs can be imported, signed for, and getnewaddress\'d')
431-
self.nodes[1].createwallet(wallet_name="wmulti_priv", disable_private_keys=False, blank=True, descriptors=True)
431+
self.nodes[1].createwallet(wallet_name="wmulti_priv", disable_private_keys=False, blank=True)
432432
wmulti_priv = self.nodes[1].get_wallet_rpc("wmulti_priv")
433433
assert_equal(wmulti_priv.getwalletinfo()['keypoolsize'], 0)
434434

@@ -472,7 +472,7 @@ def run_test(self):
472472
assert_equal(len(decoded['vin'][0]['txinwitness']), 4)
473473
self.sync_all()
474474

475-
self.nodes[1].createwallet(wallet_name="wmulti_pub", disable_private_keys=True, blank=True, descriptors=True)
475+
self.nodes[1].createwallet(wallet_name="wmulti_pub", disable_private_keys=True, blank=True)
476476
wmulti_pub = self.nodes[1].get_wallet_rpc("wmulti_pub")
477477
assert_equal(wmulti_pub.getwalletinfo()['keypoolsize'], 0)
478478

@@ -515,7 +515,7 @@ def run_test(self):
515515
self.nodes[1].loadwallet('wmulti_pub')
516516

517517
self.log.info("Multisig with distributed keys")
518-
self.nodes[1].createwallet(wallet_name="wmulti_priv1", descriptors=True)
518+
self.nodes[1].createwallet(wallet_name="wmulti_priv1")
519519
wmulti_priv1 = self.nodes[1].get_wallet_rpc("wmulti_priv1")
520520
res = wmulti_priv1.importdescriptors([
521521
{
@@ -538,7 +538,7 @@ def run_test(self):
538538
assert_equal(res[1]['success'], True)
539539
assert_equal(res[1]['warnings'][0], 'Not all private keys provided. Some wallet functionality may return unexpected errors')
540540

541-
self.nodes[1].createwallet(wallet_name='wmulti_priv2', blank=True, descriptors=True)
541+
self.nodes[1].createwallet(wallet_name='wmulti_priv2', blank=True)
542542
wmulti_priv2 = self.nodes[1].get_wallet_rpc('wmulti_priv2')
543543
res = wmulti_priv2.importdescriptors([
544544
{
@@ -569,7 +569,7 @@ def run_test(self):
569569
self.nodes[1].sendrawtransaction(tx_signed_2['hex'])
570570

571571
self.log.info("We can create and use a huge multisig under P2WSH")
572-
self.nodes[1].createwallet(wallet_name='wmulti_priv_big', blank=True, descriptors=True)
572+
self.nodes[1].createwallet(wallet_name='wmulti_priv_big', blank=True)
573573
wmulti_priv_big = self.nodes[1].get_wallet_rpc('wmulti_priv_big')
574574
xkey = "tprv8ZgxMBicQKsPeZSeYx7VXDDTs3XrTcmZQpRLbAeSQFCQGgKwR4gKpcxHaKdoTNHniv4EPDJNdzA3KxRrrBHcAgth8fU5X4oCndkkxk39iAt/*"
575575
xkey_int = "tprv8ZgxMBicQKsPeZSeYx7VXDDTs3XrTcmZQpRLbAeSQFCQGgKwR4gKpcxHaKdoTNHniv4EPDJNdzA3KxRrrBHcAgth8fU5X4oCndkkxk39iAt/1/*"
@@ -605,7 +605,7 @@ def run_test(self):
605605
self.log.info("Under P2SH, multisig are standard with up to 15 "
606606
"compressed keys")
607607
self.nodes[1].createwallet(wallet_name='multi_priv_big_legacy',
608-
blank=True, descriptors=True)
608+
blank=True)
609609
multi_priv_big = self.nodes[1].get_wallet_rpc('multi_priv_big_legacy')
610610
res = multi_priv_big.importdescriptors([
611611
{
@@ -634,7 +634,7 @@ def run_test(self):
634634
decoded = multi_priv_big.gettransaction(txid=txid, verbose=True)['decoded']
635635

636636
self.log.info("Amending multisig with new private keys")
637-
self.nodes[1].createwallet(wallet_name="wmulti_priv3", descriptors=True)
637+
self.nodes[1].createwallet(wallet_name="wmulti_priv3")
638638
wmulti_priv3 = self.nodes[1].get_wallet_rpc("wmulti_priv3")
639639
res = wmulti_priv3.importdescriptors([
640640
{
@@ -685,13 +685,13 @@ def run_test(self):
685685
"range": [0,4000],
686686
"next_index": 4000}
687687

688-
self.nodes[0].createwallet("temp_wallet", blank=True, descriptors=True)
688+
self.nodes[0].createwallet("temp_wallet", blank=True)
689689
temp_wallet = self.nodes[0].get_wallet_rpc("temp_wallet")
690690
temp_wallet.importdescriptors([descriptor])
691691
self.generatetoaddress(self.nodes[0], COINBASE_MATURITY + 1, temp_wallet.getnewaddress())
692692
self.generatetoaddress(self.nodes[0], COINBASE_MATURITY + 1, temp_wallet.getnewaddress())
693693

694-
self.nodes[0].createwallet("encrypted_wallet", blank=True, descriptors=True, passphrase="passphrase")
694+
self.nodes[0].createwallet("encrypted_wallet", blank=True, passphrase="passphrase")
695695
encrypted_wallet = self.nodes[0].get_wallet_rpc("encrypted_wallet")
696696

697697
descriptor["timestamp"] = 0
@@ -720,9 +720,9 @@ def run_test(self):
720720
assert_equal(temp_wallet.getbalance(), encrypted_wallet.getbalance())
721721

722722
self.log.info("Multipath descriptors")
723-
self.nodes[1].createwallet(wallet_name="multipath", descriptors=True, blank=True)
723+
self.nodes[1].createwallet(wallet_name="multipath", blank=True)
724724
w_multipath = self.nodes[1].get_wallet_rpc("multipath")
725-
self.nodes[1].createwallet(wallet_name="multipath_split", descriptors=True, blank=True)
725+
self.nodes[1].createwallet(wallet_name="multipath_split", blank=True)
726726
w_multisplit = self.nodes[1].get_wallet_rpc("multipath_split")
727727
timestamp = int(time.time())
728728

test/functional/wallet_listdescriptors.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ def run_test(self):
3434
assert_raises_rpc_error(-18, 'No wallet is loaded.', node.listdescriptors)
3535

3636
self.log.info('Test the command for empty descriptors wallet.')
37-
node.createwallet(wallet_name='w2', blank=True, descriptors=True)
37+
node.createwallet(wallet_name='w2', blank=True)
3838
assert_equal(0, len(node.get_wallet_rpc('w2').listdescriptors()['descriptors']))
3939

4040
self.log.info('Test the command for a default descriptors wallet.')
41-
node.createwallet(wallet_name='w3', descriptors=True)
41+
node.createwallet(wallet_name='w3')
4242
result = node.get_wallet_rpc('w3').listdescriptors()
4343
assert_equal("w3", result['wallet_name'])
4444
assert_equal(8, len(result['descriptors']))
@@ -101,7 +101,7 @@ def run_test(self):
101101
assert_equal(expected_private, wallet.listdescriptors(True))
102102

103103
self.log.info('Test list private descriptors with watch-only wallet')
104-
node.createwallet(wallet_name='watch-only', descriptors=True, disable_private_keys=True)
104+
node.createwallet(wallet_name='watch-only', disable_private_keys=True)
105105
watch_only_wallet = node.get_wallet_rpc('watch-only')
106106
watch_only_wallet.importdescriptors([{
107107
'desc': descsum_create('wpkh(' + xpub_acc + ')'),
@@ -110,7 +110,7 @@ def run_test(self):
110110
assert_raises_rpc_error(-4, 'Can\'t get descriptor string', watch_only_wallet.listdescriptors, True)
111111

112112
self.log.info('Test non-active non-range combo descriptor')
113-
node.createwallet(wallet_name='w4', blank=True, descriptors=True)
113+
node.createwallet(wallet_name='w4', blank=True)
114114
wallet = node.get_wallet_rpc('w4')
115115
wallet.importdescriptors([{
116116
'desc': descsum_create('combo(' + node.get_deterministic_priv_key().key + ')'),

test/functional/wallet_listsinceblock.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ def test_desc(self):
421421
# Create a watchonly wallet tracking two multisig descriptors.
422422
multi_a = descsum_create("wsh(multi(1,tpubD6NzVbkrYhZ4YBNjUo96Jxd1u4XKWgnoc7LsA1jz3Yc2NiDbhtfBhaBtemB73n9V5vtJHwU6FVXwggTbeoJWQ1rzdz8ysDuQkpnaHyvnvzR/*,tpubD6NzVbkrYhZ4YHdDGMAYGaWxMSC1B6tPRTHuU5t3BcfcS3nrF523iFm5waFd1pP3ZvJt4Jr8XmCmsTBNx5suhcSgtzpGjGMASR3tau1hJz4/*))")
423423
multi_b = descsum_create("wsh(multi(1,tpubD6NzVbkrYhZ4YHdDGMAYGaWxMSC1B6tPRTHuU5t3BcfcS3nrF523iFm5waFd1pP3ZvJt4Jr8XmCmsTBNx5suhcSgtzpGjGMASR3tau1hJz4/*,tpubD6NzVbkrYhZ4Y2RLiuEzNQkntjmsLpPYDm3LTRBYynUQtDtpzeUKAcb9sYthSFL3YR74cdFgF5mW8yKxv2W2CWuZDFR2dUpE5PF9kbrVXNZ/*))")
424-
self.nodes[0].createwallet(wallet_name="wo", descriptors=True, disable_private_keys=True)
424+
self.nodes[0].createwallet(wallet_name="wo", disable_private_keys=True)
425425
wo_wallet = self.nodes[0].get_wallet_rpc("wo")
426426
wo_wallet.importdescriptors([
427427
{

test/functional/wallet_miniscript.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,10 +322,10 @@ def run_test(self):
322322
self.log.info("Making a descriptor wallet")
323323
self.funder = self.nodes[0].get_wallet_rpc(self.default_wallet_name)
324324
self.nodes[0].createwallet(
325-
wallet_name="ms_wo", descriptors=True, disable_private_keys=True
325+
wallet_name="ms_wo", disable_private_keys=True
326326
)
327327
self.ms_wo_wallet = self.nodes[0].get_wallet_rpc("ms_wo")
328-
self.nodes[0].createwallet(wallet_name="ms_sig", descriptors=True)
328+
self.nodes[0].createwallet(wallet_name="ms_sig")
329329
self.ms_sig_wallet = self.nodes[0].get_wallet_rpc("ms_sig")
330330

331331
# Sanity check we wouldn't let an insane Miniscript descriptor in

test/functional/wallet_miniscript_decaying_multisig_descriptor_psbt.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def _get_xpub(wallet, internal):
3737

3838
def create_multisig(self, external_xpubs, internal_xpubs):
3939
"""The multisig is created by importing the following descriptors. The resulting wallet is watch-only and every signer can do this."""
40-
self.node.createwallet(wallet_name=f"{self.name}", blank=True, descriptors=True, disable_private_keys=True)
40+
self.node.createwallet(wallet_name=f"{self.name}", blank=True, disable_private_keys=True)
4141
multisig = self.node.get_wallet_rpc(f"{self.name}")
4242
# spending policy: `thresh(4,pk(key_1),pk(key_2),pk(key_3),pk(key_4),after(t1),after(t2),after(t3))`
4343
# IMPORTANT: when backing up your descriptor, the order of key_1...key_4 must be correct!
@@ -72,14 +72,14 @@ def run_test(self):
7272
self.log.info(f"Testing a miniscript multisig which starts as 4-of-4 and 'decays' to 3-of-4 at block height {self.locktimes[0]}, 2-of-4 at {self.locktimes[1]}, and finally 1-of-4 at {self.locktimes[2]}...")
7373

7474
self.log.info("Create the signer wallets and get their xpubs...")
75-
signers = [self.node.get_wallet_rpc(self.node.createwallet(wallet_name=f"signer_{i}", descriptors=True)["name"]) for i in range(self.N)]
75+
signers = [self.node.get_wallet_rpc(self.node.createwallet(wallet_name=f"signer_{i}")["name"]) for i in range(self.N)]
7676
external_xpubs, internal_xpubs = [[self._get_xpub(signer, internal) for signer in signers] for internal in [False, True]]
7777

7878
self.log.info("Create the watch-only decaying multisig using signers' xpubs...")
7979
multisig = self.create_multisig(external_xpubs, internal_xpubs)
8080

8181
self.log.info("Get a mature utxo to send to the multisig...")
82-
coordinator_wallet = self.node.get_wallet_rpc(self.node.createwallet(wallet_name="coordinator", descriptors=True)["name"])
82+
coordinator_wallet = self.node.get_wallet_rpc(self.node.createwallet(wallet_name="coordinator")["name"])
8383
self.generatetoaddress(self.node, 101, coordinator_wallet.getnewaddress())
8484

8585
self.log.info("Send funds to the multisig's receiving address...")

test/functional/wallet_multisig_descriptor_psbt.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def _check_psbt(psbt, to, value, multisig):
4747
def participants_create_multisigs(self, external_xpubs, internal_xpubs):
4848
"""The multisig is created by importing the following descriptors. The resulting wallet is watch-only and every participant can do this."""
4949
for i, node in enumerate(self.nodes):
50-
node.createwallet(wallet_name=f"{self.name}_{i}", blank=True, descriptors=True, disable_private_keys=True)
50+
node.createwallet(wallet_name=f"{self.name}_{i}", blank=True, disable_private_keys=True)
5151
multisig = node.get_wallet_rpc(f"{self.name}_{i}")
5252
external = multisig.getdescriptorinfo(f"wsh(sortedmulti({self.M},{','.join(external_xpubs)}))")
5353
internal = multisig.getdescriptorinfo(f"wsh(sortedmulti({self.M},{','.join(internal_xpubs)}))")
@@ -77,7 +77,7 @@ def run_test(self):
7777
participants = {
7878
# Every participant generates an xpub. The most straightforward way is to create a new descriptor wallet.
7979
# This wallet will be the participant's `signer` for the resulting multisig. Avoid reusing this wallet for any other purpose (for privacy reasons).
80-
"signers": [node.get_wallet_rpc(node.createwallet(wallet_name=f"participant_{self.nodes.index(node)}", descriptors=True)["name"]) for node in self.nodes],
80+
"signers": [node.get_wallet_rpc(node.createwallet(wallet_name=f"participant_{self.nodes.index(node)}")["name"]) for node in self.nodes],
8181
# After participants generate and exchange their xpubs they will each create their own watch-only multisig.
8282
# Note: these multisigs are all the same, this just highlights that each participant can independently verify everything on their own node.
8383
"multisigs": []

0 commit comments

Comments
 (0)