{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Allegra.Imp (spec) where import Cardano.Ledger.Allegra (AllegraEra) import Cardano.Ledger.Core import Cardano.Ledger.Shelley.Rules import Test.Cardano.Ledger.Allegra.ImpTest import Test.Cardano.Ledger.Imp.Common import qualified Test.Cardano.Ledger.Shelley.Imp as ShelleyImp spec :: forall era. ( ShelleyEraImp era , EraSpecificSpec era , Event (EraRule "RUPD" era) ~ RupdEvent ) => Spec spec :: forall era. (ShelleyEraImp era, EraSpecificSpec era, Event (EraRule "RUPD" era) ~ RupdEvent) => Spec spec = do forall era. (ShelleyEraImp era, EraSpecificSpec era, Event (EraRule "RUPD" era) ~ RupdEvent) => Spec ShelleyImp.spec @era instance EraSpecificSpec AllegraEra where eraSpecificSpec :: SpecWith (ImpInit (LedgerSpec AllegraEra)) eraSpecificSpec = SpecWith (ImpInit (LedgerSpec AllegraEra)) forall era. (ShelleyEraImp era, ShelleyEraAccounts era) => SpecWith (ImpInit (LedgerSpec era)) ShelleyImp.shelleyEraSpecificSpec