mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 21:35:11 +01:00
newaddr: deprecate 'address' output.
It doesn't make sense with 'all', and it's ok to be explicit. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
3e67c09d5e
commit
049f2351d4
@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
Note: You should always set `allow-deprecated-apis=false` to test for
|
||||
changes.
|
||||
|
||||
- JSON API: `newaddr` output field `address`: use `bech32` or `p2sh-segwit` instead.
|
||||
|
||||
### Removed
|
||||
|
||||
### Fixed
|
||||
|
@ -198,7 +198,7 @@ def test_closing_different_fees(node_factory, bitcoind, executor):
|
||||
amounts = [0, 545999, 546000]
|
||||
num_peers = len(feerates) * len(amounts)
|
||||
|
||||
addr = l1.rpc.newaddr()['address']
|
||||
addr = l1.rpc.newaddr()['bech32']
|
||||
bitcoind.rpc.sendtoaddress(addr, 1)
|
||||
numfunds = len(l1.rpc.listfunds()['outputs'])
|
||||
bitcoind.generate_block(1)
|
||||
@ -501,7 +501,7 @@ def test_onchain_unwatch(node_factory, bitcoind):
|
||||
|
||||
# Now test unrelated onchain churn.
|
||||
# Daemon gets told about wallet; says it doesn't care.
|
||||
l1.rpc.withdraw(l1.rpc.newaddr()['address'], 'all')
|
||||
l1.rpc.withdraw(l1.rpc.newaddr()['bech32'], 'all')
|
||||
bitcoind.generate_block(1)
|
||||
l1.daemon.wait_for_log("but we don't care")
|
||||
|
||||
@ -510,7 +510,7 @@ def test_onchain_unwatch(node_factory, bitcoind):
|
||||
|
||||
# So these should not generate further messages
|
||||
for i in range(5):
|
||||
l1.rpc.withdraw(l1.rpc.newaddr()['address'], 'all')
|
||||
l1.rpc.withdraw(l1.rpc.newaddr()['bech32'], 'all')
|
||||
bitcoind.generate_block(1)
|
||||
# Make sure it digests the block
|
||||
sync_blockheight(bitcoind, [l1])
|
||||
|
@ -621,7 +621,7 @@ def test_funding_fail(node_factory, bitcoind):
|
||||
|
||||
funds = 1000000
|
||||
|
||||
addr = l1.rpc.newaddr()['address']
|
||||
addr = l1.rpc.newaddr()['bech32']
|
||||
l1.bitcoin.rpc.sendtoaddress(addr, funds / 10**8)
|
||||
bitcoind.generate_block(1)
|
||||
|
||||
@ -661,7 +661,7 @@ def test_funding_toolarge(node_factory, bitcoind):
|
||||
|
||||
# Send funds.
|
||||
amount = 2**24
|
||||
bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['address'], amount / 10**8 + 0.01)
|
||||
bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
|
||||
bitcoind.generate_block(1)
|
||||
|
||||
# Wait for it to arrive.
|
||||
@ -701,7 +701,7 @@ def test_lockin_between_restart(node_factory, bitcoind):
|
||||
|
||||
def test_funding_while_offline(node_factory, bitcoind):
|
||||
l1 = node_factory.get_node()
|
||||
addr = l1.rpc.newaddr()['address']
|
||||
addr = l1.rpc.newaddr()['bech32']
|
||||
sync_blockheight(bitcoind, [l1])
|
||||
|
||||
# l1 goes down.
|
||||
@ -1154,13 +1154,13 @@ 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()['address'], 'all')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all')
|
||||
|
||||
# Can't use feerate names, either.
|
||||
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['address'], 'all', 'urgent')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['address'], 'all', 'normal')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['address'], 'all', 'slow')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'urgent')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'normal')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'slow')
|
||||
|
||||
with pytest.raises(RpcError, match=r'Cannot estimate fees'):
|
||||
l1.rpc.fundchannel(l2.info['id'], 10**6, 'urgent')
|
||||
@ -1168,7 +1168,7 @@ def test_no_fee_estimate(node_factory, bitcoind, executor):
|
||||
l1.rpc.fundchannel(l2.info['id'], 10**6, 'slow')
|
||||
|
||||
# Can with manual feerate.
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['address'], 10000, '1500perkb')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 10000, '1500perkb')
|
||||
l1.rpc.fundchannel(l2.info['id'], 10**6, '2000perkw', minconf=0)
|
||||
|
||||
# Make sure we clean up cahnnel for later attempt.
|
||||
@ -1210,7 +1210,7 @@ def test_no_fee_estimate(node_factory, bitcoind, executor):
|
||||
l1.rpc.fundchannel(l2.info['id'], 10**6, 'slow')
|
||||
|
||||
# Can withdraw (use urgent feerate).
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['address'], 'all', 'urgent')
|
||||
l1.rpc.withdraw(l2.rpc.newaddr()['bech32'], 'all', 'urgent')
|
||||
|
||||
|
||||
@unittest.skipIf(not DEVELOPER, "needs --dev-disconnect")
|
||||
|
@ -11,8 +11,8 @@ import unittest
|
||||
def test_invoice(node_factory):
|
||||
l1, l2 = node_factory.line_graph(2, fundchannel=False)
|
||||
|
||||
addr1 = l2.rpc.newaddr('bech32')['address']
|
||||
addr2 = l2.rpc.newaddr('p2sh-segwit')['address']
|
||||
addr1 = l2.rpc.newaddr('bech32')['bech32']
|
||||
addr2 = l2.rpc.newaddr('p2sh-segwit')['p2sh-segwit']
|
||||
before = int(time.time())
|
||||
inv = l1.rpc.invoice(123000, 'label', 'description', '3700', [addr1, addr2])
|
||||
after = int(time.time())
|
||||
|
@ -365,7 +365,7 @@ def test_withdraw(node_factory, bitcoind):
|
||||
# Don't get any funds from previous runs.
|
||||
l1 = node_factory.get_node(random_hsm=True)
|
||||
l2 = node_factory.get_node(random_hsm=True)
|
||||
addr = l1.rpc.newaddr()['address']
|
||||
addr = l1.rpc.newaddr()['bech32']
|
||||
|
||||
# Add some funds to withdraw later
|
||||
for i in range(10):
|
||||
@ -401,7 +401,7 @@ def test_withdraw(node_factory, bitcoind):
|
||||
|
||||
# Now send some money to l2.
|
||||
# lightningd uses P2SH-P2WPKH
|
||||
waddr = l2.rpc.newaddr('bech32')['address']
|
||||
waddr = l2.rpc.newaddr('bech32')['bech32']
|
||||
l1.rpc.withdraw(waddr, 2 * amount)
|
||||
bitcoind.generate_block(1)
|
||||
|
||||
@ -471,7 +471,7 @@ def test_withdraw(node_factory, bitcoind):
|
||||
assert l1.db_query('SELECT COUNT(*) as c FROM outputs WHERE status=0')[0]['c'] == 6
|
||||
|
||||
# Test withdrawal to self.
|
||||
l1.rpc.withdraw(l1.rpc.newaddr('bech32')['address'], 'all', minconf=0)
|
||||
l1.rpc.withdraw(l1.rpc.newaddr('bech32')['bech32'], 'all', minconf=0)
|
||||
bitcoind.generate_block(1)
|
||||
assert l1.db_query('SELECT COUNT(*) as c FROM outputs WHERE status=0')[0]['c'] == 1
|
||||
|
||||
@ -489,7 +489,7 @@ def test_addfunds_from_block(node_factory, bitcoind):
|
||||
# Previous runs with same bitcoind can leave funds!
|
||||
l1 = node_factory.get_node(random_hsm=True)
|
||||
|
||||
addr = l1.rpc.newaddr()['address']
|
||||
addr = l1.rpc.newaddr()['bech32']
|
||||
bitcoind.rpc.sendtoaddress(addr, 0.1)
|
||||
bitcoind.generate_block(1)
|
||||
|
||||
@ -503,7 +503,7 @@ def test_addfunds_from_block(node_factory, bitcoind):
|
||||
assert output['address'] == addr
|
||||
|
||||
# Send all our money to a P2WPKH address this time.
|
||||
addr = l1.rpc.newaddr("bech32")['address']
|
||||
addr = l1.rpc.newaddr("bech32")['bech32']
|
||||
l1.rpc.withdraw(addr, "all")
|
||||
bitcoind.generate_block(1)
|
||||
time.sleep(1)
|
||||
@ -804,7 +804,7 @@ def test_blockchaintrack(node_factory, bitcoind):
|
||||
"""Check that we track the blockchain correctly across reorgs
|
||||
"""
|
||||
l1 = node_factory.get_node(random_hsm=True)
|
||||
addr = l1.rpc.newaddr()['address']
|
||||
addr = l1.rpc.newaddr()['bech32']
|
||||
|
||||
######################################################################
|
||||
# First failure scenario: rollback on startup doesn't work,
|
||||
|
@ -438,7 +438,7 @@ class LightningNode(object):
|
||||
return {'address': addr, 'wallettxid': wallettxid, 'fundingtx': fundingtx}
|
||||
|
||||
def fundwallet(self, sats, addrtype="p2sh-segwit"):
|
||||
addr = self.rpc.newaddr(addrtype)['address']
|
||||
addr = self.rpc.newaddr(addrtype)[addrtype]
|
||||
txid = self.bitcoin.rpc.sendtoaddress(addr, sats / 10**8)
|
||||
self.bitcoin.generate_block(1)
|
||||
self.daemon.wait_for_log('Owning output .* txid {}'.format(txid))
|
||||
@ -529,7 +529,7 @@ class LightningNode(object):
|
||||
def fund_channel(self, l2, amount, wait_for_active=True):
|
||||
|
||||
# Give yourself some funds to work with
|
||||
addr = self.rpc.newaddr()['address']
|
||||
addr = self.rpc.newaddr()['bech32']
|
||||
self.bitcoin.rpc.sendtoaddress(addr, (amount + 1000000) / 10**8)
|
||||
numfunds = len(self.rpc.listfunds()['outputs'])
|
||||
self.bitcoin.generate_block(1)
|
||||
@ -847,7 +847,7 @@ class NodeFactory(object):
|
||||
|
||||
# If we got here, we want to fund channels
|
||||
for src, dst in connections:
|
||||
addr = src.rpc.newaddr()['address']
|
||||
addr = src.rpc.newaddr()['bech32']
|
||||
src.bitcoin.rpc.sendtoaddress(addr, (fundamount + 1000000) / 10**8)
|
||||
|
||||
bitcoin.generate_block(1)
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <lightningd/jsonrpc.h>
|
||||
#include <lightningd/lightningd.h>
|
||||
#include <lightningd/log.h>
|
||||
#include <lightningd/options.h>
|
||||
#include <lightningd/peer_control.h>
|
||||
#include <lightningd/subd.h>
|
||||
#include <wally_bip32.h>
|
||||
@ -336,7 +337,8 @@ static struct command_result *json_newaddr(struct command *cmd,
|
||||
|
||||
response = json_stream_success(cmd);
|
||||
json_object_start(response, NULL);
|
||||
json_add_string(response, "address", bech32 ? bech32 : p2sh);
|
||||
if (deprecated_apis)
|
||||
json_add_string(response, "address", bech32 ? bech32 : p2sh);
|
||||
if (*addrtype & ADDR_BECH32)
|
||||
json_add_string(response, "bech32", bech32);
|
||||
if (*addrtype & ADDR_P2SH_SEGWIT)
|
||||
|
Loading…
Reference in New Issue
Block a user