core-lightning/plugins/askrene
Lagrang3 bd8cc1fb1f askrene: detect and cancel flow cycles
Flow cycles can occur if we have arc zero arc costs.
The previous path construction from the flow in the network assumed the
absence of such cycles and would enter an infinite loop if it hit one.

With his patch wee add cycle detection and removal during the path
construction phase.

Reported-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
Changelog-EXPERIMENTAL: `askrene` infinite loop fixed
2024-10-15 09:58:04 +10:30
..
askrene.c askrene: constrain to exact htlc_min/htlc_max values. 2024-10-15 09:58:04 +10:30
askrene.h askrene: give notifications back to caller as we go. 2024-10-15 09:58:04 +10:30
dijkstra.c askrene: copy flow and dijkstra from renepay. 2024-08-07 20:35:30 +09:30
dijkstra.h askrene: copy flow and dijkstra from renepay. 2024-08-07 20:35:30 +09:30
explain_failure.c askrene: give notifications back to caller as we go. 2024-10-15 09:58:04 +10:30
explain_failure.h askrene: give better feedback when we can't find a suitable route. 2024-10-04 11:27:53 +09:30
flow.c askrene: add a "refining" step to add fees and handle corner cases. 2024-09-19 12:16:53 +09:30
flow.h askrene: add a "refining" step to add fees and handle corner cases. 2024-09-19 12:16:53 +09:30
layer.c askrene: more code tweaks on feedback from Lagrang3. 2024-10-04 11:27:53 +09:30
layer.h askrene: more code tweaks on feedback from Lagrang3. 2024-10-04 11:27:53 +09:30
Makefile askrene: give better feedback when we can't find a suitable route. 2024-10-04 11:27:53 +09:30
mcf.c askrene: detect and cancel flow cycles 2024-10-15 09:58:04 +10:30
mcf.h askrene: include the mcf and flow routines. 2024-08-07 20:35:30 +09:30
refine.c askrene: don't give up if we hit htlc_max and have no other flows. 2024-10-15 09:58:04 +10:30
refine.h askrene: move flow refining code to its own file. 2024-09-19 12:16:53 +09:30
reserve.c askrene: give better feedback when we can't find a suitable route. 2024-10-04 11:27:53 +09:30
reserve.h askrene: give better feedback when we can't find a suitable route. 2024-10-04 11:27:53 +09:30