diff --git a/src/access_list.rs b/src/access_list.rs index 7abb4e05..52c08da4 100644 --- a/src/access_list.rs +++ b/src/access_list.rs @@ -9,7 +9,7 @@ use std::collections::{BTreeSet, HashMap, HashSet}; /// An [Inspector] that collects touched accounts and storage slots. /// /// This can be used to construct an [AccessList] for a transaction via `eth_createAccessList` -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct AccessListInspector { /// All addresses that should be excluded from the final accesslist excluded: HashSet
, diff --git a/src/opcode.rs b/src/opcode.rs index ba03610a..28078b8b 100644 --- a/src/opcode.rs +++ b/src/opcode.rs @@ -5,7 +5,7 @@ use revm::{ use std::collections::HashMap; /// An Inspector that counts opcodes and measures gas usage per opcode. -#[derive(Default, Debug, Clone)] +#[derive(Clone, Debug, Default)] pub struct OpcodeCounterInspector { /// Map of opcode counts per transaction. pub opcode_counts: HashMap, diff --git a/src/stack/mod.rs b/src/stack/mod.rs index 34f063d5..42cde060 100644 --- a/src/stack/mod.rs +++ b/src/stack/mod.rs @@ -15,7 +15,7 @@ pub use maybe_owned::MaybeOwnedInspector; /// - Block: Hook on block execution /// - BlockWithIndex: Hook on block execution transaction index /// - Transaction: Hook on a specific transaction hash -#[derive(Debug, Default, Clone, Copy, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)] pub enum Hook { #[default] /// No hook. @@ -33,7 +33,7 @@ pub enum Hook { /// If a call to an inspector returns a value other than /// [revm::interpreter::InstructionResult::Continue] (or equivalent) the remaining inspectors are /// not called. -#[derive(Default, Clone)] +#[derive(Clone, Default)] pub struct InspectorStack { /// An inspector that prints the opcode traces to the console. pub custom_print_tracer: Option, @@ -74,7 +74,7 @@ impl InspectorStack { } /// Configuration for the inspectors. -#[derive(Debug, Default, Clone, Copy)] +#[derive(Clone, Copy, Debug, Default)] pub struct InspectorStackConfig { /// Enable revm inspector printer. /// In execution this will print opcode level traces directly to console. diff --git a/src/tracing/arena.rs b/src/tracing/arena.rs index f5adcd80..258cc255 100644 --- a/src/tracing/arena.rs +++ b/src/tracing/arena.rs @@ -3,7 +3,7 @@ use crate::tracing::types::{CallTrace, CallTraceNode, LogCallOrder}; /// An arena of recorded traces. /// /// This type will be populated via the [TracingInspector](crate::tracing::TracingInspector). -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct CallTraceArena { /// The arena of recorded trace nodes pub(crate) arena: Vec, diff --git a/src/tracing/config.rs b/src/tracing/config.rs index 2f60d2dd..27545fe4 100644 --- a/src/tracing/config.rs +++ b/src/tracing/config.rs @@ -5,7 +5,7 @@ use std::collections::HashSet; /// /// Use [TracingInspectorConfig::default_parity] or [TracingInspectorConfig::default_geth] to get /// the default configs for specific styles of traces. -#[derive(Debug, Clone, Copy, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct TracingInspectorConfig { /// Whether to record every individual opcode level step. pub record_steps: bool, @@ -152,7 +152,7 @@ impl TracingInspectorConfig { } /// How much of the stack to record. Nothing, just the items pushed, or the full stack -#[derive(Debug, Clone, Copy, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum StackSnapshotType { /// Don't record stack snapshots None, @@ -179,7 +179,7 @@ impl StackSnapshotType { /// What kind of tracing style this is. /// /// This affects things like error messages. -#[derive(Debug, Clone, Copy, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub(crate) enum TraceStyle { /// Parity style tracer Parity, diff --git a/src/tracing/fourbyte.rs b/src/tracing/fourbyte.rs index 0018f108..5495cb46 100644 --- a/src/tracing/fourbyte.rs +++ b/src/tracing/fourbyte.rs @@ -30,7 +30,7 @@ use revm::{ use std::{collections::HashMap, ops::Range}; /// Fourbyte tracing inspector that records all function selectors and their calldata sizes. -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub struct FourByteInspector { /// The map of SELECTOR to number of occurrences entries inner: HashMap<(Selector, usize), u64>, diff --git a/src/tracing/js/bindings.rs b/src/tracing/js/bindings.rs index e20dcfb8..3ddea660 100644 --- a/src/tracing/js/bindings.rs +++ b/src/tracing/js/bindings.rs @@ -69,7 +69,7 @@ macro_rules! js_value_capture_getter { /// /// This type supports garbage collection of (rust) references and prevents access to the value if /// it has been dropped. -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] struct GuardedNullableGc { /// The lifetime is a lie to make it possible to use a reference in boa which requires 'static inner: Rc>>>, @@ -217,7 +217,7 @@ impl StepLog { } /// Represents the memory object -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub(crate) struct MemoryRef(GuardedNullableGc); impl MemoryRef { @@ -309,7 +309,7 @@ unsafe impl Trace for MemoryRef { } /// Represents the state object -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub(crate) struct StateRef(GuardedNullableGc); impl StateRef { @@ -331,7 +331,7 @@ unsafe impl Trace for StateRef { } /// Represents the database -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub(crate) struct GcDb(GuardedNullableGc); impl GcDb @@ -484,7 +484,7 @@ unsafe impl Trace for StackRef { } /// Represents the contract object -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub(crate) struct Contract { pub(crate) caller: Address, pub(crate) contract: Address, diff --git a/src/tracing/js/builtins.rs b/src/tracing/js/builtins.rs index 2a97157b..4ccb645e 100644 --- a/src/tracing/js/builtins.rs +++ b/src/tracing/js/builtins.rs @@ -221,7 +221,7 @@ fn hex_decode_js_string(js_string: JsString) -> JsResult> { } /// A container for all precompile addresses used for the `isPrecompiled` global callable. -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub(crate) struct PrecompileList(pub(crate) HashSet
); impl PrecompileList { diff --git a/src/tracing/js/mod.rs b/src/tracing/js/mod.rs index 3047d628..abfaaefe 100644 --- a/src/tracing/js/mod.rs +++ b/src/tracing/js/mod.rs @@ -571,7 +571,7 @@ where /// Contains some contextual infos for a transaction execution that is made available to the JS /// object. -#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)] pub struct TransactionContext { /// Hash of the block the tx is contained within. /// diff --git a/src/tracing/mod.rs b/src/tracing/mod.rs index 52788944..c15c66bc 100644 --- a/src/tracing/mod.rs +++ b/src/tracing/mod.rs @@ -48,7 +48,7 @@ pub mod js; /// The [TracingInspector] keeps track of everything by: /// 1. start tracking steps/calls on [Inspector::step] and [Inspector::call] /// 2. complete steps/calls on [Inspector::step_end] and [Inspector::call_end] -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct TracingInspector { /// Configures what and how the inspector records traces. config: TracingInspectorConfig, @@ -554,7 +554,7 @@ where } } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] struct StackStep { trace_idx: usize, step_idx: usize, diff --git a/src/tracing/opcount.rs b/src/tracing/opcount.rs index c379836f..99c50b53 100644 --- a/src/tracing/opcount.rs +++ b/src/tracing/opcount.rs @@ -5,7 +5,7 @@ use revm::{interpreter::Interpreter, Database, EvmContext, Inspector}; /// An inspector that counts all opcodes. -#[derive(Debug, Clone, Copy, Default)] +#[derive(Clone, Copy, Debug, Default)] pub struct OpcodeCountInspector { /// opcode counter count: usize, diff --git a/src/tracing/types.rs b/src/tracing/types.rs index 786994a5..4734594d 100644 --- a/src/tracing/types.rs +++ b/src/tracing/types.rs @@ -122,7 +122,7 @@ impl Default for CallTrace { } /// A node in the arena -#[derive(Default, Debug, Clone, PartialEq, Eq)] +#[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct CallTraceNode { /// Parent node index in the arena pub parent: Option, @@ -355,7 +355,7 @@ impl CallTraceNode { } /// A unified representation of a call. -#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "UPPERCASE")] pub enum CallKind { /// Represents a regular call. @@ -473,7 +473,7 @@ pub(crate) struct CallTraceStepStackItem<'a> { } /// Ordering enum for calls and logs -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum LogCallOrder { /// Contains the index of the corresponding log Log(usize), @@ -623,7 +623,7 @@ pub struct StorageChange { /// Represents the memory captured during execution /// /// This is a wrapper around the [SharedMemory](revm::interpreter::SharedMemory) context memory. -#[derive(Debug, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct RecordedMemory(pub(crate) Vec); impl RecordedMemory {