{-# LANGUAGE DataKinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Dijkstra.Rules.Ledgers () where

import qualified Cardano.Ledger.Allegra.Rules as Allegra
import qualified Cardano.Ledger.Alonzo.Rules as Alonzo
import qualified Cardano.Ledger.Babbage.Rules as Babbage
import qualified Cardano.Ledger.Conway.Rules as Conway
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 qualified Cardano.Ledger.Shelley.Rules as Shelley

type instance EraRuleFailure "LEDGERS" DijkstraEra = Shelley.ShelleyLedgersPredFailure DijkstraEra

type instance EraRuleEvent "LEDGERS" DijkstraEra = Shelley.ShelleyLedgersEvent DijkstraEra

instance InjectRuleFailure "LEDGERS" Shelley.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
Shelley.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
Shelley.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" Babbage.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
Shelley.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" Alonzo.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
Shelley.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" Shelley.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
Shelley.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
Shelley.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" Babbage.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
Shelley.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" Alonzo.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
Shelley.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" Alonzo.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
Shelley.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" Conway.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
Shelley.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" Shelley.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
Shelley.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" Allegra.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
Shelley.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" Conway.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
Shelley.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" Conway.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
Shelley.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" Conway.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
Shelley.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" Shelley.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
Shelley.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
Shelley.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" Conway.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
Shelley.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
Shelley.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