diff --git a/tests/test_connection.py b/tests/test_connection.py index 77895b28a..a95455db6 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -7,6 +7,7 @@ from pyln.client import RpcError, Millisatoshi from utils import ( DEVELOPER, only_one, wait_for, sync_blockheight, VALGRIND, TIMEOUT, SLOW_MACHINE, expected_peer_features, expected_node_features, + expected_channel_features, check_coin_moves, first_channel_id, account_balance ) from bitcoin.core import CMutableTransaction, CMutableTxOut @@ -2255,18 +2256,13 @@ def test_pay_disconnect_stress(node_factory, executor): def test_wumbo_channels(node_factory, bitcoind): - f = bytes.fromhex(expected_peer_features()) - - # OPT_LARGE_CHANNELS = 18 (19 for us). 0x080000 - f = (f[:-3] + bytes([f[-3] | 0x08]) + f[-2:]).hex() - l1, l2, l3 = node_factory.get_nodes(3, opts=[{'large-channels': None}, {'large-channels': None}, {}]) conn = l1.rpc.connect(l2.info['id'], 'localhost', port=l2.port) - assert conn['features'] == f - assert only_one(l1.rpc.listpeers(l2.info['id'])['peers'])['features'] == f + assert conn['features'] == expected_peer_features(wumbo_channels=True) + assert only_one(l1.rpc.listpeers(l2.info['id'])['peers'])['features'] == expected_peer_features(wumbo_channels=True) # Now, can we open a giant channel? l1.fundwallet(1 << 26) @@ -2284,6 +2280,10 @@ def test_wumbo_channels(node_factory, bitcoind): assert ([c['amount_msat'] for c in l3.rpc.listchannels()['channels']] == [Millisatoshi(str(1 << 24) + "sat")] * 2) + # Make sure channel features are right from channel_announcement + assert ([c['features'] for c in l3.rpc.listchannels()['channels']] + == [expected_channel_features(wumbo_channels=True)] * 2) + # Make sure we can't open a wumbo channel if we don't agree. with pytest.raises(RpcError, match='Amount exceeded'): l1.rpc.fundchannel(l3.info['id'], 1 << 24)