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    Failure,
31    AssumeRejected,
32}
33
34pub(crate) enum CheatcodeOutcome {
35    Continue(Vec<SymWord>),
36    ContinueData(SymReturnData),
37    AssumeRejected,
38    Failure,
39}