{-# LANGUAGE DataKinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Mary.Rules.Ledger () where import Cardano.Ledger.Core import Cardano.Ledger.Mary.Era (MaryEra) import Cardano.Ledger.Mary.Rules.Delegs () import Cardano.Ledger.Mary.Rules.Utxow () import Cardano.Ledger.Shelley.Rules ( ShelleyDelegPredFailure, ShelleyDelegsPredFailure, ShelleyDelplPredFailure, ShelleyLedgerEvent, ShelleyLedgerPredFailure (..), ShelleyPoolPredFailure, ShelleyPpupPredFailure, ShelleyUtxoPredFailure, ShelleyUtxowPredFailure, ) type instance EraRuleFailure "LEDGER" MaryEra = ShelleyLedgerPredFailure MaryEra instance InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure MaryEra instance InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure MaryEra where injectFailure :: ShelleyUtxowPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "UTXOW" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyUtxowPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra forall era. PredicateFailure (EraRule "UTXOW" era) -> ShelleyLedgerPredFailure era UtxowFailure instance InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure MaryEra where injectFailure :: ShelleyUtxoPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "UTXOW" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyUtxowPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall era. PredicateFailure (EraRule "UTXOW" era) -> ShelleyLedgerPredFailure era UtxowFailure (ShelleyUtxowPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra) -> (ShelleyUtxoPredFailure MaryEra -> ShelleyUtxowPredFailure MaryEra) -> ShelleyUtxoPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyUtxoPredFailure MaryEra -> EraRuleFailure "UTXOW" MaryEra ShelleyUtxoPredFailure MaryEra -> ShelleyUtxowPredFailure MaryEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyPpupPredFailure MaryEra where injectFailure :: ShelleyPpupPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "UTXOW" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyUtxowPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall era. PredicateFailure (EraRule "UTXOW" era) -> ShelleyLedgerPredFailure era UtxowFailure (ShelleyUtxowPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra) -> (ShelleyPpupPredFailure MaryEra -> ShelleyUtxowPredFailure MaryEra) -> ShelleyPpupPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyPpupPredFailure MaryEra -> EraRuleFailure "UTXOW" MaryEra ShelleyPpupPredFailure MaryEra -> ShelleyUtxowPredFailure MaryEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyDelegsPredFailure MaryEra where injectFailure :: ShelleyDelegsPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "DELEGS" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyDelegsPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra forall era. PredicateFailure (EraRule "DELEGS" era) -> ShelleyLedgerPredFailure era DelegsFailure instance InjectRuleFailure "LEDGER" ShelleyDelplPredFailure MaryEra where injectFailure :: ShelleyDelplPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "DELEGS" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyDelegsPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall era. PredicateFailure (EraRule "DELEGS" era) -> ShelleyLedgerPredFailure era DelegsFailure (ShelleyDelegsPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra) -> (ShelleyDelplPredFailure MaryEra -> ShelleyDelegsPredFailure MaryEra) -> ShelleyDelplPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyDelplPredFailure MaryEra -> EraRuleFailure "DELEGS" MaryEra ShelleyDelplPredFailure MaryEra -> ShelleyDelegsPredFailure MaryEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyPoolPredFailure MaryEra where injectFailure :: ShelleyPoolPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "DELEGS" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyDelegsPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall era. PredicateFailure (EraRule "DELEGS" era) -> ShelleyLedgerPredFailure era DelegsFailure (ShelleyDelegsPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra) -> (ShelleyPoolPredFailure MaryEra -> ShelleyDelegsPredFailure MaryEra) -> ShelleyPoolPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyPoolPredFailure MaryEra -> EraRuleFailure "DELEGS" MaryEra ShelleyPoolPredFailure MaryEra -> ShelleyDelegsPredFailure MaryEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyDelegPredFailure MaryEra where injectFailure :: ShelleyDelegPredFailure MaryEra -> EraRuleFailure "LEDGER" MaryEra injectFailure = PredicateFailure (EraRule "DELEGS" MaryEra) -> ShelleyLedgerPredFailure MaryEra ShelleyDelegsPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall era. PredicateFailure (EraRule "DELEGS" era) -> ShelleyLedgerPredFailure era DelegsFailure (ShelleyDelegsPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra) -> (ShelleyDelegPredFailure MaryEra -> ShelleyDelegsPredFailure MaryEra) -> ShelleyDelegPredFailure MaryEra -> ShelleyLedgerPredFailure MaryEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyDelegPredFailure MaryEra -> EraRuleFailure "DELEGS" MaryEra ShelleyDelegPredFailure MaryEra -> ShelleyDelegsPredFailure MaryEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure type instance EraRuleEvent "LEDGER" MaryEra = ShelleyLedgerEvent MaryEra