[WIP] MPP record support for QueryRoutes/SendToRoute (#9952)#10770
[WIP] MPP record support for QueryRoutes/SendToRoute (#9952)#10770code-orange-dev wants to merge 2 commits intolightningnetwork:masterfrom
Conversation
Add MPP record support to QueryRoutes and SendToRoute. Relates-to: lightningnetwork#9952
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces the initial planning and documentation for adding Multi-Path Payment (MPP) record support to the QueryRoutes and SendToRoute RPC calls. It serves as a roadmap for upcoming changes to the protocol buffers, router implementation, and command-line interface. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
🟢 PR Severity: LOW
🟢 Low (1 file)
AnalysisThis PR adds a single markdown changelog file ( To override, add a |
Add payment_addr support to QueryRoutes and mpp_record support to SendToRoute for multi-path payments. Changes: - Add payment_addr field to QueryRoutesRequest proto - Add payment_addr flag to lncli queryroutes command - Add mpp_record field to SendToRouteRequest in router.proto This allows users to: - Query routes with MPP payment address included - Send payments via SendToRoute with MPP records Fixes lightningnetwork#9952 🍊 Code Orange Dev School contribution
🟠 PR Severity: HIGH
🟠 High (2 files)
🟡 Medium (1 file)
🟢 Low (1 file)
AnalysisThis PR modifies The previous To override, add a |
There was a problem hiding this comment.
Code Review
This pull request introduces an implementation guide for LND #9952, outlining changes to Protobuf definitions, the router, and the CLI to support multi-path payments. Review feedback identified several technical inaccuracies in the guide, including field number collisions in QueryRoutesRequest and SendToRouteRequest, the incorrect file location for QueryRoutesRequest, and a redundant definition of the MPPRecord message which conflicts with the existing implementation.
| ### 1. lnrpc/routerrpc/router.proto | ||
| Add to `QueryRoutesRequest`: | ||
| ```protobuf | ||
| bytes payment_addr = 15; |
There was a problem hiding this comment.
Field number 15 is already occupied by last_hop_pubkey in QueryRoutesRequest (see lnrpc/lightning.proto line 3327). Additionally, QueryRoutesRequest is defined in lnrpc/lightning.proto, not lnrpc/routerrpc/router.proto. Please use the next available field number, which is 21, in the correct file.
| bytes payment_addr = 15; | |
| bytes payment_addr = 21; |
|
|
||
| Add to `SendToRouteRequest`: | ||
| ```protobuf | ||
| MPPRecord mpp_record = 3; |
| message MPPRecord { | ||
| bytes payment_addr = 1; | ||
| uint64 total_amt_msat = 2; | ||
| } |
There was a problem hiding this comment.
The MPPRecord message is already defined in lnrpc/lightning.proto (lines 3488-3505) with field numbers 11 and 10. Redefining it with field numbers 1 and 2 would be a breaking change and is inconsistent with the existing definition. This section should be updated to match the existing definition or removed.
Work in Progress
Adds MPP record support to QueryRoutes and SendToRoute RPC calls.
TODO
See CHANGE-9952.md for implementation guide.
Relates-to: #9952
🍊 Contributed via Code Orange Dev School