From 7c148b4120f3aac120d509ac5ccceea77e00d706 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Thu, 23 Nov 2023 15:13:41 +0100 Subject: [PATCH] chore: get almost rid of reth-primitives in tracer impl (#5544) --- Cargo.lock | 1 + crates/revm/revm-inspectors/Cargo.toml | 1 + crates/revm/revm-inspectors/src/access_list.rs | 3 ++- crates/revm/revm-inspectors/src/stack/maybe_owned.rs | 2 +- crates/revm/revm-inspectors/src/stack/mod.rs | 6 +++--- crates/revm/revm-inspectors/src/tracing/builder/geth.rs | 2 +- crates/revm/revm-inspectors/src/tracing/builder/parity.rs | 2 +- crates/revm/revm-inspectors/src/tracing/fourbyte.rs | 2 +- crates/revm/revm-inspectors/src/tracing/js/bindings.rs | 5 +++-- crates/revm/revm-inspectors/src/tracing/js/builtins.rs | 2 +- crates/revm/revm-inspectors/src/tracing/js/mod.rs | 3 ++- crates/revm/revm-inspectors/src/tracing/mod.rs | 2 +- crates/revm/revm-inspectors/src/tracing/types.rs | 2 +- crates/revm/revm-inspectors/src/tracing/utils.rs | 5 +++-- 14 files changed, 22 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 37baca9780..9028a727a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6277,6 +6277,7 @@ dependencies = [ name = "reth-revm-inspectors" version = "0.1.0-alpha.11" dependencies = [ + "alloy-primitives", "alloy-sol-types", "boa_engine", "boa_gc", diff --git a/crates/revm/revm-inspectors/Cargo.toml b/crates/revm/revm-inspectors/Cargo.toml index 1edcd0d34e..87d4c893be 100644 --- a/crates/revm/revm-inspectors/Cargo.toml +++ b/crates/revm/revm-inspectors/Cargo.toml @@ -15,6 +15,7 @@ reth-rpc-types.workspace = true # eth alloy-sol-types.workspace = true +alloy-primitives.workspace = true revm.workspace = true diff --git a/crates/revm/revm-inspectors/src/access_list.rs b/crates/revm/revm-inspectors/src/access_list.rs index 6eb0c0b3fa..55bfc9df4a 100644 --- a/crates/revm/revm-inspectors/src/access_list.rs +++ b/crates/revm/revm-inspectors/src/access_list.rs @@ -1,4 +1,5 @@ -use reth_primitives::{AccessList, AccessListItem, Address, B256}; +use alloy_primitives::{Address, B256}; +use reth_primitives::{AccessList, AccessListItem}; use revm::{ interpreter::{opcode, Interpreter}, Database, EVMData, Inspector, diff --git a/crates/revm/revm-inspectors/src/stack/maybe_owned.rs b/crates/revm/revm-inspectors/src/stack/maybe_owned.rs index f29b44090a..c02ce6e4b9 100644 --- a/crates/revm/revm-inspectors/src/stack/maybe_owned.rs +++ b/crates/revm/revm-inspectors/src/stack/maybe_owned.rs @@ -1,4 +1,4 @@ -use reth_primitives::U256; +use alloy_primitives::U256; use revm::{ interpreter::{CallInputs, CreateInputs, Gas, InstructionResult, Interpreter}, primitives::{db::Database, Address, Bytes, B256}, diff --git a/crates/revm/revm-inspectors/src/stack/mod.rs b/crates/revm/revm-inspectors/src/stack/mod.rs index 603fe1d692..f8ea91794e 100644 --- a/crates/revm/revm-inspectors/src/stack/mod.rs +++ b/crates/revm/revm-inspectors/src/stack/mod.rs @@ -1,4 +1,4 @@ -use reth_primitives::{Address, Bytes, TxHash, B256, U256}; +use alloy_primitives::{Address, Bytes, B256, U256}; use revm::{ inspectors::CustomPrintTracer, interpreter::{CallInputs, CreateInputs, Gas, InstructionResult, Interpreter}, @@ -23,7 +23,7 @@ pub enum Hook { /// Hook on a specific block. Block(u64), /// Hook on a specific transaction hash. - Transaction(TxHash), + Transaction(B256), /// Hooks on every transaction in a block. All, } @@ -62,7 +62,7 @@ impl InspectorStack { } /// Check if the inspector should be used. - pub fn should_inspect(&self, env: &Env, tx_hash: TxHash) -> bool { + pub fn should_inspect(&self, env: &Env, tx_hash: B256) -> bool { match self.hook { Hook::None => false, Hook::Block(block) => env.block.number.to::() == block, diff --git a/crates/revm/revm-inspectors/src/tracing/builder/geth.rs b/crates/revm/revm-inspectors/src/tracing/builder/geth.rs index 0f583e6c84..4e456c42b7 100644 --- a/crates/revm/revm-inspectors/src/tracing/builder/geth.rs +++ b/crates/revm/revm-inspectors/src/tracing/builder/geth.rs @@ -5,7 +5,7 @@ use crate::tracing::{ utils::load_account_code, TracingInspectorConfig, }; -use reth_primitives::{Address, Bytes, B256, U256}; +use alloy_primitives::{Address, Bytes, B256, U256}; use reth_rpc_types::trace::geth::{ AccountChangeKind, AccountState, CallConfig, CallFrame, DefaultFrame, DiffMode, GethDefaultTracingOptions, PreStateConfig, PreStateFrame, PreStateMode, StructLog, diff --git a/crates/revm/revm-inspectors/src/tracing/builder/parity.rs b/crates/revm/revm-inspectors/src/tracing/builder/parity.rs index ae9560a263..943a85ee2b 100644 --- a/crates/revm/revm-inspectors/src/tracing/builder/parity.rs +++ b/crates/revm/revm-inspectors/src/tracing/builder/parity.rs @@ -4,7 +4,7 @@ use crate::tracing::{ utils::load_account_code, TracingInspectorConfig, }; -use reth_primitives::{Address, U64}; +use alloy_primitives::{Address, U64}; use reth_rpc_types::{trace::parity::*, TransactionInfo}; use revm::{ db::DatabaseRef, diff --git a/crates/revm/revm-inspectors/src/tracing/fourbyte.rs b/crates/revm/revm-inspectors/src/tracing/fourbyte.rs index 8d116b8d4f..7ec8b31294 100644 --- a/crates/revm/revm-inspectors/src/tracing/fourbyte.rs +++ b/crates/revm/revm-inspectors/src/tracing/fourbyte.rs @@ -21,7 +21,7 @@ //! //! See also -use reth_primitives::{hex, Bytes, Selector}; +use alloy_primitives::{hex, Bytes, Selector}; use reth_rpc_types::trace::geth::FourByteFrame; use revm::{ interpreter::{CallInputs, Gas, InstructionResult}, diff --git a/crates/revm/revm-inspectors/src/tracing/js/bindings.rs b/crates/revm/revm-inspectors/src/tracing/js/bindings.rs index abe56e397e..16ee9e8738 100644 --- a/crates/revm/revm-inspectors/src/tracing/js/bindings.rs +++ b/crates/revm/revm-inspectors/src/tracing/js/bindings.rs @@ -10,19 +10,20 @@ use crate::tracing::{ }, types::CallKind, }; +use alloy_primitives::{Address, Bytes, B256, U256}; use boa_engine::{ native_function::NativeFunction, object::{builtins::JsArrayBuffer, FunctionObjectBuilder}, Context, JsArgs, JsError, JsNativeError, JsObject, JsResult, JsValue, }; use boa_gc::{empty_trace, Finalize, Trace}; -use reth_primitives::{Account, Address, Bytes, B256, KECCAK_EMPTY, U256}; +use reth_primitives::Account; use revm::{ interpreter::{ opcode::{PUSH0, PUSH32}, OpCode, SharedMemory, Stack, }, - primitives::State, + primitives::{State, KECCAK_EMPTY}, }; use std::{cell::RefCell, rc::Rc, sync::mpsc::channel}; use tokio::sync::mpsc; diff --git a/crates/revm/revm-inspectors/src/tracing/js/builtins.rs b/crates/revm/revm-inspectors/src/tracing/js/builtins.rs index 5ae1ff7af1..91a7a2672b 100644 --- a/crates/revm/revm-inspectors/src/tracing/js/builtins.rs +++ b/crates/revm/revm-inspectors/src/tracing/js/builtins.rs @@ -1,12 +1,12 @@ //! Builtin functions +use alloy_primitives::{hex, Address, B256, U256}; use boa_engine::{ object::builtins::{JsArray, JsArrayBuffer}, property::Attribute, Context, JsArgs, JsError, JsNativeError, JsResult, JsString, JsValue, NativeFunction, Source, }; use boa_gc::{empty_trace, Finalize, Trace}; -use reth_primitives::{hex, Address, B256, U256}; use std::collections::HashSet; /// bigIntegerJS is the minified version of . diff --git a/crates/revm/revm-inspectors/src/tracing/js/mod.rs b/crates/revm/revm-inspectors/src/tracing/js/mod.rs index 94adf1d441..0bbd3bc4ca 100644 --- a/crates/revm/revm-inspectors/src/tracing/js/mod.rs +++ b/crates/revm/revm-inspectors/src/tracing/js/mod.rs @@ -10,8 +10,9 @@ use crate::tracing::{ types::CallKind, utils::get_create_address, }; +use alloy_primitives::{Address, Bytes, B256, U256}; use boa_engine::{Context, JsError, JsObject, JsResult, JsValue, Source}; -use reth_primitives::{Account, Address, Bytes, B256, U256}; +use reth_primitives::Account; use revm::{ interpreter::{ return_revert, CallInputs, CallScheme, CreateInputs, Gas, InstructionResult, Interpreter, diff --git a/crates/revm/revm-inspectors/src/tracing/mod.rs b/crates/revm/revm-inspectors/src/tracing/mod.rs index 70314c8b19..343f27e014 100644 --- a/crates/revm/revm-inspectors/src/tracing/mod.rs +++ b/crates/revm/revm-inspectors/src/tracing/mod.rs @@ -2,8 +2,8 @@ use crate::tracing::{ types::{CallKind, LogCallOrder, RawLog}, utils::get_create_address, }; +use alloy_primitives::{Address, Bytes, B256, U256}; pub use arena::CallTraceArena; -use reth_primitives::{Address, Bytes, B256, U256}; use revm::{ inspectors::GasInspector, interpreter::{ diff --git a/crates/revm/revm-inspectors/src/tracing/types.rs b/crates/revm/revm-inspectors/src/tracing/types.rs index 8659ed7f82..525e60d03f 100644 --- a/crates/revm/revm-inspectors/src/tracing/types.rs +++ b/crates/revm/revm-inspectors/src/tracing/types.rs @@ -1,8 +1,8 @@ //! Types for representing call trace items. use crate::tracing::{config::TraceStyle, utils::convert_memory}; +use alloy_primitives::{Address, Bytes, B256, U256, U64}; use alloy_sol_types::decode_revert_reason; -use reth_primitives::{Address, Bytes, B256, U256, U64}; use reth_rpc_types::trace::{ geth::{CallFrame, CallLogFrame, GethDefaultTracingOptions, StructLog}, parity::{ diff --git a/crates/revm/revm-inspectors/src/tracing/utils.rs b/crates/revm/revm-inspectors/src/tracing/utils.rs index a50edd8951..c8cd2dc48b 100644 --- a/crates/revm/revm-inspectors/src/tracing/utils.rs +++ b/crates/revm/revm-inspectors/src/tracing/utils.rs @@ -1,9 +1,10 @@ //! Util functions for revm related ops -use reth_primitives::{hex, revm_primitives::db::DatabaseRef, Address, Bytes, B256, KECCAK_EMPTY}; +use alloy_primitives::{hex, Address, Bytes, B256}; use revm::{ interpreter::CreateInputs, - primitives::{CreateScheme, SpecId}, + primitives::{CreateScheme, SpecId, KECCAK_EMPTY}, + DatabaseRef, }; /// creates the memory data in 32byte chunks