Description:
When a withdrawal via LNURLw fails, the withdrawal count (used) in the UI increments, preventing the same LNURLw from being reused. This issue can be reproduced, if the failure is instantaneous e.g.when a payment is rejected because it originates from the same LND node (self-payments are in some cases not allowed by LND).
Steps to Reproduce:
Create a new LNURLw with a limit of one withdrawal.
Attempt to make a withdrawal by sending an invoice from the same LND node back to the LNURLw callback for payment.
Observe that the payment fails immediately with the error self-payments not allowed (by LND)
Note that the withdrawal count has incremented, and the LNURLw can no longer be reused.
Expected Behavior:
If a payment fails instantly (e.g., due to self-payments not allowed), the withdrawal count should decrease again and the same LNURLw should be available for reuse.
Additional Consideration:
Optionally, if a payment remains pending and is later invalidated, it would be beneficial if the same LNURLw could be reused in these scenarios as well.
Versions:
Description: When a withdrawal via LNURLw fails, the withdrawal count (
used
) in the UI increments, preventing the same LNURLw from being reused. This issue can be reproduced, if the failure is instantaneous e.g.when a payment is rejected because it originates from the same LND node (self-payments are in some cases not allowed by LND).Steps to Reproduce:
Expected Behavior: If a payment fails instantly (e.g., due to self-payments not allowed), the withdrawal count should decrease again and the same LNURLw should be available for reuse.
Additional Consideration: Optionally, if a payment remains pending and is later invalidated, it would be beneficial if the same LNURLw could be reused in these scenarios as well.