cardano-ledger-api-1.15.0.0: Public API for the cardano ledger codebase
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Api.Scripts.Data

Synopsis

Plutus Data

data Data era where Source #

Bundled Patterns

pattern Data ∷ Era era ⇒ Data → Data era 

Instances

Instances details
Era era ⇒ FromJSON (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

ToJSON (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

toJSON ∷ Data era → Value Source #

toEncoding ∷ Data era → Encoding Source #

toJSONList ∷ [Data era] → Value Source #

toEncodingList ∷ [Data era] → Encoding Source #

omitField ∷ Data era → Bool Source #

Typeable era ⇒ ToCBOR (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

toCBOR ∷ Data era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (Data era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [Data era] → Size Source #

Era era ⇒ DecCBOR (Annotator (Data era)) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

decCBOR ∷ Decoder s (Annotator (Data era)) Source #

dropCBOR ∷ Proxy (Annotator (Data era)) → Decoder s () Source #

label ∷ Proxy (Annotator (Data era)) → Text Source #

Typeable era ⇒ DecCBOR (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

decCBOR ∷ Decoder s (Data era) Source #

dropCBOR ∷ Proxy (Data era) → Decoder s () Source #

label ∷ Proxy (Data era) → Text Source #

Typeable era ⇒ EncCBOR (Data era)

Encodes memoized bytes created upon construction.

Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ Data era → Encoding Source #

SafeToHash (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Memoized (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Associated Types

type RawType (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type RawType (Data era) = PlutusData era

Methods

getMemoBytes ∷ Data era → MemoBytes (RawType (Data era))

wrapMemoBytes ∷ MemoBytes (RawType (Data era)) → Data era

NFData (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

rnf ∷ Data era → () #

Generic (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Associated Types

type Rep (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (Data era) = D1 ('MetaData "Data" "Cardano.Ledger.Plutus.Data" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "MkData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MemoBytes (PlutusData era)))))

Methods

from ∷ Data era → Rep (Data era) x #

to ∷ Rep (Data era) x → Data era #

Show (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

showsPrec ∷ Int → Data era → ShowS #

show ∷ Data era → String #

showList ∷ [Data era] → ShowS #

Eq (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

(==) ∷ Data era → Data era → Bool #

(/=) ∷ Data era → Data era → Bool #

Ord (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

compare ∷ Data era → Data era → Ordering #

(<) ∷ Data era → Data era → Bool #

(<=) ∷ Data era → Data era → Bool #

(>) ∷ Data era → Data era → Bool #

(>=) ∷ Data era → Data era → Bool #

max ∷ Data era → Data era → Data era #

min ∷ Data era → Data era → Data era #

Typeable era ⇒ NoThunks (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

HashAnnotated (Data era) EraIndependentData 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type RawType (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type RawType (Data era) = PlutusData era
type Rep (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (Data era) = D1 ('MetaData "Data" "Cardano.Ledger.Plutus.Data" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "MkData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MemoBytes (PlutusData era)))))

Inline Datum

data Datum era Source #

Datum can be described by a either a data hash or binary data, but not both. It can also be neither one of them.

Constructors

NoDatum 
DatumHash !DataHash 
Datum !(BinaryData era) 

Instances

Instances details
Era era ⇒ FromJSON (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Era era ⇒ ToJSON (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Era era ⇒ DecCBOR (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

decCBOR ∷ Decoder s (Datum era) Source #

dropCBOR ∷ Proxy (Datum era) → Decoder s () Source #

label ∷ Proxy (Datum era) → Text Source #

Era era ⇒ EncCBOR (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ Datum era → Encoding Source #

Generic (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Associated Types

type Rep (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (Datum era) = D1 ('MetaData "Datum" "Cardano.Ledger.Plutus.Data" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "NoDatum" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "DatumHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DataHash)) :+: C1 ('MetaCons "Datum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (BinaryData era)))))

Methods

from ∷ Datum era → Rep (Datum era) x #

to ∷ Rep (Datum era) x → Datum era #

Show (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

showsPrec ∷ Int → Datum era → ShowS #

show ∷ Datum era → String #

showList ∷ [Datum era] → ShowS #

Eq (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

(==) ∷ Datum era → Datum era → Bool #

(/=) ∷ Datum era → Datum era → Bool #

Ord (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

compare ∷ Datum era → Datum era → Ordering #

(<) ∷ Datum era → Datum era → Bool #

(<=) ∷ Datum era → Datum era → Bool #

(>) ∷ Datum era → Datum era → Bool #

(>=) ∷ Datum era → Datum era → Bool #

max ∷ Datum era → Datum era → Datum era #

min ∷ Datum era → Datum era → Datum era #

Era era ⇒ MemPack (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

typeName ∷ String Source #

packedByteCount ∷ Datum era → Int Source #

packM ∷ Datum era → Pack s () Source #

unpackM ∷ Buffer b ⇒ Unpack s b (Datum era) Source #

NoThunks (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (Datum era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (Datum era) = D1 ('MetaData "Datum" "Cardano.Ledger.Plutus.Data" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "NoDatum" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "DatumHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DataHash)) :+: C1 ('MetaCons "Datum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (BinaryData era)))))

datumDataHash ∷ Datum era → StrictMaybe DataHash Source #

Get the Hash of the datum.

BinaryData

data BinaryData era Source #

Inlined data must be stored in the most compact form because it contributes to the memory overhead of the ledger state. Constructor is intentionally not exported, in order to prevent invalid creation of data from arbitrary binary data. Use makeBinaryData for smart construction.

Instances

Instances details
Era era ⇒ DecCBOR (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

decCBOR ∷ Decoder s (BinaryData era) Source #

dropCBOR ∷ Proxy (BinaryData era) → Decoder s () Source #

label ∷ Proxy (BinaryData era) → Text Source #

EncCBOR (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ BinaryData era → Encoding Source #

SafeToHash (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Generic (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Associated Types

type Rep (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (BinaryData era) = D1 ('MetaData "BinaryData" "Cardano.Ledger.Plutus.Data" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "BinaryData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortByteString)))

Methods

from ∷ BinaryData era → Rep (BinaryData era) x #

to ∷ Rep (BinaryData era) x → BinaryData era #

Show (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

showsPrec ∷ Int → BinaryData era → ShowS #

show ∷ BinaryData era → String #

showList ∷ [BinaryData era] → ShowS #

Eq (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

(==) ∷ BinaryData era → BinaryData era → Bool #

(/=) ∷ BinaryData era → BinaryData era → Bool #

Ord (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

compare ∷ BinaryData era → BinaryData era → Ordering #

(<) ∷ BinaryData era → BinaryData era → Bool #

(<=) ∷ BinaryData era → BinaryData era → Bool #

(>) ∷ BinaryData era → BinaryData era → Bool #

(>=) ∷ BinaryData era → BinaryData era → Bool #

max ∷ BinaryData era → BinaryData era → BinaryData era #

min ∷ BinaryData era → BinaryData era → BinaryData era #

MemPack (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

NoThunks (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

HashAnnotated (BinaryData era) EraIndependentData 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (BinaryData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (BinaryData era) = D1 ('MetaData "BinaryData" "Cardano.Ledger.Plutus.Data" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "BinaryData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortByteString)))

makeBinaryData ∷ Era era ⇒ ShortByteString → Either String (BinaryData era) Source #

Construct BinaryData from a buffer of bytes, while ensuring that it can be later safely converted to Data with binaryDataToData

binaryDataToData ∷ Era era ⇒ BinaryData era → Data era Source #

It is safe to convert BinaryData to Data because the only way to construct BinaryData is through the smart constructor makeBinaryData that takes care of validation.