{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TypeOperators #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Alonzo.Imp ( spec, Shelley.shelleyToBabbageSpec, alonzoToConwaySpec, ) where import Cardano.Ledger.Core import Cardano.Ledger.Shelley.Core (ShelleyEraTxCert) import qualified Cardano.Ledger.Shelley.Rules as Shelley import qualified Test.Cardano.Ledger.Alonzo.Imp.BbodySpec as BBODY 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 Mary import qualified Test.Cardano.Ledger.Shelley.Imp as Shelley spec :: ( AlonzoEraImp era , Shelley.Event (EraRule "RUPD" era) ~ Shelley.RupdEvent ) => proxy era -> Spec spec :: forall era (proxy :: * -> *). (AlonzoEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec spec proxy era era = do proxy era -> Spec forall era (proxy :: * -> *). (MaryEraImp era, Event (EraRule "RUPD" era) ~ RupdEvent) => proxy era -> Spec Mary.spec proxy era era String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "AlonzoEra 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 SpecWith (ImpInit (LedgerSpec era)) forall era. AlonzoEraImp era => SpecWith (ImpInit (LedgerSpec era)) BBODY.spec SpecWith (ImpInit (LedgerSpec era)) forall era. AlonzoEraImp era => SpecWith (ImpInit (LedgerSpec era)) UTXO.spec SpecWith (ImpInit (LedgerSpec era)) forall era. AlonzoEraImp era => SpecWith (ImpInit (LedgerSpec era)) UTXOS.spec SpecWith (ImpInit (LedgerSpec era)) forall era. AlonzoEraImp era => SpecWith (ImpInit (LedgerSpec era)) UTXOW.spec alonzoToConwaySpec :: (AlonzoEraImp era, ShelleyEraTxCert era) => proxy era -> Spec alonzoToConwaySpec :: forall era (proxy :: * -> *). (AlonzoEraImp era, ShelleyEraTxCert era) => proxy era -> Spec alonzoToConwaySpec proxy era era = 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 String -> SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era)) forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "AlonzoEra Specific" (SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era))) -> SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era)) forall a b. (a -> b) -> a -> b $ do UTXOW.alonzoToConwaySpec