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

Feature Request: #PickhardtPayments round amount up instead of artificially reducing capacity #79

Open
C-Otto opened this issue Dec 19, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@C-Otto
Copy link
Owner

C-Otto commented Dec 19, 2022

Is your feature request related to a problem? Please describe.
When using #PickhardtPayments to send a payment, the fees for each resulting route need to be paid on top of the actual amount. This isn't taken into consideration when looking for routes, which is why (for expensive routes) the resulting routes might not be suitable.

A similar problem exists when sending amounts that cannot be expressed using the quantization amount, e.g. sending 14,000sat with the quantization amount set to 5,000sat. In this example, the algorithm would try to find routes for two "units" (each worth 5,000sat) and, if such routes are found, add the remaining 4,000sat to one of them.

To avoid this issue, currently the (assumed available) capacity of each channel is reduced by one "unit" (quantization amount), so that a bit of leeway exists for fees and rounding issues.

Describe the solution you'd like
Instead, it could be a better idea to artificially inflate the requested amount. In the example above, when sending out 14,000sat with the quantization amount set to 5,000sat, we could search for routes that can be used to send out 15,000sat instead. If such routes are found, we can adapt the amount(s) before sending out the actual payment(s).

@C-Otto C-Otto added the enhancement New feature or request label Dec 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant