-
-
Notifications
You must be signed in to change notification settings - Fork 405
fix : Delayed broadcasting of voluntary exits #8496
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
base: unstable
Are you sure you want to change the base?
Conversation
Summary of ChangesHello @pheobeayo, 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 refines the handling of voluntary exits by implementing a sophisticated caching and re-evaluation system. Instead of outright rejecting voluntary exit submissions that are temporarily invalid due to timing or network conditions, the system now intelligently holds onto them. This change significantly improves the user experience by allowing for earlier submissions, enhances the robustness of DVT and multi-node validator setups, and lays groundwork for future protocol changes by gracefully managing pending withdrawals. Highlights
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. 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
|
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 introduces a mechanism to handle delayed broadcasting of voluntary exits by caching exits that fail validation due to transient conditions. The implementation introduces a PendingVoluntaryExitPool
to manage these cached exits and a process to re-evaluate them at each epoch.
The overall approach is sound and improves user experience for submitting voluntary exits. However, I've identified a significant issue in the logic that determines whether a validation failure is transient, which could lead to incorrect behavior. I've also included a couple of suggestions to improve type safety and diagnostics. Please see the detailed comments below.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## unstable #8496 +/- ##
============================================
- Coverage 52.25% 52.13% -0.12%
============================================
Files 852 852
Lines 64977 65173 +196
Branches 4769 4777 +8
============================================
+ Hits 33953 33979 +26
- Misses 30955 31125 +170
Partials 69 69 🚀 New features to boost your workflow:
|
We've recently updated our contribution policy via #8498 to include AI usage disclosures. Please update your PR to include any disclosures if it was used in any way for your contributions. Thanks! |
Thank you for the reference; however, AI usage was not implemented in this PR except for fixing the bugs I encountered while implementing the fix, I used Claude to fix that. |
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.
Please read up on Contribution Process and make sure your code passes checks locally.
Co-authored-by: Nico Flaig <[email protected]>
Motivation
Delayed broadcasting of voluntary exits
Description
This PR handles
lodestar/packages/beacon-node/src/chain/validation/voluntaryExit.ts
Line 7 in 06831cf
lodestar/packages/beacon-node/src/api/impl/beacon/pool/index.ts
Line 185 in 06831cf
Closes #7431
Steps to test or reproduce
I used Claude to fix some bugs I encountered while implementing the changes in this PR