cardano-ledger-babbage-1.15.0.1: Cardano ledger introducing refrence scripts and inline datums
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Babbage.Scripts

Description

Figure 3: Functions related to scripts Babbage Specification

Synopsis

Documentation

data AlonzoScript era Source #

Scripts in the Alonzo Era, Either a native script or a Plutus script.

Constructors

NativeScript !(NativeScript era) 
PlutusScript !(PlutusScript era) 

Instances

Instances details
(AlonzoEraScript era, DecCBOR (Annotator (AlonzoScript era))) ⇒ FromJSON (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

AlonzoEraScript era ⇒ ToJSON (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

AlonzoEraScript era ⇒ ToCBOR (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

toCBOR ∷ AlonzoScript era → Encoding Source #

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

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

AlonzoEraScript era ⇒ DecCBOR (Annotator (AlonzoScript era)) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

AlonzoEraScript era ⇒ EncCBOR (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

encCBOR ∷ AlonzoScript era → Encoding Source #

(SafeToHash (PlutusScript era), SafeToHash (NativeScript era)) ⇒ SafeToHash (AlonzoScript era)

Both constructors know their original bytes

Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

(Eq (PlutusScript era), EqRaw (NativeScript era)) ⇒ EqRaw (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

eqRaw ∷ AlonzoScript era → AlonzoScript era → Bool Source #

(NFData (PlutusScript era), NFData (NativeScript era)) ⇒ NFData (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

rnf ∷ AlonzoScript era → () #

Generic (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Associated Types

type Rep (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

type Rep (AlonzoScript era) = D1 ('MetaData "AlonzoScript" "Cardano.Ledger.Alonzo.Scripts" "cardano-ledger-alonzo-1.17.1.0-inplace" 'False) (C1 ('MetaCons "NativeScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NativeScript era))) :+: C1 ('MetaCons "PlutusScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PlutusScript era))))

Methods

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

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

(AlonzoEraScript era, Script era ~ AlonzoScript era) ⇒ Show (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

showsPrec ∷ Int → AlonzoScript era → ShowS #

show ∷ AlonzoScript era → String #

showList ∷ [AlonzoScript era] → ShowS #

(Eq (PlutusScript era), Eq (NativeScript era)) ⇒ Eq (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

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

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

(Ord (PlutusScript era), Ord (NativeScript era)) ⇒ Ord (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

compare ∷ AlonzoScript era → AlonzoScript era → Ordering #

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

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

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

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

max ∷ AlonzoScript era → AlonzoScript era → AlonzoScript era #

min ∷ AlonzoScript era → AlonzoScript era → AlonzoScript era #

(Era era, MemPack (PlutusScript era), MemPack (NativeScript era)) ⇒ MemPack (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

(Era era, NoThunks (PlutusScript era), NoThunks (NativeScript era)) ⇒ NoThunks (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

type Rep (AlonzoScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

type Rep (AlonzoScript era) = D1 ('MetaData "AlonzoScript" "Cardano.Ledger.Alonzo.Scripts" "cardano-ledger-alonzo-1.17.1.0-inplace" 'False) (C1 ('MetaCons "NativeScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NativeScript era))) :+: C1 ('MetaCons "PlutusScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PlutusScript era))))

data family PlutusScript era Source #

Instances

Instances details
AlonzoEraScript era ⇒ ToCBOR (PlutusScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

toCBOR ∷ PlutusScript era → Encoding Source #

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

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

AlonzoEraScript era ⇒ EncCBOR (PlutusScript era) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

encCBOR ∷ PlutusScript era → Encoding Source #

SafeToHash (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

SafeToHash (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

NFData (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Methods

rnf ∷ PlutusScript AlonzoEra → () #

NFData (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

Methods

rnf ∷ PlutusScript BabbageEra → () #

Generic (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Associated Types

type Rep (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Generic (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

Associated Types

type Rep (PlutusScript BabbageEra) 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

type Rep (PlutusScript BabbageEra) = D1 ('MetaData "PlutusScript" "Cardano.Ledger.Babbage.Scripts" "cardano-ledger-babbage-1.15.0.1-inplace" 'False) (C1 ('MetaCons "BabbagePlutusV1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Plutus 'PlutusV1))) :+: C1 ('MetaCons "BabbagePlutusV2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Plutus 'PlutusV2))))
Show (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Show (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

Eq (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Eq (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

Ord (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

Ord (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

MemPack (PlutusScript AlonzoEra)

It might seem that this instance unnecessarily utilizes a zero Tag, but it is needed for forward compatibility with plutus scripts from future eras.

That being said, currently this instance is not used at all, since reference scripts where introduced in Babbage era and MemPack for now is only used for TxOuts

Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

MemPack (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

NoThunks (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

NoThunks (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

newtype PlutusScript AlonzoEra 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

data PlutusScript BabbageEra Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

type Rep (PlutusScript AlonzoEra) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

type Rep (PlutusScript BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

type Rep (PlutusScript BabbageEra) = D1 ('MetaData "PlutusScript" "Cardano.Ledger.Babbage.Scripts" "cardano-ledger-babbage-1.15.0.1-inplace" 'False) (C1 ('MetaCons "BabbagePlutusV1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Plutus 'PlutusV1))) :+: C1 ('MetaCons "BabbagePlutusV2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Plutus 'PlutusV2))))

Orphan instances

AllegraEraScript BabbageEra Source # 
Instance details

AlonzoEraScript BabbageEra Source # 
Instance details

Methods

eraMaxLanguage ∷ Language Source #

toPlutusScript ∷ Script BabbageEra → Maybe (PlutusScript BabbageEra) Source #

fromPlutusScript ∷ PlutusScript BabbageEra → Script BabbageEra Source #

mkPlutusScript ∷ ∀ (l ∷ Language) m. (PlutusLanguage l, MonadFail m) ⇒ Plutus l → m (PlutusScript BabbageEra) Source #

withPlutusScript ∷ PlutusScript BabbageEra → (∀ (l ∷ Language). PlutusLanguage l ⇒ Plutus l → a) → a Source #

hoistPlutusPurpose ∷ (∀ ix it. g ix it → f ix it) → PlutusPurpose g BabbageEra → PlutusPurpose f BabbageEra Source #

mkSpendingPurpose ∷ f Word32 TxIn → PlutusPurpose f BabbageEra Source #

toSpendingPurpose ∷ PlutusPurpose f BabbageEra → Maybe (f Word32 TxIn) Source #

mkMintingPurpose ∷ f Word32 PolicyID → PlutusPurpose f BabbageEra Source #

toMintingPurpose ∷ PlutusPurpose f BabbageEra → Maybe (f Word32 PolicyID) Source #

mkCertifyingPurpose ∷ f Word32 (TxCert BabbageEra) → PlutusPurpose f BabbageEra Source #

toCertifyingPurpose ∷ PlutusPurpose f BabbageEra → Maybe (f Word32 (TxCert BabbageEra)) Source #

mkWithdrawingPurpose ∷ f Word32 AccountAddress → PlutusPurpose f BabbageEra Source #

toWithdrawingPurpose ∷ PlutusPurpose f BabbageEra → Maybe (f Word32 AccountAddress) Source #

mkRewardingPurpose ∷ f Word32 AccountAddress → PlutusPurpose f BabbageEra Source #

toRewardingPurpose ∷ PlutusPurpose f BabbageEra → Maybe (f Word32 AccountAddress) Source #

upgradePlutusPurposeAsIx ∷ PlutusPurpose AsIx (PreviousEra BabbageEra) → PlutusPurpose AsIx BabbageEra Source #

EraScript BabbageEra Source # 
Instance details

ShelleyEraScript BabbageEra Source # 
Instance details

SafeToHash (PlutusScript BabbageEra) Source # 
Instance details

NFData (PlutusScript BabbageEra) Source # 
Instance details

Methods

rnf ∷ PlutusScript BabbageEra → () #

Generic (PlutusScript BabbageEra) Source # 
Instance details

Associated Types

type Rep (PlutusScript BabbageEra) 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

type Rep (PlutusScript BabbageEra) = D1 ('MetaData "PlutusScript" "Cardano.Ledger.Babbage.Scripts" "cardano-ledger-babbage-1.15.0.1-inplace" 'False) (C1 ('MetaCons "BabbagePlutusV1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Plutus 'PlutusV1))) :+: C1 ('MetaCons "BabbagePlutusV2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Plutus 'PlutusV2))))
Show (PlutusScript BabbageEra) Source # 
Instance details

Eq (PlutusScript BabbageEra) Source # 
Instance details

Ord (PlutusScript BabbageEra) Source # 
Instance details

MemPack (PlutusScript BabbageEra) Source # 
Instance details

NoThunks (PlutusScript BabbageEra) Source # 
Instance details