Skip to content

Commit 9bc4a0d

Browse files
committed
Remove BabbageEra from experimental Era type
1 parent a10f917 commit 9bc4a0d

File tree

3 files changed

+57
-74
lines changed

3 files changed

+57
-74
lines changed

cardano-api/src/Cardano/Api/Experimental.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ module Cardano.Api.Experimental
3131
, LedgerEra
3232
, DeprecatedEra (..)
3333
, eraToSbe
34-
, babbageEraOnwardsToEra
3534
, eraToBabbageEraOnwards
3635
, sbeToEra
3736

cardano-api/src/Cardano/Api/Internal/Experimental/Eras.hs

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ module Cardano.Api.Internal.Experimental.Eras
2626
, EraCommonConstraints
2727
, obtainCommonConstraints
2828
, eraToSbe
29-
, babbageEraOnwardsToEra
3029
, eraToBabbageEraOnwards
3130
, sbeToEra
3231
)
@@ -42,7 +41,6 @@ import Cardano.Api.Internal.ReexposeLedger qualified as L
4241
import Cardano.Api.Internal.Via.ShowOf
4342

4443
import Cardano.Ledger.Api qualified as L
45-
import Cardano.Ledger.Babbage qualified as Ledger
4644
import Cardano.Ledger.BaseTypes (Inject (..))
4745
import Cardano.Ledger.Conway qualified as Ledger
4846
import Cardano.Ledger.Core qualified as Ledger
@@ -64,7 +62,6 @@ import Prettyprinter
6462
-- from the upcoming era. Therefore, protocol versions are limited to the current mainnet era
6563
-- and the next (upcoming) era.
6664
type family LedgerEra era = (r :: Type) | r -> era where
67-
LedgerEra BabbageEra = Ledger.BabbageEra
6865
LedgerEra ConwayEra = Ledger.ConwayEra
6966

7067
-- | An existential wrapper for types of kind @k -> Type@. It can hold any
@@ -93,8 +90,6 @@ data Some (f :: k -> Type) where
9390
-- codebase to the new mainnet era.
9491
data Era era where
9592
-- | The currently active era on the Cardano mainnet.
96-
BabbageEra :: Era BabbageEra
97-
-- | The upcoming era in development.
9893
ConwayEra :: Era ConwayEra
9994

10095
deriving instance Show (Era era)
@@ -105,10 +100,7 @@ instance Pretty (Era era) where
105100
pretty = eraToStringLike
106101

107102
instance TestEquality Era where
108-
testEquality BabbageEra BabbageEra = Just Refl
109-
testEquality BabbageEra _ = Nothing
110103
testEquality ConwayEra ConwayEra = Just Refl
111-
testEquality ConwayEra _ = Nothing
112104

113105
instance ToJSON (Era era) where
114106
toJSON = eraToStringLike
@@ -120,15 +112,13 @@ instance Eq (Some Era) where
120112
Some era1 == Some era2 = isJust $ testEquality era1 era2
121113

122114
instance Bounded (Some Era) where
123-
minBound = Some BabbageEra
115+
minBound = Some ConwayEra
124116
maxBound = Some ConwayEra
125117

126118
instance Enum (Some Era) where
127-
toEnum 0 = Some BabbageEra
128-
toEnum 1 = Some ConwayEra
119+
toEnum 0 = Some ConwayEra
129120
toEnum i = error $ "Enum.toEnum: invalid argument " <> show i <> " - does not correspond to any era"
130-
fromEnum (Some BabbageEra) = 0
131-
fromEnum (Some ConwayEra) = 1
121+
fromEnum (Some ConwayEra) = 0
132122

133123
instance Ord (Some Era) where
134124
compare e1 e2 = compare (fromEnum e1) (fromEnum e2)
@@ -152,25 +142,21 @@ instance FromJSON (Some Era) where
152142
instance Eon Era where
153143
inEonForEra v f = \case
154144
Api.ConwayEra -> f ConwayEra
155-
Api.BabbageEra -> f BabbageEra
156145
_ -> v
157146

158147
-- | A temporary compatibility instance for easier conversion between the experimental and old APIs.
159148
instance Api.ToCardanoEra Era where
160149
toCardanoEra = \case
161-
BabbageEra -> Api.BabbageEra
162150
ConwayEra -> Api.ConwayEra
163151

164152
eraToStringLike :: IsString a => Era era -> a
165153
{-# INLINE eraToStringLike #-}
166154
eraToStringLike = \case
167-
BabbageEra -> "Babbage"
168155
ConwayEra -> "Conway"
169156

170157
eraFromStringLike :: (IsString a, Eq a) => a -> Either a (Some Era)
171158
{-# INLINE eraFromStringLike #-}
172159
eraFromStringLike = \case
173-
"Babbage" -> pure $ Some BabbageEra
174160
"Conway" -> pure $ Some ConwayEra
175161
wrong -> Left wrong
176162

@@ -211,29 +197,20 @@ eraToSbe = convert
211197

212198
instance Convert Era Api.CardanoEra where
213199
convert = \case
214-
BabbageEra -> Api.BabbageEra
215200
ConwayEra -> Api.ConwayEra
216201

217202
instance Convert Era ShelleyBasedEra where
218203
convert = \case
219-
BabbageEra -> ShelleyBasedEraBabbage
220204
ConwayEra -> ShelleyBasedEraConway
221205

222206
instance Convert Era AlonzoEraOnwards where
223207
convert = \case
224-
BabbageEra -> AlonzoEraOnwardsBabbage
225208
ConwayEra -> AlonzoEraOnwardsConway
226209

227210
instance Convert Era BabbageEraOnwards where
228211
convert = \case
229-
BabbageEra -> BabbageEraOnwardsBabbage
230212
ConwayEra -> BabbageEraOnwardsConway
231213

232-
instance Convert BabbageEraOnwards Era where
233-
convert = \case
234-
BabbageEraOnwardsBabbage -> BabbageEra
235-
BabbageEraOnwardsConway -> ConwayEra
236-
237214
newtype DeprecatedEra era
238215
= DeprecatedEra (ShelleyBasedEra era)
239216
deriving Show
@@ -245,16 +222,12 @@ sbeToEra
245222
=> ShelleyBasedEra era
246223
-> m (Era era)
247224
sbeToEra ShelleyBasedEraConway = return ConwayEra
248-
sbeToEra ShelleyBasedEraBabbage = return BabbageEra
225+
sbeToEra e@ShelleyBasedEraBabbage = throwError $ DeprecatedEra e
249226
sbeToEra e@ShelleyBasedEraAlonzo = throwError $ DeprecatedEra e
250227
sbeToEra e@ShelleyBasedEraMary = throwError $ DeprecatedEra e
251228
sbeToEra e@ShelleyBasedEraAllegra = throwError $ DeprecatedEra e
252229
sbeToEra e@ShelleyBasedEraShelley = throwError $ DeprecatedEra e
253230

254-
{-# DEPRECATED babbageEraOnwardsToEra "Use 'convert' instead." #-}
255-
babbageEraOnwardsToEra :: BabbageEraOnwards era -> Era era
256-
babbageEraOnwardsToEra = convert
257-
258231
{-# DEPRECATED eraToBabbageEraOnwards "Use 'convert' instead." #-}
259232
eraToBabbageEraOnwards :: Era era -> BabbageEraOnwards era
260233
eraToBabbageEraOnwards = convert
@@ -265,17 +238,13 @@ eraToBabbageEraOnwards = convert
265238
class IsEra era where
266239
useEra :: Era era
267240

268-
instance IsEra BabbageEra where
269-
useEra = BabbageEra
270-
271241
instance IsEra ConwayEra where
272242
useEra = ConwayEra
273243

274244
obtainCommonConstraints
275245
:: Era era
276246
-> (EraCommonConstraints era => a)
277247
-> a
278-
obtainCommonConstraints BabbageEra x = x
279248
obtainCommonConstraints ConwayEra x = x
280249

281250
type EraCommonConstraints era =

cardano-api/src/Cardano/Api/Internal/Experimental/Tx.hs

Lines changed: 53 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ import Cardano.Api.Internal.Tx.Sign
138138
import Cardano.Crypto.Hash qualified as Hash
139139
import Cardano.Ledger.Alonzo.TxBody qualified as L
140140
import Cardano.Ledger.Api qualified as L
141-
import Cardano.Ledger.Babbage qualified as Ledger
142141
import Cardano.Ledger.Conway qualified as Ledger
143142
import Cardano.Ledger.Conway.TxBody qualified as L
144143
import Cardano.Ledger.Core qualified as Ledger
@@ -156,7 +155,6 @@ newtype UnsignedTx era
156155

157156
instance IsEra era => Show (UnsignedTx era) where
158157
showsPrec p (UnsignedTx tx) = case useEra @era of
159-
BabbageEra -> showsPrec p (tx :: Ledger.Tx Ledger.BabbageEra)
160158
ConwayEra -> showsPrec p (tx :: Ledger.Tx Ledger.ConwayEra)
161159

162160
newtype UnsignedTxError
@@ -207,51 +205,67 @@ makeUnsignedTx era bc = obtainCommonConstraints era $ do
207205
setReqSignerHashes = convExtraKeyWitnesses apiExtraKeyWitnesses
208206
ledgerTxBody =
209207
L.mkBasicTxBody
210-
& L.inputsTxBodyL .~ txins
211-
& L.collateralInputsTxBodyL .~ collTxIns
212-
& L.referenceInputsTxBodyL .~ refTxIns
213-
& L.outputsTxBodyL .~ outs
214-
& L.totalCollateralTxBodyL .~ totalCollateral
215-
& L.collateralReturnTxBodyL .~ returnCollateral
216-
& L.feeTxBodyL .~ fee
217-
& L.vldtTxBodyL . L.invalidBeforeL .~ convValidityLowerBound (txValidityLowerBound bc)
218-
& L.vldtTxBodyL . L.invalidHereAfterL .~ convValidityUpperBound sbe (txValidityUpperBound bc)
219-
& L.reqSignerHashesTxBodyL .~ setReqSignerHashes
220-
& L.scriptIntegrityHashTxBodyL .~ scriptIntegrityHash
221-
& L.withdrawalsTxBodyL .~ withdrawals
222-
& L.certsTxBodyL .~ certs
223-
& L.mintTxBodyL .~ setMint
224-
& L.auxDataHashTxBodyL .~ maybe SNothing (SJust . Ledger.hashTxAuxData) txAuxData
208+
& L.inputsTxBodyL
209+
.~ txins
210+
& L.collateralInputsTxBodyL
211+
.~ collTxIns
212+
& L.referenceInputsTxBodyL
213+
.~ refTxIns
214+
& L.outputsTxBodyL
215+
.~ outs
216+
& L.totalCollateralTxBodyL
217+
.~ totalCollateral
218+
& L.collateralReturnTxBodyL
219+
.~ returnCollateral
220+
& L.feeTxBodyL
221+
.~ fee
222+
& L.vldtTxBodyL
223+
. L.invalidBeforeL
224+
.~ convValidityLowerBound (txValidityLowerBound bc)
225+
& L.vldtTxBodyL
226+
. L.invalidHereAfterL
227+
.~ convValidityUpperBound sbe (txValidityUpperBound bc)
228+
& L.reqSignerHashesTxBodyL
229+
.~ setReqSignerHashes
230+
& L.scriptIntegrityHashTxBodyL
231+
.~ scriptIntegrityHash
232+
& L.withdrawalsTxBodyL
233+
.~ withdrawals
234+
& L.certsTxBodyL
235+
.~ certs
236+
& L.mintTxBodyL
237+
.~ setMint
238+
& L.auxDataHashTxBodyL
239+
.~ maybe SNothing (SJust . Ledger.hashTxAuxData) txAuxData
225240

226241
scriptWitnesses =
227242
L.mkBasicTxWits
228243
& L.scriptTxWitsL
229-
.~ fromList
230-
[ (L.hashScript sw, sw)
231-
| sw <- scripts
232-
]
233-
& L.datsTxWitsL .~ datums
234-
& L.rdmrsTxWitsL .~ redeemers
244+
.~ fromList
245+
[ (L.hashScript sw, sw)
246+
| sw <- scripts
247+
]
248+
& L.datsTxWitsL
249+
.~ datums
250+
& L.rdmrsTxWitsL
251+
.~ redeemers
235252

236253
eraSpecificTxBody <- eraSpecificLedgerTxBody era ledgerTxBody bc
237254

238255
return . UnsignedTx $
239256
L.mkBasicTx eraSpecificTxBody
240-
& L.witsTxL .~ scriptWitnesses
241-
& L.auxDataTxL .~ maybeToStrictMaybe (toAuxiliaryData sbe (txMetadata bc) (txAuxScripts bc))
242-
& L.isValidTxL .~ txScriptValidityToIsValid apiScriptValidity
257+
& L.witsTxL
258+
.~ scriptWitnesses
259+
& L.auxDataTxL
260+
.~ maybeToStrictMaybe (toAuxiliaryData sbe (txMetadata bc) (txAuxScripts bc))
261+
& L.isValidTxL
262+
.~ txScriptValidityToIsValid apiScriptValidity
243263

244264
eraSpecificLedgerTxBody
245265
:: Era era
246266
-> Ledger.TxBody (LedgerEra era)
247267
-> TxBodyContent BuildTx era
248268
-> Either TxBodyError (Ledger.TxBody (LedgerEra era))
249-
eraSpecificLedgerTxBody BabbageEra ledgerbody bc = do
250-
let sbe = convert BabbageEra
251-
252-
setUpdateProposal <- convTxUpdateProposal sbe (txUpdateProposal bc)
253-
254-
return $ ledgerbody & L.updateTxBodyL .~ setUpdateProposal
255269
eraSpecificLedgerTxBody ConwayEra ledgerbody bc =
256270
let propProcedures = txProposalProcedures bc
257271
voteProcedures = txVotingProcedures bc
@@ -260,12 +274,13 @@ eraSpecificLedgerTxBody ConwayEra ledgerbody bc =
260274
in return $
261275
ledgerbody
262276
& L.proposalProceduresTxBodyL
263-
.~ convProposalProcedures (maybe TxProposalProceduresNone unFeatured propProcedures)
277+
.~ convProposalProcedures (maybe TxProposalProceduresNone unFeatured propProcedures)
264278
& L.votingProceduresTxBodyL
265-
.~ convVotingProcedures (maybe TxVotingProceduresNone unFeatured voteProcedures)
266-
& L.treasuryDonationTxBodyL .~ maybe (L.Coin 0) unFeatured treasuryDonation
279+
.~ convVotingProcedures (maybe TxVotingProceduresNone unFeatured voteProcedures)
280+
& L.treasuryDonationTxBodyL
281+
.~ maybe (L.Coin 0) unFeatured treasuryDonation
267282
& L.currentTreasuryValueTxBodyL
268-
.~ L.maybeToStrictMaybe (unFeatured =<< currentTresuryValue)
283+
.~ L.maybeToStrictMaybe (unFeatured =<< currentTresuryValue)
269284

270285
hashTxBody
271286
:: L.HashAnnotated (Ledger.TxBody era) L.EraIndependentTxBody
@@ -300,9 +315,9 @@ signTx era bootstrapWits shelleyKeyWits (UnsignedTx unsigned) =
300315
obtainCommonConstraints era $
301316
L.mkBasicTxWits
302317
& L.addrTxWitsL
303-
.~ Set.fromList shelleyKeyWits
318+
.~ Set.fromList shelleyKeyWits
304319
& L.bootAddrTxWitsL
305-
.~ Set.fromList bootstrapWits
320+
.~ Set.fromList bootstrapWits
306321
signedTx = unsigned & L.witsTxL .~ (keyWits <> currentScriptWitnesses)
307322
in signedTx
308323

0 commit comments

Comments
 (0)