Skip to main content

foundry_evm_symbolic/runtime/
control.rs

1use super::*;
2
3#[derive(Clone, Copy, Debug)]
4pub(crate) enum ShiftKind {
5    Shl,
6    Shr,
7    Sar,
8}
9
10#[derive(Clone, Copy, Debug)]
11pub(crate) enum CallKind {
12    Call,
13    CallCode,
14    DelegateCall,
15    StaticCall,
16}
17
18#[derive(Clone, Copy, Debug, PartialEq, Eq)]
19pub(crate) enum CreateKind {
20    Create,
21    Create2,
22}
23
24#[derive(Clone, Copy, Debug)]
25pub(crate) enum StepOutcome {
26    Continue,
27    Forked,
28    Halt,
29    Revert,
30    ExceptionalHalt,
31    Failure,
32    AssumeRejected,
33}
34
35pub(crate) enum CheatcodeOutcome {
36    Continue(Vec<SymExpr>),
37    ContinueData(SymReturnData),
38    Revert(SymReturnData),
39    AssumeRejected,
40    Failure,
41}