mirror of
https://github.com/ElementsProject/lightning.git
synced 2026-08-17 13:06:36 +02:00
We remove the auxiliary RPC renesenday (only used internally) in favor of a function that builds the onion, stores the shared secrets needed to recover the onion reply, and calls sendonion/injectpaymentonion. This solves a concurrency race ``` **BROKEN** plugin-cln-renepay: Unable to parse sendpay_failure ``` in which we are waiting for renesenday to return in order to record the shared secrets but we get the a sendpay_failure notification with an onionreply before we have secrets to decode it. It also solves a missing JSON id seen in the logs ``` DEBUG plugin-cln-renepay: JSON reply with unknown id ``` because renesendpay was using his command variable to issue an RPC to sendonion/injecpaymentonion and would fail or succeed the command before those RPCs were done. This also meant that the callback functions were silently being ignored. Changelog-Fixed: renepay: fixes a race condition that leads to **BROKEN** plugin-cln-renepay: Unable to parse sendpay_failure Signed-off-by: Lagrang3 <lagrang3@protonmail.com> |
||
|---|---|---|
| .. | ||
| test | ||
| chan_extra.c | ||
| chan_extra.h | ||
| dijkstra.c | ||
| dijkstra.h | ||
| disabledmap.c | ||
| disabledmap.h | ||
| errorcodes.c | ||
| errorcodes.h | ||
| flow.c | ||
| flow.h | ||
| json.c | ||
| json.h | ||
| main.c | ||
| Makefile | ||
| mcf.c | ||
| mcf.h | ||
| mods.c | ||
| mods.h | ||
| payment.c | ||
| payment.h | ||
| payment_info.h | ||
| payplugin.h | ||
| renepayconfig.h | ||
| route.c | ||
| route.h | ||
| routebuilder.c | ||
| routebuilder.h | ||
| routefail.c | ||
| routefail.h | ||
| routetracker.c | ||
| routetracker.h | ||
| uncertainty.c | ||
| uncertainty.h | ||