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

Paying invoice after expiry #209

Closed
jackeveritt opened this issue Aug 30, 2019 · 2 comments
Closed

Paying invoice after expiry #209

jackeveritt opened this issue Aug 30, 2019 · 2 comments

Comments

@jackeveritt
Copy link

jackeveritt commented Aug 30, 2019

I was able to pay an expired lightning invoice in version 0.4.8, android.

  1. Open an invoice in the app to reveal the payment screen.
  2. Tap on the amount field to show the keyboard (I am not sure if the step is required, but it helps keep the app in focus - the screen must not go to sleep)
  3. Wait until the invoice should have expired
  4. The screen is still on the payment screen with the keyboard
  5. Tap on the Pay button

Result: Payment goes through to my LND via BTCPayServer.

I would expect this to not go through because according to the bolt 11 spec:

A payer:
after the timestamp plus expiry has passed:
SHOULD NOT attempt a payment.

Source: https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md#payer--payee-requirements

@jackeveritt
Copy link
Author

I tried the same proceedure to a C-Lightning Node and although eclair still attempted the payment, it was rejected with the error:

"incorrect payment amount or unknown payment hash"
RemoteFailure

@t-bast
Copy link
Member

t-bast commented Sep 2, 2019

Thanks for reporting this issue @jackeveritt
This is an easy fix, we'll include that before our next release.
I'm very surprised that the payment goes through to the lnd node. They should reject the payment like c-lightning does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants