v2.18.0 - Osaka
What's Changed
- Improve
MessageCallGasdocumentation by @trocher in #904 - Update README for Cancun blog and Prague fork by @ensi321 in #905
- Fix spelling issues by @nnsW3 in #977
- fix:
debug->b2tby @glitched-w0rld in #1075 - chore: remove redundant words by @oftenoccur in #1086
- parse
block_hasheskey as hex by @gurukamath in #1099 - refactor: modexp exponent_head stricter type by @SamWilsn in #1238
- dev: simplify condition in is_account_alive by @enitrat in #1190
- add vulture to static analysis suite by @vedant-asati in #1206
- Update error link pending-opcodes.md by @strmfos in #1215
- Upgrade pypy/python version to 3.11 by @Carsons-Eels in #1177
- Switch to devops' runners by @SamWilsn in #1237
- fix(t8n): return the receipts list by @danceratopz in #1233
- fix: type 4 transaction accessed address addition in wrong place by @JereSalo in #1255
- Replace refernce in istanbul.md by @davidjsonn in #1267
- fix: add misisng y parity check on SetCodeTransaction by @enitrat in #1270
- Optimized bls12 381 by @fselmo in #1268
- docs: Add documentation for blocks, transactions by @souradeep-das in #1263
- docs: update contributing.md by @souradeep-das in #1279
- Fix arrow_glacier link in docs by @SamWilsn in #1283
- feat: add custom exception strings by @souradeep-das in #1266
- Add SECURITY.md by @Carsons-Eels in #1257
- Remove duplicate Cancun row from upgrades table by @gumb0 in #1282
- Switch alt_bn128 to optimized curve implementation by @SamWilsn in #1278
- 1176 - Initial python/pypy 3.11 refactors by @Carsons-Eels in #1179
- Update actions/setup-python from v4 to v5 by @PixelPil0t1 in #1293
- Re-read account code after setting 7702 delegation by @SamWilsn in #1296
- fix: update EIP-7610 link to official EIP page by @eeemmmmmm in #1299
- Refactor transaction validation to use MAX_INIT_CODE_SIZE instead of MAX_CODE_SIZE across multiple modules by @timsburk in #1243
- feat: Process
state.rewardin T8N by @marioevz in #1312 - bls12_381: Cache point generation from raw bytes by @fselmo in #1321
- Fix typing between bytes and bytearray by @SamWilsn in #1344
- (hotfix) New exception types by @Carsons-Eels in #1342
s/py3_eest/json_infra/by @SamWilsn in #1350- Don't depend on a particular branch name when fetching tests by @SamWilsn in #1320
- Remove tracing pollution from spec by @SamWilsn in #1356
- re-factor(weld): move current tests to json_infra by @gurukamath in #1360
- chore(ci): upgrade checkout to v5 by @rejected-l in #1366
- docs(cancun): fix malformed Besu EIP-4844 link; add branch link by @VolodymyrBg in #1368
- bugfix(Osaka): TARGET_BLOB_GAS_PER_BLOCK should not be an independent constant by @gurukamath in #1370
- Count opcodes by @SamWilsn in #1353
- fix tx parsing on sync by @souradeep-das in #1376
- fix: correct typos in proposed opcode names by @Galoretka in #1385
- fix: grammar corrections and minor formatting cleanup by @GarmashAlex in #1374
- chore: WELD tooling (switch over to uv+ruff) by @Carsons-Eels in #1326
- Ignore test fixtures with codespell by @SamWilsn in #1386
- Remove resolver by @SamWilsn in #1389
- Cancel running workflows on push by @SamWilsn in #1390
- chore(tests): run latest json_infra tests by @gurukamath in #1388
- Update SECURITY.md by @NikolaiKryshnev in #1395
- New lint by @SamWilsn in #1375
- chore(packaging): add all eest entrypoints; rename
ethereum-spec-fill->fillby @danceratopz in #1400 - Move point at infinity check before curve check for p256 verify by @kclowes in #1410
- fix: update parameter docstring in address utility function by @sashass1315 in #1391
- Fix: Redundant account destruction after state modification by @EperezOk in #1355
- fix: block difficulty calc frontier by @souradeep-das in #1409
- Fix: Documentation Clarity by @EperezOk in #1358
- chore(weld): update latest json and EEST commits by @gurukamath in #1405
- chore(weld): Add merged pull request template by @kclowes in #1427
- Move forks into namespace package by @SamWilsn in #1416
- chore(tooling): Update static checks by @gurukamath in #1428
- bug(tool): update path to include forks folder by @gurukamath in #1436
- docs: fix typos and inaccuracies by @jSqqrq1 in #1439
- chore(deps,tooling): bump ruff to latest version by @danceratopz in #1445
- Rewrite new fork tool to modify blob parameters by @SamWilsn in #1372
- fix dead Readme links by @pheobeayo in #1443
- type:refactor Change
is_after_forkmethod by @DeborahOlaboye in #1448 - Tune test memory usage; disable index on pypy by @SamWilsn in #1455
- Update CONTRIBUTING.md to outline issue assignment practice by @Carsons-Eels in #1457
- fixing issue #1398 by @Praniti1594 in #1593
- chore: fix typos by @radik878 in #1595
- docs: fix typo by @MozirDmitriy in #1597
- docs: fix typo by @Forostovec in #1600
- fix(doc): typing issues with new mistletoe by @SamWilsn in #1634
- chore(tooling): mypy issues with eest post-weld by @fselmo in #1633
- feat: commit-message-format by @Anuoluwapo25 in #1596
- fix(ci): don't run lint-commit on default branch by @SamWilsn in #1637
- chore(gitignore): add missing gitignore entries from eest by @felix314159 in #1643
- chore(pr-template): fix tox environment reference by @mirgee in #1642
- chore(tests): Move tests/eest to top-level tests/ directory by @kclowes in #1636
- chore(deps): add platformdirs to EEST dependencies by @mirgee in #1641
- chore(weld): ruff 79 line length alignment by @spencer-tb in #1649
- feat(besu): add exception mapping by @mirgee in #1640
- chore(pytest): Fix/enable
packages/testsunit tests by @marioevz in #1639 - chore(tests): add stubs for requests_unixsocket by @SamWilsn in #1647
- chore(tests): format requests_unixsocket by @SamWilsn in #1655
- chore: remove weld migration warnings by @fselmo in #1658
- chore(ci): use locking tox-uv runner by @SamWilsn in #1657
- chore: Use order indexing for multiple Unscheduled forks by @fselmo in #1667
- chore: remove unnecessary flag from tox commands by @fselmo in #1668
- Mute lint-commits job on default branch by @SamWilsn in #1665
- fix(tool): Add tox and tox-uv as dev deps for uv sync by @fselmo in #1671
- docs:fix Documentation for calculate_block_difficulty incorrectly ref… by @pheobeayo in #1673
- refactor(testing): improve layout and naming of
testingpackages by @danceratopz in #1654 - fix(consume): consume sync validation relies on FCU only by @fselmo in #1670
- chore(testing/cli): add ethrex exception mappers by @spencer-tb in #1690
- chore(client-clis): Add system contract and deposit
BlockExceptionsforevmoneby @pdobacz in #1689 - chore(packages/tests): update bal mappers by @spencer-tb in #1661
- fix(testing/specs): Fix benchmark pre-alloc grouping by @marioevz in #1708
- feat(tests): expand *CALL gas testing test by @pdobacz in #1703
- feat(ci): create releases in EEST from EELS by @spencer-tb in #1608
- chore(ci): fix feature exact match by @spencer-tb in #1712
- chore(ci): add path filters to render workflow by @spencer-tb in #1696
- chore(deps,tooling): move
devextras todependency-groupby @danceratopz in #1688 - chore(fill,execute): only collect test modules named
test_*by @danceratopz in #1710 - feat: add SLOAD/SSTORE mixed benchmarks from execution-spec-tests by @CPerezz in #1697
- fix(cli): pytest assert write warning by @kclowes in #1699
- fix(testing): restore default gas after
fillpytester test by @danceratopz in #1718 - refactor(tests): General benchmark folder restructuring by @LouisTsai-Csie in #1681
- feat(tests): CREATE/2 running OOG on code deposit by @pdobacz in #1705
- feat(tests): Deposit contract log with no topics by @pdobacz in #1693
- feat(tests): tests for ecrecover precompile by @pdobacz in #1685
- feat(tests): tests for modexp and ripemd by @pdobacz in #1691
- bug(pytest): fixed repository root getting cluttered with logs/ directory when running with tox by @DeborahOlaboye in #1632
- fix(tests): test broken by moving logs by @SamWilsn in #1735
- fix(test-tools): fix uv sync when building fixtures for releases by @fselmo in #1739
- docs(README): fixed broken link license by @Olexandr88 in #1744
- fix(fw): Call
get_type_hints()on class rather than instance by @petertdavies in #1745 - chore(specs): add osaka mainnet info by @SamWilsn in #1752
- chore(tests): fix pre alloc phase for deposit test by @spencer-tb in #1749
- bug(test-benchmark): update wrapper for execute mode by @LouisTsai-Csie in #1700
- fix(docs): Add workflows and tox envs for building docs by @Carsons-Eels in #1659
- chore: remove unintentionally commited file by @danceratopz in #1761
- chore: fix
ruffdevex andCONTRIBUTING.mdby @danceratopz in #1765 - doc(benchmark): update doc string for supported ops by @LouisTsai-Csie in #1767
- fix(benchmark): update gas limit by @LouisTsai-Csie in #1770
- fix(tests): Remove BAL checks in osaka; opt for eip7928 branch by @fselmo in #1737
- tests(benchmark): add missing scenario and optimization by @LouisTsai-Csie in #1768
- fix(benchmark): fix failing benchmark cases by @LouisTsai-Csie in #1780
- feat(benchmark): support
--fixed-opcode-countflag and tests by @LouisTsai-Csie in #1747 - chore(ci): add sanity check for filling benchmark tests by @danceratopz in #1779
- bug(test-cli-execute): multiple fixes to repair
execute recoverby @felix314159 in #1777 - chore(ci): remove lint-commits check by @danceratopz in #1788
- fix(spec-tests): Fix new fork tool test to use last fork dynamically by @fselmo in #1741
- Fix/1423 clear docstring by @Anuoluwapo25 in #1706
- bug(test-benchmark): skip benchmark
test_blockhashby @marioevz in #1791 - chore(ci): generate genesis files for benchmark releases by @danceratopz in #1778
- feat(tests): add more sload/sstore combos by @jochem-brouwer in #1794
- fix(github): Fix benchmark genesis generation by @marioevz in #1800
- enhance(test-benchmark): add setup and execution transaction label by @LouisTsai-Csie in #1771
- feat(benchmark): separate pre-alloc group for
blockhashby @LouisTsai-Csie in #1799 - feat(logging): add filepath+linenumber to logs by @felix314159 in #1802
- fix(execute):
execute remotegot broken by @felix314159 in #1786 - chore(test-tools): re-enable eip checklist docs unit tests by @Praniti1594 in #1740
- chore: fix typo by @Bashmunta in #1805
- Fix 1753 fork criteria by @Praniti1594 in #1760
- feat(tests): Opcode tests: stack overflow & BLOCKHASH by @pdobacz in #1728
- feat(tests): additional tests for header validation rules by @pdobacz in #1702
- fix(tooling): Handle AnnAssign nodes in the new fork tool by @gurukamath in #1813
- feat(ci): add hive consume test workflow by @spencer-tb in #1692
- feat(tests): Typed txs are invalid and void before their fork by @pdobacz in #1754
- fix(tests): modexp - cover more widths and parities of moduli by @pdobacz in #1729
- feat(tests): Zero gasprice transaction vs account touch by @pdobacz in #1736
- feat(tests): Check minimum gaslimit (5000) is validated by @pdobacz in #1731
- feat(tests): Add test for bad withdrawals root by @pdobacz in #1746
- feat(tests): Add tests for ecadd/ecmul/ecpairing constant gas repricing by @pdobacz in #1738
- fix(ci): fix api rate limiting issue in consume flow by @danceratopz in #1818
- feat(tests): Add missing OOG tests: EXP, LOG and constant gas generally by @pdobacz in #1686
- enhance(test-tests): tests for even modexp with long trailing zeros by @chfast in #1781
- feat: add mainnet tests for osaka by @felix314159 in #1806
- refactor(tests): Use pytest collection to load JSON fixtures by @marioevz in #1666
- feat(tests): Add a case for RIPEMD OOGing in early forks by @pdobacz in #1732
- fix(ci): run coverage from py3 instead of json_infra by @gurukamath in #1824
- chore(test-config): align gas limit to mainnet configuration for benchmark tests by @LouisTsai-Csie in #1833
- enhance(test-tests): add more transaction validation tests by @gurukamath in #1826
- refactor(test-benchmark): optimize benchmark test cases by @LouisTsai-Csie in #1787
- enhance(test-tests): add reserve price boundary with blob gas price > 1 by @spencer-tb in #1830
- enhance(ci): add cache to evmone evm builds by @spencer-tb in #1828
- enhance(ci): add fast benchmark artifact workflow by @spencer-tb in #1827
- fix(testing): Optimize fill by @marioevz in #1804
- enhance(test-tests): more execute mainnet marked tests by @felix314159 in #1820
- chore(test-config): update mainnet block numbers for
eth_configby @spencer-tb in #1838 - enhance(test-cli-execute): Many Improvements to
execute remotecommand by @marioevz in #1822 - chore(tests): read test list from file by @SamWilsn in #1807
- refactor(test-benchmark): repricing filter logic by @LouisTsai-Csie in #1810
- bug(test-cli-consume): fix path where consume puts its metadata by @fselmo in #1851
- chore(ci): updates for final osaka test release by @spencer-tb in #1845
- chore(ci): use self-hosted runners and harden hive dev mode by @danceratopz in #1861
- refactor(tests): create fixture items for vm tests by @gurukamath in #1823
- feat(spec-tools): support arbitrary headers in sync by @SamWilsn in #1839
- enhance(spec-tool): create blob parameter-only hardforks on the fly by @SamWilsn in #1789
- chore: fix some typos by @Fibonacci747 in #1848
- refactor(test-types): add common
BytesConcatenationtoexecution_testingby @chfast in #1858 - enhance(test-tests): add ecrecover test cases by @chfast in #1857
- bug(test-cli-fill): Use default evm-dump-dir for traces; gitignore it by @fselmo in #1852
- enhance(ci): Add EIP Tracker Issue Template by @marioevz in #1847
- bug(ci): Convert issue tracker to MD by @marioevz in #1868
- enhance(test-benchmark): use config file for fixed opcode count scenarios by @spencer-tb in #1790
- Merge
forks/osakaintomainnetby @SamWilsn in #1866
New Contributors
- @trocher made their first contribution in #904
- @ensi321 made their first contribution in #905
- @nnsW3 made their first contribution in #977
- @glitched-w0rld made their first contribution in #1075
- @oftenoccur made their first contribution in #1086
- @strmfos made their first contribution in #1215
- @JereSalo made their first contribution in #1255
- @gumb0 made their first contribution in #1282
- @PixelPil0t1 made their first contribution in #1293
- @eeemmmmmm made their first contribution in #1299
- @timsburk made their first contribution in #1243
- @rejected-l made their first contribution in #1366
- @VolodymyrBg made their first contribution in #1368
- @Galoretka made their first contribution in #1385
- @GarmashAlex made their first contribution in #1374
- @NikolaiKryshnev made their first contribution in #1395
- @kclowes made their first contribution in #1410
- @sashass1315 made their first contribution in #1391
- @EperezOk made their first contribution in #1355
- @jSqqrq1 made their first contribution in #1439
- @pheobeayo made their first contribution in #1443
- @DeborahOlaboye made their first contribution in #1448
- @Praniti1594 made their first contribution in #1593
- @radik878 made their first contribution in #1595
- @MozirDmitriy made their first contribution in #1597
- @Forostovec made their first contribution in #1600
- @Anuoluwapo25 made their first contribution in #1596
- @mirgee made their first contribution in #1642
- @CPerezz made their first contribution in #1697
- @Olexandr88 made their first contribution in #1744
- @Bashmunta made their first contribution in #1805
- @chfast made their first contribution in #1781
- @Fibonacci747 made their first contribution in #1848
Full Changelog: v1.17.0...v2.18.0