Skip to content

@ethereumjs/vm v7.1.0

Compare
Choose a tag to compare
@holgerd77 holgerd77 released this 02 Nov 09:20
· 436 commits to master since this release
c6d8b39

New EVM/VM Profiler

This releases ships with a completely new dedicated EVM/VM profiler (❤️ to Jochem for the integration) to measure how the different opcode implementations are doing, see PR #2988, #3011, #3013 and #3041.

Most of profiling is taking place in the EVM (so: the dedicated opcode profiling), see the respective README section for usage instructions and the EVM v2.1.0 CHANGELOG for latest performance gains.

The VM adds to the profiler (see new profiler option) by adding output within the tx or block scope along runTx() or runBlock() runs (committing state, block rewards,...).

The VM profiler addition now also allows for running blockchain or state tests with the profiler activated, e.g. to benchmark certain extreme-case or attack scenarios, see DEVELOPER docs for usage instructions (see PR #3115).

EIP-7516 BLOBBASEFEE Opcode

This release supports EIP-7516 with a new BLOBBASEFEE opcode added to and scheduled for the Dencun HF, see PR #3035 and #3068. The opcode returns the value of the blob base-fee of the current block it is executing in.

Dencun devnet-11 Compatibility

This release contains various fixes and spec updates related to the Dencun (Deneb/Cancun) HF and is now compatible with the specs as used in devnet-11 (October 2023).

  • Update EIP-4788: do not use precompile anymore but use the pre-deployed bytecode, PR #2955
  • Additional EIP-4788 updates (address + modulus), PR #3068
  • Update the beacon block root contract address, PR #3003

Bugfixes

  • Fix block builder london HF transition, PR #3039

Other Changes

  • Allow for users to decide if to either downlevel (so: adopt them for a short-lived scenario) state caches or not on shallowCopy() by adding a new downlevelCaches parameter (default: true), PR #3063
  • Update ethereum tests to 12.3, PR #2971
  • Update ethereum tests to 12.4, PR #3052
  • Reactivate selected slow tests, PR #2991
  • Better error message for runTx() gasLimit check to avoid confusion with EIP1559 base fee, PR #3118