Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cardano.Ledger.Internal.Definition.Era
Synopsis
- class (Typeable era, KnownNat (ProtVerLow era), KnownNat (ProtVerHigh era), ProtVerLow era <= ProtVerHigh era, MinVersion <= ProtVerLow era, MinVersion <= ProtVerHigh era, CmpNat (ProtVerLow era) MaxVersion ~ 'LT, CmpNat (ProtVerHigh era) MaxVersion ~ 'LT) ⇒ Era era where
- type EraName era ∷ Symbol
- type PreviousEra era = (r ∷ Type) | r → era
- type ProtVerLow era ∷ Nat
- type ProtVerHigh era ∷ Nat
- eraName ∷ String
- class (KnownSymbol eraName, Era (EraFromName eraName), EraName (EraFromName eraName) ~ eraName) ⇒ EraHasName eraName where
- type EraFromName eraName = (era ∷ Type) | era → eraName
- data ByronEra
- data ShelleyEra
- data AllegraEra
- data MaryEra
- data AlonzoEra
- data BabbageEra
- data ConwayEra
- data DijkstraEra
Documentation
class (Typeable era, KnownNat (ProtVerLow era), KnownNat (ProtVerHigh era), ProtVerLow era <= ProtVerHigh era, MinVersion <= ProtVerLow era, MinVersion <= ProtVerHigh era, CmpNat (ProtVerLow era) MaxVersion ~ 'LT, CmpNat (ProtVerHigh era) MaxVersion ~ 'LT) ⇒ Era era where Source #
Minimal complete definition
Nothing
Associated Types
type EraName era ∷ Symbol Source #
type PreviousEra era = (r ∷ Type) | r → era Source #
Map an era to its predecessor.
For example:
type instance PreviousEra AllegraEra = ShelleyEra
type ProtVerLow era ∷ Nat Source #
Lowest major protocol version for this era
type ProtVerHigh era ∷ Nat Source #
Highest major protocol version for this era. By default se to ProtVerLow
type ProtVerHigh era = ProtVerLow era
Methods
Textual name of the current era.
Designed to be used with TypeApplications
:
>>>
eraName @ByronEra
"Byron"
Instances
class (KnownSymbol eraName, Era (EraFromName eraName), EraName (EraFromName eraName) ~ eraName) ⇒ EraHasName eraName Source #
This class exists in order to be able to derive the protocol version range for an era from its
name. It is achieved by the means of injective definition of an era type from its name. This
effectively closes the world for eras to only the ones that are deined in this module, however it
does have to be that way. In other words, if there is ever a need to define custom eras that
build on top of existing ledger eras, then we will need to remove injectivity from this type
class as well as from the PreviousEra
type family.
Associated Types
type EraFromName eraName = (era ∷ Type) | era → eraName Source #
Instances
This is the era that preceded Shelley era. It cannot have any other class instances,
except for Era
type class.
Instances
Era ByronEra Source # | |
type EraName ByronEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra ByronEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh ByronEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow ByronEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
data ShelleyEra Source #
Instances
Era ShelleyEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types type EraName ShelleyEra ∷ Symbol Source # type PreviousEra ShelleyEra = (r ∷ Type) Source # type ProtVerLow ShelleyEra ∷ Nat Source # type ProtVerHigh ShelleyEra ∷ Nat Source # | |
type EraName ShelleyEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra ShelleyEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh ShelleyEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow ShelleyEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
data AllegraEra Source #
Instances
Era AllegraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types type EraName AllegraEra ∷ Symbol Source # type PreviousEra AllegraEra = (r ∷ Type) Source # type ProtVerLow AllegraEra ∷ Nat Source # type ProtVerHigh AllegraEra ∷ Nat Source # | |
type EraName AllegraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra AllegraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh AllegraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow AllegraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
Instances
Era MaryEra Source # | |
type EraName MaryEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra MaryEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh MaryEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow MaryEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
Instances
Era AlonzoEra Source # | |
type EraName AlonzoEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra AlonzoEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh AlonzoEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow AlonzoEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
data BabbageEra Source #
Instances
Era BabbageEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types type EraName BabbageEra ∷ Symbol Source # type PreviousEra BabbageEra = (r ∷ Type) Source # type ProtVerLow BabbageEra ∷ Nat Source # type ProtVerHigh BabbageEra ∷ Nat Source # | |
type EraName BabbageEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra BabbageEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh BabbageEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow BabbageEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
Instances
Era ConwayEra Source # | |
type EraName ConwayEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra ConwayEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh ConwayEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow ConwayEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |
data DijkstraEra Source #
Instances
Era DijkstraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types type EraName DijkstraEra ∷ Symbol Source # type PreviousEra DijkstraEra = (r ∷ Type) Source # type ProtVerLow DijkstraEra ∷ Nat Source # type ProtVerHigh DijkstraEra ∷ Nat Source # | |
type EraName DijkstraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type PreviousEra DijkstraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerHigh DijkstraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era | |
type ProtVerLow DijkstraEra Source # | |
Defined in Cardano.Ledger.Internal.Definition.Era |