{-# 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.GoldenSpec as Golden import qualified Test.Cardano.Ledger.Babbage.GoldenTranslation as GoldenTranslation 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 (Spec -> IO ()) -> Spec -> IO () forall a b. (a -> b) -> a -> b $ String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Babbage" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do Spec GoldenTranslation.spec Spec Golden.spec Spec BinarySpec.spec Spec CddlSpec.spec forall era. (HasCallStack, EraTest era) => Spec roundTripJsonEraSpec @BabbageEra String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Imp" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do forall era. (AlonzoEraImp era, BabbageEraTxBody era, EraPlutusTxInfo 'PlutusV2 era, InjectRuleFailure "LEDGER" ShelleyDelegPredFailure 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 String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "CostModels" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do forall era. (AlonzoEraPParams era, AlonzoEraScript era) => Spec CostModelsSpec.spec @BabbageEra String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "TxWits" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do forall era. (EraPlutusContext era, Arbitrary (NativeScript era), DecCBOR (Annotator (NativeScript era))) => Spec TxWitsSpec.spec @BabbageEra