tests: don't assume newaddr returns bech32 by default.
What changed, and why it matters
This commit only changes test code. It updates how tests request Bitcoin addresses so they explicitly ask for the address type they want (bech32 or taproot/p2tr) instead of relying on a default. There is no change to production wallet or node code, and no security vulnerability is present in the diff.
No security action required. Treat as routine test-suite maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit modifies Python test files and test utilities to stop assuming newaddr returns a bech32 address by default. Calls are updated to either pass 'bech32' explicitly or use ['p2tr'] results. This is a test-maintenance change to accommodate a likely change in the default address type returned by the newaddr RPC. No C/lightningd source code is touched.
Changed components
tests/test_bookkeeper.pytests/test_closing.pytests/test_coinmoves.pytests/test_connection.pytests/test_db.pytests/test_misc.pytests/test_opening.pytests/test_plugin.pytests/test_renepay.pytests/test_wallet.pytests/autogenerate-rpc-examples.pycontrib/pyln-testing/pyln/testing/utils.pyInspect captured patch +97 / −97
diff --git a/contrib/pyln-testing/pyln/testing/utils.py b/contrib/pyln-testing/pyln/testing/utils.py
index 918b9071..cfcb4b3a 100644
--- a/contrib/pyln-testing/pyln/testing/utils.py
+++ b/contrib/pyln-testing/pyln/testing/utils.py
@@ -1106,7 +1106,7 @@ class LightningNode(object):
def fundchannel(self, l2, amount=FUNDAMOUNT, wait_for_active=True,
announce_channel=True, **kwargs):
# Give yourself some funds to work with
- addr = self.rpc.newaddr()['bech32']
+ addr = self.rpc.newaddr('bech32')['bech32']
def has_funds_on_addr(addr):
"""Check if the given address has funds in the internal wallet.
@@ -1737,7 +1737,7 @@ class NodeFactory(object):
bitcoind = nodes[0].bitcoin
# If we got here, we want to fund channels
for src, dst in connections:
- addr = src.rpc.newaddr()['bech32']
+ addr = src.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, (fundamount + 1000000) / 10**8)
bitcoind.generate_block(1)
diff --git a/tests/autogenerate-rpc-examples.py b/tests/autogenerate-rpc-examples.py
index 1036adbd..350a32a7 100644
--- a/tests/autogenerate-rpc-examples.py
+++ b/tests/autogenerate-rpc-examples.py
@@ -1205,8 +1205,8 @@ def generate_utils_examples(l1, l2, l3, l4, l5, l6, c23_2, c34_2, inv_l11, inv_l
example_utxos = ['utxo' + ('02' * 30) + ':1']
withdraw_l22 = update_example(node=l2, method='withdraw', params={'destination': address_l22['p2tr'], 'satoshi': 'all', 'feerate': '20000perkb', 'minconf': 0, 'utxos': utxos})
bitcoind.generate_block(4, wait_for_mempool=[withdraw_l22['txid']])
- multiwithdraw_res1 = update_example(node=l2, method='multiwithdraw', params={'outputs': [{l1.rpc.newaddr()['bech32']: '2222000msat'}, {l1.rpc.newaddr()['bech32']: '3333000msat'}]})
- multiwithdraw_res2 = update_example(node=l2, method='multiwithdraw', params={'outputs': [{l1.rpc.newaddr('p2tr')['p2tr']: 1000}, {l1.rpc.newaddr()['bech32']: 1000}, {l2.rpc.newaddr()['bech32']: 1000}, {l3.rpc.newaddr()['bech32']: 1000}, {l3.rpc.newaddr()['bech32']: 1000}, {l4.rpc.newaddr('p2tr')['p2tr']: 1000}, {l1.rpc.newaddr()['bech32']: 1000}]})
+ multiwithdraw_res1 = update_example(node=l2, method='multiwithdraw', params={'outputs': [{l1.rpc.newaddr('bech32')['bech32']: '2222000msat'}, {l1.rpc.newaddr('bech32')['bech32']: '3333000msat'}]})
+ multiwithdraw_res2 = update_example(node=l2, method='multiwithdraw', params={'outputs': [{l1.rpc.newaddr('p2tr')['p2tr']: 1000}, {l1.rpc.newaddr('bech32')['bech32']: 1000}, {l2.rpc.newaddr()['bech32']: 1000}, {l3.rpc.newaddr()['bech32']: 1000}, {l3.rpc.newaddr()['bech32']: 1000}, {l4.rpc.newaddr('p2tr')['p2tr']: 1000}, {l1.rpc.newaddr('bech32')['bech32']: 1000}]})
l2.rpc.connect(l4.info['id'], 'localhost', l4.port)
l2.rpc.connect(l5.info['id'], 'localhost', l5.port)
update_example(node=l2, method='disconnect', params={'id': l4.info['id'], 'force': False})
diff --git a/tests/test_bookkeeper.py b/tests/test_bookkeeper.py
index d22d924d..0a3f99a8 100644
--- a/tests/test_bookkeeper.py
+++ b/tests/test_bookkeeper.py
@@ -128,7 +128,7 @@ def test_bookkeeping_external_withdraws(node_factory, bitcoind):
""" Withdrawals to an external address shouldn't be included
in the income statements until confirmed"""
l1 = node_factory.get_node()
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr()['p2tr']
amount = 1111111
amount_msat = Millisatoshi(amount * 1000)
@@ -210,7 +210,7 @@ def test_bookkeeping_rbf_withdraw(node_factory, bitcoind):
(but it will show up in our account events)
"""
l1 = node_factory.get_node()
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr()['p2tr']
amount = 1111111
event_counter = 0
@@ -1167,7 +1167,7 @@ def test_migration_no_bkpr(node_factory, bitcoind):
@unittest.skipIf(TEST_NETWORK != 'regtest', "External wallet support doesn't work with elements yet.")
def test_listincome_timebox(node_factory, bitcoind):
l1 = node_factory.get_node()
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr()['p2tr']
amount = 1111111
bitcoind.rpc.sendtoaddress(addr, amount / 10**8)
diff --git a/tests/test_closing.py b/tests/test_closing.py
index c6afa1f3..3a7c3164 100644
--- a/tests/test_closing.py
+++ b/tests/test_closing.py
@@ -213,7 +213,7 @@ def test_closing_different_fees(node_factory, bitcoind, executor):
balance = [False, True]
num_peers = len(feerates) * len(balance)
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr()['p2tr']
bitcoind.rpc.sendtoaddress(addr, 1)
numfunds = len(l1.rpc.listfunds()['outputs'])
bitcoind.generate_block(1)
@@ -1014,17 +1014,17 @@ def test_channel_lease_unilat_closes(node_factory, bitcoind):
# we *shouldn't* be able to spend it, there's a lock on it
with pytest.raises(RpcError, match='UTXO .* is csv locked'):
- l2.rpc.withdraw(l2.rpc.newaddr()['bech32'], "all", utxos=[utxo1])
+ l2.rpc.withdraw(l2.rpc.newaddr()['p2tr'], "all", utxos=[utxo1])
# we *can* spend the 1csv lock one
- l2.rpc.withdraw(l2.rpc.newaddr()['bech32'], "all", utxos=[utxo3])
+ l2.rpc.withdraw(l2.rpc.newaddr()['p2tr'], "all", utxos=[utxo3])
# This can timeout, so do it in easy stages.
for i in range(16):
bitcoind.generate_block(4032 // 16)
sync_blockheight(bitcoind, [l2, l3])
- l2.rpc.withdraw(l2.rpc.newaddr()['bech32'], "all", utxos=[utxo1])
+ l2.rpc.withdraw(l2.rpc.newaddr()['p2tr'], "all", utxos=[utxo1])
# We actually mined this many blocks already, so we should see this message:
l3.daemon.wait_for_log('waiting confirmation that we spent DELAYED_OUTPUT_TO_US .* using OUR_DELAYED_RETURN_TO_WALLET')
@@ -1803,7 +1803,7 @@ def test_onchain_unwatch(node_factory, bitcoind, chainparams):
# Now test unrelated onchain churn.
# Daemon gets told about wallet; says it doesn't care.
- l1.rpc.withdraw(l1.rpc.newaddr()['bech32'], 'all')
+ l1.rpc.withdraw(l1.rpc.newaddr('bech32')['bech32'], 'all')
bitcoind.generate_block(1)
l1.daemon.wait_for_log("but we don't care")
@@ -1813,7 +1813,7 @@ def test_onchain_unwatch(node_factory, bitcoind, chainparams):
# So these should not generate further messages
for i in range(5):
- l1.rpc.withdraw(l1.rpc.newaddr()['bech32'], 'all')
+ l1.rpc.withdraw(l1.rpc.newaddr('bech32')['bech32'], 'all')
bitcoind.generate_block(1)
# Make sure it digests the block
sync_blockheight(bitcoind, [l1])
@@ -3366,7 +3366,7 @@ Try a range of future segwit versions as shutdown scripts. We create many nodes
# Give it one UTXO to spend for each node.
addresses = {}
for n in nodes:
- addresses[l1.rpc.newaddr()['bech32']] = (10**6 + 100000) / 10**8
+ addresses[l1.rpc.newaddr('bech32')['bech32']] = (10**6 + 100000) / 10**8
bitcoind.rpc.sendmany("", addresses)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == len(addresses))
@@ -3787,7 +3787,7 @@ def test_closing_anchorspend_htlc_tx_rbf(node_factory, bitcoind):
fundsats = int(Millisatoshi(only_one(l1.rpc.listfunds()['outputs'])['amount_msat']).to_satoshi())
psbt = l1.rpc.fundpsbt("all", "1000perkw", 1000)['psbt']
# Pay 5k sats in fees, send most to l2
- psbt = l1.rpc.addpsbtoutput(fundsats - 24000 - 5000, psbt, destination=l2.rpc.newaddr()['bech32'])['psbt']
+ psbt = l1.rpc.addpsbtoutput(fundsats - 24000 - 5000, psbt, destination=l2.rpc.newaddr()['p2tr'])['psbt']
# 12x2000 sat outputs for l1 to use.
for i in range(12):
psbt = l1.rpc.addpsbtoutput(2000, psbt)['psbt']
@@ -4005,7 +4005,7 @@ def test_peer_anchor_push(node_factory, bitcoind, executor, chainparams):
NUM_OUTPUTS = 10
psbt = l2.rpc.fundpsbt("all", "1000perkw", 1000)['psbt']
# Pay 5k sats in fees.
- psbt = l2.rpc.addpsbtoutput(fundsats - OUTPUT_SAT * NUM_OUTPUTS - 5000, psbt, destination=l3.rpc.newaddr()['bech32'])['psbt']
+ psbt = l2.rpc.addpsbtoutput(fundsats - OUTPUT_SAT * NUM_OUTPUTS - 5000, psbt, destination=l3.rpc.newaddr()['p2tr'])['psbt']
for _ in range(NUM_OUTPUTS):
psbt = l2.rpc.addpsbtoutput(OUTPUT_SAT, psbt)['psbt']
l2.rpc.sendpsbt(l2.rpc.signpsbt(psbt)['signed_psbt'])
@@ -4090,12 +4090,12 @@ def test_closing_cpfp(node_factory, bitcoind):
l1out = only_one([o for o in l1.rpc.listfunds()['outputs'] if o != change])
assert l1out['txid'] == close_txid
- l1.rpc.withdraw(l1.rpc.newaddr()['bech32'], 'all', '20000perkb', minconf=0, utxos=["{}:{}".format(l1out['txid'], l1out['output'])])
+ l1.rpc.withdraw(l1.rpc.newaddr('bech32')['bech32'], 'all', '20000perkb', minconf=0, utxos=["{}:{}".format(l1out['txid'], l1out['output'])])
# l2 should be able to do this too!
l2out = only_one(l2.rpc.listfunds()['outputs'])
assert l2out['txid'] == close_txid
- l2.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', '20000perkb', minconf=0, utxos=["{}:{}".format(l2out['txid'], l2out['output'])])
+ l2.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 'all', '20000perkb', minconf=0, utxos=["{}:{}".format(l2out['txid'], l2out['output'])])
# There should be *three* transactions in mempool now!
bitcoind.generate_block(1, wait_for_mempool=3)
@@ -4148,7 +4148,7 @@ def test_closing_no_anysegwit_retry(node_factory, bitcoind):
with pytest.raises(RpcError, match=r'Peer does not allow v1\+ shutdown addresses'):
l1.rpc.close(l2.info['id'], destination='bcrt1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k0ylj56')
- oldaddr = l1.rpc.newaddr()['bech32']
+ oldaddr = l1.rpc.newaddr('bech32')['bech32']
l1.rpc.close(l2.info['id'], destination=oldaddr)
diff --git a/tests/test_coinmoves.py b/tests/test_coinmoves.py
index 21c6ea97..2abd765e 100644
--- a/tests/test_coinmoves.py
+++ b/tests/test_coinmoves.py
@@ -117,7 +117,7 @@ def test_coinmoves(node_factory, bitcoind):
check_chain_moves(l2, expected_chain2)
# MVT_DEPOSIT
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
txid_deposit = bitcoind.rpc.sendtoaddress(addr, 200000000 / 10**8)
bitcoind.generate_block(1, wait_for_mempool=1)
sync_blockheight(bitcoind, [l1])
@@ -140,7 +140,7 @@ def test_coinmoves(node_factory, bitcoind):
first_rowid = only_one(only_one(l1.rpc.sql("SELECT rowid FROM chainmoves;")['rows']))
# MVT_WITHDRAWAL
- addr = l3.rpc.newaddr()['bech32']
+ addr = l3.rpc.newaddr('bech32')['bech32']
withdraw = l1.rpc.withdraw(addr, 100000000)
bitcoind.generate_block(1, wait_for_mempool=1)
sync_blockheight(bitcoind, [l1])
@@ -395,7 +395,7 @@ def setup_channel(bitcoind, l1, l2):
expected_chain1 = []
expected_chain2 = []
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
txid_deposit = bitcoind.rpc.sendtoaddress(addr, 100000000 / 10**8)
bitcoind.generate_block(1, wait_for_mempool=1)
sync_blockheight(bitcoind, [l1])
@@ -1916,7 +1916,7 @@ def test_wait(node_factory, bitcoind, executor):
fut = executor.submit(l1.rpc.wait, subsystem='chainmoves', indexname='created', nextvalue=1)
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 200000000 / 10**8)
bitcoind.generate_block(1, wait_for_mempool=1)
diff --git a/tests/test_connection.py b/tests/test_connection.py
index ae0473b2..b822c68f 100644
--- a/tests/test_connection.py
+++ b/tests/test_connection.py
@@ -436,7 +436,7 @@ def test_channel_abandon(node_factory, bitcoind):
# Now it's unreserved, we can doublespend it (as long as we exceed
# previous fee to RBF!).
- withdraw = l1.rpc.withdraw(l1.rpc.newaddr()['bech32'], "all")
+ withdraw = l1.rpc.withdraw(l1.rpc.newaddr('bech32')['bech32'], "all")
assert bitcoind.rpc.decoderawtransaction(withdraw['tx'])['vout'][0]['value'] > SATS / 10**8
bitcoind.generate_block(1, wait_for_mempool=withdraw['txid'])
@@ -1108,7 +1108,7 @@ def test_funding_fail(node_factory, bitcoind):
funds = 1000000
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
l1.bitcoin.rpc.sendtoaddress(addr, funds / 10**8)
bitcoind.generate_block(1)
@@ -1150,7 +1150,7 @@ def test_funding_toolarge(node_factory, bitcoind):
# Send funds.
amount = 2**24
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
@@ -1172,7 +1172,7 @@ def test_v2_open(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -1204,7 +1204,7 @@ def test_funding_push(node_factory, bitcoind, chainparams):
# Send funds.
amount = 2**24
push_msat = 20000 * 1000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
@@ -1289,7 +1289,7 @@ def test_funding_external_wallet_corners(node_factory, bitcoind):
l1.fundwallet(amount + 10000000)
# make sure we can generate PSBTs.
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, (amount + 1000000) / 10**8)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()["outputs"]) != 0)
@@ -1320,7 +1320,7 @@ def test_funding_external_wallet_corners(node_factory, bitcoind):
l1.rpc.txdiscard(wrongamt['txid'])
# Can't complete with incorrect address.
- wrongaddr = l1.rpc.txprepare([{l1.rpc.newaddr()['bech32']: amount}])
+ wrongaddr = l1.rpc.txprepare([{l1.rpc.newaddr('bech32')['bech32']: amount}])
with pytest.raises(RpcError, match=r'No output to open channel'):
l1.rpc.fundchannel_complete(l2.info['id'], wrongaddr['psbt'])
l1.rpc.txdiscard(wrongaddr['txid'])
@@ -1406,7 +1406,7 @@ def test_funding_v2_corners(node_factory, bitcoind):
l1.fundwallet(amount + 10000000)
# make sure we can generate PSBTs.
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, (amount + 1000000) / 10**8)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()["outputs"]) != 0)
@@ -1469,7 +1469,7 @@ def test_funding_cancel_race(node_factory, bitcoind, executor):
l1 = node_factory.get_node()
# make sure we can generate PSBTs.
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 200000 / 10**8)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()["outputs"]) != 0)
@@ -1550,7 +1550,7 @@ def test_funding_v2_cancel_race(node_factory, bitcoind, executor):
l1 = node_factory.get_node()
# make sure we can generate PSBTs.
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 2000000 / 10**8)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()["outputs"]) != 0)
@@ -1680,7 +1680,7 @@ def test_funding_close_upfront(node_factory, bitcoind):
_close(l1, l2)
# check that you can provide a closing address upfront
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
_fundchannel(l1, l2, amt_normal, addr)
# confirm that it appears in listpeerchannels
assert addr == l1.rpc.listpeerchannels()['channels'][1]['close_to_addr']
@@ -1701,7 +1701,7 @@ def test_funding_close_upfront(node_factory, bitcoind):
assert _close(l2, l1) in ([addr, remote_valid_addr], [remote_valid_addr, addr])
# check that passing in a different addr to close causes an RPC error
- addr2 = l1.rpc.newaddr()['bech32']
+ addr2 = l1.rpc.newaddr('bech32')['bech32']
_fundchannel(l1, l2, amt_normal, addr)
with pytest.raises(RpcError, match=r'does not match previous shutdown script'):
l1.rpc.close(l2.info['id'], destination=addr2)
@@ -2249,7 +2249,7 @@ def test_lockin_between_restart(node_factory, bitcoind):
@pytest.mark.openchannel('v2')
def test_funding_while_offline(node_factory, bitcoind):
l1 = node_factory.get_node()
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
sync_blockheight(bitcoind, [l1])
# l1 goes down.
@@ -2889,17 +2889,17 @@ def test_no_fee_estimate(node_factory, bitcoind, executor):
# Can't withdraw either.
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
- l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all')
+ l1.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 'all')
# Can't use feerate names, either.
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
- l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'urgent')
+ l1.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 'all', 'urgent')
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
- l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'normal')
+ l1.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 'all', 'normal')
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
- l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'slow')
+ l1.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 'all', 'slow')
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
l1.rpc.fundchannel(l2.info['id'], 10**6, 'urgent')
@@ -2911,7 +2911,7 @@ def test_no_fee_estimate(node_factory, bitcoind, executor):
l1.rpc.fundchannel(l2.info['id'], 10**6, 'slow')
# With anchors, not even with manual feerate!
- l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 10000, '1500perkb')
+ l1.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 10000, '1500perkb')
if TEST_NETWORK == 'regtest':
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
l1.rpc.fundchannel(l2.info['id'], 10**6, '2000perkw', minconf=0)
@@ -2951,7 +2951,7 @@ def test_no_fee_estimate(node_factory, bitcoind, executor):
# Can withdraw (use urgent feerate). `minconf` may be needed depending on
# the previous `fundchannel` selecting all confirmed outputs.
- l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'urgent', minconf=0)
+ l1.rpc.withdraw(l2.rpc.newaddr('bech32')['bech32'], 'all', 'urgent', minconf=0)
def test_opener_feerate_reconnect(node_factory, bitcoind):
@@ -3581,7 +3581,7 @@ def test_channel_features(node_factory, bitcoind, anchors):
opts = {'dev-force-features': "+23"}
l1, l2 = node_factory.line_graph(2, fundchannel=False, opts=opts)
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], 0.1)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'], 0.1)
bitcoind.generate_block(1)
wait_for(lambda: l1.rpc.listfunds()['outputs'] != [])
@@ -4057,7 +4057,7 @@ def test_multichan_stress(node_factory, executor, bitcoind):
'dev-no-reconnect': None})
# Now fund *second* channel l2->l3 (slightly larger)
- bitcoind.rpc.sendtoaddress(l2.rpc.newaddr()['bech32'], 0.1)
+ bitcoind.rpc.sendtoaddress(l2.rpc.newaddr('bech32')['bech32'], 0.1)
bitcoind.generate_block(1)
sync_blockheight(bitcoind, [l2])
l2.rpc.fundchannel(l3.info['id'], '0.01001btc')
@@ -4216,7 +4216,7 @@ def test_multichan(node_factory, executor, bitcoind):
scid23a = l2.get_channel_scid(l3)
# Now fund *second* channel l2->l3 (slightly larger)
- bitcoind.rpc.sendtoaddress(l2.rpc.newaddr()['bech32'], 0.1)
+ bitcoind.rpc.sendtoaddress(l2.rpc.newaddr('bech32')['bech32'], 0.1)
bitcoind.generate_block(1)
sync_blockheight(bitcoind, [l1, l2, l3])
l2.rpc.fundchannel(l3.info['id'], '0.01001btc')
@@ -4725,7 +4725,7 @@ def test_connect_ratelimit(node_factory, bitcoind):
l1 = nodes[0]
nodes = nodes[1:]
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
for n in nodes:
bitcoind.rpc.sendtoaddress(addr, (FUNDAMOUNT + 1000000) / 10**8)
bitcoind.generate_block(1, wait_for_mempool=len(nodes))
diff --git a/tests/test_db.py b/tests/test_db.py
index a188b2e9..47720dc5 100644
--- a/tests/test_db.py
+++ b/tests/test_db.py
@@ -59,7 +59,7 @@ def test_block_backfill(node_factory, bitcoind, chainparams):
l1, l2 = node_factory.line_graph(2, fundchannel=False)
# Get some funds to l1
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr()['p2tr']
bitcoind.rpc.sendtoaddress(addr, 1)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == 1)
@@ -426,7 +426,7 @@ def test_sqlite3_builtin_backup(bitcoind, node_factory):
l1.start()
# Get an address and put some funds.
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 1)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == 1)
diff --git a/tests/test_misc.py b/tests/test_misc.py
index 97e6ea73..a9846832 100644
--- a/tests/test_misc.py
+++ b/tests/test_misc.py
@@ -299,7 +299,7 @@ def test_lightningd_still_loading(node_factory, bitcoind, executor):
# Attempting to fund an extremely large transaction should fail
# with a 'unsynced' error
with pytest.raises(RpcError, match=r'304'):
- l1.rpc.txprepare([{l1.rpc.newaddr()['bech32']: '200000000sat'}])
+ l1.rpc.txprepare([{l1.rpc.newaddr('bech32')['bech32']: '200000000sat'}])
# Funding a new channel blocks...
l1.rpc.connect(l3.info['id'], 'localhost', l3.port)
@@ -325,7 +325,7 @@ def test_lightningd_still_loading(node_factory, bitcoind, executor):
# Now we get insufficient funds error
with pytest.raises(RpcError, match=r'301'):
- l1.rpc.txprepare([{l1.rpc.newaddr()['bech32']: '200000000sat'}])
+ l1.rpc.txprepare([{l1.rpc.newaddr('bech32')['bech32']: '200000000sat'}])
# This will now work normally.
l1.pay(l2, 1000)
diff --git a/tests/test_opening.py b/tests/test_opening.py
index f2208d5c..805ed7ee 100644
--- a/tests/test_opening.py
+++ b/tests/test_opening.py
@@ -150,7 +150,7 @@ def test_v2_open_sigs_reconnect_2(node_factory, bitcoind):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -188,7 +188,7 @@ def test_v2_open_sigs_reconnect_1(node_factory, bitcoind):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -229,7 +229,7 @@ def test_v2_open_sigs_out_of_order(node_factory, bitcoind):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -260,7 +260,7 @@ def test_v2_fail_second(node_factory, bitcoind):
l1.fundwallet(amount + 10000000)
# make sure we can generate PSBTs.
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, (amount + 1000000) / 10**8)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()["outputs"]) != 0)
@@ -309,7 +309,7 @@ def test_v2_open_sigs_restart_while_dead(node_factory, bitcoind):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -342,7 +342,7 @@ def test_v2_rbf_single(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -438,8 +438,8 @@ def test_v2_rbf_abort_retry(node_factory, bitcoind, chainparams):
amount = 2**24
chan_amount = 100000
bitcoind.rpc.sendmany("",
- {l1.rpc.newaddr()['bech32']: amount / 10**8 + 0.01,
- l2.rpc.newaddr()['bech32']: amount / 10**8 + 0.01})
+ {l1.rpc.newaddr()['p2tr']: amount / 10**8 + 0.01,
+ l2.rpc.newaddr()['p2tr']: amount / 10**8 + 0.01})
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -519,8 +519,8 @@ def test_v2_rbf_abort_channel_opens(node_factory, bitcoind, chainparams):
amount = 2**24
chan_amount = 100000
bitcoind.rpc.sendmany("",
- {l1.rpc.newaddr()['bech32']: amount / 10**8 + 0.01,
- l2.rpc.newaddr()['bech32']: amount / 10**8 + 0.01})
+ {l1.rpc.newaddr()['p2tr']: amount / 10**8 + 0.01,
+ l2.rpc.newaddr()['p2tr']: amount / 10**8 + 0.01})
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -672,7 +672,7 @@ def test_v2_rbf_multi(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -765,7 +765,7 @@ def test_rbf_reconnect_init(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -813,7 +813,7 @@ def test_rbf_reconnect_ack(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -871,7 +871,7 @@ def test_rbf_reconnect_tx_construct(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -998,7 +998,7 @@ def test_rbf_reconnect_tx_sigs(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -1068,7 +1068,7 @@ def test_rbf_to_chain_before_commit(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -1123,8 +1123,8 @@ def test_rbf_no_overlap(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -1160,7 +1160,7 @@ def test_rbf_fails_to_broadcast(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -1244,7 +1244,7 @@ def test_rbf_broadcast_close_inflights(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -1317,7 +1317,7 @@ def test_rbf_non_last_mined(node_factory, bitcoind, chainparams):
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
amount = 2**24
chan_amount = 100000
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['p2tr'], amount / 10**8 + 0.01)
bitcoind.generate_block(1)
# Wait for it to arrive.
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
@@ -2266,10 +2266,10 @@ def test_coinbase_unspendable(node_factory, bitcoind):
[l1] = node_factory.get_nodes(1)
- addr = l1.rpc.newaddr()["bech32"]
+ addr = l1.rpc.newaddr("bech32")["bech32"]
bitcoind.rpc.generatetoaddress(1, addr)
- addr2 = l1.rpc.newaddr()["bech32"]
+ addr2 = l1.rpc.newaddr("bech32")["bech32"]
# Wait til money in wallet
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == 1)
@@ -2283,13 +2283,13 @@ def test_coinbase_unspendable(node_factory, bitcoind):
assert len(bitcoind.rpc.getrawmempool()) == 0
# Mine 98 blocks
- bitcoind.rpc.generatetoaddress(98, l1.rpc.newaddr()['bech32'])
+ bitcoind.rpc.generatetoaddress(98, l1.rpc.newaddr('bech32')['bech32'])
assert len([out for out in l1.rpc.listfunds()['outputs'] if out['status'] == 'confirmed']) == 0
with pytest.raises(RpcError, match='Could not afford all using all 0 available UTXOs'):
l1.rpc.withdraw(addr2, "all")
# One more and the first coinbase unlocks
- bitcoind.rpc.generatetoaddress(1, l1.rpc.newaddr()['bech32'])
+ bitcoind.rpc.generatetoaddress(1, l1.rpc.newaddr('bech32')['bech32'])
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == 100)
assert len([out for out in l1.rpc.listfunds()['outputs'] if out['status'] == 'confirmed']) == 1
l1.rpc.withdraw(addr2, "all")
@@ -2297,7 +2297,7 @@ def test_coinbase_unspendable(node_factory, bitcoind):
assert len(bitcoind.rpc.getrawmempool()) == 1
# Mine one block, assert one more is spendable
- bitcoind.rpc.generatetoaddress(1, l1.rpc.newaddr()['bech32'])
+ bitcoind.rpc.generatetoaddress(1, l1.rpc.newaddr('bech32')['bech32'])
assert len([out for out in l1.rpc.listfunds()['outputs'] if out['status'] == 'confirmed']) == 1
@@ -2524,7 +2524,7 @@ def test_commitment_feerate(bitcoind, node_factory, anchors):
def test_anchor_min_emergency(bitcoind, node_factory):
l1, l2 = node_factory.line_graph(2, fundchannel=False)
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 5000000 / 10**8)
bitcoind.generate_block(1, wait_for_mempool=1)
wait_for(lambda: l1.rpc.listfunds()['outputs'] != [])
@@ -2542,7 +2542,7 @@ def test_anchor_min_emergency(bitcoind, node_factory):
assert only_one(l1.rpc.listfunds()['outputs'])['amount_msat'] == Millisatoshi('25000sat')
# And we can't spend it, either!
- addr2 = l2.rpc.newaddr()['bech32']
+ addr2 = l2.rpc.newaddr('bech32')['bech32']
with pytest.raises(RpcError, match=r'We would not have enough left for min-emergency-msat 25000sat'):
l1.rpc.withdraw(addr2, '500sat')
@@ -2579,7 +2579,7 @@ def test_fundchannel_utxo_too_small(bitcoind, node_factory):
l1, l2 = node_factory.get_nodes(2)
# Add 1 600 sat UTXO to a fresh node
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], 0.00000600)
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'], 0.00000600)
bitcoind.generate_block(1, wait_for_mempool=1)
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == 1)
diff --git a/tests/test_plugin.py b/tests/test_plugin.py
index 0a77012d..03109f3b 100644
--- a/tests/test_plugin.py
+++ b/tests/test_plugin.py
@@ -4295,7 +4295,7 @@ def test_sql_crash(node_factory, bitcoind):
"""
l1, l2 = node_factory.line_graph(2, fundchannel=False)
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 1)
bitcoind.generate_block(1)
diff --git a/tests/test_renepay.py b/tests/test_renepay.py
index 552c2b0a..b8b5d706 100644
--- a/tests/test_renepay.py
+++ b/tests/test_renepay.py
@@ -315,7 +315,7 @@ def start_channels(connections):
bitcoind = nodes[0].bitcoin
# If we got here, we want to fund channels
for src, dst, fundamount in connections:
- addr = src.rpc.newaddr()["bech32"]
+ addr = src.rpc.newaddr('bech32')["bech32"]
bitcoind.rpc.sendtoaddress(addr, (fundamount + 1000000) / 10**8)
bitcoind.generate_block(1)
diff --git a/tests/test_wallet.py b/tests/test_wallet.py
index 8edd8963..eec64d68 100644
--- a/tests/test_wallet.py
+++ b/tests/test_wallet.py
@@ -289,7 +289,7 @@ def test_txprepare_multi(node_factory, bitcoind):
outputs = []
for i in range(9):
- outputs.append({l1.rpc.newaddr()['bech32']: Millisatoshi(amount * 100)})
+ outputs.append({l1.rpc.newaddr('bech32')['bech32']: Millisatoshi(amount * 100)})
prep = l1.rpc.txprepare(outputs=outputs)
l1.rpc.txdiscard(prep['txid'])
@@ -419,7 +419,7 @@ def test_txprepare(node_factory, bitcoind, chainparams):
check_feerate([l1], feerate_from_psbt(chainparams, bitcoind, l1, prep3['psbt']), normal_feerate_perkw)
# Try passing unconfirmed utxos
- unconfirmed_utxo = l1.rpc.withdraw(l1.rpc.newaddr()["bech32"], 10**5)
+ unconfirmed_utxo = l1.rpc.withdraw(l1.rpc.newaddr("bech32")["bech32"], 10**5)
uutxos = [unconfirmed_utxo["txid"] + ":0"]
with pytest.raises(RpcError, match=r"Could not afford"):
l1.rpc.txprepare([{addr: Millisatoshi(amount * 3.5 * 1000)}],
@@ -505,7 +505,7 @@ def test_txprepare_feerate(node_factory, bitcoind, chainparams):
# Add some funds to withdraw later
for i in range(20):
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
1000 / 10**8)
bitcoind.generate_block(1)
@@ -593,7 +593,7 @@ def test_reserveinputs(node_factory, bitcoind, chainparams):
outputs = []
# Add a medley of funds to withdraw
for i in range(total_outs):
- txid = bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ txid = bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
amount / 10**8)
outputs.append((txid, bitcoind.rpc.gettransaction(txid)['details'][0]['vout']))
@@ -649,7 +649,7 @@ def test_fundpsbt(node_factory, bitcoind, chainparams):
outputs = []
# Add a medley of funds to withdraw later
for i in range(total_outs):
- txid = bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ txid = bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
amount / 10**8)
outputs.append((txid, bitcoind.rpc.gettransaction(txid)['details'][0]['vout']))
@@ -793,7 +793,7 @@ def test_utxopsbt(node_factory, bitcoind, chainparams):
outputs = []
# Add a funds to withdraw later
for _ in range(2):
- txid = bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ txid = bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
amount / 10**8)
outputs.append((txid, bitcoind.rpc.gettransaction(txid)['details'][0]['vout']))
@@ -931,7 +931,7 @@ def test_sign_external_psbt(node_factory, bitcoind, chainparams):
# Add a medley of funds to withdraw later
for i in range(total_outs):
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
amount / 10**8)
bitcoind.generate_block(1)
@@ -941,7 +941,7 @@ def test_sign_external_psbt(node_factory, bitcoind, chainparams):
inputs = []
for inp in l1.rpc.listfunds()['outputs']:
inputs.append({'txid': inp['txid'], 'vout': inp['output']})
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
psbt = bitcoind.rpc.createpsbt(inputs, [{addr: (amount * 3) / 10**8}])
l1.rpc.reserveinputs(psbt)
@@ -956,7 +956,7 @@ def test_psbt_version(node_factory, bitcoind, chainparams):
is_elements = chainparams['elements']
l1 = node_factory.get_node()
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
sats_amount / 100000000)
bitcoind.generate_block(1)
@@ -1018,7 +1018,7 @@ def test_sign_and_send_psbt(node_factory, bitcoind, chainparams):
# Add a medley of funds to withdraw later
for i in range(total_outs):
- bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'],
+ bitcoind.rpc.sendtoaddress(l1.rpc.newaddr('bech32')['bech32'],
amount / 10**8)
bitcoind.generate_block(1)
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) == total_outs)
@@ -1089,7 +1089,7 @@ def test_sign_and_send_psbt(node_factory, bitcoind, chainparams):
# Queue up another node, to make some PSBTs for us
for i in range(total_outs):
- bitcoind.rpc.sendtoaddress(l2.rpc.newaddr()['bech32'],
+ bitcoind.rpc.sendtoaddress(l2.rpc.newaddr('bech32')['bech32'],
amount / 10**8)
# Create a PSBT using L2
bitcoind.generate_block(1)
@@ -2062,7 +2062,7 @@ def test_withdraw_nlocktime(node_factory):
l1.fundwallet(10**4)
# withdraw
- addr = l1.rpc.newaddr()["bech32"]
+ addr = l1.rpc.newaddr("bech32")["bech32"]
tx = l1.rpc.withdraw(addr, 10**3)["tx"]
nlocktime = node_factory.bitcoind.rpc.decoderawtransaction(tx)["locktime"]
tip = node_factory.bitcoind.rpc.getblockcount()
@@ -2087,7 +2087,7 @@ def test_withdraw_nlocktime_fuzz(node_factory, bitcoind):
l1.fundwallet(10**8)
for i in range(100):
- addr = l1.rpc.newaddr()["bech32"]
+ addr = l1.rpc.newaddr("bech32")["bech32"]
withdraw = l1.rpc.withdraw(addr, 10**3)
bitcoind.generate_block(1)
l1.daemon.wait_for_log('Owning output .* txid {} CONFIRMED'.
@@ -2110,9 +2110,9 @@ def test_multiwithdraw_simple(node_factory, bitcoind, chainparams):
{}, {}])
l1.fundwallet(10**8)
- addr2 = l2.rpc.newaddr()['bech32']
+ addr2 = l2.rpc.newaddr('bech32')['bech32']
amount2 = Millisatoshi(2222 * 1000)
- addr3 = l3.rpc.newaddr()['bech32']
+ addr3 = l3.rpc.newaddr('bech32')['bech32']
amount3 = Millisatoshi(3333 * 1000)
# Multiwithdraw!
@@ -2151,7 +2151,7 @@ def test_repro_4258(node_factory, bitcoind):
"""Reproduces issue #4258, invalid output encoding for txprepare.
"""
l1 = node_factory.get_node()
- addr = l1.rpc.newaddr()['bech32']
+ addr = l1.rpc.newaddr('bech32')['bech32']
bitcoind.rpc.sendtoaddress(addr, 1)
bitcoind.generate_block(1)
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.