From ce12ff43bcfabac99c3d5067917c7152a4482c0e Mon Sep 17 00:00:00 2001 From: Jesse de Wit Date: Tue, 3 Dec 2024 09:50:40 +0100 Subject: [PATCH] tramp: never create zero value htlcs If a spendable channel balance exactly equals the amount, trampoline payment would create a zero value htlc. Never do that! --- libs/gl-plugin/src/tramp.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/gl-plugin/src/tramp.rs b/libs/gl-plugin/src/tramp.rs index 9b3d0b9fe..64a46b8bf 100644 --- a/libs/gl-plugin/src/tramp.rs +++ b/libs/gl-plugin/src/tramp.rs @@ -184,6 +184,10 @@ pub async fn trampolinepay( let mut acc = 0; let mut choosen = vec![]; while let Some(channel) = channels.pop() { + if acc == amount_msat { + break; + } + if (channel.spendable_msat + acc) <= amount_msat { choosen.push((channel.short_channel_id, channel.spendable_msat)); acc += channel.spendable_msat;