Skip to content

Commit 9b17a19

Browse files
authored
Merge pull request #282 from input-output-hk/newhoggy/new-case-functions
New `caseAlonzoOnlyOrBabbageEraOnwards` and `alonzoEraOnlyToAlonzoEraOnwards` functions
2 parents 63be533 + c58df97 commit 9b17a19

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

cardano-api/internal/Cardano/Api/Eras/Case.hs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,20 @@ module Cardano.Api.Eras.Case
1919
, caseShelleyToAlonzoOrBabbageEraOnwards
2020
, caseShelleyToBabbageOrConwayEraOnwards
2121

22+
-- Case on AlonzoEraOnwards
23+
, caseAlonzoOnlyOrBabbageEraOnwards
24+
25+
-- Proofs
2226
, noByronEraInShelleyBasedEra
2327

2428
-- Conversions
2529
, shelleyToAllegraEraToByronToAllegraEra
30+
, alonzoEraOnlyToAlonzoEraOnwards
2631
, alonzoEraOnwardsToMaryEraOnwards
2732
) where
2833

2934
import Cardano.Api.Eon.AllegraEraOnwards
35+
import Cardano.Api.Eon.AlonzoEraOnly
3036
import Cardano.Api.Eon.AlonzoEraOnwards
3137
import Cardano.Api.Eon.BabbageEraOnwards
3238
import Cardano.Api.Eon.ByronAndAllegraEraOnwards
@@ -180,6 +186,16 @@ caseShelleyToBabbageOrConwayEraOnwards l r = \case
180186
ShelleyBasedEraBabbage -> l ShelleyToBabbageEraBabbage
181187
ShelleyBasedEraConway -> r ConwayEraOnwardsConway
182188

189+
caseAlonzoOnlyOrBabbageEraOnwards :: ()
190+
=> (AlonzoEraOnly era -> a)
191+
-> (BabbageEraOnwards era -> a)
192+
-> AlonzoEraOnwards era
193+
-> a
194+
caseAlonzoOnlyOrBabbageEraOnwards l r = \case
195+
AlonzoEraOnwardsAlonzo -> l AlonzoEraOnlyAlonzo
196+
AlonzoEraOnwardsBabbage -> r BabbageEraOnwardsBabbage
197+
AlonzoEraOnwardsConway -> r BabbageEraOnwardsConway
198+
183199
noByronEraInShelleyBasedEra :: ShelleyBasedEra era -> ByronEraOnly era -> a
184200
noByronEraInShelleyBasedEra sbe ByronEraOnlyByron = case sbe of {}
185201

@@ -195,3 +211,9 @@ alonzoEraOnwardsToMaryEraOnwards = \case
195211
AlonzoEraOnwardsAlonzo -> MaryEraOnwardsAlonzo
196212
AlonzoEraOnwardsBabbage -> MaryEraOnwardsBabbage
197213
AlonzoEraOnwardsConway -> MaryEraOnwardsConway
214+
215+
alonzoEraOnlyToAlonzoEraOnwards :: ()
216+
=> AlonzoEraOnly era
217+
-> AlonzoEraOnwards era
218+
alonzoEraOnlyToAlonzoEraOnwards = \case
219+
AlonzoEraOnlyAlonzo -> AlonzoEraOnwardsAlonzo

cardano-api/src/Cardano/Api.hs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,13 @@ module Cardano.Api (
155155
caseShelleyToMaryOrAlonzoEraOnwards,
156156
caseShelleyToAlonzoOrBabbageEraOnwards,
157157
caseShelleyToBabbageOrConwayEraOnwards,
158+
caseAlonzoOnlyOrBabbageEraOnwards,
158159

159160
-- ** Eon relaxation
160161
shelleyToAllegraEraToByronToAllegraEra,
162+
alonzoEraOnlyToAlonzoEraOnwards,
163+
164+
-- Case on AlonzoEraOnwards
161165
alonzoEraOnwardsToMaryEraOnwards,
162166

163167
-- * Assertions on era

0 commit comments

Comments
 (0)