revm_inspector/
inspect.rs

1use handler::evm::{ExecuteCommitEvm, ExecuteEvm};
2
3pub trait InspectEvm: ExecuteEvm {
4    type Inspector;
5
6    fn set_inspector(&mut self, inspector: Self::Inspector);
7
8    fn inspect_replay(&mut self) -> Self::Output;
9
10    fn inspect_replay_with_inspector(&mut self, inspector: Self::Inspector) -> Self::Output {
11        self.set_inspector(inspector);
12        self.inspect_replay()
13    }
14
15    fn inspect_replay_with_tx(&mut self, tx: Self::Tx) -> Self::Output {
16        self.set_tx(tx);
17        self.inspect_replay()
18    }
19
20    fn inspect(&mut self, tx: Self::Tx, inspector: Self::Inspector) -> Self::Output {
21        self.set_tx(tx);
22        self.inspect_replay_with_inspector(inspector)
23    }
24}
25
26pub trait InspectCommitEvm: InspectEvm + ExecuteCommitEvm {
27    fn inspect_commit_previous(&mut self) -> Self::CommitOutput;
28
29    fn inspect_commit_previous_with_inspector(
30        &mut self,
31        inspector: Self::Inspector,
32    ) -> Self::CommitOutput {
33        self.set_inspector(inspector);
34        self.inspect_commit_previous()
35    }
36
37    fn inspect_commit(&mut self, tx: Self::Tx, inspector: Self::Inspector) -> Self::CommitOutput {
38        self.set_tx(tx);
39        self.inspect_commit_previous_with_inspector(inspector)
40    }
41}