hevm-0.53.0: Symbolic EVM Evaluator
Safe HaskellSafe-Inferred
LanguageGHC2021

EVM.Stepper

Synopsis

Documentation

data Action t s a where Source #

The instruction type of the operational monad

Constructors

Exec :: Action t s (VMResult t s)

Keep executing until an intermediate result is reached

Wait :: Query t s -> Action t s ()

Wait for a query to be resolved

Ask :: Choose s -> Action Symbolic s ()

Multiple things can happen

EVM :: EVM t s a -> Action t s a

Embed a VM state transformation

IOAct :: IO a -> Action t s a

Perform an IO action

type Stepper t s a = Program (Action t s) a Source #

Type alias for an operational monad of Action

execFully :: Stepper Concrete s (Either EvmError (Expr Buf)) Source #

Run the VM until final result, resolving all queries

run :: Stepper t s (VM t s) Source #

runFully :: Stepper t s (VM t s) Source #

Run the VM until its final state

wait :: Query t s -> Stepper t s () Source #

evm :: EVM t s a -> Stepper t s a Source #

evmIO :: IO a -> Stepper t s a Source #

enter :: Text -> Stepper t s () Source #