{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} module Test.Cardano.Ledger.Mary.Imp (spec, Allegra.shelleyToBabbageSpec) where import Cardano.Ledger.Core import qualified Cardano.Ledger.Shelley.Rules as Shelley import qualified Test.Cardano.Ledger.Allegra.Imp as Allegra import Test.Cardano.Ledger.Imp.Common import qualified Test.Cardano.Ledger.Mary.Imp.UtxoSpec as UTXO import Test.Cardano.Ledger.Mary.ImpTest spec :: ( MaryEraImp era , Shelley.Event (EraRule "RUPD" era) ~ Shelley.RupdEvent ) => proxy era -> Spec spec :: forall era (proxy :: * -> *). (MaryEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec spec proxy era era = do proxy era -> Spec forall era (proxy :: * -> *). (ShelleyEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec Allegra.spec proxy era era String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "MaryEra Onwards" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ proxy era -> SpecWith (ImpInit (LedgerSpec era)) -> Spec forall (proxy :: * -> *) era. ShelleyEraImp era => proxy era -> SpecWith (ImpInit (LedgerSpec era)) -> Spec withImpInitEachEraVersion proxy era era (SpecWith (ImpInit (LedgerSpec era)) -> Spec) -> SpecWith (ImpInit (LedgerSpec era)) -> Spec forall a b. (a -> b) -> a -> b $ do UTXO.spec