Skip to content

Consider enhancing LSP heuristic when probing a payment #9994

Open
@ziggie1984

Description

@ziggie1984

Consider not defaulting to the LSP heuristic in case the assumed LSP Destination is not known to the graph.

Separated it out from #9991

Context from the Boltz team:

Because it's a special routing hint, see https://docs.boltz.exchange/api/magic-routing-hints. I think it makes a lot of sense instead of failing probes to non-existent routing hints to drop the assumption that this is an LSP. And instead probe the invoice's node. Just like Ziggie said.

Let me add some background info of how we even got here: It started out with the issue that Binance Lightning withdrawals into Boltz swaps were failing. We then went on a very tedious journey to find out that they do probing, figured out which exact probing method in LND Binance was using (EstimateRouteFee with payment_request + timeout, NOT dest+amt_sat) to then read LND's code to find out that it assumes that our Magic Routing Hints, which are present in a lot of swap invoices by now, is seen as a LSP and thus make the probe and thus the withdrawal fail.

Setting LSP to false if the routing hint is not a known public node solves the issue and hopefully saves this incredible debug timesink to anyone who does similar things in the future.

Hope that helps!

Originally posted by @kilrau in #9991 (comment)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions