{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE RankNTypes #-}
module Cardano.Api.Era.Internal.Case
(
caseByronOrShelleyBasedEra
, caseShelleyEraOnlyOrAllegraEraOnwards
, caseShelleyToBabbageOrConwayEraOnwards
)
where
import Cardano.Api.Era.Internal.Core
import Cardano.Api.Era.Internal.Eon.AllegraEraOnwards
import Cardano.Api.Era.Internal.Eon.ConwayEraOnwards
import Cardano.Api.Era.Internal.Eon.ShelleyBasedEra
import Cardano.Api.Era.Internal.Eon.ShelleyEraOnly
import Cardano.Api.Era.Internal.Eon.ShelleyToBabbageEra
caseByronOrShelleyBasedEra
:: ()
=> a
-> (ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a)
-> CardanoEra era
-> a
caseByronOrShelleyBasedEra :: forall a era.
a
-> (ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a)
-> CardanoEra era
-> a
caseByronOrShelleyBasedEra a
l ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
r = \case
CardanoEra era
ByronEra -> a
l
CardanoEra era
ShelleyEra -> ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
ShelleyBasedEra era -> a
r ShelleyBasedEra era
ShelleyBasedEra ShelleyEra
ShelleyBasedEraShelley
CardanoEra era
AllegraEra -> ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
ShelleyBasedEra era -> a
r ShelleyBasedEra era
ShelleyBasedEra AllegraEra
ShelleyBasedEraAllegra
CardanoEra era
MaryEra -> ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
ShelleyBasedEra era -> a
r ShelleyBasedEra era
ShelleyBasedEra MaryEra
ShelleyBasedEraMary
CardanoEra era
AlonzoEra -> ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
ShelleyBasedEra era -> a
r ShelleyBasedEra era
ShelleyBasedEra AlonzoEra
ShelleyBasedEraAlonzo
CardanoEra era
BabbageEra -> ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
ShelleyBasedEra era -> a
r ShelleyBasedEra era
ShelleyBasedEra BabbageEra
ShelleyBasedEraBabbage
CardanoEra era
ConwayEra -> ShelleyBasedEraConstraints era => ShelleyBasedEra era -> a
ShelleyBasedEra era -> a
r ShelleyBasedEra era
ShelleyBasedEra ConwayEra
ShelleyBasedEraConway
CardanoEra era
DijkstraEra -> [Char] -> a
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: caseByronOrShelleyBasedEra: era not supported"
caseShelleyEraOnlyOrAllegraEraOnwards
:: ()
=> (ShelleyEraOnlyConstraints era => ShelleyEraOnly era -> a)
-> (AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyEraOnlyOrAllegraEraOnwards :: forall era a.
(ShelleyEraOnlyConstraints era => ShelleyEraOnly era -> a)
-> (AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyEraOnlyOrAllegraEraOnwards ShelleyEraOnlyConstraints era => ShelleyEraOnly era -> a
l AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a
r = \case
ShelleyBasedEra era
ShelleyBasedEraShelley -> ShelleyEraOnlyConstraints era => ShelleyEraOnly era -> a
ShelleyEraOnly era -> a
l ShelleyEraOnly era
ShelleyEraOnly ShelleyEra
ShelleyEraOnlyShelley
ShelleyBasedEra era
ShelleyBasedEraAllegra -> AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a
AllegraEraOnwards era -> a
r AllegraEraOnwards era
AllegraEraOnwards AllegraEra
AllegraEraOnwardsAllegra
ShelleyBasedEra era
ShelleyBasedEraMary -> AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a
AllegraEraOnwards era -> a
r AllegraEraOnwards era
AllegraEraOnwards MaryEra
AllegraEraOnwardsMary
ShelleyBasedEra era
ShelleyBasedEraAlonzo -> AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a
AllegraEraOnwards era -> a
r AllegraEraOnwards era
AllegraEraOnwards AlonzoEra
AllegraEraOnwardsAlonzo
ShelleyBasedEra era
ShelleyBasedEraBabbage -> AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a
AllegraEraOnwards era -> a
r AllegraEraOnwards era
AllegraEraOnwards BabbageEra
AllegraEraOnwardsBabbage
ShelleyBasedEra era
ShelleyBasedEraConway -> AllegraEraOnwardsConstraints era => AllegraEraOnwards era -> a
AllegraEraOnwards era -> a
r AllegraEraOnwards era
AllegraEraOnwards ConwayEra
AllegraEraOnwardsConway
ShelleyBasedEra era
ShelleyBasedEraDijkstra -> [Char] -> a
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: caseShelleyEraOnlyOrAllegraEraOnwards: era not supported"
caseShelleyToBabbageOrConwayEraOnwards
:: ()
=> (ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a)
-> (ConwayEraOnwardsConstraints era => ConwayEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToBabbageOrConwayEraOnwards :: forall era a.
(ShelleyToBabbageEraConstraints era =>
ShelleyToBabbageEra era -> a)
-> (ConwayEraOnwardsConstraints era => ConwayEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToBabbageOrConwayEraOnwards ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a
l ConwayEraOnwardsConstraints era => ConwayEraOnwards era -> a
r = \case
ShelleyBasedEra era
ShelleyBasedEraShelley -> ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a
ShelleyToBabbageEra era -> a
l ShelleyToBabbageEra era
ShelleyToBabbageEra ShelleyEra
ShelleyToBabbageEraShelley
ShelleyBasedEra era
ShelleyBasedEraAllegra -> ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a
ShelleyToBabbageEra era -> a
l ShelleyToBabbageEra era
ShelleyToBabbageEra AllegraEra
ShelleyToBabbageEraAllegra
ShelleyBasedEra era
ShelleyBasedEraMary -> ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a
ShelleyToBabbageEra era -> a
l ShelleyToBabbageEra era
ShelleyToBabbageEra MaryEra
ShelleyToBabbageEraMary
ShelleyBasedEra era
ShelleyBasedEraAlonzo -> ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a
ShelleyToBabbageEra era -> a
l ShelleyToBabbageEra era
ShelleyToBabbageEra AlonzoEra
ShelleyToBabbageEraAlonzo
ShelleyBasedEra era
ShelleyBasedEraBabbage -> ShelleyToBabbageEraConstraints era => ShelleyToBabbageEra era -> a
ShelleyToBabbageEra era -> a
l ShelleyToBabbageEra era
ShelleyToBabbageEra BabbageEra
ShelleyToBabbageEraBabbage
ShelleyBasedEra era
ShelleyBasedEraConway -> ConwayEraOnwardsConstraints era => ConwayEraOnwards era -> a
ConwayEraOnwards era -> a
r ConwayEraOnwards era
ConwayEraOnwards ConwayEra
ConwayEraOnwardsConway
ShelleyBasedEra era
ShelleyBasedEraDijkstra -> [Char] -> a
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: caseShelleyToBabbageOrConwayEraOnwards: era not supported"