From 6a0060197f9ecb414a0dc1e72dfeacc4b1917bc7 Mon Sep 17 00:00:00 2001 From: Thomas Coratger <60488569+tcoratger@users.noreply.github.com> Date: Tue, 16 Jul 2024 21:30:09 +0200 Subject: [PATCH] rpc: refactor `ReceiptBuilder` (#9551) --- crates/rpc/rpc-eth-types/src/receipt.rs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/crates/rpc/rpc-eth-types/src/receipt.rs b/crates/rpc/rpc-eth-types/src/receipt.rs index cd3fd1ed51..3333a3abd5 100644 --- a/crates/rpc/rpc-eth-types/src/receipt.rs +++ b/crates/rpc/rpc-eth-types/src/receipt.rs @@ -58,9 +58,11 @@ impl ReceiptBuilder { num_logs += prev_receipt.logs.len(); } - let mut logs = Vec::with_capacity(receipt.logs.len()); - for (tx_log_idx, log) in receipt.logs.iter().enumerate() { - let rpclog = Log { + let logs: Vec = receipt + .logs + .iter() + .enumerate() + .map(|(tx_log_idx, log)| Log { inner: log.clone(), block_hash: Some(meta.block_hash), block_number: Some(meta.block_number), @@ -69,9 +71,8 @@ impl ReceiptBuilder { transaction_index: Some(meta.index), log_index: Some((num_logs + tx_log_idx) as u64), removed: false, - }; - logs.push(rpclog); - } + }) + .collect(); let rpc_receipt = reth_rpc_types::Receipt { status: receipt.success.into(), @@ -118,9 +119,6 @@ impl ReceiptBuilder { /// Builds a receipt response from the base response body, and any set additional fields. pub fn build(self) -> AnyTransactionReceipt { let Self { base, other } = self; - let mut res = WithOtherFields::new(base); - res.other = other; - - res + WithOtherFields { inner: base, other } } }