Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency @ethereumjs/common to v4 #330

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 9, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@ethereumjs/common (source) 3.2.0 -> 4.4.0 age adoption passing confidence

Release Notes

ethereumjs/ethereumjs-monorepo (@​ethereumjs/common)

v4.4.0: @​ethereumjs/common v4.4.0

Compare Source

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.

Verkle Updates
Other Features
  • Adds support for EIP-7702 EOA code transactions (outdated) (see tx library for full documentation), see PR #​3470
  • Adds support for EIP-2935 Serve Historical Block Hashes from State (Prague) (see EVM for full docs) as well as the related EIP-7709, PR #​3475
  • 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
  • Clean up access to deposit address, PR #​3411
  • Add spec test for 2935 contract code and update history storage address, PR #​3373
  • Parse deposit contract address from geth genesis for chain config, PR #​3422
Bugfixes

v4.3.0: @​ethereumjs/common v4.3.0

Compare Source

Full 4844 Browser Readiness
WASM KZG

Shortly following the "Dencun Hardfork Support" release round from last month, this is now the first round of releases where the EthereumJS libraries are now fully browser compatible regarding the new 4844 functionality, see PRs #​3294 and #​3296! 🎉

Our WASM wizard @​acolytec3 has spent the last two weeks and created a WASM build of the c-kzg library which we have released under the kzg-wasm name on npm (and you can also use independently for other projects). See the newly created GitHub repository for some library-specific documentation.

This WASM KZG library can now be used for KZG initialization (replacing the old recommended c-kzg initialization), see the respective README section from the tx library for usage instructions (which is also accurate for the other using upstream libraries like block or EVM).

Note that kzg-wasm needs to be added manually to your own dependencies and the KZG initialization code needs to be adopted like the following (which you will likely want to do in most cases, so if you deal with post Dencun EVM bytecode and/or 4844 blob txs in any way):

import { loadKZG } from 'kzg-wasm'
import { Chain, Common, Hardfork } from '@​ethereumjs/common'

const kzg = await loadKZG()

// Instantiate `common`
const common = new Common({
  chain: Chain.Mainnet,
  hardfork: Hardfork.Cancun,
  customCrypto: { kzg },
})

Manual addition is necessary because we did not want to bundle our libraries with WASM code by default, since some projects are then prevented from using our libraries.

Note that passing in the KZG setup file is not necessary anymore, since this is now defaulting to the setup file from the official KZG ceremony (which is now bundled with the KZG library).

Trie Node.js Import Bug

Since this fits well also to be placed here relatively prominently for awareness: we had a relatively nasty bug in the @ethereumjs/trie library with a Node.js web stream import also affecting browser compatibility, see PR #​3280. This bug has been fixed along with these releases and this library now references the updated trie library version.

Other Changes
  • TypeScript type fixes leading to build problems with certain tools (Vercel), PR #​3306
  • Early support for EIP-2935 - "Save historical block hashes in state" (Verkle related, likely subject to change), PRs #​3268 and #​3327

v4.2.0: @​ethereumjs/tx v4.2.0

Compare Source

This release is part of a final planned release round for the current major EthereumJS release versions, with next major versions planned to be released in July 2023.

It mainly removes all non-final EIP-4844, KZG and SSZ code from the libraries (mainly block, tx, util, evm, vm, blockchain) - see PR #​2721 - to allow for a clean slate for the current major versions to transition to maintenance mode. In particular the @chainsafe/ssz dependency is removed from the @ethereumjs/util library, which is a dependency of all other upstream EthereumJS libraries and removal therefore makes the whole stack lighter again.

If you are interested in continuously following EIP-4844 work have a look at and follow our upcoming breaking releases where major changes will be integrated with 4844 nearing a final state.

Other Changes:

  • Fix EIP-155 transaction encoding on chain ID 0 for legacy txs, PR #​2671

v4.1.0: @​ethereumjs/common v4.1.0

Compare Source

Holesky Testnet Support

This release comes with full support for the Holesky public Ethereum testnet replacing the Goerli test network.

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
  • Small Cancun-related fixes, PR #​3099
Bugfixes
  • Updates and fixes along Geth genesis file parsing, PR #​2961
  • Handle forkHash on timestamp == genesis timestamp, PR #​2959
Other Changes
  • Performance: Cache Parameter Values + activated EIPs for current Hardfork, PR #​2994

v4.0.0: @​ethereumjs/tx v4.0.0

Compare Source

Final release - tada 🎉 - of a wider breaking release round on the EthereumJS monorepo libraries, see the Beta 1 release notes for the main long change set description as well as the Beta 2, Beta 3 and Release Candidate (RC) 1 release notes for notes on some additional changes (CHANGELOG).

Changes
  • Internal refactor: removed ambiguous boolean checks within conditional clauses, PR #​2250

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 7 times, most recently from 8fbd512 to de469d1 Compare August 19, 2023 00:35
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 9 times, most recently from 288ea6d to cabfe53 Compare August 28, 2023 03:51
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 8 times, most recently from 4825aef to 6135606 Compare September 4, 2023 05:06
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 6 times, most recently from 44d482e to 82dea48 Compare September 9, 2023 08:33
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 7 times, most recently from 112079e to f7e0791 Compare November 27, 2023 04:08
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 3 times, most recently from 6e1409f to 3bd515a Compare December 29, 2023 03:32
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 8 times, most recently from 0e0ef59 to a5bbd97 Compare February 8, 2024 16:17
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch 10 times, most recently from 5579582 to eb3b6db Compare March 19, 2024 20:15
@renovate renovate bot force-pushed the renovate/ethereumjs-common-4.x branch from eb3b6db to 6f58bfb Compare August 15, 2024 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants