-
Notifications
You must be signed in to change notification settings - Fork 0
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
Lint 7298 #30
Commits on Nov 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4234a67 - Browse repository at this point
Copy the full SHA 4234a67View commit details
Commits on Nov 7, 2023
-
lnwire: create common encoder/decoder for raw feature vectors
We'll need to pack feature vectors for route blinding, so we pull the encoding/decoding out into separate functions (currently contained in ChannelType). Though it's more lines of code, we keep most of the ChannelType assertions so that we strictly enforce use of the alias.
Configuration menu - View commit details
-
Copy full SHA for c9b99b4 - Browse repository at this point
Copy the full SHA c9b99b4View commit details -
lnwire: add TLV encoding/decoding for blinded route data blobs
This commit adds encoding and decoding for blinded route data blobs. TLV fields such as path_id (which are only used for the final hop) are omitted to minimize the change size.
Configuration menu - View commit details
-
Copy full SHA for 1208d47 - Browse repository at this point
Copy the full SHA 1208d47View commit details
Commits on Nov 8, 2023
-
multi: add validation of blinded route encrypted data
Co-authored-by: Calvin Zachman <calvin.zachman@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 655f541 - Browse repository at this point
Copy the full SHA 655f541View commit details -
lnwire: add blinding point to update_add_htlc TLVs
Add blinding points to update_add_htlc. This TLV will be set for nodes that are relaying payments in blinded routes that are _not_ the introduction node.
Configuration menu - View commit details
-
Copy full SHA for 471f6b9 - Browse repository at this point
Copy the full SHA 471f6b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca7d483 - Browse repository at this point
Copy the full SHA ca7d483View commit details -
multi: add blinding point to payment descriptor and persist
This commit adds an optional blinding point to payment descriptors and persists them in our HTLC's extra data. A get/set pattern is used to populate the ExtraData on our disk representation of the HTLC so that callers do not need to worry about the underlying storage detail.
Configuration menu - View commit details
-
Copy full SHA for cf1cafb - Browse repository at this point
Copy the full SHA cf1cafbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8ad478c - Browse repository at this point
Copy the full SHA 8ad478cView commit details -
htlcswitch: add incoming amount and to decode hop iterator request
When we have payments inside of a blinded route, we need to know the incoming amount to be able to back-calculate the amount that we need to forward using the forwarding parameters provided in the blinded route encrypted data. This commit adds the payment amount to our DecodeHopIteratorRequest so that it can be threaded down to payment forwarding information creation in later commits.
Configuration menu - View commit details
-
Copy full SHA for 3efb0f2 - Browse repository at this point
Copy the full SHA 3efb0f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for df54ade - Browse repository at this point
Copy the full SHA df54adeView commit details -
htlcswitch/test: add encrypted data to blinded intermediate hop
Blinding points will always be accompanied by encrypted data, so update the test to more accurately represent reality.
Configuration menu - View commit details
-
Copy full SHA for 4b34449 - Browse repository at this point
Copy the full SHA 4b34449View commit details -
htlcswitch/test: add sphinx action to decoding test
Update test to include the sphinx action to more closely represent reality. This will be required when we add more validation to the presence of a nextChanID field. A MoreHops action is chose because we're testing the case with a payload that contains forwarding info.
Configuration menu - View commit details
-
Copy full SHA for f6bd217 - Browse repository at this point
Copy the full SHA f6bd217View commit details -
routing/test: set outgoing timelock on non-legacy test cases
Provide valid hop payloads for tests cases that use TLV onion format.
Configuration menu - View commit details
-
Copy full SHA for 2cd3e6e - Browse repository at this point
Copy the full SHA 2cd3e6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for db41739 - Browse repository at this point
Copy the full SHA db41739View commit details -
htlcswitch/hop: explicitly signal final hop from sphinx packet
Previously, we were using nextChanID to determine whether a hop payload is for the final recipient. This is no longer suitable in a route-blinding world where intermediate hops are allowed to have zero nextChanID TLVs (as this information is provided to forwarding nodes in their encrypted data). This commit updates payload reading to use the signal provided by sphinx that we are on the last packet, rather than implying it from the contents of a hop.
Configuration menu - View commit details
-
Copy full SHA for f9a9daa - Browse repository at this point
Copy the full SHA f9a9daaView commit details -
multi: explicitly signal final hop in pack hop payload
Previously, we'd use the value of nextChanID to infer whether a payload was for the final hop in a route. This commit updates our packing logic to explicitly signal to account for blinded routes, which allow zero value nextChanID in intermediate hops. This is a preparatory commit that allows us to more thoroughly validate payloads.
Configuration menu - View commit details
-
Copy full SHA for 3a41177 - Browse repository at this point
Copy the full SHA 3a41177View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8db2488 - Browse repository at this point
Copy the full SHA 8db2488View commit details -
hltcswitch/hop: add next hop to intermediate hop with custom records
Fix our existing test to have a valid intermediate hop that will pass stricter validation. Previously, we did not specify a next channel for an intermediate hop (which violates bolt4).
Configuration menu - View commit details
-
Copy full SHA for c41d5c7 - Browse repository at this point
Copy the full SHA c41d5c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef1d514 - Browse repository at this point
Copy the full SHA ef1d514View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f1af43 - Browse repository at this point
Copy the full SHA 3f1af43View commit details -
Configuration menu - View commit details
-
Copy full SHA for e470192 - Browse repository at this point
Copy the full SHA e470192View 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 ac97800 - Browse repository at this point
Copy the full SHA ac97800View 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. The concept of a BlindingKey is separated into a separate struct so that it can be used independently of the kit (which is specifically used to process encrypted blobs). This abstraction will be used later to help determine how we handle errors.
Configuration menu - View commit details
-
Copy full SHA for 082d8c5 - Browse repository at this point
Copy the full SHA 082d8c5View 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 98504bd - Browse repository at this point
Copy the full SHA 98504bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 836e292 - Browse repository at this point
Copy the full SHA 836e292View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b4d097 - Browse repository at this point
Copy the full SHA 2b4d097View commit details -
htlcswitch: set forwarding information from encrypted data
If we received a payload with a blinding 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 43b7d1c - Browse repository at this point
Copy the full SHA 43b7d1cView 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 e41e7a4 - Browse repository at this point
Copy the full SHA e41e7a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a8bfe4 - Browse repository at this point
Copy the full SHA 8a8bfe4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 277cf41 - Browse repository at this point
Copy the full SHA 277cf41View 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 b0f5ca8 - Browse repository at this point
Copy the full SHA b0f5ca8View commit details