cfx_vm_types/
instruction_result.rs

1use super::TrapKind;
2use cfx_types::U256;
3
4#[derive(Clone)]
5pub enum InstructionResult<Gas> {
6    Ok,
7    UnusedGas(Gas),
8    JumpToPosition(U256),
9    JumpToSubroutine(U256),
10    ReturnFromSubroutine(usize),
11    StopExecutionNeedsReturn {
12        /// Gas left.
13        gas: Gas,
14        /// Return data offset.
15        init_off: U256,
16        /// Return data size.
17        init_size: U256,
18        /// Apply or revert state changes.
19        apply: bool,
20    },
21    StopExecution,
22    Trap(TrapKind),
23}