-
Notifications
You must be signed in to change notification settings - Fork 268
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
Multi part payments #1153
Merged
Merged
Multi part payments #1153
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dc50621
to
8978973
Compare
pm47
reviewed
Oct 2, 2019
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/PaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/PaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
6ecf521
to
73bad53
Compare
28df3a2
to
3f6a30c
Compare
b53867e
to
bdc59ab
Compare
pm47
reviewed
Oct 23, 2019
pm47
reviewed
Oct 23, 2019
eclair-core/src/test/scala/fr/acinq/eclair/payment/PaymentRequestSpec.scala
Outdated
Show resolved
Hide resolved
pm47
reviewed
Oct 23, 2019
eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqlitePaymentsDb.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/LocalPaymentHandler.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentHandler.scala
Outdated
Show resolved
Hide resolved
pm47
reviewed
Oct 29, 2019
eclair-core/src/main/scala/fr/acinq/eclair/payment/PaymentInitiator.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/PaymentInitiator.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/payment/MultiPartPaymentLifecycle.scala
Outdated
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## master #1153 +/- ##
==========================================
+ Coverage 75.35% 76.25% +0.89%
==========================================
Files 135 138 +3
Lines 9082 9384 +302
Branches 358 374 +16
==========================================
+ Hits 6844 7156 +312
+ Misses 2238 2228 -10
|
Add multi-part invoice feature bits.
Invoices need to be configured to allow multi-part (disabled by default).
We use a state machine in front of PaymentLifecycle instances. In the future, implement some kind of GetMultiRouteRequest on the router might make sense.
ad0c081
to
ef6d674
Compare
pm47
added a commit
that referenced
this pull request
Nov 8, 2019
This takes currently ~1s on mainnet. See #1153 (comment).
Split payment files in multiple packages.
Invoice test vectors updated to match spec.
Reject payment with unsupported invoice features.
pm47
requested changes
Nov 12, 2019
pm47
approved these changes
Nov 12, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements lightning/bolts#643 (receive and send).
The PR spec is quite stable so I think we can start reviewing this and even merge to master soon-ish (since it doesn't require local/global feature bits, is turned off by default and we just did a release so we have time before the next one). This will make development of other features that depend on MPP easier.
Pending: