| Safe Haskell | None |
|---|---|
| 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 ∷ Symbol) where
- type EraFromName (eraName ∷ Symbol) = (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 ∷ Symbol) 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 ∷ Symbol) = (era ∷ Type) | era → eraName Source #
Instances
| EraHasName "Allegra" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Alonzo" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Babbage" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Byron" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Conway" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Dijkstra" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Mary" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
| EraHasName "Shelley" Source # | |||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||
This is the era that preceded Shelley era. It cannot have any other class instances,
except for Era type class.
Instances
| Era ByronEra Source # | |||||||||||||||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||||||||||||||
| 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 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 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 # | |||||||||||||||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||||||||||||||
| 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 # | |||||||||||||||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||||||||||||||
| 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 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 # | |||||||||||||||||
Defined in Cardano.Ledger.Internal.Definition.Era Associated Types
| |||||||||||||||||
| 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 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 | |||||||||||||||||