You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### EIP-7918 - Blob base fee bounded by execution cost
15
+
16
+
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.
17
+
18
+
### EIP-7934 - RLP Execution Block Size Limit
19
+
20
+
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.
const common =newCommon({ chain: Mainnet, hardfork: Hardfork.Osaka })
27
+
28
+
// Blocks exceeding 8 MiB RLP size will be rejected
29
+
const block =createBlockFromRLP({
30
+
// ... block data
31
+
}, { common })
32
+
33
+
// The block size is validated according to EIP-7934
34
+
const rlpSize =block.serialize().length
35
+
if (rlpSize>8*1024*1024) {
36
+
// Block exceeds maximum RLP size
37
+
}
38
+
```
39
+
40
+
### EIP-7892 - Blob Parameter Only Hardforks
41
+
42
+
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.
43
+
44
+
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:
45
+
46
+
-**BPO 1**: Target 10, Max 15 blobs per block
47
+
-**BPO 2**: Target 14, Max 21 blobs per block
48
+
49
+
Blob base fee calculations automatically adjust based on the active BPO hardfork parameters, ensuring proper blob fee market functionality as blob capacity scales.
### EIP-7594 - PeerDAS - Peer Data Availability Sampling
16
+
17
+
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.
18
+
19
+
### EIP-7823 - Set upper bounds for MODEXP
20
+
21
+
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.
22
+
23
+
### EIP-7825 - Transaction Gas Limit Cap
24
+
25
+
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.
26
+
27
+
### EIP-7883 - ModExp Gas Cost Increase
28
+
29
+
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.
30
+
31
+
### EIP-7918 - Blob base fee bounded by execution cost
32
+
33
+
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.
34
+
35
+
### EIP-7934 - RLP Execution Block Size Limit
36
+
37
+
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.
38
+
39
+
### EIP-7939 - Count leading zeros (CLZ) opcode
40
+
41
+
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.
42
+
43
+
### EIP-7951 - Precompile for secp256r1 Curve Support
44
+
45
+
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.
46
+
47
+
### EIP-7892 - Blob Parameter Only Hardforks
48
+
49
+
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.
50
+
51
+
Two BPO hardforks are scheduled alongside Fusaka:
52
+
53
+
-**BPO 1**: Increases blob target to 10 and max to 15 blobs per block
54
+
-**BPO 2**: Further increases blob target to 14 and max to 21 blobs per block
55
+
56
+
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.
0 commit comments