{-# LANGUAGE TypeApplications #-} {-# OPTIONS_GHC -Wno-orphans #-} module Main where import Cardano.Ledger.Mary (MaryEra) import qualified Test.Cardano.Ledger.Allegra.Binary.Golden as Golden import Test.Cardano.Ledger.Core.JSON (roundTripJsonEraSpec) import Test.Cardano.Ledger.Era import qualified Test.Cardano.Ledger.Mary.Binary.CddlSpec as CddlSpec import qualified Test.Cardano.Ledger.Mary.BinarySpec as BinarySpec import qualified Test.Cardano.Ledger.Mary.Imp as Imp import Test.Cardano.Ledger.Mary.ImpTest () import qualified Test.Cardano.Ledger.Mary.ValueSpec as ValueSpec import Test.Cardano.Ledger.Shelley.JSON (roundTripJsonShelleyEraSpec) instance EraSpec MaryEra where eraImpSpec :: Proxy MaryEra -> Spec eraImpSpec Proxy MaryEra era = do Proxy MaryEra -> Spec forall era (proxy :: * -> *). (ShelleyEraImp era, ShelleyEraAccounts era) => proxy era -> Spec Imp.shelleyToBabbageSpec Proxy MaryEra era Proxy MaryEra -> Spec forall era (proxy :: * -> *). (MaryEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec Imp.spec Proxy MaryEra era main :: IO () IO () main = forall era. EraSpec era => Spec -> IO () ledgerEraTestMain @MaryEra (Spec -> IO ()) -> Spec -> IO () forall a b. (a -> b) -> a -> b $ do Spec ValueSpec.spec Spec BinarySpec.spec Spec CddlSpec.spec forall era. (HasCallStack, EraTest era) => Spec roundTripJsonEraSpec @MaryEra forall era. ShelleyEraTest era => Spec roundTripJsonShelleyEraSpec @MaryEra forall era. (AllegraEraTest era, ShelleyEraTxCert era) => Spec Golden.spec @MaryEra