| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Hydra.Contract.Error
Description
Error codes to be used in plutus scripts.
Define a new type and instantiate ToErrorCode for error cases you want to
use in scripts.
data MyError = CaseA | CaseB deriving Show
instance ToErrorCode MyError where
toErrorCode = case
CaseA -> CA
CaseB -> CB
In plutus-tx, you can then use template haskell to inline the error codes using the '$(errorCode ..)' splice.
validator = traceError $(errorCode CaseA)
This example will have your validator fail with user error CA, which you can match for using 'toErrorCode CaseA' in Haskell.
Synopsis
- class ToErrorCode a where
- toErrorCode :: a -> Text
- errorCode :: ToErrorCode e => e -> Q Exp
Documentation
class ToErrorCode a where Source #
Types which are used to describe errors as short error codes in scripts.
Instances
| ToErrorCode CommitError Source # | |
Defined in Hydra.Contract.CommitError Methods toErrorCode :: CommitError -> Text Source # | |
| ToErrorCode DepositError Source # | |
Defined in Hydra.Contract.DepositError Methods toErrorCode :: DepositError -> Text Source # | |
| ToErrorCode HeadError Source # | |
Defined in Hydra.Contract.HeadError Methods toErrorCode :: HeadError -> Text Source # | |
| ToErrorCode HeadTokensError Source # | |
Defined in Hydra.Contract.HeadTokensError Methods toErrorCode :: HeadTokensError -> Text Source # | |
| ToErrorCode InitialError Source # | |
Defined in Hydra.Contract.InitialError Methods toErrorCode :: InitialError -> Text Source # | |
| ToErrorCode UtilError Source # | |
Defined in Hydra.Contract.Util Methods toErrorCode :: UtilError -> Text Source # | |