{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE RankNTypes #-}
module Cardano.Api.Era.Internal.Case
(
caseByronOrShelleyBasedEra
, caseShelleyEraOnlyOrAllegraEraOnwards
, caseShelleyToAllegraOrMaryEraOnwards
, caseShelleyToMaryOrAlonzoEraOnwards
, caseShelleyToAlonzoOrBabbageEraOnwards
, caseShelleyToBabbageOrConwayEraOnwards
)
where
import Cardano.Api.Era.Internal.Core
import Cardano.Api.Era.Internal.Eon.AllegraEraOnwards
import Cardano.Api.Era.Internal.Eon.AlonzoEraOnwards
import Cardano.Api.Era.Internal.Eon.BabbageEraOnwards
import Cardano.Api.Era.Internal.Eon.ConwayEraOnwards
import Cardano.Api.Era.Internal.Eon.MaryEraOnwards
import Cardano.Api.Era.Internal.Eon.ShelleyBasedEra
import Cardano.Api.Era.Internal.Eon.ShelleyEraOnly
import Cardano.Api.Era.Internal.Eon.ShelleyToAllegraEra
import Cardano.Api.Era.Internal.Eon.ShelleyToAlonzoEra
import Cardano.Api.Era.Internal.Eon.ShelleyToBabbageEra
import Cardano.Api.Era.Internal.Eon.ShelleyToMaryEra
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"
caseShelleyToAllegraOrMaryEraOnwards
:: ()
=> (ShelleyToAllegraEraConstraints era => ShelleyToAllegraEra era -> a)
-> (MaryEraOnwardsConstraints era => MaryEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToAllegraOrMaryEraOnwards :: forall era a.
(ShelleyToAllegraEraConstraints era =>
ShelleyToAllegraEra era -> a)
-> (MaryEraOnwardsConstraints era => MaryEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToAllegraOrMaryEraOnwards ShelleyToAllegraEraConstraints era => ShelleyToAllegraEra era -> a
l MaryEraOnwardsConstraints era => MaryEraOnwards era -> a
r = \case
ShelleyBasedEra era
ShelleyBasedEraShelley -> ShelleyToAllegraEraConstraints era => ShelleyToAllegraEra era -> a
ShelleyToAllegraEra era -> a
l ShelleyToAllegraEra era
ShelleyToAllegraEra ShelleyEra
ShelleyToAllegraEraShelley
ShelleyBasedEra era
ShelleyBasedEraAllegra -> ShelleyToAllegraEraConstraints era => ShelleyToAllegraEra era -> a
ShelleyToAllegraEra era -> a
l ShelleyToAllegraEra era
ShelleyToAllegraEra AllegraEra
ShelleyToAllegraEraAllegra
ShelleyBasedEra era
ShelleyBasedEraMary -> MaryEraOnwardsConstraints era => MaryEraOnwards era -> a
MaryEraOnwards era -> a
r MaryEraOnwards era
MaryEraOnwards MaryEra
MaryEraOnwardsMary
ShelleyBasedEra era
ShelleyBasedEraAlonzo -> MaryEraOnwardsConstraints era => MaryEraOnwards era -> a
MaryEraOnwards era -> a
r MaryEraOnwards era
MaryEraOnwards AlonzoEra
MaryEraOnwardsAlonzo
ShelleyBasedEra era
ShelleyBasedEraBabbage -> MaryEraOnwardsConstraints era => MaryEraOnwards era -> a
MaryEraOnwards era -> a
r MaryEraOnwards era
MaryEraOnwards BabbageEra
MaryEraOnwardsBabbage
ShelleyBasedEra era
ShelleyBasedEraConway -> MaryEraOnwardsConstraints era => MaryEraOnwards era -> a
MaryEraOnwards era -> a
r MaryEraOnwards era
MaryEraOnwards ConwayEra
MaryEraOnwardsConway
ShelleyBasedEra era
ShelleyBasedEraDijkstra -> [Char] -> a
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: caseShelleyToAllegraOrMaryEraOnwards: era not supported"
caseShelleyToMaryOrAlonzoEraOnwards
:: ()
=> (ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a)
-> (AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToMaryOrAlonzoEraOnwards :: forall era a.
(ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a)
-> (AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToMaryOrAlonzoEraOnwards ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a
l AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a
r = \case
ShelleyBasedEra era
ShelleyBasedEraShelley -> ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a
ShelleyToMaryEra era -> a
l ShelleyToMaryEra era
ShelleyToMaryEra ShelleyEra
ShelleyToMaryEraShelley
ShelleyBasedEra era
ShelleyBasedEraAllegra -> ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a
ShelleyToMaryEra era -> a
l ShelleyToMaryEra era
ShelleyToMaryEra AllegraEra
ShelleyToMaryEraAllegra
ShelleyBasedEra era
ShelleyBasedEraMary -> ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a
ShelleyToMaryEra era -> a
l ShelleyToMaryEra era
ShelleyToMaryEra MaryEra
ShelleyToMaryEraMary
ShelleyBasedEra era
ShelleyBasedEraAlonzo -> AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a
AlonzoEraOnwards era -> a
r AlonzoEraOnwards era
AlonzoEraOnwards AlonzoEra
AlonzoEraOnwardsAlonzo
ShelleyBasedEra era
ShelleyBasedEraBabbage -> AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a
AlonzoEraOnwards era -> a
r AlonzoEraOnwards era
AlonzoEraOnwards BabbageEra
AlonzoEraOnwardsBabbage
ShelleyBasedEra era
ShelleyBasedEraConway -> AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a
AlonzoEraOnwards era -> a
r AlonzoEraOnwards era
AlonzoEraOnwards ConwayEra
AlonzoEraOnwardsConway
ShelleyBasedEra era
ShelleyBasedEraDijkstra -> [Char] -> a
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: caseShelleyToMaryOrAlonzoEraOnwards: era not supported"
caseShelleyToAlonzoOrBabbageEraOnwards
:: ()
=> (ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a)
-> (BabbageEraOnwardsConstraints era => BabbageEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToAlonzoOrBabbageEraOnwards :: forall era a.
(ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a)
-> (BabbageEraOnwardsConstraints era => BabbageEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToAlonzoOrBabbageEraOnwards ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a
l BabbageEraOnwardsConstraints era => BabbageEraOnwards era -> a
r = \case
ShelleyBasedEra era
ShelleyBasedEraShelley -> ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a
ShelleyToAlonzoEra era -> a
l ShelleyToAlonzoEra era
ShelleyToAlonzoEra ShelleyEra
ShelleyToAlonzoEraShelley
ShelleyBasedEra era
ShelleyBasedEraAllegra -> ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a
ShelleyToAlonzoEra era -> a
l ShelleyToAlonzoEra era
ShelleyToAlonzoEra AllegraEra
ShelleyToAlonzoEraAllegra
ShelleyBasedEra era
ShelleyBasedEraMary -> ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a
ShelleyToAlonzoEra era -> a
l ShelleyToAlonzoEra era
ShelleyToAlonzoEra MaryEra
ShelleyToAlonzoEraMary
ShelleyBasedEra era
ShelleyBasedEraAlonzo -> ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a
ShelleyToAlonzoEra era -> a
l ShelleyToAlonzoEra era
ShelleyToAlonzoEra AlonzoEra
ShelleyToAlonzoEraAlonzo
ShelleyBasedEra era
ShelleyBasedEraBabbage -> BabbageEraOnwardsConstraints era => BabbageEraOnwards era -> a
BabbageEraOnwards era -> a
r BabbageEraOnwards era
BabbageEraOnwards BabbageEra
BabbageEraOnwardsBabbage
ShelleyBasedEra era
ShelleyBasedEraConway -> BabbageEraOnwardsConstraints era => BabbageEraOnwards era -> a
BabbageEraOnwards era -> a
r BabbageEraOnwards era
BabbageEraOnwards ConwayEra
BabbageEraOnwardsConway
ShelleyBasedEra era
ShelleyBasedEraDijkstra -> [Char] -> a
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: caseShelleyToAlonzoOrBabbageEraOnwards: 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"