-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[2/3]: Support Forwarding of Blinded Payments #8160
[2/3]: Support Forwarding of Blinded Payments #8160
Commits on Apr 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 7fd9c2a - Browse repository at this point
Copy the full SHA 7fd9c2aView commit details -
hop: add function for calculating forwarding amount
Co-authored-by: Calvin Zachman <calvin.zachman@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 019b8fa - Browse repository at this point
Copy the full SHA 019b8faView commit details
Commits on Apr 3, 2024
-
multi: add option to disable route blinding, rejecting at link
Add an option to disable route blinding, failing back any HTLC with a blinding point set when we haven't got the feature enabled. Note that this commit only handles the case where we're chosen as the relaying node (where the blinding point is in update_add_htlc), we'll add handling for the introduction node case once we get to handling of blinded payloads).
Configuration menu - View commit details
-
Copy full SHA for 040fcb0 - Browse repository at this point
Copy the full SHA 040fcb0View commit details -
htlcswitch: add blinding kit to handle encrypted data in blinded routes
This commit introduces a blinding kits which abstracts over the operations required to decrypt, deserialize and reconstruct forwarding data from an encrypted blob of data included for nodes in blinded routes.
Configuration menu - View commit details
-
Copy full SHA for 03f6c5c - Browse repository at this point
Copy the full SHA 03f6c5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for ca6d414 - Browse repository at this point
Copy the full SHA ca6d414View commit details -
htlcswitch: add NextBlinding to ForwardingInfo and set in UpdateAddHtlc
When we have a HTLC that is part of a blinded route, we need to include the next ephemeral blinding point in UpdateAddHtlc for the next hop. The way that we handle the addition of this key is the same for introduction nodes and relaying nodes within the route.
Configuration menu - View commit details
-
Copy full SHA for da76d05 - Browse repository at this point
Copy the full SHA da76d05View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e6fae3 - Browse repository at this point
Copy the full SHA 1e6fae3View commit details -
multi: return parsed types from payload
To separate blinded route parsing from payload parsing, we need to return the parsed types map so that we can properly validate blinded data payloads against what we saw in the onion.
Configuration menu - View commit details
-
Copy full SHA for 2029a06 - Browse repository at this point
Copy the full SHA 2029a06View commit details -
htlcswitch: set forwarding information from encrypted data
If we received a payload with a encrypted data point set, our forwarding information should be set from the information in our encrypted blob. This behavior is the same for introduction and relying nodes in a blinded route.
Configuration menu - View commit details
-
Copy full SHA for 6d41037 - Browse repository at this point
Copy the full SHA 6d41037View commit details -
htlcswitch: reject HTLCs that use use as introduction if disabled
Reject any HTLCs that use us as an introduction point in a blinded route if we have disabled route blinding. We have to do this after we've processed the payload, because we only know we're an introduction point once we've processed the payload itself.
Configuration menu - View commit details
-
Copy full SHA for 7e4f3d3 - Browse repository at this point
Copy the full SHA 7e4f3d3View commit details -
lntest: add setup for blinded route forwarding itest
Note: the itest is broken up into multiple commits to make it more readable, they can be squashed post-review.
Configuration menu - View commit details
-
Copy full SHA for a72aaa3 - Browse repository at this point
Copy the full SHA a72aaa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 58dda83 - Browse repository at this point
Copy the full SHA 58dda83View commit details -
Configuration menu - View commit details
-
Copy full SHA for 69e1162 - Browse repository at this point
Copy the full SHA 69e1162View commit details -
lntest: dispatch and intercept payment to blinded route
We don't support receiving blinded in this PR - just intercept and settle instead. The HTLC's arrival on the interceptor indicates that it was successfully forwarded on a blinded hop.
Configuration menu - View commit details
-
Copy full SHA for 0d9a184 - Browse repository at this point
Copy the full SHA 0d9a184View commit details -
lncfg: disable allowing blinded routes in daemon but not itests
This commit turns off route blinding for the daemon while we're waiting on full handling for blinded errors. The feature remains on for itests so that tests covering blinding can run as usual.
Configuration menu - View commit details
-
Copy full SHA for 6e5eead - Browse repository at this point
Copy the full SHA 6e5eeadView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2188dd9 - Browse repository at this point
Copy the full SHA 2188dd9View commit details