Skip to content

Consider bundles for scheduler processor run [prototype]#723

Open
facuMH wants to merge 9 commits intoprototype/bundlesfrom
facundo/singleproposer_bundle
Open

Consider bundles for scheduler processor run [prototype]#723
facuMH wants to merge 9 commits intoprototype/bundlesfrom
facundo/singleproposer_bundle

Conversation

@facuMH
Copy link
Copy Markdown
Contributor

@facuMH facuMH commented Mar 13, 2026

This PR considers processed bundles in the scheduler processor run, when checking whether a transaction could be processed or not. Without this check no bundle would ever be considered for a proposal in single proposer mode.

Bundle integration tests are modified to run once with single block proposal and once with distributed block proposal.

Note for reviewers:
Each commit in the current iteration has been refactored to be conceptually unitary:

@facuMH facuMH requested a review from HerbertJordan March 13, 2026 09:46
@facuMH facuMH self-assigned this Mar 13, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
gossip/emitter/proposals.go 100.00% <100.00%> (ø)
gossip/emitter/scheduler/processor.go 100.00% <100.00%> (ø)
gossip/emitter/scheduler/scheduler.go 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Collaborator

@HerbertJordan HerbertJordan left a comment

Choose a reason for hiding this comment

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

The modification looks concise and at the right point, but one or two additional edge cases need to be considered. Please have a look.

About the testing: I think it is sufficient to have one dedicated test for running bundles in single-proposer mode or a few selected for which the block-formation mode is relevant. No need to run all tests in both modes.

@facuMH facuMH force-pushed the facundo/singleproposer_bundle branch from 5ad32a0 to c46f282 Compare March 16, 2026 10:39
@facuMH facuMH force-pushed the facundo/singleproposer_bundle branch 2 times, most recently from be94cfb to 93ac7ca Compare March 20, 2026 09:44
@facuMH facuMH force-pushed the facundo/singleproposer_bundle branch from 93ac7ca to 1681cb6 Compare March 20, 2026 09:54
bundleTracker BundleTracker
}

func (p *evmProcessor) run(tx *types.Transaction) (
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I lack of context here, I do not know if this is documented somewhere else:
what is the boolean value, and how does it relate to bundles?
It returns true if any transaction is not skipped? But a bundle which yields no transactions is not skipped?
I am quite confused about how to define the expectations of these functions. This prevents me from providing a good review for the testing.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

documentation added in 1b83457. Hopefully this can help you better judge the intentions.

@facuMH facuMH changed the title Consider bundles for scheduler processor run Consider bundles for scheduler processor run [prototype] Mar 24, 2026
@facuMH facuMH force-pushed the facundo/singleproposer_bundle branch from b388b3b to 1b83457 Compare March 30, 2026 13:30
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