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}