From 3d3c7f75ba4cadd0f2d1bc4bbaf44f7ca9610791 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Sun, 19 Jan 2020 12:54:33 +0100 Subject: [PATCH] noise: Allow malformed onion if it's the last hop This was counted as a failure before, but it actually means we delivered successfully. --- noise/noise.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/noise/noise.py b/noise/noise.py index d5219b8..efd59e5 100755 --- a/noise/noise.py +++ b/noise/noise.py @@ -90,9 +90,9 @@ def deliver(node_id, payload, amt, max_attempts=5, payment_hash=None): plugin.rpc.waitsendpay(payment_hash=payment_hash) return {'route': route, 'payment_hash': payment_hash, 'attempt': attempt} except RpcError as e: - print(e) failcode = e.error['data']['failcode'] - if failcode == 16399: + failingidx = e.error['data']['erring_index'] + if failcode == 16399 or failingidx == len(hops): return {'route': route, 'payment_hash': payment_hash, 'attempt': attempt+1} plugin.log("Retrying delivery.")