-
Notifications
You must be signed in to change notification settings - Fork 2.2k
release: create v0.19.3-rc2 branch #10152
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
Conversation
We check the context of the payment lifecycle at the beginning of the `resumepayment` loop. This will make sure we have always the latest state of the payment before deciding on the next steps in the function `decideNextStep`.
We add a new update type to the payment descriptor to describe this new type of htlc. This type of HTLC will only end up being set if explicitly signalled by external software.
We also add the IsAdd helper to the AuxHtlcDescriptor, as external software using the aux framework might want to know which type of HTLC this is.
We update the lightning channel state machine in some key areas. If the noop TLV is set in the update_add_htlc custom records then we change the entry type to noop. When settling the HTLC if the type is noop we credit the satoshi amount back to the sender.
Adds some simple tests to check the noop HTLC logic of the lightning channel.
To make sure we don't cause force-closures because of commit sig mismatches, we add a test case to verify that the retransmitted HTLC matches the original HTLC.
Pull reviewers statsStats of the last 30 days for lnd:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @guggero, 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 prepares for the v0.19.3-rc2 release by integrating several key updates. It includes a significant Go version bump to 1.23.12 across the project's build, development, and documentation configurations. Additionally, it introduces "NoOp HTLCs" which allow for sending HTLCs that carry metadata without affecting channel balances, primarily for channels with a tapscript root. Finally, it incorporates a critical fix to ensure that all outstanding payment attempts are properly resolved even if the overall payment lifecycle times out or is cancelled.
Highlights
- Go Version Update: The project's Go version has been upgraded to 1.23.12 across all relevant files, including go.mod, Dockerfiles, Makefiles, and installation documentation, addressing a potential SQL API issue.
- NoOp HTLCs Introduction: A new type of HTLC, "NoOp HTLCs," has been implemented, enabling the transfer of metadata without altering channel balances. This feature is specifically designed for channels utilizing a tapscript root and includes logic to handle balance adjustments based on channel reserves.
- Payment Lifecycle Timeout Fix: A bug in the payment lifecycle has been resolved, ensuring that all pending payment attempts are correctly processed and resolved even if the payment context is cancelled or times out.
Using Gemini Code Assist
The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
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 .gemini/
folder in the base of the repository. Detailed instructions can be found here.
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.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request prepares for the v0.19.3-rc2
release. It primarily consists of bumping the Go version to 1.23.12
across various project files, improving the GitHub Actions caching key, and incorporating several bug fixes and features. Key changes include the introduction of 'NoOp HTLCs' to allow for metadata-only HTLCs on custom channels, and a fix in the payment lifecycle to ensure proper termination on timeout. The code changes are well-structured and include appropriate tests. I have one minor suggestion regarding code style.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, except some changes to the CI system which I cannot explain where they come from.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM🙏
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Added the version bump commit, will merge after CI ran. |
Includes the following PRs:
NoopAdd
HTLCs #9871