{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} module Test.Cardano.Ledger.Babbage.Imp.UtxowSpec (spec) where import Cardano.Ledger.Alonzo.Plutus.Context (ContextError) import Cardano.Ledger.Alonzo.Rules (AlonzoUtxosPredFailure, AlonzoUtxowPredFailure) import Cardano.Ledger.Babbage.Core (BabbageEraTxBody, InjectRuleFailure) import Cardano.Ledger.Babbage.Rules (BabbageUtxowPredFailure) import Cardano.Ledger.Babbage.TxInfo (BabbageContextError) import Cardano.Ledger.BaseTypes (Inject) import Cardano.Ledger.Shelley.Rules (ShelleyUtxowPredFailure) import Test.Cardano.Ledger.Alonzo.ImpTest (AlonzoEraImp, ImpInit, LedgerSpec) import qualified Test.Cardano.Ledger.Babbage.Imp.UtxowSpec.Invalid as Invalid import qualified Test.Cardano.Ledger.Babbage.Imp.UtxowSpec.Valid as Valid import Test.Cardano.Ledger.Imp.Common spec :: forall era. ( AlonzoEraImp era , BabbageEraTxBody era , InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era , InjectRuleFailure "LEDGER" BabbageUtxowPredFailure era , InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era , InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era , Inject (BabbageContextError era) (ContextError era) ) => SpecWith (ImpInit (LedgerSpec era)) spec :: forall era. (AlonzoEraImp era, BabbageEraTxBody era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era, InjectRuleFailure "LEDGER" BabbageUtxowPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era, Inject (BabbageContextError era) (ContextError era)) => SpecWith (ImpInit (LedgerSpec era)) spec = do String -> SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era)) forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "UTXOW" (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, BabbageEraTxBody era) => SpecWith (ImpInit (LedgerSpec era)) Valid.spec SpecWith (ImpInit (LedgerSpec era)) forall era. (AlonzoEraImp era, BabbageEraTxBody era, InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure era, InjectRuleFailure "LEDGER" BabbageUtxowPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure era, InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure era, Inject (BabbageContextError era) (ContextError era)) => SpecWith (ImpInit (LedgerSpec era)) Invalid.spec