revm_inspector/
inspect.rs1use 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}