Don't send payment secret when using keysend#2574
Conversation
Apparently lnd rejects keysend payments that contain a payment secret, instead of simply ignoring that field. The blip doesn't mention this requirement: https://github.com/lightning/blips/blob/master/blip-0003.md But we don't have a strong reason to send it either, so let's remove that.
|
I've built and tested this branch on regtest and can confirm that sending keysend payments now works to both LND and CLN nodes. |
|
Keysend from LND -> Eclair works as well on this branch. However, CLN -> Eclair fails with |
That's surprising, can you share logs for that failure? |
|
Found them: This if for the CLN command: |
|
Got it, this is somewhat independent of keysend. By default eclair uses very safe values for expiry deltas, but when using keysend we can't communicate that to the payer so they may use smaller values. This is generally an issue because accepting that payment creates a risk that if your peer force-closes, you won't be able to get the funds back in time... You can change that default value in your We could relax that for keysend, but this is a bit painful to do, I'd rather have senders behave well and send a bigger expiry delta here...I recommend checking what delta |
|
I noticed when one sets: eclair fails with One needs to explicitly set I am considering creating a PR that adds doc for keysend because I spent many hours getting CLN to work with Eclair. Is that okay? @t-bast |
Apparently lnd rejects keysend payments that contain a payment secret, instead of simply ignoring that field.
The blip doesn't mention this requirement:
https://github.com/lightning/blips/blob/master/blip-0003.md
But we don't have a strong reason to send it either, so let's remove that.
Waiting for @kiwiidb to confirm that this fixes the lnd compatibility issues.