{-# 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 Cardano.Ledger.Allegra.Rules (AllegraUtxoPredFailure)
import Cardano.Ledger.Alonzo.Rules (
  AlonzoBbodyPredFailure (..),
  AlonzoUtxoPredFailure,
  AlonzoUtxosPredFailure,
  AlonzoUtxowPredFailure,
 )
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 Cardano.Ledger.Shelley.Rules (
  ShelleyBbodyPredFailure (..),
  ShelleyDelegPredFailure,
  ShelleyDelegsPredFailure,
  ShelleyDelplPredFailure,
  ShelleyLedgerPredFailure,
  ShelleyLedgersPredFailure,
  ShelleyPoolPredFailure,
  ShelleyPpupPredFailure,
  ShelleyUtxoPredFailure,
  ShelleyUtxowPredFailure,
 )

type instance EraRuleFailure "BBODY" BabbageEra = AlonzoBbodyPredFailure BabbageEra

instance InjectRuleFailure "BBODY" AlonzoBbodyPredFailure BabbageEra

instance InjectRuleFailure "BBODY" 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
ShelleyInAlonzoBbodyPredFailure

instance InjectRuleFailure "BBODY" ShelleyLedgersPredFailure BabbageEra where
  injectFailure :: ShelleyLedgersPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
LedgersFailure

instance InjectRuleFailure "BBODY" ShelleyLedgerPredFailure BabbageEra where
  injectFailure :: ShelleyLedgerPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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
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
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" AlonzoUtxowPredFailure BabbageEra where
  injectFailure :: AlonzoUtxowPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyUtxowPredFailure BabbageEra where
  injectFailure :: ShelleyUtxowPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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
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
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" AlonzoUtxoPredFailure BabbageEra where
  injectFailure :: AlonzoUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" AlonzoUtxosPredFailure BabbageEra where
  injectFailure :: AlonzoUtxosPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyPpupPredFailure BabbageEra where
  injectFailure :: ShelleyPpupPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyUtxoPredFailure BabbageEra where
  injectFailure :: ShelleyUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" AllegraUtxoPredFailure BabbageEra where
  injectFailure :: AllegraUtxoPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyDelegsPredFailure BabbageEra where
  injectFailure :: ShelleyDelegsPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyDelplPredFailure BabbageEra where
  injectFailure :: ShelleyDelplPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyPoolPredFailure BabbageEra where
  injectFailure :: ShelleyPoolPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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" ShelleyDelegPredFailure BabbageEra where
  injectFailure :: ShelleyDelegPredFailure BabbageEra
-> EraRuleFailure "BBODY" BabbageEra
injectFailure = ShelleyBbodyPredFailure BabbageEra
-> AlonzoBbodyPredFailure BabbageEra
forall era.
ShelleyBbodyPredFailure era -> AlonzoBbodyPredFailure era
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
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