| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
EVM.Stepper
Synopsis
- data Action a where
- data Failure
- type Stepper a = Program Action a
- exec :: Stepper VMResult
- execFully :: Stepper (Either Error Blob)
- execFullyOrFail :: Stepper Blob
- decode :: AbiType -> Blob -> Stepper AbiValue
- fail :: Failure -> Stepper a
- wait :: Query -> Stepper ()
- evm :: EVM a -> Stepper a
- note :: Text -> Stepper ()
- entering :: Text -> Stepper a -> Stepper a
- enter :: Text -> Stepper ()
Documentation
The instruction type of the operational monad
Constructors
| Exec :: Action VMResult | Keep executing until an intermediate result is reached |
| Fail :: Failure -> Action a | Short-circuit with a failure |
| Wait :: Query -> Action () | Wait for a query to be resolved |
| EVM :: EVM a -> Action a | Embed a VM state transformation |
| Note :: Text -> Action () | Write something to the log or terminal |
Some failure raised by a stepper
Constructors
| ContractNotFound | |
| DecodingError | |
| VMFailed Error |
execFully :: Stepper (Either Error Blob) Source #
Run the VM until final result, resolving all queries