Skip to content

test: Apply the withdrawals before the block-end system calls - #1755

Merged
chfast merged 1 commit into
masterfrom
test/withdrawals-before-block-end
Oct 12, 2026
Merged

chfast merged 1 commit into
masterfrom
test/withdrawals-before-block-end

Conversation

@chfast

@chfast chfast commented Oct 12, 2026

Copy link
Copy Markdown
Member

The withdrawals are processed after the transactions (EIP-4895) and the
block-end system calls are made at the end of the block processing
(EIP-7002, EIP-7251), so the withdrawals go first. The order is
unobservable unless a system contract is modified, e.g. to read its
balance.

The withdrawals are processed after the transactions (EIP-4895) and the
block-end system calls are made at the end of the block processing
(EIP-7002, EIP-7251), so the withdrawals go first. The order is
unobservable unless a system contract is modified, e.g. to read its
balance.
@codspeed

codspeed Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 899 untouched benchmarks


Comparing test/withdrawals-before-block-end (54e99a6) with master (c2d54b0)

Open in CodSpeed

@codecov

codecov Bot commented Oct 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.07%. Comparing base (c2d54b0) to head (54e99a6).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1755   +/-   ##
=======================================
  Coverage   98.07%   98.07%           
=======================================
  Files         183      183           
  Lines       16944    16944           
  Branches     3876     3876           
=======================================
  Hits        16618    16618           
  Misses        245      245           
  Partials       81       81           
Flag Coverage Δ
eest-develop-gmp 25.86% <0.00%> (ø)
eest-legacy 17.05% <100.00%> (ø)
eest-libsecp256k1 28.05% <0.00%> (ø)
eest-stable 83.89% <100.00%> (ø)
evmone-unittests 94.24% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
core 96.27% <ø> (ø)
tooling 94.29% <100.00%> (ø)
tests 99.81% <ø> (ø)
Files with missing lines Coverage Δ
test/utils/block_transition.cpp 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The implementation matches the execution specification’s withdrawal-before-request ordering.

0 open findings

What changed in this PR

Moves block finalization so withdrawals are applied before block-end system calls, matching Ethereum processing order.

Changes:

  • Finalize state before collecting requests.
  • Update transition documentation.
File Description
test/​utils/​block_transition.cpp Reorders finalization before block-end calls.
test/​utils/​block_transition.hpp Documents the corrected order.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@chfast
chfast merged commit fff0e98 into master Oct 12, 2026
31 checks passed
@chfast
chfast deleted the test/withdrawals-before-block-end branch October 12, 2026 10:48
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.

2 participants