{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Babbage.Rules.Bbody () where

import qualified Cardano.Ledger.Allegra.Rules as Allegra
import qualified Cardano.Ledger.Alonzo.Rules as Alonzo
import Cardano.Ledger.Babbage.Era (BabbageEra)
import Cardano.Ledger.Babbage.Rules.Ledgers ()
import Cardano.Ledger.Babbage.Rules.Utxo (BabbageUtxoPredFailure)
import Cardano.Ledger.Babbage.Rules.Utxow (BabbageUtxowPredFailure)
import Cardano.Ledger.Core
import qualified Cardano.Ledger.Shelley.Rules as Shelley

type instance EraRuleFailure "BBODY" BabbageEra = Alonzo.AlonzoBbodyPredFailure BabbageEra

instance InjectRuleFailure "BBODY" Alonzo.AlonzoBbodyPredFailure BabbageEra

instance InjectRuleFailure "BBODY" Shelley.ShelleyBbodyPredFailure BabbageEra where
  injectFailure :: ShelleyBbodyPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyLedgersPredFailure BabbageEra where
  injectFailure :: ShelleyLedgersPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyLedgersPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyLedgersPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyLedgerPredFailure BabbageEra where
  injectFailure :: ShelleyLedgerPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyLedgerPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyLedgerPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyLedgerPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyLedgerPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyLedgerPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyLedgerPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" BabbageUtxowPredFailure BabbageEra where
  injectFailure :: BabbageUtxowPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (BabbageUtxowPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> BabbageUtxowPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (BabbageUtxowPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> BabbageUtxowPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. BabbageUtxowPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
BabbageUtxowPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Alonzo.AlonzoUtxowPredFailure BabbageEra where
  injectFailure :: AlonzoUtxowPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (AlonzoUtxowPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> AlonzoUtxowPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (AlonzoUtxowPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> AlonzoUtxowPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxowPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
AlonzoUtxowPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyUtxowPredFailure BabbageEra where
  injectFailure :: ShelleyUtxowPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyUtxowPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyUtxowPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyUtxowPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyUtxowPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyUtxowPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyUtxowPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" BabbageUtxoPredFailure BabbageEra where
  injectFailure :: BabbageUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (BabbageUtxoPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> BabbageUtxoPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (BabbageUtxoPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> BabbageUtxoPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. BabbageUtxoPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
BabbageUtxoPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Alonzo.AlonzoUtxoPredFailure BabbageEra where
  injectFailure :: AlonzoUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (AlonzoUtxoPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> AlonzoUtxoPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (AlonzoUtxoPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> AlonzoUtxoPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxoPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
AlonzoUtxoPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Alonzo.AlonzoUtxosPredFailure BabbageEra where
  injectFailure :: AlonzoUtxosPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (AlonzoUtxosPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> AlonzoUtxosPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (AlonzoUtxosPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> AlonzoUtxosPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxosPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
AlonzoUtxosPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyPpupPredFailure BabbageEra where
  injectFailure :: ShelleyPpupPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyPpupPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyPpupPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyPpupPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyPpupPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyPpupPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyPpupPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyUtxoPredFailure BabbageEra where
  injectFailure :: ShelleyUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyUtxoPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyUtxoPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyUtxoPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyUtxoPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyUtxoPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyUtxoPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Allegra.AllegraUtxoPredFailure BabbageEra where
  injectFailure :: AllegraUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (AllegraUtxoPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> AllegraUtxoPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (AllegraUtxoPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> AllegraUtxoPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AllegraUtxoPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
AllegraUtxoPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyDelegsPredFailure BabbageEra where
  injectFailure :: ShelleyDelegsPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyDelegsPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyDelegsPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyDelegsPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyDelegsPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyDelegsPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyDelegsPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyDelplPredFailure BabbageEra where
  injectFailure :: ShelleyDelplPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyDelplPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyDelplPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyDelplPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyDelplPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyDelplPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyDelplPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyPoolPredFailure BabbageEra where
  injectFailure :: ShelleyPoolPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyPoolPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyPoolPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyPoolPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyPoolPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyPoolPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyPoolPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure

instance InjectRuleFailure "BBODY" Shelley.ShelleyDelegPredFailure BabbageEra where
  injectFailure :: ShelleyDelegPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
Alonzo.ShelleyInAlonzoBbodyPredFailure (ShelleyBbodyPredFailure BabbageEra
 -> AlonzoBbodyPredFailure BabbageEra)
-> (ShelleyDelegPredFailure BabbageEra
    -> ShelleyBbodyPredFailure BabbageEra)
-> ShelleyDelegPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" BabbageEra)
-> ShelleyBbodyPredFailure BabbageEra
ShelleyLedgersPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure (ShelleyLedgersPredFailure BabbageEra
 -> ShelleyBbodyPredFailure BabbageEra)
-> (ShelleyDelegPredFailure BabbageEra
    -> ShelleyLedgersPredFailure BabbageEra)
-> ShelleyDelegPredFailure BabbageEra
-> ShelleyBbodyPredFailure BabbageEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyDelegPredFailure BabbageEra
-> EraRuleFailure "LEDGERS" BabbageEra
ShelleyDelegPredFailure BabbageEra
-> ShelleyLedgersPredFailure BabbageEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure