{-# LANGUAGE TypeApplications #-} {-# OPTIONS_GHC -Wno-orphans #-} 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.Alonzo.Imp as Alonzo 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 GoldenSpec 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 qualified Test.Cardano.Ledger.Babbage.TxInfoSpec as TxInfo import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.JSON (roundTripJsonEraSpec) import Test.Cardano.Ledger.Era import qualified Test.Cardano.Ledger.Shelley.Imp as Shelley import Test.Cardano.Ledger.Shelley.JSON (roundTripJsonShelleyEraSpec) instance EraSpec BabbageEra where eraImpSpec :: Proxy BabbageEra -> Spec eraImpSpec Proxy BabbageEra era = do Proxy BabbageEra -> Spec forall era (proxy :: * -> *). (ShelleyEraImp era, ShelleyEraAccounts era) => proxy era -> Spec Shelley.shelleyEraSpecificSpec Proxy BabbageEra era Proxy BabbageEra -> Spec forall era (proxy :: * -> *). (AlonzoEraImp era, ShelleyEraTxCert era) => proxy era -> Spec Alonzo.alonzoEraSpecificSpec Proxy BabbageEra era Proxy BabbageEra -> Spec forall era (proxy :: * -> *). (BabbageEraImp era, ShelleyEraAccounts era, Event (EraRule "NEWEPOCH" era) ~ ShelleyNewEpochEvent era) => proxy era -> Spec Imp.babbageEraSpecificSpec Proxy BabbageEra era Proxy BabbageEra -> Spec forall era (proxy :: * -> *). (BabbageEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec Imp.spec Proxy BabbageEra era main :: IO () IO () main = forall era. EraSpec era => Spec -> IO () ledgerEraTestMain @BabbageEra (Spec -> IO ()) -> Spec -> IO () forall a b. (a -> b) -> a -> b $ do forall era. (EraTx era, BabbageEraTxBody era, Value era ~ MaryValue, Inject (BabbageContextError era) (ContextError era), EraPlutusTxInfo 'PlutusV1 era, EraPlutusTxInfo 'PlutusV2 era) => Spec TxInfo.spec @BabbageEra Spec GoldenTranslation.spec Spec GoldenSpec.spec Spec BinarySpec.spec Spec CddlSpec.spec forall era. (HasCallStack, EraTest era) => Spec roundTripJsonEraSpec @BabbageEra forall era. ShelleyEraTest era => Spec roundTripJsonShelleyEraSpec @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)) => Spec TxWitsSpec.spec @BabbageEra