Skip to content

merge, execmoduletester: add FakeMerge engine and Prague pre-deploys …#19525

Merged
yperbasis merged 5 commits into
mainfrom
fix/merge-faker
Mar 2, 2026
Merged

merge, execmoduletester: add FakeMerge engine and Prague pre-deploys …#19525
yperbasis merged 5 commits into
mainfrom
fix/merge-faker

Conversation

@mh0lt

@mh0lt mh0lt commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

…for tests

Add FakeMerge consensus engine that wraps Merge with a fake PoW scheme, mirroring the existing FakeEthash pattern. Use it in ExecModuleTester when TerminalTotalDifficultyPassed is set, and deploy Prague system contracts (EIP-7002, EIP-7251) so FinalizeAndAssemble succeeds.

This change is intended to make sure that tests which generate chains produce blocks which a finalized according to the forks specified in the test config. This is not too big a deal for pre BAL manual testing but with agents and the need to generate bals - which track system contract touches under some circumstances - this change is more important.

…for tests

Add FakeMerge consensus engine that wraps Merge with a fake PoW scheme,
mirroring the existing FakeEthash pattern. Use it in ExecModuleTester
when TerminalTotalDifficultyPassed is set, and deploy Prague system
contracts (EIP-7002, EIP-7251) so FinalizeAndAssemble succeeds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mh0lt mh0lt requested review from shohamc1 and taratorio February 27, 2026 17:01
@mh0lt mh0lt requested a review from yperbasis as a code owner February 27, 2026 17:01
@mh0lt mh0lt added Glamsterdam https://eips.ethereum.org/EIPS/eip-7773 labels Feb 28, 2026
@yperbasis yperbasis merged commit 55a7cf8 into main Mar 2, 2026
25 checks passed
@yperbasis yperbasis deleted the fix/merge-faker branch March 2, 2026 11:38
@taratorio

Copy link
Copy Markdown
Member

this is good, I was planning on doing exact same - thanks

mh0lt added a commit that referenced this pull request Mar 4, 2026
The PR reinstates the BlockAssembler and the move of BAL processing to
the versionedio code rather than as an auxiliary set of functions in the
sync process.

The main advantage of this change is that it consolidates behaviour
which makes agent understanding more focussed and makes the bal code
re-usable in tests. This makes the codebase more streamlined avoids
breaks and confusion in test analysis.

It contains fixes merged by the claude agent from
#19434 and
#19525, along with fixes that
get to a running bal-devnet-2 node.

This is ready for merging.

---------

Co-authored-by: taratorio <94537774+taratorio@users.noreply.github.com>
Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com>
sudeepdino008 pushed a commit that referenced this pull request Mar 4, 2026
#19525)

…for tests

Add FakeMerge consensus engine that wraps Merge with a fake PoW scheme,
mirroring the existing FakeEthash pattern. Use it in ExecModuleTester
when TerminalTotalDifficultyPassed is set, and deploy Prague system
contracts (EIP-7002, EIP-7251) so FinalizeAndAssemble succeeds.

This change is intended to make sure that tests which generate chains
produce blocks which a finalized according to the forks specified in the
test config. This is not too big a deal for pre BAL manual testing but
with agents and the need to generate bals - which track system contract
touches under some circumstances - this change is more important.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
sudeepdino008 pushed a commit that referenced this pull request Mar 4, 2026
The PR reinstates the BlockAssembler and the move of BAL processing to
the versionedio code rather than as an auxiliary set of functions in the
sync process.

The main advantage of this change is that it consolidates behaviour
which makes agent understanding more focussed and makes the bal code
re-usable in tests. This makes the codebase more streamlined avoids
breaks and confusion in test analysis.

It contains fixes merged by the claude agent from
#19434 and
#19525, along with fixes that
get to a running bal-devnet-2 node.

This is ready for merging.

---------

Co-authored-by: taratorio <94537774+taratorio@users.noreply.github.com>
Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com>
sudeepdino008 pushed a commit that referenced this pull request Mar 4, 2026
#19525)

…for tests

Add FakeMerge consensus engine that wraps Merge with a fake PoW scheme,
mirroring the existing FakeEthash pattern. Use it in ExecModuleTester
when TerminalTotalDifficultyPassed is set, and deploy Prague system
contracts (EIP-7002, EIP-7251) so FinalizeAndAssemble succeeds.

This change is intended to make sure that tests which generate chains
produce blocks which a finalized according to the forks specified in the
test config. This is not too big a deal for pre BAL manual testing but
with agents and the need to generate bals - which track system contract
touches under some circumstances - this change is more important.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
sudeepdino008 pushed a commit that referenced this pull request Mar 4, 2026
The PR reinstates the BlockAssembler and the move of BAL processing to
the versionedio code rather than as an auxiliary set of functions in the
sync process.

The main advantage of this change is that it consolidates behaviour
which makes agent understanding more focussed and makes the bal code
re-usable in tests. This makes the codebase more streamlined avoids
breaks and confusion in test analysis.

It contains fixes merged by the claude agent from
#19434 and
#19525, along with fixes that
get to a running bal-devnet-2 node.

This is ready for merging.

---------

Co-authored-by: taratorio <94537774+taratorio@users.noreply.github.com>
Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Glamsterdam https://eips.ethereum.org/EIPS/eip-7773 Pectra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants