@ethereumjs/util v9.1.0
Support for Partial Accounts
For Verkle or other contexts it can be useful to create partial accounts not containing all the account parameters. This is now supported starting with this release, see PR #3269:
import { Account } from '@ethereumjs/util'
const account = Account.fromPartialAccountData({
nonce: '0x02',
balance: '0x0384',
})
console.log(`Partial account with nonce=${account.nonce} and balance=${account.balance} created`)
New requests
Module
This release introduces a new requests
module (see PRs #3372, #3393, #3398 and #3477) with various type and an abstract base class for EIP-7685 general purpose execution layer requests to the CL (Prague hardfork) as well as concrete implementations for the currently supported request types:
- EIP-6110:
DepositRequest
(Prague Hardfork) - EIP-7002:
WithdrawawlRequest
(Prague Hardfork) - EIP-7251:
ConsolidationRequest
(Prague Hardfork)
These request types are mainly used within the @ethereumjs/block library where applied usage instructions are provided in the README.
Verkle Updates
- Update
kzg-wasm
to0.4.0
, PR #3358 - Shift Verkle to
osaka
hardfork, PR #3371 - New
verkle
module with utility methods and interfaces, PR #3462 - Rename verkle utils and refactor, PR #3468
Other Features
- 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
- Adjust
Account.isContract()
(in Verkle context work), PR #3343 - Rename deposit receipt to deposit request, PR #3408
- Adjust
Account.isEmpty()
to also work for partial accounts, PR #3405 - Enhances typing of CL requests, PR #3398
- Rename withdrawal request's
validatorPublicKey
tovalidatorPubkey
, PR #3474