Open
Conversation
) * refactor(tests): Add fork parameter to Initcode generator Initcode class now uses fork-specific gas costs and memory expansion formula instead of hardcoded values. Co-Authored-By: Claude Opus 4.5 * Fixes after review Co-authored-by: Mario Vega <marioevz@gmail.com> --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
* fix(tests): EIP-7883 modexp - fix gas formula * fix(tests): EIP-7883 use old spec at Osaka siblings * Fixup comment & gas formula after review
…reum#2182) * refactor(bloatnet): split stubs.json into mainnet and bloatnet variants Separate stub mappings so mainnet-only benchmarks (XEN, USDC, IMT, STR) use stubs_mainnet.json while bloatnet benchmarks (including 30GB_ERC20) use stubs_bloatnet.json. * fix: update file name --------- Co-authored-by: LouisTsai <q1030176@gmail.com>
* feat(testing/fill): Account-hash-based deploy addresses * fix(testing): Allow EOAs to have code for collisions * fix(tests): All tests using pre.fund_address * fix(tests): Tests setting EOA code * fixes * Fixes * Add correct markers to all tests * fix(testing): test generator use appropriate mark * fix(testing/filler): Logic * refactor(tests): Remove most pre-alloc-group markers * feat(filler): Make pre-alloc auto-groupable * fix: bug, add unit test * refactor: Remove `pre_fund_address` marker * refactor: Remove extra flags * fix: execute * refactor: Move helper methods * fix: Separators * fix: Static tests * fix: Tox, review comments * fix(tests): Mark test_creates_collisions * Update tests/prague/eip7702_set_code_tx/test_set_code_txs.py Co-authored-by: felipe <fselmo2@gmail.com> * fix: `pre.fund_address` --------- Co-authored-by: felipe <fselmo2@gmail.com>
* feat(testing/vm): Cache bytecode's keccak * feat(testing/vm): Cache bytecode gas cost/refund * feat(tests/benchmark): Cache created contract address * feat(tests/benchmarking): Cache access list * refactor: refactor caching with module-level ``@cache`` --------- Co-authored-by: fselmo <fselmo2@gmail.com>
…code.gas_cost(fork)` (ethereum#2188)
* chore: update style guidelines * Apply suggestion from @fselmo Co-authored-by: felipe <fselmo2@gmail.com> --------- Co-authored-by: felipe <fselmo2@gmail.com>
…s_cost(fork)` (ethereum#2186) * refactor(test-tests): migrate amsterdam gas costs to use `bytecode.gas_cost(fork)` * chore(test): DRY metadata gascost refactor --------- Co-authored-by: fselmo <fselmo2@gmail.com>
…gas_cost(fork)` (ethereum#2191) * refactor(test-tests): migrate cancun to osaka gas costs to use `bytecode.gas_cost(fork)` * chore: Remove redundant `Bytecode` wrapping * chore: Remove one redundant `Bytecode` wrapping * fix: Hardcoded fork * Update tests/osaka/eip7825_transaction_gas_limit_cap/test_tx_gas_limit.py --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
…reum#2193) * Add BlockException.GAS_USED_OVERFLOW mapping to ethrex exception mapper ethrex now returns "Block gas used overflow..." for EIP-7778 pre-refund gas accounting failures (Amsterdam+), distinct from the existing "Gas allowance exceeded..." transaction-level error. * Add BAL exception mappings to ethrex exception mapper Add mappings for Block Access List (EIP-7928) related exceptions: - INVALID_BLOCK_ACCESS_LIST - INVALID_BAL_HASH - INVALID_BAL_EXTRA_ACCOUNT - INVALID_BAL_MISSING_ACCOUNT - INCORRECT_BLOCK_FORMAT ethrex validates BAL by computing the hash and comparing against the header, so all BAL corruption types produce the same hash mismatch error. Additionally, index-out-of-bounds and RLP decode errors are mapped for INVALID_BLOCK_ACCESS_LIST and INCORRECT_BLOCK_FORMAT.
…in CI (ethereum#2120) * chore(tooling,ci): remove maxprocesses for py3 tox env * chore(tooling,ci): throttle xdist workers locally, use all cores in CI Replace `-n auto` with `-n {env:PYTEST_XDIST_AUTO_NUM_WORKERS:6}` in py3 and tests_pytest_py3 tox envs. Defaults to 6 workers locally to avoid deadlocks; CI sets the env var to `auto` for full core usage. Removes the now-redundant `--maxprocesses` flag. * chore(deps,ci,tooling): add `psutil` to dev deps to count physical cores Without `psutil` pytest-xdist reports the number of logical cores. * chore(tooling): document why py3 uses --dist=loadgroup
Greptile OverviewGreptile SummaryThis PR merges approximately 2 days of upstream changes into the Key Changes:
Test Updates:
The changes are well-structured and address the identified issues. The gas cost refactoring improves maintainability and correctness across fork-specific implementations. Confidence Score: 5/5
Important Files Changed
Last reviewed commit: 73657d7 |
Collaborator
Author
|
Ready for review. In case anyone approving wants to merge remember to make a merge commit to preserve upstream history |
mijovic
approved these changes
Feb 13, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
IMPORTANT: Merge with MERGE COMMIT!
This PR merges ~2 days of upstream changes into
forks/monad_nine, our default branch.I'm having this because I want to have our upstream contribution refactor(tests): Add fork parameter to Initcode generator out of the way before merging
mip3branch.Also, upstream improvements and refactoring brought two issues to light:
G_STORAGE_UPDATEvalue should in Monad compound the same update asG_COLD_SLOAD, since these work in tandem in EELSOpening as Draft because tests don't fill, but I want to see how the history works correctly now after #7 🎉Ready for review