Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cardano.Api.Eras
Description
Cardano eras, sometimes we have to distinguish them.
Synopsis
- data ByronEra
- data ShelleyEra
- data AllegraEra
- data MaryEra
- data AlonzoEra
- data BabbageEra
- data ConwayEra
- data CardanoEra era where
- class HasTypeProxy era ⇒ IsCardanoEra era where
- cardanoEra ∷ CardanoEra era
- data AnyCardanoEra where
- AnyCardanoEra ∷ IsCardanoEra era ⇒ CardanoEra era → AnyCardanoEra
- anyCardanoEra ∷ CardanoEra era → AnyCardanoEra
- data InAnyCardanoEra thing where
- InAnyCardanoEra ∷ IsCardanoEra era ⇒ CardanoEra era → thing era → InAnyCardanoEra thing
- type Byron = ByronEra
- type Shelley = ShelleyEra
- type Allegra = AllegraEra
- type Mary = MaryEra
- data ShelleyBasedEra era where
- class IsCardanoEra era ⇒ IsShelleyBasedEra era where
- data InAnyShelleyBasedEra thing where
- InAnyShelleyBasedEra ∷ IsShelleyBasedEra era ⇒ ShelleyBasedEra era → thing era → InAnyShelleyBasedEra thing
- shelleyBasedToCardanoEra ∷ ShelleyBasedEra era → CardanoEra era
- type family ShelleyLedgerEra era where ...
- data CardanoEraStyle era where
- LegacyByronEra ∷ CardanoEraStyle ByronEra
- ShelleyBasedEra ∷ IsShelleyBasedEra era ⇒ ShelleyBasedEra era → CardanoEraStyle era
- cardanoEraStyle ∷ CardanoEra era → CardanoEraStyle era
- data family AsType t
Eras
A type used as a tag to distinguish the Byron era.
Instances
IsCardanoEra ByronEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy ByronEra Source # | |
FromJSON (EraInMode ByronEra ByronMode) Source # | |
FromJSON (EraInMode ByronEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode ByronEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode ByronEra CardanoMode] # | |
data AsType ByronEra Source # | |
Defined in Cardano.Api.Eras |
data ShelleyEra Source #
A type used as a tag to distinguish the Shelley era.
Instances
IsCardanoEra ShelleyEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra ShelleyEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy ShelleyEra Source # | |
Defined in Cardano.Api.Eras Associated Types data AsType ShelleyEra Source # Methods proxyToAsType ∷ Proxy ShelleyEra → AsType ShelleyEra Source # | |
FromJSON (EraInMode ShelleyEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode ShelleyEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode ShelleyEra CardanoMode] # | |
FromJSON (EraInMode ShelleyEra ShelleyMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode ShelleyEra ShelleyMode) # parseJSONList ∷ Value → Parser [EraInMode ShelleyEra ShelleyMode] # | |
data AsType ShelleyEra Source # | |
Defined in Cardano.Api.Eras |
data AllegraEra Source #
A type used as a tag to distinguish the Allegra era.
Instances
IsCardanoEra AllegraEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra AllegraEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy AllegraEra Source # | |
Defined in Cardano.Api.Eras Associated Types data AsType AllegraEra Source # Methods proxyToAsType ∷ Proxy AllegraEra → AsType AllegraEra Source # | |
FromJSON (EraInMode AllegraEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode AllegraEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode AllegraEra CardanoMode] # | |
data AsType AllegraEra Source # | |
Defined in Cardano.Api.Eras |
A type used as a tag to distinguish the Mary era.
Instances
IsCardanoEra MaryEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra MaryEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy MaryEra Source # | |
FromJSON (EraInMode MaryEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode MaryEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode MaryEra CardanoMode] # | |
data AsType MaryEra Source # | |
Defined in Cardano.Api.Eras |
A type used as a tag to distinguish the Alonzo era.
Instances
IsCardanoEra AlonzoEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra AlonzoEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy AlonzoEra Source # | |
FromJSON (EraInMode AlonzoEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode AlonzoEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode AlonzoEra CardanoMode] # | |
data AsType AlonzoEra Source # | |
Defined in Cardano.Api.Eras |
data BabbageEra Source #
A type used as a tag to distinguish the Babbage era.
Instances
IsCardanoEra BabbageEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra BabbageEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy BabbageEra Source # | |
Defined in Cardano.Api.Eras Associated Types data AsType BabbageEra Source # Methods proxyToAsType ∷ Proxy BabbageEra → AsType BabbageEra Source # | |
FromJSON (EraInMode BabbageEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode BabbageEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode BabbageEra CardanoMode] # | |
data AsType BabbageEra Source # | |
Defined in Cardano.Api.Eras |
A type used as a tag to distinguish the Conway era.
Instances
IsCardanoEra ConwayEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra ConwayEra Source # | |
Defined in Cardano.Api.Eras Methods | |
HasTypeProxy ConwayEra Source # | |
FromJSON (EraInMode ConwayEra CardanoMode) Source # | |
Defined in Cardano.Api.Modes Methods parseJSON ∷ Value → Parser (EraInMode ConwayEra CardanoMode) # parseJSONList ∷ Value → Parser [EraInMode ConwayEra CardanoMode] # | |
data AsType ConwayEra Source # | |
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.
Constructors
Instances
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
cardanoEra ∷ CardanoEra era Source #
Instances
IsCardanoEra AllegraEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsCardanoEra AlonzoEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsCardanoEra BabbageEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsCardanoEra ByronEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsCardanoEra ConwayEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsCardanoEra MaryEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsCardanoEra ShelleyEra Source # | |
Defined in Cardano.Api.Eras Methods |
data AnyCardanoEra where Source #
Constructors
AnyCardanoEra ∷ IsCardanoEra era ⇒ CardanoEra era → AnyCardanoEra |
Instances
anyCardanoEra ∷ CardanoEra 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
InAnyCardanoEra ∷ IsCardanoEra era ⇒ CardanoEra era → thing era → InAnyCardanoEra thing |
Instances
Show (InAnyCardanoEra Tx) Source # | |
Defined in Cardano.Api.Tx | |
Eq (InAnyCardanoEra Tx) Source # | |
Defined in Cardano.Api.Tx Methods (==) ∷ InAnyCardanoEra Tx → InAnyCardanoEra Tx → Bool Source # (/=) ∷ InAnyCardanoEra Tx → InAnyCardanoEra Tx → Bool Source # |
Deprecated aliases
type Shelley = ShelleyEra Source #
Deprecated: Use ShelleyEra
or ShelleyAddr
as appropriate
type Allegra = AllegraEra Source #
Deprecated: Use AllegraEra
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.
Constructors
Instances
Show (ShelleyBasedEra era) Source # | |
Defined in Cardano.Api.Eras | |
NFData (ShelleyBasedEra era) Source # | |
Defined in Cardano.Api.Eras Methods rnf ∷ ShelleyBasedEra era → () Source # | |
Eq (ShelleyBasedEra era) Source # | |
Defined in Cardano.Api.Eras Methods (==) ∷ ShelleyBasedEra era → ShelleyBasedEra era → Bool Source # (/=) ∷ ShelleyBasedEra era → ShelleyBasedEra era → Bool Source # | |
Ord (ShelleyBasedEra era) Source # | |
Defined in Cardano.Api.Eras Methods compare ∷ ShelleyBasedEra era → ShelleyBasedEra era → Ordering Source # (<) ∷ ShelleyBasedEra era → ShelleyBasedEra era → Bool Source # (<=) ∷ ShelleyBasedEra era → ShelleyBasedEra era → Bool Source # (>) ∷ ShelleyBasedEra era → ShelleyBasedEra era → Bool Source # (>=) ∷ ShelleyBasedEra era → ShelleyBasedEra era → Bool Source # max ∷ ShelleyBasedEra era → ShelleyBasedEra era → ShelleyBasedEra era Source # min ∷ ShelleyBasedEra era → ShelleyBasedEra era → ShelleyBasedEra era Source # |
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.
Methods
Instances
IsShelleyBasedEra AllegraEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra AlonzoEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra BabbageEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra ConwayEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra MaryEra Source # | |
Defined in Cardano.Api.Eras Methods | |
IsShelleyBasedEra ShelleyEra Source # | |
Defined in Cardano.Api.Eras Methods |
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
InAnyShelleyBasedEra ∷ IsShelleyBasedEra era ⇒ ShelleyBasedEra era → thing era → InAnyShelleyBasedEra thing |
shelleyBasedToCardanoEra ∷ ShelleyBasedEra era → CardanoEra era Source #
Converts a ShelleyBasedEra
to the broader CardanoEra
.
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.
Constructors
LegacyByronEra ∷ CardanoEraStyle ByronEra | |
ShelleyBasedEra ∷ IsShelleyBasedEra era ⇒ ShelleyBasedEra era → CardanoEraStyle era |
Instances
Show (CardanoEraStyle era) Source # | |
Defined in Cardano.Api.Eras | |
Eq (CardanoEraStyle era) Source # | |
Defined in Cardano.Api.Eras Methods (==) ∷ CardanoEraStyle era → CardanoEraStyle era → Bool Source # (/=) ∷ CardanoEraStyle era → CardanoEraStyle era → Bool Source # | |
Ord (CardanoEraStyle era) Source # | |
Defined in Cardano.Api.Eras Methods compare ∷ CardanoEraStyle era → CardanoEraStyle era → Ordering Source # (<) ∷ CardanoEraStyle era → CardanoEraStyle era → Bool Source # (<=) ∷ CardanoEraStyle era → CardanoEraStyle era → Bool Source # (>) ∷ CardanoEraStyle era → CardanoEraStyle era → Bool Source # (>=) ∷ CardanoEraStyle era → CardanoEraStyle era → Bool Source # max ∷ CardanoEraStyle era → CardanoEraStyle era → CardanoEraStyle era Source # min ∷ CardanoEraStyle era → CardanoEraStyle era → CardanoEraStyle era Source # |
cardanoEraStyle ∷ CardanoEra era → CardanoEraStyle era Source #
The CardanoEraStyle
for a CardanoEra
.
Data family instances
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.