Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

routing: return nicer error message when routes fail due to the fee limit #2660

Closed
3 tasks
Roasbeef opened this issue Feb 20, 2019 · 5 comments
Closed
3 tasks
Labels
error messages gRPC intermediate Issues suitable for developers moderately familiar with the codebase and LN P2 should be fixed if one has time payments Related to invoices/payments routing nodes routing

Comments

@Roasbeef
Copy link
Member

Roasbeef commented Feb 20, 2019

Today when making a payment or requesting a route, a payment can fail if hits the specified fee limit. The default value is 100% (should definitely be lowered), so a routine payment of 1 satoshi can at times fail since many nodes (on testnet at least) enforce a 1 satoshi base fee. In order to make this error more actionable for users and also GUIs, we should return a concrete error if path finding fails due to the fee limit. Atm, we just let that error go, and attempt to move unto the next route.

Related to #1662.

Steps To Completion

  • In findPath, keep track of unexplored routes due to fee limit errors.

  • If no route is found, then if all of our past errors were due to violating the fee limit, then return a new concrete error.

  • Amend the relevant RPC servers (and possibly sub-servers) to expose this new error to the caller.

@Roasbeef Roasbeef added gRPC intermediate Issues suitable for developers moderately familiar with the codebase and LN routing payments Related to invoices/payments routing nodes error messages labels Feb 20, 2019
@orbitalturtle
Copy link
Contributor

Taking this

@joostjager
Copy link
Collaborator

@Roasbeef I don't think it is as easy as the steps to completion suggest.

  • Even if not all of our past errors were due to violating the fee limit, it could be that increasing the fee limit fixes the problem. There could for example be a channel temporarily unavailable error among them.
  • It could be that a route is unexplored because of the fee limit, but that increasing the fee limit would still yield no route, because there is for example no connection at all further down the route.

I think we need to think carefully about our options to provide better feedback.

@joostjager
Copy link
Collaborator

Also there may be multiple errors causing routing to fail. For example some routes failing because of the fee limit, others because of the cltv limit and a third set because of an outgoing channel restriction. Returning a single error wouldn't cover that situation.

@saubyk
Copy link
Collaborator

saubyk commented Nov 1, 2023

Can this issue be closed in-lieu of Attributable errors proposal (lightning/bolts#1044)?

@saubyk saubyk added the P2 should be fixed if one has time label Nov 1, 2023
@saubyk
Copy link
Collaborator

saubyk commented Nov 11, 2023

Closing this issue, as it's better to build it based on feedback received from wallet and app developers

@saubyk saubyk closed this as completed Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
error messages gRPC intermediate Issues suitable for developers moderately familiar with the codebase and LN P2 should be fixed if one has time payments Related to invoices/payments routing nodes routing
Projects
None yet
Development

No branches or pull requests

4 participants