-
Notifications
You must be signed in to change notification settings - Fork 123
feat(ethexe-consensus): mini-announces for instant injected TX promises #5321
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
Open
ukint-vs
wants to merge
27
commits into
master
Choose a base branch
from
vs/mini-announces
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 16 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
1af3fa5
feat(ethexe-consensus): mini-announces for instant injected TX promises
ukint-vs b45f07a
Merge remote-tracking branch 'origin/master' into vs/mini-announces
ukint-vs f3c2e76
fix(ethexe-consensus): drop VR for non-validators in ReadyForMoreAnno…
ukint-vs cd4d8e3
chore(ethexe-consensus): add TODO for batch commitment during mini-an…
ukint-vs 6c02fd7
fix(ethexe-compute): skip canonical events for same-block mini-announces
ukint-vs 72c90a8
fix(ethexe-consensus): allow dead_code for wait_for_state test helper
ukint-vs cd54848
fix(ethexe-service): default continuous_block_generation to true in t…
ukint-vs 2dee90e
revert: default continuous_block_generation back to false in tests
ukint-vs 71a9eb3
fix(ethexe-service): guard AggregateBatchCommitment from new heads
ukint-vs db75857
fix(ethexe-consensus): replay pending events oldest-first in subordinate
ukint-vs 9b2125c
fix(ethexe-service): default continuous_block_generation to true in t…
ukint-vs af65fee
fix(ethexe-consensus): add batch timer to ReadyForMiniAnnounce
ukint-vs 102613a
fix(ethexe-consensus): buffer next_block in Coordinator for threshold>1
ukint-vs d0a58bc
chore: fix test by removing validator restarting, detect where conse…
ecol-master 94d1051
Merge branch 'master' into vs/mini-announces
ecol-master 39c75fb
refactor(ethexe-consensus): timer-based polling for mini-announces
ukint-vs 57d0257
fix(ethexe-consensus): timeout Coordinator on second new head
ukint-vs 3cd275d
fix(ethexe-consensus): block-aware CDL for mini-announces correctness
ukint-vs fc0ea47
fix(ethexe-consensus): validate mini-announce parent and defer VR on …
ukint-vs 63c9791
refactor(ethexe-consensus): simplify subordinate for mini-announces
ukint-vs bfad58c
fix(ethexe-consensus): CDL off-by-one in block-aware counting
ukint-vs db0c977
fix(ethexe-consensus): cap pending_events during steady-state deferral
ukint-vs e67cedc
merge: resolve conflicts with origin/master
ukint-vs 00be1c5
docs(ethexe-consensus): update edge cases with verified constraints
ukint-vs c20b446
Merge branch 'master' into vs/mini-announces
ukint-vs d805093
refactor(ethexe-consensus): reduce mini-announces complexity
ukint-vs d13f0ba
chore: remove .claude/worktrees from tracking
ukint-vs File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
When a second
process_new_headarrives while the Coordinator is still collecting validation replies (threshold > 1), the previously buffered block is silently overwritten without any warning:If signature collection is slow relative to block production, intermediate blocks will be silently skipped — analogous to the WaitingAnnounceComputed TODO in Producer, but without even a warning. Consider adding a warning when
self.next_block.replace(block).is_some()to make silent block drops observable.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.
Intentional. The latest block is always the correct one to process — older buffered blocks are stale. Same pattern used in
AggregateBatchCommitment. No warning needed since this is normal operation under fast block production.