alloy_eips/eip7691.rs
1//! Contains constants and utility functions for [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691)
2
3use crate::eip4844::{fake_exponential, BLOB_TX_MIN_BLOB_GASPRICE};
4
5/// CL-enforced target blobs per block after Pectra hardfork activation.
6pub const TARGET_BLOBS_PER_BLOCK_ELECTRA: u64 = 6;
7
8/// CL-enforced maximum blobs per block after Pectra hardfork activation.
9pub const MAX_BLOBS_PER_BLOCK_ELECTRA: u64 = 9;
10
11/// Determines the maximum rate of change for blob fee after Pectra hardfork activation.
12pub const BLOB_GASPRICE_UPDATE_FRACTION_PECTRA: u128 = 5007716;
13
14/// Same as [`crate::eip4844::calc_blob_gasprice`] but uses the
15/// [`BLOB_GASPRICE_UPDATE_FRACTION_PECTRA`].
16#[inline]
17pub const fn calc_blob_gasprice(excess_blob_gas: u64) -> u128 {
18 fake_exponential(
19 BLOB_TX_MIN_BLOB_GASPRICE,
20 excess_blob_gas as u128,
21 BLOB_GASPRICE_UPDATE_FRACTION_PECTRA,
22 )
23}