Module

Cardano.Provider.OgmiosTypes

#DecodeOgmios

class DecodeOgmios o  where

Variation of DecodeAeson for ogmios response, defines how to parse full ogmios reponse.

Members

Instances

#ExecutionUnits

type ExecutionUnits = { memory :: BigNum, steps :: BigNum }

#JsonRpc2Response

type JsonRpc2Response = { error :: Maybe Aeson, id :: Maybe String, jsonrpc :: String, method :: Maybe String, result :: Maybe Aeson }

Structure of all json rpc websocket responses

#OgmiosAddress

#OgmiosDatum

#OgmiosError

#OgmiosRedeemerPtr

type OgmiosRedeemerPtr = { index :: UInt, purpose :: String }

#OgmiosScript

#OgmiosTxId

#OgmiosTxIn

type OgmiosTxIn = { index :: Int, txId :: OgmiosTxId }

#OgmiosTxOut

type OgmiosTxOut = { address :: OgmiosAddress, datum :: Maybe String, datumHash :: Maybe String, script :: Maybe ScriptRef, value :: Value }

#OgmiosTxOutRef

type OgmiosTxOutRef = { index :: UInt, txId :: String }

#RedeemerPointer

type RedeemerPointer = { redeemerIndex :: UInt, redeemerTag :: RedeemerTag }

#decodeErrorOrResult

decodeErrorOrResult :: forall o. { parseError :: Aeson -> Either JsonDecodeError o } -> { parseResult :: Aeson -> Either JsonDecodeError o } -> Aeson -> Either OgmiosDecodeError o

Decode "result" field or if absent the error field of ogmios response.

#decodeResult

decodeResult :: forall o. (Aeson -> Either JsonDecodeError o) -> Aeson -> Either OgmiosDecodeError o

Decode "result" field of ogmios response.

#makeDecodeOgmios

makeDecodeOgmios :: forall o. These { parseError :: Aeson -> Either JsonDecodeError o } { parseResult :: Aeson -> Either JsonDecodeError o } -> Aeson -> Either OgmiosDecodeError o

Given how to parse result or error fields,

#ogmiosDecodeErrorToError

#pprintOgmiosDecodeError

#pprintOgmiosError

#redeemerTagFromString

#redeemerTypeMismatch

#showRedeemerPointer

Modules