mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
pytest: Add test for forwarding over zeroconf channels
This commit is contained in:
parent
df739956ab
commit
306d26357e
@ -1302,4 +1302,40 @@ def test_zeroconf_open(bitcoind, node_factory):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def test_zeroconf_forward(node_factory, bitcoind):
|
||||||
|
"""Ensure that we can use zeroconf channels in forwards.
|
||||||
|
|
||||||
|
Test that we add routehints using the zeroconf channel, and then
|
||||||
|
ensure that l2 uses the alias from the routehint to forward the
|
||||||
|
payment. Then do the inverse by sending from l3 to l1, first hop
|
||||||
|
being the zeroconf channel
|
||||||
|
|
||||||
|
"""
|
||||||
|
plugin_path = Path(__file__).parent / "plugins" / "zeroconf-selective.py"
|
||||||
|
opts = [
|
||||||
|
{},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
'plugin': str(plugin_path),
|
||||||
|
'zeroconf-allow': '022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
l1, l2, l3 = node_factory.get_nodes(3, opts=opts)
|
||||||
|
|
||||||
|
l1.connect(l2)
|
||||||
|
l1.fundchannel(l2, 10**6)
|
||||||
|
bitcoind.generate_block(6)
|
||||||
|
|
||||||
|
l2.connect(l3)
|
||||||
|
l2.fundwallet(10**7)
|
||||||
|
l2.rpc.fundchannel(l3.info['id'], 10**6, mindepth=0)
|
||||||
|
wait_for(lambda: l3.rpc.listincoming()['incoming'] != [])
|
||||||
|
|
||||||
|
inv = l3.rpc.invoice(42 * 10**6, 'inv1', 'desc')['bolt11']
|
||||||
l1.rpc.pay(inv)
|
l1.rpc.pay(inv)
|
||||||
|
|
||||||
|
# And now try the other way around: zeroconf channel first
|
||||||
|
# followed by a public one.
|
||||||
|
wait_for(lambda: len(l3.rpc.listchannels()['channels']) == 4)
|
||||||
|
inv = l1.rpc.invoice(42, 'back1', 'desc')['bolt11']
|
||||||
|
l3.rpc.pay(inv)
|
||||||
|
Loading…
Reference in New Issue
Block a user