diff --git a/crates/primitives/src/env.rs b/crates/primitives/src/env.rs index 8d883c7e54..b876ef603c 100644 --- a/crates/primitives/src/env.rs +++ b/crates/primitives/src/env.rs @@ -463,10 +463,10 @@ impl Env { /// /// [EIP-4844]: https://eips.ethereum.org/EIPS/eip-4844 #[inline] - pub fn calc_data_fee(&self) -> Option { - self.block - .get_blob_gasprice() - .map(|blob_gas_price| blob_gas_price * self.tx.get_total_blob_gas()) + pub fn calc_data_fee(&self) -> Option { + self.block.get_blob_gasprice().map(|blob_gas_price| { + U256::from(blob_gas_price).saturating_mul(U256::from(self.tx.get_total_blob_gas())) + }) } /// Validate the block environment. diff --git a/crates/revm/src/evm_impl.rs b/crates/revm/src/evm_impl.rs index ba7291603b..98997d5ca2 100644 --- a/crates/revm/src/evm_impl.rs +++ b/crates/revm/src/evm_impl.rs @@ -275,7 +275,7 @@ impl<'a, GSPEC: Spec, DB: Database, const INSPECT: bool> Transact // EIP-4844 if GSPEC::enabled(CANCUN) { let data_fee = self.data.env.calc_data_fee().expect("already checked"); - gas_cost = gas_cost.saturating_add(U256::from(data_fee)); + gas_cost = gas_cost.saturating_add(data_fee); } caller_account.info.balance = caller_account.info.balance.saturating_sub(gas_cost);