Description
With AddInvoice
we should be able to automatically skip dead end wallet nodes from RFQ process.
Consider the following network
TAP
------------------------------------------------------
| SAT TAP |
| --------------------------------------- |
| | SAT TAP | |
| | ----------------------- | |
| | | SAT | | |
v v v | | |
james kevin larry | | |
^ ^ ^ | | |
S| S| S| | | |
A| A| A| | | |
T| T| T| | | |
TAP v v v TAP v v v TAP
alice <----> bob <----> charlie <----> dave <----> edward <----> frank <----> nicole
SAT ^ SAT ^ SAT ^ SAT SAT ^ SAT
S|T S|T S|T S|T
A|A A|A A|A A|A
T|P T|P T|P T|P
v v v v
goerge henry irina matt
If frank wants to create a multi-RFQ asset invoice to give to bob, he likely wants to use james, kevin, larry, and edward, but he does not want to use dead end wallet nodes like matt and nicole because bob will never be able to route a payment through them. If there are many dead end wallet nodes connected to frank, it wastes time doing the RFQ with them and it wastes space in the invoice by adding unnecessary hop hints. Also, matt and/or nicole may have poor rates, driving up the invoice sats amount unnecessarily (since we currently use the worst quote to set the sats value). Right now without this feature request, an RFQ is done with matt and nicole too.