{-# LANGUAGE TypeApplications #-} {-# OPTIONS_GHC -Wno-orphans #-} module Main where import Cardano.Ledger.Alonzo (AlonzoEra) import qualified Test.Cardano.Ledger.Alonzo.Binary.CanonicalSpec as Canonical import qualified Test.Cardano.Ledger.Alonzo.Binary.CddlSpec as CddlSpec 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.BinarySpec as BinarySpec import qualified Test.Cardano.Ledger.Alonzo.GoldenSpec as GoldenSpec import qualified Test.Cardano.Ledger.Alonzo.GoldenTranslation as GoldenTranslation import qualified Test.Cardano.Ledger.Alonzo.Imp as Imp import qualified Test.Cardano.Ledger.Alonzo.Imp.TxInfoSpec as TxInfo import Test.Cardano.Ledger.Alonzo.ImpTest () 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 AlonzoEra where eraImpSpec :: Proxy AlonzoEra -> Spec eraImpSpec Proxy AlonzoEra era = do Proxy AlonzoEra -> Spec forall era (proxy :: * -> *). (ShelleyEraImp era, ShelleyEraAccounts era) => proxy era -> Spec Shelley.shelleyEraSpecificSpec Proxy AlonzoEra era Proxy AlonzoEra -> Spec forall era (proxy :: * -> *). (AlonzoEraImp era, ShelleyEraTxCert era) => proxy era -> Spec Imp.alonzoEraSpecificSpec Proxy AlonzoEra era Proxy AlonzoEra -> Spec forall era (proxy :: * -> *). (AlonzoEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec Imp.spec Proxy AlonzoEra era main :: IO () IO () main = forall era. EraSpec era => Spec -> IO () ledgerEraTestMain @AlonzoEra (Spec -> IO ()) -> Spec -> IO () forall a b. (a -> b) -> a -> b $ do Spec BinarySpec.spec Spec Canonical.spec Spec CddlSpec.spec forall era. (HasCallStack, EraTest era) => Spec roundTripJsonEraSpec @AlonzoEra forall era. ShelleyEraTest era => Spec roundTripJsonShelleyEraSpec @AlonzoEra Spec GoldenTranslation.tests Spec GoldenSpec.spec 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 @AlonzoEra 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 @AlonzoEra Spec TxInfo.spec