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 {