Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
269 changes: 126 additions & 143 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions packages/binarytree/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
(modification: no type change headlines) and this project adheres to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## 10.1.0 - 2025-11-06

Maintenance release, no active changes.

## 10.0.0 (EXPERIMENTAL) - 2025-04-29

**Note:** This library is in an **experimental** stage and should not be used in production!
Expand Down
6 changes: 3 additions & 3 deletions packages/binarytree/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ethereumjs/binarytree",
"version": "10.0.0",
"version": "10.1.0",
"description": "Implementation of binary trees as used in Ethereum.",
"keywords": ["binary", "tree", "trie", "ethereum"],
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/binarytree#readme",
Expand Down Expand Up @@ -54,8 +54,8 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/rlp": "^10.0.0",
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/rlp": "^10.1.0",
"@ethereumjs/util": "^10.1.0",
"@noble/hashes": "^1.7.2",
"debug": "^4.4.0",
"ethereum-cryptography": "^3.2.0",
Expand Down
58 changes: 58 additions & 0 deletions packages/block/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,64 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
(modification: no type change headlines) and this project adheres to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## 10.1.0 - 2025-11-06

- Some `0n` -> `BIGINT_0` replacements, PR [#4147](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4147)
- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145)

### EIP-7918 - Blob base fee bounded by execution cost

EIP-7918 support has been implemented, which ensures that the blob base fee is bounded by execution cost. The block library now properly calculates `excess_blob_gas` according to the new formula that imposes a reserve price, ensuring the blob fee market functions properly even when execution costs dominate.

### EIP-7934 - RLP Execution Block Size Limit

Support for EIP-7934 has been added, introducing a protocol-level cap on the maximum RLP-encoded block size to 10 MiB (with a 2 MiB margin for beacon block size, resulting in a maximum RLP block size of 8 MiB). The block library now validates that blocks do not exceed this size limit during construction and validation.

```typescript
import { Block } from '@ethereumjs/block'
import { Common, Hardfork, Mainnet } from '@ethereumjs/common'

const common = new Common({ chain: Mainnet, hardfork: Hardfork.Osaka })

// Blocks exceeding 8 MiB RLP size will be rejected
const block = createBlockFromRLP({
// ... block data
}, { common })

// The block size is validated according to EIP-7934
const rlpSize = block.serialize().length
if (rlpSize > 8 * 1024 * 1024) {
// Block exceeds maximum RLP size
}
```

### EIP-7892 - Blob Parameter Only Hardforks

Support for Blob Parameter Only (BPO) hardforks has been implemented according to EIP-7892. BPO hardforks enable rapid scaling of blob capacity by modifying only blob-related parameters (`target`, `max`, and `blobGasPriceUpdateFraction`) without requiring code changes.

The block library now properly handles blob gas calculations and blob base fee updates according to the active BPO hardfork. When processing blocks with BPO1 or BPO2 active, the library uses the updated blob parameters:

- **BPO 1**: Target 10, Max 15 blobs per block
- **BPO 2**: Target 14, Max 21 blobs per block

Blob base fee calculations automatically adjust based on the active BPO hardfork parameters, ensuring proper blob fee market functionality as blob capacity scales.

```typescript
import { Block } from '@ethereumjs/block'
import { Common, Hardfork, Mainnet } from '@ethereumjs/common'

// Block processing with BPO1 active
const common = new Common({ chain: Mainnet, hardfork: Hardfork.Bpo1 })
const block = Block.fromBlockData({
// ... block data with blobs
}, { common })

// Blob gas calculations use BPO1 parameters:
// - Max blobs per block: 15 (instead of 9 in Osaka)
// - Target blobs per block: 10 (instead of 6 in Osaka)
// Blob base fee calculations automatically adjust accordingly
```

## 10.0.0 - 2025-04-29

### Overview
Expand Down
12 changes: 6 additions & 6 deletions packages/block/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ethereumjs/block",
"version": "10.0.0",
"version": "10.1.0",
"description": "Provides Block serialization and help functions",
"keywords": ["ethereum", "block"],
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/block#readme",
Expand Down Expand Up @@ -50,11 +50,11 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/common": "^10.0.0",
"@ethereumjs/rlp": "^10.0.0",
"@ethereumjs/mpt": "^10.0.0",
"@ethereumjs/tx": "^10.0.0",
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/common": "^10.1.0",
"@ethereumjs/rlp": "^10.1.0",
"@ethereumjs/mpt": "^10.1.0",
"@ethereumjs/tx": "^10.1.0",
"@ethereumjs/util": "^10.1.0",
"ethereum-cryptography": "^3.2.0"
},
"devDependencies": {
Expand Down
4 changes: 4 additions & 0 deletions packages/blockchain/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
(modification: no type change headlines) and this project adheres to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## 10.1.0 - 2025-11-06

- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145)

## 10.0.0 - 2025-04-29

### Overview
Expand Down
12 changes: 6 additions & 6 deletions packages/blockchain/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ethereumjs/blockchain",
"version": "10.0.0",
"version": "10.1.0",
"description": "A module to store and interact with blocks",
"keywords": ["ethereum", "blockchain"],
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain#readme",
Expand Down Expand Up @@ -50,11 +50,11 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/block": "^10.0.0",
"@ethereumjs/common": "^10.0.0",
"@ethereumjs/mpt": "^10.0.0",
"@ethereumjs/rlp": "^10.0.0",
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/block": "^10.1.0",
"@ethereumjs/common": "^10.1.0",
"@ethereumjs/mpt": "^10.1.0",
"@ethereumjs/rlp": "^10.1.0",
"@ethereumjs/util": "^10.1.0",
"debug": "^4.4.0",
"eventemitter3": "^5.0.1",
"lru-cache": "11.0.2"
Expand Down
22 changes: 11 additions & 11 deletions packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,19 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/block": "10.0.0",
"@ethereumjs/blockchain": "10.0.0",
"@ethereumjs/common": "10.0.0",
"@ethereumjs/block": "10.1.0",
"@ethereumjs/blockchain": "10.1.0",
"@ethereumjs/common": "10.1.0",
"@ethereumjs/devp2p": "10.0.0",
"@ethereumjs/ethash": "10.0.0",
"@ethereumjs/evm": "10.0.0",
"@ethereumjs/genesis": "10.0.0",
"@ethereumjs/mpt": "10.0.0",
"@ethereumjs/rlp": "10.0.0",
"@ethereumjs/statemanager": "10.0.0",
"@ethereumjs/tx": "10.0.0",
"@ethereumjs/util": "10.0.0",
"@ethereumjs/vm": "10.0.0",
"@ethereumjs/evm": "10.1.0",
"@ethereumjs/genesis": "10.1.0",
"@ethereumjs/mpt": "10.1.0",
"@ethereumjs/rlp": "10.1.0",
"@ethereumjs/statemanager": "10.1.0",
"@ethereumjs/tx": "10.1.0",
"@ethereumjs/util": "10.1.0",
"@ethereumjs/vm": "10.1.0",
"@js-sdsl/ordered-map": "^4.4.2",
"@multiformats/multiaddr": "^12.4.0",
"@paulmillr/trusted-setups": "^0.2.0",
Expand Down
62 changes: 62 additions & 0 deletions packages/common/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,68 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
(modification: no type change headlines) and this project adheres to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## 10.1.0 - 2025-11-06

- Improve `paramsCache` updates, PR [#4091](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4091)
- Improve `nextHardforkBlockOrTimestamp` method, PR [#4080](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4080)
- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145)

### EIP-7594 - PeerDAS - Peer Data Availability Sampling

This release adds support for EIP-7594 PeerDAS, which extends EIP-4844 blob transactions with data availability sampling capabilities. The Common library now includes EIP-7594 configuration and activation for the Osaka hardfork, enabling support for PeerDAS blob transactions with cell proofs and network wrapper version 1.

### EIP-7823 - Set upper bounds for MODEXP

EIP-7823 support has been added, introducing an upper bound of 8192 bits (1024 bytes) on each input field (base, exponent, modulus) of the MODEXP precompile. The Common library includes the EIP configuration and activation for Osaka, ensuring MODEXP calls exceeding these limits are properly rejected.

### EIP-7825 - Transaction Gas Limit Cap

Support for EIP-7825 has been implemented, introducing a protocol-level cap of 16,777,216 gas (2^24) for individual transactions. The Common library includes the EIP configuration and activation for Osaka, enabling transaction validation against this gas limit cap.

### EIP-7883 - ModExp Gas Cost Increase

EIP-7883 support has been added, which increases the gas cost of the MODEXP precompile. The Common library includes the EIP configuration and activation for Osaka, ensuring MODEXP operations use the updated pricing algorithm with increased minimum gas cost and adjusted complexity calculations.

### EIP-7918 - Blob base fee bounded by execution cost

EIP-7918 support has been implemented, which imposes that the price of `GAS_PER_BLOB` blob gas is greater than the price of `BLOB_BASE_COST` execution gas. The Common library includes the EIP configuration and activation for Osaka, ensuring proper blob fee market functionality.

### EIP-7934 - RLP Execution Block Size Limit

Support for EIP-7934 has been added, introducing a protocol-level cap on the maximum RLP-encoded block size to 10 MiB (with a 2 MiB margin for beacon block size). The Common library includes the EIP configuration and activation for Osaka, enabling block size validation.

### EIP-7939 - Count leading zeros (CLZ) opcode

EIP-7939 support has been implemented, adding a new opcode `CLZ` (0x1e) that counts the number of leading zero bits in a 256-bit word. The Common library includes the EIP configuration and activation for Osaka, enabling the use of the CLZ opcode in EVM execution.

### EIP-7951 - Precompile for secp256r1 Curve Support

EIP-7951 support has been added, introducing a new precompile at address `0x100` (`P256VERIFY`) for ECDSA signature verification over the secp256r1 curve. The Common library includes the EIP configuration and activation for Osaka, enabling native support for secp256r1 signatures from modern secure hardware devices.

### EIP-7892 - Blob Parameter Only Hardforks

Support for Blob Parameter Only (BPO) hardforks has been implemented according to EIP-7892. BPO hardforks are lightweight protocol upgrades that modify only blob-related parameters (`target`, `max`, and `blobGasPriceUpdateFraction`) without requiring code changes, enabling rapid scaling of blob capacity in response to network demand.

Two BPO hardforks are scheduled alongside Fusaka:

- **BPO 1**: Increases blob target to 10 and max to 15 blobs per block
- **BPO 2**: Further increases blob target to 14 and max to 21 blobs per block

The Common library now includes BPO hardfork definitions and activation timestamps for testnets (Holešky, Sepolia, Hoodi). The `getBlobGasSchedule()` method returns the appropriate blob gas schedule parameters based on the active hardfork, automatically handling BPO transitions.

```typescript
import { Common, Hardfork, Mainnet } from '@ethereumjs/common'

// Common instance with BPO1 active
const common = new Common({ chain: Mainnet, hardfork: Hardfork.Bpo1 })

// Get blob gas schedule parameters
const schedule = common.getBlobGasSchedule()
// schedule.targetBlobGasPerBlock = 1310720 (10 * 131072)
// schedule.maxBlobGasPerBlock = 1966080 (15 * 131072)
// schedule.blobGasPriceUpdateFraction = 8346193
```

## 10.0.0 - 2025-04-29

### Overview
Expand Down
4 changes: 2 additions & 2 deletions packages/common/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ethereumjs/common",
"version": "10.0.0",
"version": "10.1.0",
"description": "Resources common to all Ethereum implementations",
"keywords": [
"ethereum",
Expand Down Expand Up @@ -63,7 +63,7 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/util": "^10.1.0",
"eventemitter3": "^5.0.1"
},
"devDependencies": {
Expand Down
10 changes: 5 additions & 5 deletions packages/devp2p/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/common": "^10.0.0",
"@ethereumjs/rlp": "^10.0.0",
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/common": "^10.1.0",
"@ethereumjs/rlp": "^10.1.0",
"@ethereumjs/util": "^10.1.0",
"@scure/base": "^1.2.4",
"debug": "^4.4.0",
"ethereum-cryptography": "^3.2.0",
Expand All @@ -77,8 +77,8 @@
"snappyjs": "^0.7.0"
},
"devDependencies": {
"@ethereumjs/block": "^10.0.0",
"@ethereumjs/tx": "^10.0.0",
"@ethereumjs/block": "^10.1.0",
"@ethereumjs/tx": "^10.1.0",
"@types/debug": "^4.1.12",
"@types/k-bucket": "^5.0.4",
"@types/node": "^22.13.10",
Expand Down
8 changes: 4 additions & 4 deletions packages/e2store/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/block": "^10.0.0",
"@ethereumjs/blockchain": "^10.0.0",
"@ethereumjs/rlp": "^10.0.0",
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/block": "^10.1.0",
"@ethereumjs/blockchain": "^10.1.0",
"@ethereumjs/rlp": "^10.1.0",
"@ethereumjs/util": "^10.1.0",
"level": "^9.0.0",
"micro-eth-signer": "^0.15.0",
"snappyjs": "^0.7.0"
Expand Down
8 changes: 4 additions & 4 deletions packages/ethash/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@
"tsc": "../../config/cli/ts-compile.sh"
},
"dependencies": {
"@ethereumjs/block": "^10.0.0",
"@ethereumjs/rlp": "^10.0.0",
"@ethereumjs/util": "^10.0.0",
"@ethereumjs/block": "^10.1.0",
"@ethereumjs/rlp": "^10.1.0",
"@ethereumjs/util": "^10.1.0",
"bigint-crypto-utils": "^3.3.0",
"ethereum-cryptography": "^3.2.0"
},
"devDependencies": {
"@ethereumjs/common": "^10.0.0"
"@ethereumjs/common": "^10.1.0"
},
"engines": {
"node": ">=18"
Expand Down
Loading
Loading