{-# LANGUAGE TypeApplications #-} module Main where import Cardano.Ledger.Shelley (ShelleyEra) import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.JSON (roundTripJsonEraSpec) import qualified Test.Cardano.Ledger.Shelley.Binary.CddlSpec as Cddl import qualified Test.Cardano.Ledger.Shelley.BinarySpec as Binary import qualified Test.Cardano.Ledger.Shelley.Imp as Imp main :: IO () IO () main = Spec -> IO () ledgerTestMain forall a b. (a -> b) -> a -> b $ forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "Shelley" forall a b. (a -> b) -> a -> b $ do Spec Binary.spec Spec Cddl.spec forall era. (Arbitrary (TxAuxData era), ShelleyEraImp era, InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era) => Spec Imp.spec @ShelleyEra forall era. (HasCallStack, EraPParams era, Arbitrary (PParams era)) => Spec roundTripJsonEraSpec @ShelleyEra