github bluealloy/revm v25
revm v3.4.0

latest releases: v36, v35, v34...
8 months ago

Summary

revm:

  • Cancun ready. all EIP implemented.
    Check interpreter CHANGELOG
  • revm State. a Database that handles Reverts and state transitions.
  • Optimism support
  • no_std build

revm-interpreter:

  • Cancun support:
    • EIP-7516: BLOBBASEFEE opcode
    • EIP-4844: Shard Blob Transactions
    • EIP-1153: Transient storage opcodes
    • EIP-5656: MCOPY - Memory copying instruction
  • Rename SHA3 to KECCAK256, this can potentially break some tracers.
  • Refactor opcodes and Interpreter dispatch loop. Better performance.
  • optimize stack usage for recursive call and create programs.
    This brings down the native stack usage as calls are in recursion.

revm-precompile:

  • Cancun EIP-4844 precompile. It is behind c-kzg that is enabled by default
    the reason is that c-kzg fails to build on wasm and some docker images.
  • no_std support
  • small fixes to return out of gas for modepx and pairing precompiles.

revm-primitives:

  • Some check for Env validity moved from revm to primitives crate.
  • Cancun spec introduced.
  • no_std added to primitives.
  • introduce initcode size limit check taking config into account.
  • deprecate RefDBWrapper for more generic WrapDatabaseRef.
  • Implement Error for EVMError.
  • Removal of hash from Bytecode.
  • ChainId converted from U256 to u64.
  • CfgEnv marked as non_exhaustive to accommodate future changes.
  • Introduce InvalidHeader error that contains prevrandao and blob gas not set errors.
  • c-kzg added as dependency as it is needed for KzgSetting that is sed inside EnvCfg.

What's Changed

New Contributors

Full Changelog: v24...v25

Don't miss a new revm release

NewReleases is sending notifications on new releases.