From 109f1193f006ba2d0b823ea1fc90c3f19e41379a Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Mon, 12 Feb 2024 15:26:16 +0200 Subject: [PATCH 1/2] Fix missing l1Fee and l1GasUsed in eth_getTransactionReceipt rpc call --- crates/rpc/rpc/src/eth/api/transactions.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index 20d0bbb6d26b..b9dcb6501f2c 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -1115,7 +1115,7 @@ where let mut envelope_buf = bytes::BytesMut::new(); tx.encode_enveloped(&mut envelope_buf); - let (l1_fee, l1_data_gas) = if tx.is_deposit() { + let (l1_fee, l1_data_gas) = if !tx.is_deposit() { let inner_l1_fee = l1_block_info .l1_tx_data_fee( &self.inner.provider.chain_spec(), From a5a9a9a4d9b96d812373514efd497a923899a904 Mon Sep 17 00:00:00 2001 From: Zero Hero <0xzerohero@gmail.com> Date: Tue, 13 Feb 2024 12:33:18 +0200 Subject: [PATCH 2/2] Fix incorrect l1_base_fee_scalar depens on https://github.com/alloy-rs/alloy/pull/209 --- crates/rpc/rpc/src/eth/api/transactions.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index b9dcb6501f2c..e692a60ce74e 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -58,8 +58,6 @@ use reth_revm::optimism::RethL1BlockInfo; use reth_rpc_types::OptimismTransactionReceiptFields; #[cfg(feature = "optimism")] use revm::L1BlockInfo; -#[cfg(feature = "optimism")] -use std::ops::Div; /// Helper alias type for the state's [CacheDB] pub(crate) type StateCacheDB = CacheDB>; @@ -1373,7 +1371,7 @@ pub(crate) fn build_transaction_receipt_with_block_receipts( .l1_data_gas .map(|dg| dg + l1_block_info.l1_fee_overhead.unwrap_or_default()); op_fields.l1_fee_scalar = - Some(l1_block_info.l1_base_fee_scalar.div(U256::from(1_000_000))); + Some(f64::from(l1_block_info.l1_base_fee_scalar) / 1_000_000.0); op_fields.l1_gas_price = Some(l1_block_info.l1_base_fee); } }