Separate between fee related NoPathFound and other causes when doing lightning payments/forwards #9466
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to #9433 (comment). Adds a bool flag to
NoPathFoundexception that can be used to determine if the exception could be caused by a too low fee or if it has another cause when catching it. This information is then be used to send eitherOnionFailureCode.TRAMPOLINE_FEE_INSUFFICIENTorOnionFailureCode.UNKNOWN_NEXT_PEERwhen failing to forward a trampoline payment, so we don't always returnTRAMPOLINE_FEE_INSUFFICIENTeven if maybe there is no channel available at all (so raising fees would be useless).The flag could also be used client side, for example to show the user that a payment maybe failed because of a too low fee instead of just showing that it failed without reason as we use the
NoPathFoundexception too.However, maybe there is a more elegant version than a bool flag, like an additional exception (
NoPathTooLowFee)?