{-# LANGUAGE DataKinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Rules.Ledgers () where import Cardano.Ledger.Allegra.Rules (AllegraUtxoPredFailure) import Cardano.Ledger.Alonzo.Rules ( AlonzoUtxoPredFailure, AlonzoUtxosPredFailure, AlonzoUtxowPredFailure, ) import Cardano.Ledger.Babbage.Rules (BabbageUtxoPredFailure, BabbageUtxowPredFailure) import Cardano.Ledger.Conway.Rules ( ConwayCertPredFailure, ConwayCertsPredFailure, ConwayDelegPredFailure, ConwayGovPredFailure, ConwayUtxosPredFailure, ) import Cardano.Ledger.Dijkstra.Core (EraRuleEvent, EraRuleFailure, InjectRuleFailure (..)) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.Rules.Gov (DijkstraGovPredFailure) import Cardano.Ledger.Dijkstra.Rules.GovCert (DijkstraGovCertPredFailure) import Cardano.Ledger.Dijkstra.Rules.Ledger (DijkstraLedgerPredFailure) import Cardano.Ledger.Dijkstra.Rules.Utxo (DijkstraUtxoPredFailure) import Cardano.Ledger.Dijkstra.Rules.Utxow (DijkstraUtxowPredFailure) import Cardano.Ledger.Shelley.Rules ( ShelleyLedgersEvent, ShelleyLedgersPredFailure (..), ShelleyPoolPredFailure, ShelleyUtxoPredFailure, ShelleyUtxowPredFailure, ) type instance EraRuleFailure "LEDGERS" DijkstraEra = ShelleyLedgersPredFailure DijkstraEra type instance EraRuleEvent "LEDGERS" DijkstraEra = ShelleyLedgersEvent DijkstraEra instance InjectRuleFailure "LEDGERS" ShelleyLedgersPredFailure DijkstraEra instance InjectRuleFailure "LEDGERS" DijkstraLedgerPredFailure DijkstraEra where injectFailure :: DijkstraLedgerPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure instance InjectRuleFailure "LEDGERS" DijkstraUtxowPredFailure DijkstraEra where injectFailure :: DijkstraUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> DijkstraUtxowPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" BabbageUtxowPredFailure DijkstraEra where injectFailure :: BabbageUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (BabbageUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> BabbageUtxowPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . BabbageUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra BabbageUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" AlonzoUtxowPredFailure DijkstraEra where injectFailure :: AlonzoUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (AlonzoUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> AlonzoUtxowPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra AlonzoUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ShelleyUtxowPredFailure DijkstraEra where injectFailure :: ShelleyUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ShelleyUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ShelleyUtxowPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ShelleyUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" DijkstraUtxoPredFailure DijkstraEra where injectFailure :: DijkstraUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (DijkstraUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> DijkstraUtxoPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra DijkstraUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" BabbageUtxoPredFailure DijkstraEra where injectFailure :: BabbageUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (BabbageUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> BabbageUtxoPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . BabbageUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra BabbageUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" AlonzoUtxoPredFailure DijkstraEra where injectFailure :: AlonzoUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (AlonzoUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> AlonzoUtxoPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra AlonzoUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" AlonzoUtxosPredFailure DijkstraEra where injectFailure :: AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (AlonzoUtxosPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> AlonzoUtxosPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra AlonzoUtxosPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ConwayUtxosPredFailure DijkstraEra where injectFailure :: ConwayUtxosPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ConwayUtxosPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ConwayUtxosPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayUtxosPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ConwayUtxosPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ShelleyUtxoPredFailure DijkstraEra where injectFailure :: ShelleyUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ShelleyUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ShelleyUtxoPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ShelleyUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" AllegraUtxoPredFailure DijkstraEra where injectFailure :: AllegraUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (AllegraUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> AllegraUtxoPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AllegraUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra AllegraUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ConwayCertsPredFailure DijkstraEra where injectFailure :: ConwayCertsPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ConwayCertsPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayCertsPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ConwayCertPredFailure DijkstraEra where injectFailure :: ConwayCertPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ConwayCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ConwayCertPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayCertPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ConwayCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ConwayDelegPredFailure DijkstraEra where injectFailure :: ConwayDelegPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ConwayDelegPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ConwayDelegPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayDelegPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ConwayDelegPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ShelleyPoolPredFailure DijkstraEra where injectFailure :: ShelleyPoolPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ShelleyPoolPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ShelleyPoolPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyPoolPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ShelleyPoolPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" DijkstraGovCertPredFailure DijkstraEra where injectFailure :: DijkstraGovCertPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (DijkstraGovCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> DijkstraGovCertPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraGovCertPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra DijkstraGovCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" ConwayGovPredFailure DijkstraEra where injectFailure :: ConwayGovPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (ConwayGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> ConwayGovPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayGovPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ConwayGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGERS" DijkstraGovPredFailure DijkstraEra where injectFailure :: DijkstraGovPredFailure DijkstraEra -> EraRuleFailure "LEDGERS" DijkstraEra injectFailure = PredicateFailure (EraRule "LEDGER" DijkstraEra) -> ShelleyLedgersPredFailure DijkstraEra DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure (DijkstraLedgerPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra) -> (DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> DijkstraGovPredFailure DijkstraEra -> ShelleyLedgersPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraGovPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure