First alpha release for new revm framework.
What's Changed
- chore(deps): bump serde_json from 1.0.122 to 1.0.127 by @dependabot in #1737
- chore(deps): bump tokio from 1.39.2 to 1.40.0 by @dependabot in #1739
- chore(deps): bump reqwest from 0.12.5 to 0.12.7 by @dependabot in #1740
- chore(deps): bump alloy-rlp from 0.3.7 to 0.3.8 by @dependabot in #1738
- Add test for
revm::optimism::L1BlockInfo::calculate_tx_l1_cost_fjord
by @emhane in #1743 - fix(inspector): always call selfdestruct if entry is made by @jsvisa in #1746
- chore: add gitattributes linguist-vendored for tests by @rakita in #1750
- chore: add
.gitattributes
by @rkrasiuk in #1751 - Test l1 gas used fjord by @emhane in #1749
- feat(statetest): enable EOF in Prague tests by @rakita in #1753
- chore: make clippy happy by @jsvisa in #1755
- chore(deps): bump secp256k1 from 0.29.0 to 0.29.1 by @dependabot in #1758
- chore(deps): bump alloy-primitives from 0.8.0 to 0.8.2 by @dependabot in #1761
- chore(deps): bump anyhow from 1.0.86 to 1.0.87 by @dependabot in #1760
- chore(deps): bump alloy-sol-types from 0.8.0 to 0.8.2 by @dependabot in #1762
- chore(deps): bump alloy-provider from 0.3.0 to 0.3.1 by @dependabot in #1759
- feat: introducing EvmWiring, a chain-specific configuration by @Wodann in #1672
- chore(revme): replace
structopt
withclap
by @DaniPopes in #1754 - fix: statetest json set spec_id by @rakita in #1766
- refactor: simplify SuccessOrHalt trait bound by @Wodann in #1768
- chore(deps): bump once_cell from 1.19.0 to 1.20.0 by @dependabot in #1773
- chore(deps): bump anyhow from 1.0.88 to 1.0.89 by @dependabot in #1772
- chore(deps): bump secp256k1 from 0.29.0 to 0.29.1 by @dependabot in #1770
- chore(deps): bump alloy-transport from 0.3.0 to 0.3.5 by @dependabot in #1771
- feat(example): deploy bytecode from scratch by @clearloop in #1767
- chore: Test for calculation of l1 gas used and l1 fee for ecotone tx by @emhane in #1748
- feat: to_plain_state by @prestwich in #1778
- chore: release v44 bump main CHANGELOG by @rakita in #1783
- feat: project restructuring Part1 by @rakita in #1776
- feat: use TestAuthorization and skip decoding of eip7702 tx by @royvardhan in #1785
- feat: restructure Part2 database crate by @rakita in #1784
- feat: Restructuring Part3 inspector crate by @rakita in #1788
- chore: migrate off alloy-eips by @prestwich in #1789
- feat: restructure part3 fix examples by @rakita in #1792
- fix: error type return on
modexp
's exp overflow by @juanimedone in #1797 - chore: add ReentrancySentryOOG for SSTORE by @jsvisa in #1795
- feat: Merge validation/analyzis with Bytecode by @rakita in #1793
- chore: refactor -copy common code by @rakita in #1799
- chore: fix
constants
module typo by @DaniPopes in #1801 - chore: fix some typos by @DaniPopes in #1800
- fix: make macro crate-agnostic by @Wodann in #1802
- feat: push NonceChange to Journal in deduct_caller by @royvardhan in #1804
- feat: add support for async database by @morph-dev in #1809
- feat: extract statetest models/structs to standalone crate by @royvardhan in #1808
- Bump EOF EEST tests to v1.1.1 by @cairoeth in #1815
- chore(primitives): replace HashMap re-exports with alloy_primitives::map by @DaniPopes in #1805
- chore: bump EOF evmone tests to v0.13.0 by @cairoeth in #1816
- chore: bump alloy to 0.4.2 by @prestwich in #1817
- feat: restructuring Part6 transaction crate by @rakita in #1814
- chore: inline more
AccountInfo
fns and add docs by @Rjected in #1819 - feat(interpreter): impl Clone for Stack by @jsvisa in #1820
- Chore: some no_std cleanup by @prestwich in #1834
- perf(precompile): use secp256k1 global context for ecrecover by @Rjected in #1843
- perf(
CacheAccount
): remove unneeded clone by @hai-rise in #1859 - perf(
TransitionAccount
): remove unneeded clone by @hai-rise in #1860 - doc(memory): remove dead link by @hai-rise in #1857
- chore: fix typos by @conr2d in #1868
- feat: Restucturing Part7 Handler and Context rework by @rakita in #1865
- chore(crates/bytecode): fix some comments by @wangjingcun in #1851
- chore: refactor
L1BlockInfo::tx_estimated_size_fjord
by @hai-rise in #1856 - Update README.md examples section by @FredCoen in #1853
- feat: couple convenience functions for nested cache dbs by @prestwich in #1852
- chore: bumps select alloy crates to 0.6 by @bsh98 in #1854
- chore: make ExtBytecode pointer private by @rakita in #1904
- chore: Rename PRAGUE_EOF to OSAKA by @rakita in #1903
- chore: mdbook links check by @rakita in #1906
- implement serde for interpreter by @FredCoen in #1909
- Moves CfgEnv from context-interface to context crate by @FredCoen in #1910
- chore: put snailtracer and analysis contracts in files by @Rjected in #1911
- fix(revme): include correct bytecode for snailtracer by @rakita in #1917
- chore: use stderr for revme tracer. not panic on bytecode by @rakita in #1916
- chore: Simplify GasInspector by @rakita in #1919
- chore: add depth to GasInspector by @rakita in #1922
- chore: tie journal database with database getter by @rakita in #1923
- docs(readme): add tycho-simulation to "Used by" by @zizou0x in #1926
- fix: Clear journal by @rakita in #1927
- feat: Removed create address collision check by @varun-doshi in #1928
- feat(database): implement order-independent equality for Reverts by @hoank101 in #1827
- fix: clear JournalState and set first journal vec by @rakita in #1929
- chore: EVM transact make output generic for POSTEXEC by @rakita in #1931
- feat: Make Ctx journal generic by @rakita in #1933
- typo: fix comments and docs into more sensible by @lancorer in #1920
- feat: integrate codspeed by @DaniPopes in #1935
- fix(revme): Burntpix bench by @rakita in #1937
- chore: remove analysis bench inner loops by @DaniPopes in #1936
- feat: add isthmus spec by @leruaa in #1938
- chore: use MemoryOOG by @DaniPopes in #1941
- test: add OpTransaction conversion tests by @hoank101 in #1939
- EIP-2935: Update HISTORY_STORAGE_ADDRESS by @programskillforverification in #1946
- chore: Make inspector use generics, rm associated types by @rakita in #1934
- feat: expose precompile address in Journal, DB::Error: StdError by @rakita in #1956
- feat: align Block trait by @rakita in #1957
- feat: use custom handlers to pay for gas with erc-20 by @royvardhan in #1901
- chore: integrate rust-secp256k1 by @stevencartavia in #1915
- Add bytecode hash in interpreter #1888 by @FredCoen in #1952
- feat: Split inspector.rs by @varun-doshi in #1958
- fix: Documentation Corrections and Clarifications by @savvar9991 in #1962
- feat: simplify Transaction trait by @rakita in #1959
- feat: bump eof validation tests by @rakita in #1963
- fix(eof): dont run precompile on ext delegate call by @rakita in #1964
- feat(EIP-7623): Increase calldata cost. backport from rel/v51 by @rakita in #1965
- Fix naming for incrementing and decrementing balance in transfer function by @FredCoen in #1976
- Add helper functions that would create JournalInit from JournaledState #1879 by @FredCoen in #1961
- feat(eip7702): apply latest EIP-7702 changes, backport from v52 by @rakita in #1969
- fix: devnet5 test case state root revert by @rakita in #1979
- feat(EIP-7840): Add blob schedule to execution client cfg by @rakita in #1980
- core: blst reprice, remove g1/g2 mul by @rakita in #1981
- chore: align crates versions by @rakita in #1983
- feat: extract and export
estimate_tx_compressed_size
by @meyer9 in #1985 - feat(EIP-7623): adjuct floor gas check order (main) by @rakita in #1991
- fix(revme): statetest remove redundant json output by @rakita in #1994
- fix(revme): Statetest stop exec when print output is true by @rakita in #1995
- chore(precompiles): bump kzg.rs by @nhtyy in #2002
- feat(examples): add cheatcode inspector example by @agostbiro in #2003
- chore: bump alloy versions to match latest by @0xAlcibiades in #2007
- fix: deduplicate validate_initial_tx_gas API by @Wodann in #2006
- feat: EthHandler trait by @rakita in #2001
- chore: add comment for pub function and fix typo by @jackwener in #2015
- feat: Context execution by @rakita in #2013
- chore: bump devnet5 v1.3.0 tests by @rakita in #2020
- fix(Inspector): call handler functions by @rakita in #2026
- Add essential EIP-7756 tracing fields by @shemnon in #2023
- remove duplicate instructions by @shafu0x in #2029
- chore: simplify some generics by @klkvr in #2032
- perf: improve EIP-3155 tracer by @DaniPopes in #2033
- fix(Inspector): frame_end called multiple times by @rakita in #2037
- chore: remove unnecessary
InspectorContext
generic by @klkvr in #2036 - chore: rename
OptimismHaltReason
->OpHaltReason
by @klkvr in #2042 - chore: relax halt reason bounds by @klkvr in #2041
- feat: Evm structure (Cached Instructions and Precompiles) by @rakita in #2049
- feat(eip7702): devnet6 changes and bump eest tests by @rakita in #2055
- feat(op): Isthmus precompiles by @rakita in #2054
- chore: Bump licence year to 2025 by @rakita in #2058
- chore(op): backport isthmus operator fee by @rakita in #2059
- chore: Add helpers with_inspector with_precompile by @rakita in #2063
- Check performance of gas with i64 #1884 by @Ayushdubey86 in #2062
- chore: API cleanup by @rakita in #2067
- chore: add default generics for
InterpreterTypes
by @klkvr in #2070 - chore: relax trait req in EthPrecompiles::default by @rakita in #2071
- feat: derive
Eq
forOpSpec
by @klkvr in #2073 - refactor: remove OpSpec by @klkvr in #2074
- chore: backport op l1 fetch perf by @rakita in #2076
- fix: no_std for revm-database by @rakita in #2077
- feat: integrate alloy-eips by @klkvr in #2078
- feat: Introduce Auth and AccessList traits by @rakita in #2079
- fix(tracer): Flush buffer by @rakita in #2080
- Split Inspector trait from EthHandler into standalone crate by @rakita in #2075
- feat: book structure by @rakita in #2082
- chore: Rename NameTrait to NameTr by @rakita in #2084
- chore: tag v57 revm 20.0.0-alpha.1 by @rakita in #2086
- chore: rm database from context-interface by @rakita in #2087
- fix: inspector when returning right away by @rakita in #2089
New Contributors
- @emhane made their first contribution in #1743
- @jsvisa made their first contribution in #1746
- @clearloop made their first contribution in #1767
- @royvardhan made their first contribution in #1785
- @juanimedone made their first contribution in #1797
- @morph-dev made their first contribution in #1809
- @cairoeth made their first contribution in #1815
- @conr2d made their first contribution in #1868
- @wangjingcun made their first contribution in #1851
- @FredCoen made their first contribution in #1853
- @bsh98 made their first contribution in #1854
- @zizou0x made their first contribution in #1926
- @varun-doshi made their first contribution in #1928
- @hoank101 made their first contribution in #1827
- @lancorer made their first contribution in #1920
- @programskillforverification made their first contribution in #1946
- @stevencartavia made their first contribution in #1915
- @savvar9991 made their first contribution in #1962
- @nhtyy made their first contribution in #2002
- @agostbiro made their first contribution in #2003
- @0xAlcibiades made their first contribution in #2007
- @shafu0x made their first contribution in #2029
Full Changelog: v43...v57