From cf3028a52fa48f810e094de5f9ec6a6029ab53d2 Mon Sep 17 00:00:00 2001 From: stevencartavia <112043913+stevencartavia@users.noreply.github.com> Date: Fri, 20 Mar 2026 05:15:35 -0600 Subject: [PATCH] perf(rpc): avoid storage access clone (#23129) --- crates/rpc/rpc/src/trace.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/rpc/rpc/src/trace.rs b/crates/rpc/rpc/src/trace.rs index a44f6e93b1..dfa2f7d41e 100644 --- a/crates/rpc/rpc/src/trace.rs +++ b/crates/rpc/rpc/src/trace.rs @@ -603,12 +603,14 @@ where block_id, Some(block.clone()), StorageInspector::default, - move |tx_info, ctx| { + move |tx_info, mut ctx| { + let unique_loads = ctx.inspector.unique_loads(); + let warm_loads = ctx.inspector.warm_loads(); let trace = TransactionStorageAccess { transaction_hash: tx_info.hash.expect("tx hash is set"), - storage_access: ctx.inspector.accessed_slots().clone(), - unique_loads: ctx.inspector.unique_loads(), - warm_loads: ctx.inspector.warm_loads(), + storage_access: ctx.take_inspector().into_accessed_slots(), + unique_loads, + warm_loads, }; Ok(trace) },