Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cooked.Skeleton.Datum
Description
This module exposes the notion of datums as they are handled within a
TxSkel
Synopsis
- type DatumConstrs a = (Show a, PrettyCooked a, ToData a, Eq a, Typeable a)
- data DatumContent where
- DatumContent :: DatumConstrs a => a -> DatumContent
- datumContentToDatum :: DatumContent -> Datum
- datumContentToDatumHash :: DatumContent -> DatumHash
- data DatumResolved
- data DatumKind
- data TxSkelOutDatum where
- txSkelOutDatumHash :: TxSkelOutDatum -> Maybe DatumHash
- txSkelOutUntypedDatum :: TxSkelOutDatum -> Maybe Datum
- datumContentTypedDatumAT :: DatumConstrs a => AffineTraversal' DatumContent a
- txSkelOutDatumContentAT :: AffineTraversal' TxSkelOutDatum DatumContent
- txSkelOutTypedDatumAT :: DatumConstrs a => AffineTraversal' TxSkelOutDatum a
Documentation
type DatumConstrs a = (Show a, PrettyCooked a, ToData a, Eq a, Typeable a) Source #
Type constraints that must be satisfied by the datum content
data DatumContent where Source #
Data type of wrapped datums satisfying DatumConstrs
Constructors
DatumContent :: DatumConstrs a => a -> DatumContent | Wraps an element satisfying |
Instances
Show DatumContent Source # | |
Defined in Cooked.Skeleton.Datum Methods showsPrec :: Int -> DatumContent -> ShowS # show :: DatumContent -> String # showList :: [DatumContent] -> ShowS # | |
PrettyCooked DatumContent Source # | |
Defined in Cooked.Pretty.Skeleton Methods prettyCookedOpt :: PrettyCookedOpts -> DatumContent -> DocCooked Source # prettyCooked :: DatumContent -> DocCooked Source # | |
Eq DatumContent Source # | |
Defined in Cooked.Skeleton.Datum | |
Ord DatumContent Source # | |
Defined in Cooked.Skeleton.Datum Methods compare :: DatumContent -> DatumContent -> Ordering # (<) :: DatumContent -> DatumContent -> Bool # (<=) :: DatumContent -> DatumContent -> Bool # (>) :: DatumContent -> DatumContent -> Bool # (>=) :: DatumContent -> DatumContent -> Bool # max :: DatumContent -> DatumContent -> DatumContent # min :: DatumContent -> DatumContent -> DatumContent # | |
ToData DatumContent Source # | |
Defined in Cooked.Skeleton.Datum Methods |
datumContentToDatum :: DatumContent -> Datum Source #
Extracts the datum from a DatumContent
datumContentToDatumHash :: DatumContent -> DatumHash Source #
Extracts the datum hash from a DatumContent
data DatumResolved Source #
Whether the datum should be resolved in the transaction
Constructors
NotResolved | Do not resolve the datum (absent from |
Resolved | Resolve the datum (present from |
Instances
Show DatumResolved Source # | |
Defined in Cooked.Skeleton.Datum Methods showsPrec :: Int -> DatumResolved -> ShowS # show :: DatumResolved -> String # showList :: [DatumResolved] -> ShowS # | |
Eq DatumResolved Source # | |
Defined in Cooked.Skeleton.Datum Methods (==) :: DatumResolved -> DatumResolved -> Bool # (/=) :: DatumResolved -> DatumResolved -> Bool # | |
Ord DatumResolved Source # | |
Defined in Cooked.Skeleton.Datum Methods compare :: DatumResolved -> DatumResolved -> Ordering # (<) :: DatumResolved -> DatumResolved -> Bool # (<=) :: DatumResolved -> DatumResolved -> Bool # (>) :: DatumResolved -> DatumResolved -> Bool # (>=) :: DatumResolved -> DatumResolved -> Bool # max :: DatumResolved -> DatumResolved -> DatumResolved # min :: DatumResolved -> DatumResolved -> DatumResolved # |
Options on how to include the datum in the transaction
Constructors
Inline | Include the full datum in the UTxO |
Hashed DatumResolved | Only include the datum hash in the UTxO. Resolve, or do not resolve, the full datum in the transaction body. |
Instances
Show DatumKind Source # | |
Eq DatumKind Source # | |
Ord DatumKind Source # | |
data TxSkelOutDatum where Source #
Datums to be placed in TxSkel
outputs, which are either
empty, or composed of a datum content and its placement
Constructors
TxSkelOutNoDatum :: TxSkelOutDatum | use no datum |
TxSkelOutSomeDatum :: DatumContent -> DatumKind -> TxSkelOutDatum | use some datum content and associated placement |
Instances
txSkelOutDatumHash :: TxSkelOutDatum -> Maybe DatumHash Source #
Converts a TxSkelOutDatum
into a possible Plutus datum hash
txSkelOutUntypedDatum :: TxSkelOutDatum -> Maybe Datum Source #
Converts a TxSkelOutDatum
into a possible Plutus datum
datumContentTypedDatumAT :: DatumConstrs a => AffineTraversal' DatumContent a Source #
Extracts a typed datum for a DatumContent
when of the right type
txSkelOutDatumContentAT :: AffineTraversal' TxSkelOutDatum DatumContent Source #
Extracts or changes the DatumContent
of a TxSkelOutDatum
txSkelOutTypedDatumAT :: DatumConstrs a => AffineTraversal' TxSkelOutDatum a Source #
Extracts or changes the inner typed datum of a TxSkelOutDatum