1use revm::{
6 handler::{evm::FrameTr, EthFrame, FrameResult},
7 inspector::InspectorFrame,
8 interpreter::{interpreter::EthInterpreter, interpreter_action::FrameInit},
9};
10
11#[derive(Debug)]
13pub struct MyFrame {
14 pub eth_frame: EthFrame<EthInterpreter>,
16}
17
18impl MyFrame {
19 pub fn invalid() -> Self {
21 Self {
22 eth_frame: EthFrame::invalid(),
23 }
24 }
25
26 pub const fn is_finished(&self) -> bool {
28 self.eth_frame.is_finished()
29 }
30}
31
32impl FrameTr for MyFrame {
33 type FrameResult = FrameResult;
34 type FrameInit = FrameInit;
35}
36
37impl InspectorFrame for MyFrame {
39 type IT = EthInterpreter;
40
41 fn eth_frame(&mut self) -> Option<&mut EthFrame<EthInterpreter>> {
42 Some(&mut self.eth_frame)
43 }
44}