mirror of
https://github.com/ZmnSCPxj/clboss.git
synced 2026-08-13 12:33:20 +02:00
The reviewed askrene circular patch translates the final hop of every circular route back to real terms before returning: node_id_out is our own id and short_channel_id_dir names the actual return channel the route was priced against. With parallel channels to the same fill peer, only askrene knows which one it chose -- matching by peer could pick the wrong parallel channel, mis-keying the plan and the per-channel bookkeeping. Trust the response instead of reconstructing it: delete find_fill_scid (guess-by-peer) and build_sendpay_route's final-hop rewrite, so every hop maps 1:1 into sendpay format. In their place, validate the final hop before sending: node_id_out must be our own id (an untranslated hop means this clboss is paired with a CLN lineage older than the reviewed patch) and the return channel must be among dest_scids (structurally guaranteed by the transient masks; refusing catches the impossible). The channels listing is no longer needed at execute time, so do_execute drops the parameter. |
||
|---|---|---|
| .. | ||
| Claimer.cpp | ||
| Claimer.hpp | ||
| Main.cpp | ||
| Main.hpp | ||