Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changes/20260720_remove_byrontoalonzoera_eon.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
project: cardano-api
pr: 1260
kind:
- breaking
description: Remove the unused `ByronToAlonzoEra` eon (the `Cardano.Api.Era.Internal.Eon.ByronToAlonzoEra` module and its `Cardano.Api.Era` re-export); it had no consumers, and the same era-gating is available via `forEraInEon`/`inEonForEra` on `toCardanoEra era`.
5 changes: 5 additions & 0 deletions .changes/20260720_remove_closed_range_eons.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
project: cardano-api
pr: 1260
kind:
- breaking
description: Remove the closed-range eons `ShelleyToAllegraEra`, `ShelleyToMaryEra` and `ShelleyToAlonzoEra` and their eliminators `caseShelleyToAllegraOrMaryEraOnwards`, `caseShelleyToMaryOrAlonzoEraOnwards` and `caseShelleyToAlonzoOrBabbageEraOnwards`; achieve the same era-gating with `forEraInEon` (or `inEonForEra`) on `toCardanoEra era`, keyed on the surviving `MaryEraOnwards`/`AlonzoEraOnwards`/`BabbageEraOnwards` eon.
4 changes: 0 additions & 4 deletions cardano-api/cardano-api.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -218,16 +218,12 @@ library
Cardano.Api.Era.Internal.Eon.AllegraEraOnwards
Cardano.Api.Era.Internal.Eon.AlonzoEraOnwards
Cardano.Api.Era.Internal.Eon.BabbageEraOnwards
Cardano.Api.Era.Internal.Eon.ByronToAlonzoEra
Cardano.Api.Era.Internal.Eon.Convert
Cardano.Api.Era.Internal.Eon.ConwayEraOnwards
Cardano.Api.Era.Internal.Eon.MaryEraOnwards
Comment on lines 218 to 223
Cardano.Api.Era.Internal.Eon.ShelleyBasedEra
Cardano.Api.Era.Internal.Eon.ShelleyEraOnly
Cardano.Api.Era.Internal.Eon.ShelleyToAllegraEra
Cardano.Api.Era.Internal.Eon.ShelleyToAlonzoEra
Cardano.Api.Era.Internal.Eon.ShelleyToBabbageEra
Cardano.Api.Era.Internal.Eon.ShelleyToMaryEra
Cardano.Api.Era.Internal.Feature
Cardano.Api.Experimental.Plutus.Internal.IndexedPlutusScriptWitness
Cardano.Api.Experimental.Plutus.Internal.Script
Expand Down
15 changes: 8 additions & 7 deletions cardano-api/gen/Test/Gen/Cardano/Api/Typed.hs
Original file line number Diff line number Diff line change
Expand Up @@ -560,13 +560,13 @@ genLedgerValueForTxOut sbe = do
ada <- A.mkAdaValue sbe . L.Coin <$> Gen.integral (Range.constant 1 2)

-- Generate a potentially empty list with multi assets
caseShelleyToAllegraOrMaryEraOnwards
(const (pure ada))
( \w -> do
forEraInEon
(toCardanoEra sbe)
(pure ada)
( \w -> maryEraOnwardsConstraints w $ do
v <- Gen.list (Range.constant 0 5) $ genLedgerValue w genAssetId genPositiveQuantity
pure $ ada <> mconcat v
)
sbe

genLedgerMultiAssetValue :: Gen L.MultiAsset
genLedgerMultiAssetValue = Q.arbitrary
Expand Down Expand Up @@ -1065,9 +1065,10 @@ genTxInsReference
:: Applicative (BuildTxWith build)
=> ShelleyBasedEra era
-> Gen (TxInsReference build era)
genTxInsReference =
caseShelleyToAlonzoOrBabbageEraOnwards
(const (pure TxInsReferenceNone))
genTxInsReference sbe =
forEraInEon
(toCardanoEra sbe)
(pure TxInsReferenceNone)
( \w -> do
txIns <- Gen.list (Range.linear 0 10) genTxIn
pure $ TxInsReference w txIns mempty
Expand Down
15 changes: 8 additions & 7 deletions cardano-api/src/Cardano/Api/Compatible/Tx.hs
Original file line number Diff line number Diff line change
Expand Up @@ -232,15 +232,16 @@ convScriptData'
-> [(ScriptWitnessIndex, AnyWitness (ShelleyLedgerEra era))]
-> TxBodyScriptData era
convScriptData' sbe extraDatums scriptWitnesses =
caseShelleyToMaryOrAlonzoEraOnwards
(const TxBodyNoScriptData)
forEraInEon
(convert sbe)
TxBodyNoScriptData
( \w ->
let redeemers = getAnyPlutusScriptWitnessRedeemerPointerMap w scriptWitnesses
datums = mconcat [getAnyWitnessScriptData wit | (_, wit) <- scriptWitnesses]
supplementalDatums = alonzoEraOnwardsConstraints w $ Alonzo.TxDats extraDatums
in TxBodyScriptData w (datums <> supplementalDatums) redeemers
alonzoEraOnwardsConstraints w $
let redeemers = getAnyPlutusScriptWitnessRedeemerPointerMap w scriptWitnesses
datums = mconcat [getAnyWitnessScriptData wit | (_, wit) <- scriptWitnesses]
supplementalDatums = Alonzo.TxDats extraDatums
in TxBodyScriptData w (datums <> supplementalDatums) redeemers
)
sbe

getAnyPlutusScriptWitnessRedeemerPointerMap
:: AlonzoEraOnwards era
Expand Down
11 changes: 0 additions & 11 deletions cardano-api/src/Cardano/Api/Era.hs
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,9 @@ module Cardano.Api.Era
, module Cardano.Api.Era.Internal.Eon.ShelleyBasedEra
, module Cardano.Api.Era.Internal.Eon.AllegraEraOnwards
, module Cardano.Api.Era.Internal.Eon.BabbageEraOnwards
, module Cardano.Api.Era.Internal.Eon.ByronToAlonzoEra
, module Cardano.Api.Era.Internal.Eon.MaryEraOnwards
, module Cardano.Api.Era.Internal.Eon.ShelleyEraOnly
, module Cardano.Api.Era.Internal.Eon.ShelleyToAllegraEra
, module Cardano.Api.Era.Internal.Eon.ShelleyToAlonzoEra
, module Cardano.Api.Era.Internal.Eon.ShelleyToBabbageEra
, module Cardano.Api.Era.Internal.Eon.ShelleyToMaryEra
, module Cardano.Api.Era.Internal.Eon.ConwayEraOnwards
, module Cardano.Api.Era.Internal.Eon.AlonzoEraOnwards

Expand Down Expand Up @@ -69,9 +65,6 @@ module Cardano.Api.Era
, caseByronOrShelleyBasedEra

-- ** Case on ShelleyBasedEra
, caseShelleyToAllegraOrMaryEraOnwards
, caseShelleyToMaryOrAlonzoEraOnwards
, caseShelleyToAlonzoOrBabbageEraOnwards
, caseShelleyToBabbageOrConwayEraOnwards
)
where
Expand All @@ -81,14 +74,10 @@ 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.ByronToAlonzoEra
import Cardano.Api.Era.Internal.Eon.Convert
import Cardano.Api.Era.Internal.Eon.ConwayEraOnwards
import Cardano.Api.Era.Internal.Eon.MaryEraOnwards
Comment on lines 74 to 79
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
import Cardano.Api.Era.Internal.Feature
60 changes: 0 additions & 60 deletions cardano-api/src/Cardano/Api/Era/Internal/Case.hs
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,16 @@ module Cardano.Api.Era.Internal.Case
caseByronOrShelleyBasedEra
-- Case on ShelleyBasedEra
, 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 f g era@ returns @f@ in Byron and applies @g@ to Shelley-based eras.
caseByronOrShelleyBasedEra
Expand Down Expand Up @@ -64,57 +55,6 @@ caseShelleyEraOnlyOrAllegraEraOnwards l r = \case
ShelleyBasedEraConway -> r AllegraEraOnwardsConway
ShelleyBasedEraDijkstra -> error "TODO Dijkstra: caseShelleyEraOnlyOrAllegraEraOnwards: era not supported"

-- | @caseShelleyToAllegraOrMaryEraOnwards f g era@ applies @f@ to shelley and allegra;
-- and applies @g@ to mary and later eras.
caseShelleyToAllegraOrMaryEraOnwards
:: ()
=> (ShelleyToAllegraEraConstraints era => ShelleyToAllegraEra era -> a)
-> (MaryEraOnwardsConstraints era => MaryEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToAllegraOrMaryEraOnwards l r = \case
ShelleyBasedEraShelley -> l ShelleyToAllegraEraShelley
ShelleyBasedEraAllegra -> l ShelleyToAllegraEraAllegra
ShelleyBasedEraMary -> r MaryEraOnwardsMary
ShelleyBasedEraAlonzo -> r MaryEraOnwardsAlonzo
ShelleyBasedEraBabbage -> r MaryEraOnwardsBabbage
ShelleyBasedEraConway -> r MaryEraOnwardsConway
ShelleyBasedEraDijkstra -> error "TODO Dijkstra: caseShelleyToAllegraOrMaryEraOnwards: era not supported"

-- | @caseShelleyToMaryOrAlonzoEraOnwards f g era@ applies @f@ to shelley, allegra, and mary;
-- and applies @g@ to alonzo and later eras.
caseShelleyToMaryOrAlonzoEraOnwards
:: ()
=> (ShelleyToMaryEraConstraints era => ShelleyToMaryEra era -> a)
-> (AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToMaryOrAlonzoEraOnwards l r = \case
ShelleyBasedEraShelley -> l ShelleyToMaryEraShelley
ShelleyBasedEraAllegra -> l ShelleyToMaryEraAllegra
ShelleyBasedEraMary -> l ShelleyToMaryEraMary
ShelleyBasedEraAlonzo -> r AlonzoEraOnwardsAlonzo
ShelleyBasedEraBabbage -> r AlonzoEraOnwardsBabbage
ShelleyBasedEraConway -> r AlonzoEraOnwardsConway
ShelleyBasedEraDijkstra -> error "TODO Dijkstra: caseShelleyToMaryOrAlonzoEraOnwards: era not supported"

-- | @caseShelleyToAlonzoOrBabbageEraOnwards f g era@ applies @f@ to shelley, allegra, mary, and alonzo;
-- and applies @g@ to babbage and later eras.
caseShelleyToAlonzoOrBabbageEraOnwards
:: ()
=> (ShelleyToAlonzoEraConstraints era => ShelleyToAlonzoEra era -> a)
-> (BabbageEraOnwardsConstraints era => BabbageEraOnwards era -> a)
-> ShelleyBasedEra era
-> a
caseShelleyToAlonzoOrBabbageEraOnwards l r = \case
ShelleyBasedEraShelley -> l ShelleyToAlonzoEraShelley
ShelleyBasedEraAllegra -> l ShelleyToAlonzoEraAllegra
ShelleyBasedEraMary -> l ShelleyToAlonzoEraMary
ShelleyBasedEraAlonzo -> l ShelleyToAlonzoEraAlonzo
ShelleyBasedEraBabbage -> r BabbageEraOnwardsBabbage
ShelleyBasedEraConway -> r BabbageEraOnwardsConway
ShelleyBasedEraDijkstra -> error "TODO Dijkstra: caseShelleyToAlonzoOrBabbageEraOnwards: era not supported"

-- | @caseShelleyToBabbageOrConwayEraOnwards f g era@ applies @f@ to eras before conway;
-- and applies @g@ to conway and later eras.
caseShelleyToBabbageOrConwayEraOnwards
Expand Down

This file was deleted.

114 changes: 0 additions & 114 deletions cardano-api/src/Cardano/Api/Era/Internal/Eon/ShelleyToAllegraEra.hs

This file was deleted.

Loading
Loading