{-# LANGUAGE TypeApplications #-} module Main where import Cardano.Ledger.Babbage (BabbageEra) import qualified Test.Cardano.Ledger.Alonzo.Binary.CostModelsSpec as CostModelsSpec import qualified Test.Cardano.Ledger.Alonzo.Binary.TxWitsSpec as TxWitsSpec import qualified Test.Cardano.Ledger.Babbage.Binary.CddlSpec as CddlSpec import qualified Test.Cardano.Ledger.Babbage.BinarySpec as BinarySpec import qualified Test.Cardano.Ledger.Babbage.GoldenTranslation as Golden import qualified Test.Cardano.Ledger.Babbage.Imp as Imp import Test.Cardano.Ledger.Babbage.ImpTest () import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.JSON (roundTripJsonEraSpec) main :: IO () IO () main = Spec -> IO () ledgerTestMain forall a b. (a -> b) -> a -> b $ forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Babbage" forall a b. (a -> b) -> a -> b $ do Spec Golden.spec Spec BinarySpec.spec Spec CddlSpec.spec forall era. (HasCallStack, EraPParams era, Arbitrary (PParams era)) => Spec roundTripJsonEraSpec @BabbageEra forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Imp" forall a b. (a -> b) -> a -> b $ do forall era. (Arbitrary (TxAuxData era), AlonzoEraImp era, BabbageEraTxBody era, InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxoPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era, InjectRuleFailure "LEDGER" BabbageUtxowPredFailure era, Inject (BabbageContextError era) (ContextError era)) => Spec Imp.spec @BabbageEra forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "CostModels" forall a b. (a -> b) -> a -> b $ do forall era. (AlonzoEraPParams era, AlonzoEraScript era) => Spec CostModelsSpec.spec @BabbageEra forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "TxWits" forall a b. (a -> b) -> a -> b $ do forall era. (AlonzoEraScript era, Script era ~ AlonzoScript era, NativeScript era ~ Timelock era) => Spec TxWitsSpec.spec @BabbageEra