Skip to content

Commit 2f235eb

Browse files
committed
routerrpc: implement LSP heuristic and multi-LSP worst-case probing
This commit implements a comprehensive LSP (Lightning Service Provider) detection heuristic and updates the payment probing logic to handle multiple LSPs with worst-case fee estimation. Key changes: 1. LSP Detection Heuristic (isLSP function): Implements three rules to detect LSP setups: - Rule 1: If invoice target is public → NOT an LSP (route directly) - Rule 2: If at least one destination hop is public → IS an LSP - Rule 3: If all destination hops are private → NOT an LSP 2. LSP Route Preparation (prepareLspRouteHints function): - Groups route hints by unique public LSP nodes - Filters out non-LSP routes based on the heuristic - Tracks worst-case fees and CLTV delays for each LSP - Returns adjusted route hints with LSP hop stripped 3. Multi-LSP Probing (probePaymentRequest updates): - Probes up to 3 unique LSPs maximum (griefing protection) - Selects the WORST-CASE (most expensive) route for conservative fee estimation - Adds comprehensive debug logging for worst-case selection process - Properly formats vertex logging using %v (calls Vertex.String()) The worst-case approach ensures users won't be surprised by higher fees when the actual payment is sent, providing a more conservative and reliable fee estimate.
1 parent 9a82ef6 commit 2f235eb

File tree

1 file changed

+293
-139
lines changed

1 file changed

+293
-139
lines changed

0 commit comments

Comments
 (0)