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