hevm-0.49.0: Ethereum virtual machine evaluator
Safe HaskellNone
LanguageHaskell2010

EVM.Emacs

Synopsis

Documentation

type Pred a = a -> Bool Source #

data StepMode Source #

Constructors

StepOne

Finish after one opcode step

StepMany !Int

Run a specific number of steps

StepNone

Finish before the next opcode

StepUntil (Pred VM)

Finish when a VM predicate holds

data StepOutcome a Source #

Constructors

Returned a

Program finished

Stepped (Stepper a)

Took one step; more steps to go

Blocked (IO (Stepper a))

Came across blocking request

class SDisplay a where Source #

Methods

sexp :: a -> SExpr Text Source #

Instances

Instances details
SDisplay String Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: String -> SExpr Text Source #

SDisplay ByteString Source # 
Instance details

Defined in EVM.Emacs

SDisplay Addr Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Addr -> SExpr Text Source #

SDisplay SymWord Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: SymWord -> SExpr Text Source #

SDisplay Word Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Word -> SExpr Text Source #

SDisplay W256 Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: W256 -> SExpr Text Source #

SDisplay Buffer Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Buffer -> SExpr Text Source #

SDisplay Contract Source # 
Instance details

Defined in EVM.Emacs

SDisplay Storage Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Storage -> SExpr Text Source #

SDisplay FrameState Source # 
Instance details

Defined in EVM.Emacs

SDisplay FrameContext Source # 
Instance details

Defined in EVM.Emacs

SDisplay Frame Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Frame -> SExpr Text Source #

SDisplay VM Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: VM -> SExpr Text Source #

SDisplay VMResult Source # 
Instance details

Defined in EVM.Emacs

SDisplay DappInfo Source # 
Instance details

Defined in EVM.Emacs

SDisplay a => SDisplay [a] Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: [a] -> SExpr Text Source #

SDisplay a => SDisplay (Maybe a) Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Maybe a -> SExpr Text Source #

SDisplay (SExpr Text) Source # 
Instance details

Defined in EVM.Emacs

SDisplay (SWord 8) Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: SWord 8 -> SExpr Text Source #

SDisplay (SWord 256) Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: SWord 256 -> SExpr Text Source #

(SDisplay k, SDisplay v) => SDisplay (Map k v) Source # 
Instance details

Defined in EVM.Emacs

Methods

sexp :: Map k v -> SExpr Text Source #

txt :: Show a => a -> Text Source #

output :: SDisplay a => a -> Console () Source #

main :: IO () Source #

parseStepMode :: UiVmState -> Text -> Maybe StepMode Source #

Specifies whether to do I/O blocking or VM halting while stepping. When we step backwards, we don't want to allow those things.

data StepPolicy Source #

Constructors

StepNormally

Allow blocking and returning

StepTimidly

Forbid blocking and returning