Skip to content

@ethereumjs/[email protected]

Compare
Choose a tag to compare
@holgerd77 holgerd77 released this 15 Aug 11:46
· 1 commit to maintenance-v8 since this release
27e2c02

EIP-7685 Requests: EIP-6110 (Deposits) / EIP-7002 (Withdrawals) / EIP-7251 (Consolidations)

This library now supports EIP-6110 deposit requests, see PR #3390, EIP-7002 withdrawal requests, see PR #3385 and EIP-7251 consolidation requests, see PR #3477 as well as the underlying generic execution layer request logic introduced with EIP-7685 (PR #3372).

These new request types will be activated with the Prague hardfork, see @ethereumjs/block README for detailed documentation.

EIP-2935 Serve Historical Block Hashes from State (Prague)

Starting with this release the VM supports EIP-2935 which stores the latest 256 block hashes in the storage of a system contract, see PR #3475 as the major integrational PR (while work on this has already been done in previous PRs).

This EIP will be activated along the Prague hardfork. Note that this EIP has no effect on the resolution of the BLOCKHASH opcode, which will be a separate activation taking place by the integration of EIP-7709 in the following Osaka hardfork.

Verkle Dependency Decoupling

We have relatively light-heartedly added a new @ethereumjs/verkle main dependency to the VM/EVM stack in the v7.2.1 release, which added an additional burden to the bundle size by several hundred KB and additionally draws in unnecessary WASM code. Coupling with Verkle has been refactored in PR #3462 and the direct dependency has been removed again.

An update to this release is therefore strongly recommended even if other fixes or features are not that relevant for you right now.

Verkle Updates

  • Fixes for Kaustinen4 support, PR #3269
  • Kaustinen5 related fixes, PR #3343
  • Kaustinen6 adjustments, verkle-cryptography-wasm migration, PRs #3355 and #3356
  • Missing beaconroot account verkle fix, PR #3421
  • Remove the hacks to prevent account cleanups of system contracts, PR #3418
  • Updates EIP-2935 tests with the new proposed bytecode and corresponding config, PR #3438
  • Fix EIP-2935 address conversion issues, PR #3447
  • Remove backfill of block hashes on EIP-2935 activation, PR #3478

Other Features

  • Add evmOpts to the VM opts to allow for options chaining to the underlying EVM, PR #3481
  • Stricter prefixed hex typing, PRs #3348, #3427 and #3357 (some changes removed in PR #3382 for backwards compatibility reasons, will be reintroduced along upcoming breaking releases)

Other Changes

  • Removes support for EIP-2315 simple subroutines for EVM (deprecated with an alternative version integrated into EOF), PR #3342
  • Small clean-up to VM._emit(), PR #3396
  • Update mcl-wasm Dependency (Esbuild Issue), PR #3461

Bugfixes

  • Fix block building with blocks including CL requests, PR #3413
  • Ensure system address is not created if it is empty, PR #3400