From 0bd761f7ef98fbe819d9849a1cc30cc37e3559dd Mon Sep 17 00:00:00 2001 From: Michael Schmoock Date: Tue, 15 Jun 2021 11:39:41 +0200 Subject: [PATCH] drain: fix waitsendpay timeout could have been negative --- drain/drain.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drain/drain.py b/drain/drain.py index 6eb3d0f..4660c52 100755 --- a/drain/drain.py +++ b/drain/drain.py @@ -280,7 +280,8 @@ def try_for_htlc_fee(plugin, payload, peer_id, amount, chunk, spendable_before): try: ours = get_ours(plugin, payload['scid']) plugin.rpc.sendpay(route, payment_hash, label) - result = plugin.rpc.waitsendpay(payment_hash, payload['retry_for'] + start_ts - int(time.time())) + running_for = int(time.time()) - start_ts + result = plugin.rpc.waitsendpay(payment_hash, max(payload['retry_for'] - running_for, 0)) if result.get('status') == 'complete': payload['success_msg'] += ["%dmsat sent over %d hops to %s %dmsat [%d/%d]" % (amount + fees, len(route), payload['command'], amount, chunk + 1, payload['chunks'])] # we need to wait for HTLC to resolve, so remaining amounts