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

Implement the KeySend feature, spontaneous payments #1485

Merged
merged 24 commits into from
Jul 21, 2020

Conversation

dariuskramer
Copy link
Contributor

What is KeySend?

For an explanation of the feature see the PR from c-lightning.

Testing

Support for receiving and sending is added. This was tested against each Lightning implementations (Sender -> Receiver):

  • Eclair -> Eclair
  • Eclair -> lnd
  • Eclair -> c-lightning
  • lnd -> Eclair

Sending support is not currently merged in c-lightning, so testing in this way c-lightning -> Eclair cannot be performed yet.

@t-bast t-bast self-requested a review July 10, 2020 15:34
@dariuskramer dariuskramer marked this pull request as draft July 10, 2020 15:55
Copy link
Member

@t-bast t-bast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job, this is very clean for a first PR!
I've put many comments for things you simply couldn't have guessed.

This needs some tests for the payment reception part, here is what comes to mind:

  • test we can receive a single HTLC keysend payment
  • test we can receive a multipart keysend payment (with two HTLCs)
  • test we reject keysend payments when the feature is disabled in nodeParams.features

This will allow you to touch many of our infrastructure code, it's great ;)

Copy link
Member

@t-bast t-bast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks good, once we have tests we should be good to go!

Donovan Jean added 8 commits July 21, 2020 14:42
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Donovan Jean added 14 commits July 21, 2020 14:43
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Signed-off-by: Donovan Jean <donovan@acinq.fr>
@dariuskramer dariuskramer marked this pull request as ready for review July 21, 2020 13:39
Signed-off-by: Donovan Jean <donovan@acinq.fr>
Copy link
Member

@t-bast t-bast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@dariuskramer dariuskramer merged commit e6909cf into master Jul 21, 2020
@t-bast t-bast deleted the feature/keysend branch August 11, 2020 07:51
pm47 pushed a commit that referenced this pull request May 1, 2021
Support for receiving and sending KeySend payment is added.

For an explanation of the KeySend feature see: ElementsProject/lightning#3611
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants