{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} module Test.Cardano.Ledger.Alonzo.Imp where import Cardano.Ledger.Alonzo.Core import Cardano.Ledger.Alonzo.Rules ( AlonzoUtxoPredFailure, AlonzoUtxosPredFailure, AlonzoUtxowPredFailure, ) import Cardano.Ledger.Shelley.Rules ( ShelleyDelegPredFailure, ShelleyPoolPredFailure, ShelleyUtxoPredFailure, ShelleyUtxowPredFailure, ) import qualified Test.Cardano.Ledger.Alonzo.Imp.UtxoSpec as Utxo import qualified Test.Cardano.Ledger.Alonzo.Imp.UtxosSpec as Utxos import qualified Test.Cardano.Ledger.Alonzo.Imp.UtxowSpec as Utxow import Test.Cardano.Ledger.Alonzo.ImpTest import Test.Cardano.Ledger.Imp.Common import qualified Test.Cardano.Ledger.Mary.Imp as MaryImp spec :: forall era. ( AlonzoEraImp era , InjectRuleFailure "LEDGER" ShelleyDelegPredFailure era , InjectRuleFailure "LEDGER" ShelleyPoolPredFailure era , InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure era , InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era , InjectRuleFailure "LEDGER" AlonzoUtxoPredFailure era , InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era , InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era ) => Spec spec :: forall era. (AlonzoEraImp era, InjectRuleFailure "LEDGER" ShelleyDelegPredFailure era, InjectRuleFailure "LEDGER" ShelleyPoolPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxoPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era) => Spec spec = do forall era. (MaryEraImp era, InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era, InjectRuleFailure "LEDGER" ShelleyPoolPredFailure era) => Spec MaryImp.spec @era forall era. ShelleyEraImp era => SpecWith (ImpInit (LedgerSpec era)) -> Spec withEachEraVersion @era (SpecWith (ImpInit (LedgerSpec era)) -> Spec) -> SpecWith (ImpInit (LedgerSpec era)) -> Spec forall a b. (a -> b) -> a -> b $ do String -> SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era)) forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "AlonzoImpSpec" (SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era))) -> SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era)) forall a b. (a -> b) -> a -> b $ do SpecWith (ImpInit (LedgerSpec era)) forall era. (AlonzoEraImp era, InjectRuleFailure "LEDGER" AlonzoUtxoPredFailure era) => SpecWith (ImpInit (LedgerSpec era)) Utxo.spec SpecWith (ImpInit (LedgerSpec era)) forall era. (AlonzoEraImp era, InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era) => SpecWith (ImpInit (LedgerSpec era)) Utxos.spec SpecWith (ImpInit (LedgerSpec era)) forall era. (AlonzoEraImp era, InjectRuleFailure "LEDGER" ShelleyDelegPredFailure era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era) => SpecWith (ImpInit (LedgerSpec era)) Utxow.spec