Closed mentalrob closed 1 year ago
let mut traceArena = self.with_database_at(block_request, |state, block| { let mut inspector = Inspector::default().with_steps_tracing(); let block_number = block.number; let mut evm = revm::EVM::new(); evm.env = self.build_call_env(request, fee_details, block); evm.database(state); let (ExecutionResult { exit_reason, out, gas_used, .. }, _) = evm.inspect_ref(&mut inspector); /*let traces = inspector.tracer.unwrap_or_default().traces; trace!(target: "backend", "trace call return {:?} out: {:?} gas {} on block {}", exit_reason, out, gas_used, block_number); traces*/ }).await?;
The above code taken from foundry's anvil project. It seems evm.inspect_ref inflates memory too much.
evm.inspect_ref
It seems issue happens because of the inspector that foundry uses
The above code taken from foundry's anvil project. It seems
evm.inspect_ref
inflates memory too much.