cardano-ledger-core-1.22.0.0: Core components of Cardano ledgers from the Shelley release on.
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Plutus.Data

Synopsis

Documentation

newtype PlutusData era Source #

This is a wrapper with a phantom era for PV1.Data, since we need something with kind (* -> *) for MemoBytes

Constructors

PlutusData Data 

Instances

Instances details
FromJSON (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

ToJSON (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Typeable era ⇒ DecCBOR (Annotator (PlutusData era)) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Typeable era ⇒ DecCBOR (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

decCBOR ∷ Decoder s (PlutusData era) Source #

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

label ∷ Proxy (PlutusData era) → Text Source #

EncCBOR (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ PlutusData era → Encoding Source #

NFData (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

rnf ∷ PlutusData era → () #

Generic (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Associated Types

type Rep (PlutusData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (PlutusData era) = Rep Data

Methods

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

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

Show (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

showsPrec ∷ Int → PlutusData era → ShowS #

show ∷ PlutusData era → String #

showList ∷ [PlutusData era] → ShowS #

Eq (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

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

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

Ord (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

compare ∷ PlutusData era → PlutusData era → Ordering #

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

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

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

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

max ∷ PlutusData era → PlutusData era → PlutusData era #

min ∷ PlutusData era → PlutusData era → PlutusData era #

NoThunks (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Serialise (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type MemoHashIndex (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (PlutusData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (PlutusData era) = Rep Data

newtype Data era Source #

Constructors

MkData (MemoBytes (PlutusData era)) 

Bundled Patterns

pattern Data ∷ Era era ⇒ Data → Data era 

Instances

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

Defined in Cardano.Ledger.Plutus.Data

ToJSON (Data era) Source # 
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) Source # 
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)) Source # 
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) Source # 
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) Source #

Encodes memoized bytes created upon construction.

Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ Data era → Encoding Source #

SafeToHash (Data era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Memoized (Data era) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

rnf ∷ Data era → () #

Generic (Data era) Source # 
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) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

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

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

Ord (Data era) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

HashAnnotated (Data era) EraIndependentData Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type RawType (Data era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type RawType (Data era) = PlutusData era
type Rep (Data era) Source # 
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)))))

unData ∷ Data era → Data Source #

upgradeData ∷ (Era era1, Era era2) ⇒ Data era1 → Data era2 Source #

Upgrade Data from one era to another. While the underlying data will remain the same, the memoised serialisation may change to reflect the versioned serialisation of the new era.

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) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ BinaryData era → Encoding Source #

SafeToHash (BinaryData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Generic (BinaryData era) Source # 
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) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

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

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

Ord (BinaryData era) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

NoThunks (BinaryData era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

HashAnnotated (BinaryData era) EraIndependentData Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (BinaryData era) Source # 
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.

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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Era era ⇒ ToJSON (Datum era) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Era era ⇒ DecCBOR (Datum era) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

encCBOR ∷ Datum era → Encoding Source #

Generic (Datum era) Source # 
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 'DecidedStrict) (Rec0 (BinaryData era)))))

Methods

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

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

Show (Datum era) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

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

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

Ord (Datum era) Source # 
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) Source # 
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) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.Data

type Rep (Datum era) Source # 
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 'DecidedStrict) (Rec0 (BinaryData era)))))

mkInlineDatum ∷ Era era ⇒ Data → Datum era Source #

mkHashedDatum ∷ Era era ⇒ Data → Datum era Source #

datumDataHash ∷ Datum era → StrictMaybe DataHash Source #

Get the Hash of the datum.

translateDatum ∷ Datum era1 → Datum era2 Source #