atlas-cardano
Copyright(c) 2023 GYELD GMBH
LicenseApache 2.0
Maintainer[email protected]
Stabilitydevelop
Safe HaskellNone
LanguageGHC2021

GeniusYield.Types.Datum

Description

 
Synopsis

Docspec setup

>>> :set -XOverloadedStrings -XTypeApplications
>>> import qualified Data.Aeson                 as Aeson
>>> import qualified Data.ByteString.Char8      as BS8
>>> import qualified Data.ByteString.Lazy       as BSL
>>> import qualified Web.HttpApiData            as Web
>>> 

Datum

data GYDatum #

Datum

In the GY system we always include datums in transactions so this simple type is sufficient.

Instances

Instances details
FromJSON GYDatum #

Datums use cardano-api's detailed schema for JSON representation.

>>> Aeson.decode @GYDatum "{\"constructor\":0,\"fields\":[{\"int\":42},{\"list\":[{\"bytes\":\"\"}]}]}"
Just (GYDatum Constr 0 [I 42,List [B ""]])
Instance details

Defined in GeniusYield.Types.Datum

ToJSON GYDatum #
>>> BSL.putStr . Aeson.encode . datumFromPlutus' . PlutusTx.dataToBuiltinData $ PlutusTx.Constr 0 [ PlutusTx.I 42, PlutusTx.List [ PlutusTx.B "" ] ]
{"constructor":0,"fields":[{"int":42},{"list":[{"bytes":""}]}]}
Instance details

Defined in GeniusYield.Types.Datum

Show GYDatum # 
Instance details

Defined in GeniusYield.Types.Datum

Eq GYDatum # 
Instance details

Defined in GeniusYield.Types.Datum

Methods

(==) :: GYDatum -> GYDatum -> Bool #

(/=) :: GYDatum -> GYDatum -> Bool #

Ord GYDatum # 
Instance details

Defined in GeniusYield.Types.Datum

FromData GYDatum # 
Instance details

Defined in GeniusYield.Types.Datum

ToData GYDatum # 
Instance details

Defined in GeniusYield.Types.Datum

datumToApi' :: GYDatum -> HashableScriptData #

Convert a GYDatum to HashableScriptData from Cardano Api.

NOTE: This function is to be used only when generating for new outputs in a transaction as doing datumFromApi' followed by datumToApi' does not guarantee same low level CBOR representation of the high level data type.

datumToPlutus :: GYDatum -> Datum #

Convert a GYDatum to Datum from Plutus

datumToPlutus' :: GYDatum -> BuiltinData #

Convert a GYDatum to BuiltinData from Plutus

datumFromPlutus :: Datum -> GYDatum #

Get a GYDatum from a Plutus Datum

datumFromPlutusData :: ToData a => a -> GYDatum #

Get a GYDatum from any Plutus ToData type.

hashDatum :: GYDatum -> GYDatumHash #

Returns the GYDatumHash of the given GYDatum

Datum hash

data GYDatumHash #

Instances

Instances details
FromJSON GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

ToJSON GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

IsString GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

Show GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

Eq GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

Ord GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

ToHttpApiData GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

FromField GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum

ToField GYDatumHash # 
Instance details

Defined in GeniusYield.Types.Datum