Skip to content

lnwire: validate MuSig2 nonces in LocalNoncesData decode#10693

Merged
Roasbeef merged 1 commit intolightningnetwork:masterfrom
erickcestari:validate-musig2-nonces-in-local-nonces
Mar 31, 2026
Merged

lnwire: validate MuSig2 nonces in LocalNoncesData decode#10693
Roasbeef merged 1 commit intolightningnetwork:masterfrom
erickcestari:validate-musig2-nonces-in-local-nonces

Conversation

@erickcestari
Copy link
Copy Markdown
Collaborator

Validate each nonce in decodeLocalNoncesData with ValidateMusig2Nonce to reject malformed entries.

This is a small PR that validate the musig2 nonces in LocalNoncesData when decoding. I forgot to validate this type on #10650.

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, 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 improves the robustness of the LocalNoncesData decoding process by introducing mandatory validation for MuSig2 nonces. By ensuring that nonces are validated immediately upon decoding, the system can now reliably reject malformed entries, addressing a previously overlooked validation step.

Highlights

  • Nonce Validation: Added a call to ValidateMusig2Nonce during the decoding process of LocalNoncesData to ensure that only valid nonces are accepted.
  • Test Refactoring: Updated test helpers to use a generic nonce generator, ensuring that test data remains valid under the new validation rules.

🧠 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 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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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.

Footnotes

  1. 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.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a 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 adds MuSig2 nonce validation to the decoding logic in lnwire/local_nonces.go. The associated tests in lnwire/local_nonces_test.go were updated to use makeNonce and accommodate the new validation. Feedback suggests adding a specific test case to verify that malformed nonces are properly rejected during decoding.

Comment thread lnwire/local_nonces_test.go
@erickcestari erickcestari force-pushed the validate-musig2-nonces-in-local-nonces branch from 0678985 to 6959c51 Compare March 30, 2026 14:28
@saubyk saubyk added this to lnd v0.22 Mar 30, 2026
@saubyk saubyk moved this from Todo to In progress in lnd v0.22 Mar 30, 2026
Copy link
Copy Markdown
Member

@Roasbeef Roasbeef left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🦂

Linter failing, the rest look like flakes.

@yyforyongyu
Copy link
Copy Markdown
Member

Pending linter fixes, otherwise LGTM

Validate each nonce in decodeLocalNoncesData with
ValidateMusig2Nonce to reject malformed entries.
@erickcestari erickcestari force-pushed the validate-musig2-nonces-in-local-nonces branch from 6959c51 to 05f04f7 Compare March 31, 2026 12:22
@erickcestari
Copy link
Copy Markdown
Collaborator Author

Thanks for the review! Updated! The linter issues should be fixed.

@Roasbeef Roasbeef merged commit af38986 into lightningnetwork:master Mar 31, 2026
41 of 44 checks passed
@github-project-automation github-project-automation bot moved this from In progress to Done in lnd v0.22 Mar 31, 2026
@saubyk saubyk removed this from lnd v0.22 Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants