cardano-api-1.36.0: The cardano api
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.Api.Eras

Description

Cardano eras, sometimes we have to distinguish them.

Synopsis

Eras

data ByronEra Source #

A type used as a tag to distinguish the Byron era.

Instances

Instances details
IsCardanoEra ByronEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy ByronEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType ByronEra Source #

FromJSON (EraInMode ByronEra ByronMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode ByronEra ByronMode) #

parseJSONList ∷ Value → Parser [EraInMode ByronEra ByronMode] #

FromJSON (EraInMode ByronEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode ByronEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode ByronEra CardanoMode] #

data AsType ByronEra Source # 
Instance details

Defined in Cardano.Api.Eras

data ShelleyEra Source #

A type used as a tag to distinguish the Shelley era.

Instances

Instances details
IsCardanoEra ShelleyEra Source # 
Instance details

Defined in Cardano.Api.Eras

IsShelleyBasedEra ShelleyEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy ShelleyEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType ShelleyEra Source #

FromJSON (EraInMode ShelleyEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode ShelleyEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode ShelleyEra CardanoMode] #

FromJSON (EraInMode ShelleyEra ShelleyMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode ShelleyEra ShelleyMode) #

parseJSONList ∷ Value → Parser [EraInMode ShelleyEra ShelleyMode] #

data AsType ShelleyEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AllegraEra Source #

A type used as a tag to distinguish the Allegra era.

Instances

Instances details
IsCardanoEra AllegraEra Source # 
Instance details

Defined in Cardano.Api.Eras

IsShelleyBasedEra AllegraEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy AllegraEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType AllegraEra Source #

FromJSON (EraInMode AllegraEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode AllegraEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode AllegraEra CardanoMode] #

data AsType AllegraEra Source # 
Instance details

Defined in Cardano.Api.Eras

data MaryEra Source #

A type used as a tag to distinguish the Mary era.

Instances

Instances details
IsCardanoEra MaryEra Source # 
Instance details

Defined in Cardano.Api.Eras

IsShelleyBasedEra MaryEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy MaryEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType MaryEra Source #

FromJSON (EraInMode MaryEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode MaryEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode MaryEra CardanoMode] #

data AsType MaryEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AlonzoEra Source #

A type used as a tag to distinguish the Alonzo era.

Instances

Instances details
IsCardanoEra AlonzoEra Source # 
Instance details

Defined in Cardano.Api.Eras

IsShelleyBasedEra AlonzoEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy AlonzoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType AlonzoEra Source #

FromJSON (EraInMode AlonzoEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode AlonzoEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode AlonzoEra CardanoMode] #

data AsType AlonzoEra Source # 
Instance details

Defined in Cardano.Api.Eras

data BabbageEra Source #

A type used as a tag to distinguish the Babbage era.

Instances

Instances details
IsCardanoEra BabbageEra Source # 
Instance details

Defined in Cardano.Api.Eras

IsShelleyBasedEra BabbageEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy BabbageEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType BabbageEra Source #

FromJSON (EraInMode BabbageEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode BabbageEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode BabbageEra CardanoMode] #

data AsType BabbageEra Source # 
Instance details

Defined in Cardano.Api.Eras

data ConwayEra Source #

A type used as a tag to distinguish the Conway era.

Instances

Instances details
IsCardanoEra ConwayEra Source # 
Instance details

Defined in Cardano.Api.Eras

IsShelleyBasedEra ConwayEra Source # 
Instance details

Defined in Cardano.Api.Eras

HasTypeProxy ConwayEra Source # 
Instance details

Defined in Cardano.Api.Eras

Associated Types

data AsType ConwayEra Source #

FromJSON (EraInMode ConwayEra CardanoMode) Source # 
Instance details

Defined in Cardano.Api.Modes

Methods

parseJSON ∷ Value → Parser (EraInMode ConwayEra CardanoMode) #

parseJSONList ∷ Value → Parser [EraInMode ConwayEra CardanoMode] #

data AsType ConwayEra Source # 
Instance details

Defined in Cardano.Api.Eras

data CardanoEra era where Source #

This GADT provides a value-level representation of all the Cardano eras. This enables pattern matching on the era to allow them to be treated in a non-uniform way.

This can be used in combination with the IsCardanoEra class to get access to this value.

In combination this can often enable code that handles all eras, and does so uniformly where possible, and non-uniformly where necessary.

Instances

Instances details
TestEquality CardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

testEquality ∷ ∀ (a ∷ k) (b ∷ k). CardanoEra a → CardanoEra b → Maybe (a :~: b) Source #

ToJSON (CardanoEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

toJSONCardanoEra era → Value #

toEncodingCardanoEra era → Encoding #

toJSONList ∷ [CardanoEra era] → Value #

toEncodingList ∷ [CardanoEra era] → Encoding #

Show (CardanoEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

showsPrecIntCardanoEra era → ShowS Source #

showCardanoEra era → String Source #

showList ∷ [CardanoEra era] → ShowS Source #

Eq (CardanoEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

(==)CardanoEra era → CardanoEra era → Bool Source #

(/=)CardanoEra era → CardanoEra era → Bool Source #

Ord (CardanoEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

compareCardanoEra era → CardanoEra era → Ordering Source #

(<)CardanoEra era → CardanoEra era → Bool Source #

(<=)CardanoEra era → CardanoEra era → Bool Source #

(>)CardanoEra era → CardanoEra era → Bool Source #

(>=)CardanoEra era → CardanoEra era → Bool Source #

maxCardanoEra era → CardanoEra era → CardanoEra era Source #

minCardanoEra era → CardanoEra era → CardanoEra era Source #

class HasTypeProxy era ⇒ IsCardanoEra era where Source #

The class of Cardano eras. This allows uniform handling of all Cardano eras, but also non-uniform by making case distinctions on the CardanoEra constructors, or the CardanoEraStyle constructors via cardanoEraStyle.

Methods

cardanoEraCardanoEra era Source #

data AnyCardanoEra where Source #

Constructors

AnyCardanoEraIsCardanoEra era ⇒ CardanoEra era → AnyCardanoEra 

Instances

Instances details
FromJSON AnyCardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

parseJSON ∷ Value → Parser AnyCardanoEra #

parseJSONList ∷ Value → Parser [AnyCardanoEra] #

ToJSON AnyCardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

toJSONAnyCardanoEra → Value #

toEncodingAnyCardanoEra → Encoding #

toJSONList ∷ [AnyCardanoEra] → Value #

toEncodingList ∷ [AnyCardanoEra] → Encoding #

Bounded AnyCardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Enum AnyCardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Show AnyCardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

Eq AnyCardanoEra Source # 
Instance details

Defined in Cardano.Api.Eras

anyCardanoEraCardanoEra era → AnyCardanoEra Source #

Like the AnyCardanoEra constructor but does not demand a IsCardanoEra class constraint.

data InAnyCardanoEra thing where Source #

This pairs up some era-dependent type with a CardanoEra value that tells us what era it is, but hides the era type. This is useful when the era is not statically known, for example when deserialising from a file.

Constructors

InAnyCardanoEraIsCardanoEra era ⇒ CardanoEra era → thing era → InAnyCardanoEra thing 

Instances

Instances details
Show (InAnyCardanoEra Tx) Source # 
Instance details

Defined in Cardano.Api.Tx

Eq (InAnyCardanoEra Tx) Source # 
Instance details

Defined in Cardano.Api.Tx

Deprecated aliases

type Byron = ByronEra Source #

Deprecated: Use ByronEra or ByronAddr as appropriate

type Shelley = ShelleyEra Source #

Deprecated: Use ShelleyEra or ShelleyAddr as appropriate

type Allegra = AllegraEra Source #

Deprecated: Use AllegraEra instead

type Mary = MaryEra Source #

Deprecated: Use MaryEra instead

Shelley-based eras

data ShelleyBasedEra era where Source #

While the Byron and Shelley eras are quite different, there are several eras that are based on Shelley with only minor differences. It is useful to be able to treat the Shelley-based eras in a mostly-uniform way.

Values of this type witness the fact that the era is Shelley-based. This can be used to constrain the era to being a Shelley-based on. It allows non-uniform handling making case distinctions on the constructor.

Instances

Instances details
Show (ShelleyBasedEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

NFData (ShelleyBasedEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

Methods

rnfShelleyBasedEra era → () Source #

Eq (ShelleyBasedEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

Ord (ShelleyBasedEra era) Source # 
Instance details

Defined in Cardano.Api.Eras

class IsCardanoEra era ⇒ IsShelleyBasedEra era where Source #

The class of eras that are based on Shelley. This allows uniform handling of Shelley-based eras, but also non-uniform by making case distinctions on the ShelleyBasedEra constructors.

data InAnyShelleyBasedEra thing where Source #

This pairs up some era-dependent type with a ShelleyBasedEra value that tells us what era it is, but hides the era type. This is useful when the era is not statically known, for example when deserialising from a file.

Constructors

InAnyShelleyBasedEraIsShelleyBasedEra era ⇒ ShelleyBasedEra era → thing era → InAnyShelleyBasedEra thing 

Mapping to era types from the Shelley ledger library

type family ShelleyLedgerEra era where ... Source #

A type family that connects our era type tags to equivalent type tags used in the Shelley ledger library.

This type mapping connect types from this API with types in the Shelley ledger library which allows writing conversion functions in a more generic way.

Equations

ShelleyLedgerEra ShelleyEra = StandardShelley 
ShelleyLedgerEra AllegraEra = StandardAllegra 
ShelleyLedgerEra MaryEra = StandardMary 
ShelleyLedgerEra AlonzoEra = StandardAlonzo 
ShelleyLedgerEra BabbageEra = StandardBabbage 
ShelleyLedgerEra ConwayEra = StandardConway 

Cardano eras, as Byron vs Shelley-based

data CardanoEraStyle era where Source #

This is the same essential information as CardanoEra but instead of a flat set of alternative eras, it is factored into the legcy Byron era and the current Shelley-based eras.

This way of factoring the eras is useful because in many cases the major differences are between the Byron and Shelley-based eras, and the Shelley-based eras can often be treated uniformly.

Instances

Instances details
Show (CardanoEraStyle era) Source # 
Instance details

Defined in Cardano.Api.Eras

Eq (CardanoEraStyle era) Source # 
Instance details

Defined in Cardano.Api.Eras

Ord (CardanoEraStyle era) Source # 
Instance details

Defined in Cardano.Api.Eras

Data family instances

data family AsType t Source #

A family of singleton types used in this API to indicate which type to use where it would otherwise be ambiguous or merely unclear.

Values of this type are passed to deserialisation functions for example.

Instances

Instances details
data AsType AddressAny Source # 
Instance details

Defined in Cardano.Api.Address

data AsType ByronAddr Source # 
Instance details

Defined in Cardano.Api.Address

data AsType ShelleyAddr Source # 
Instance details

Defined in Cardano.Api.Address

data AsType StakeAddress Source # 
Instance details

Defined in Cardano.Api.Address

data AsType BlockHeader Source # 
Instance details

Defined in Cardano.Api.Block

data AsType Certificate Source # 
Instance details

Defined in Cardano.Api.Certificate

data AsType AllegraEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType AlonzoEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType BabbageEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType ByronEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType ConwayEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType MaryEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType ShelleyEra Source # 
Instance details

Defined in Cardano.Api.Eras

data AsType ByronKey Source # 
Instance details

Defined in Cardano.Api.Keys.Byron

data AsType ByronKeyLegacy Source # 
Instance details

Defined in Cardano.Api.Keys.Byron

data AsType KesKey Source # 
Instance details

Defined in Cardano.Api.Keys.Praos

data AsType VrfKey Source # 
Instance details

Defined in Cardano.Api.Keys.Praos

data AsType GenesisDelegateExtendedKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType GenesisDelegateKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType GenesisExtendedKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType GenesisKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType GenesisUTxOKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType PaymentExtendedKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType PaymentKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType StakeExtendedKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType StakeKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType StakePoolKey Source # 
Instance details

Defined in Cardano.Api.Keys.Shelley

data AsType OperationalCertificate Source # 
Instance details

Defined in Cardano.Api.OperationalCertificate

data AsType OperationalCertificateIssueCounter Source # 
Instance details

Defined in Cardano.Api.OperationalCertificate

data AsType PraosNonce Source # 
Instance details

Defined in Cardano.Api.ProtocolParameters

data AsType UpdateProposal Source # 
Instance details

Defined in Cardano.Api.ProtocolParameters

data AsType PlutusScriptV1 Source # 
Instance details

Defined in Cardano.Api.Script

data AsType PlutusScriptV2 Source # 
Instance details

Defined in Cardano.Api.Script

data AsType ScriptHash Source # 
Instance details

Defined in Cardano.Api.Script

data AsType ScriptInAnyLang Source # 
Instance details

Defined in Cardano.Api.Script

data AsType SimpleScript' Source # 
Instance details

Defined in Cardano.Api.Script

data AsType HashableScriptData Source # 
Instance details

Defined in Cardano.Api.ScriptData

data AsType ScriptData Source # 
Instance details

Defined in Cardano.Api.ScriptData

data AsType TextEnvelope Source # 
Instance details

Defined in Cardano.Api.SerialiseTextEnvelope

data AsType ByronUpdateProposal Source # 
Instance details

Defined in Cardano.Api.SpecialByron

data AsType ByronVote Source # 
Instance details

Defined in Cardano.Api.SpecialByron

data AsType StakePoolMetadata Source # 
Instance details

Defined in Cardano.Api.StakePoolMetadata

data AsType TxId Source # 
Instance details

Defined in Cardano.Api.TxIn

data AsType TxMetadata Source # 
Instance details

Defined in Cardano.Api.TxMetadata

data AsType AssetName Source # 
Instance details

Defined in Cardano.Api.Value

data AsType PolicyId Source # 
Instance details

Defined in Cardano.Api.Value

data AsType (Address addrtype) Source # 
Instance details

Defined in Cardano.Api.Address

data AsType (Address addrtype) = AsAddress (AsType addrtype)
data AsType (AddressInEra era) Source # 
Instance details

Defined in Cardano.Api.Address

data AsType (Hash a) Source # 
Instance details

Defined in Cardano.Api.Hash

data AsType (Hash a) = AsHash (AsType a)
data AsType (SigningKey a) Source # 
Instance details

Defined in Cardano.Api.Keys.Class

data AsType (VerificationKey a) Source # 
Instance details

Defined in Cardano.Api.Keys.Class

data AsType (PlutusScript lang) Source # 
Instance details

Defined in Cardano.Api.Script

data AsType (Script lang) Source # 
Instance details

Defined in Cardano.Api.Script

data AsType (Script lang) = AsScript (AsType lang)
data AsType (ScriptInEra era) Source # 
Instance details

Defined in Cardano.Api.Script

data AsType (KeyWitness era) Source # 
Instance details

Defined in Cardano.Api.Tx

data AsType (Tx era) Source # 
Instance details

Defined in Cardano.Api.Tx

data AsType (Tx era) = AsTx (AsType era)
data AsType (TxBody era) Source # 
Instance details

Defined in Cardano.Api.TxBody

data AsType (TxBody era) = AsTxBody (AsType era)