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 # |