pyln-testing: adds helper wait_for_htlcs

Changelog-Added: pyln-testing adds wait_for_htlcs helper to settle HTLCs
This commit is contained in:
Michael Schmoock 2020-02-09 17:45:28 +01:00 committed by Rusty Russell
parent 972b4def57
commit 5f7cf307e7

View File

@ -790,6 +790,15 @@ class LightningNode(object):
if time.time() > start_time + timeout:
raise ValueError("Error waiting for a route to destination {}".format(destination))
# This helper waits for all HTLCs to settle
def wait_for_htlcs(self):
peers = self.rpc.listpeers()['peers']
for p, peer in enumerate(peers):
if 'channels' in peer:
for c, channel in enumerate(peer['channels']):
if 'htlcs' in channel:
wait_for(lambda: len(self.rpc.listpeers()['peers'][p]['channels'][c]['htlcs']) == 0)
def pay(self, dst, amt, label=None):
if not label:
label = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(20))