{-# LANGUAGE DataKinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Rules.Certs () where import Cardano.Ledger.Conway.Rules ( ConwayCertPredFailure, ConwayCertsEvent, ConwayCertsPredFailure (..), ConwayDelegPredFailure, ConwayGovCertPredFailure, ) import Cardano.Ledger.Dijkstra.Core (EraRuleEvent, EraRuleFailure, InjectRuleFailure (..)) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.Rules.Cert () import Cardano.Ledger.Shelley.Rules (ShelleyPoolPredFailure) type instance EraRuleFailure "CERTS" DijkstraEra = ConwayCertsPredFailure DijkstraEra type instance EraRuleEvent "CERTS" DijkstraEra = ConwayCertsEvent DijkstraEra instance InjectRuleFailure "CERTS" ConwayCertsPredFailure DijkstraEra instance InjectRuleFailure "CERTS" ConwayCertPredFailure DijkstraEra where injectFailure :: ConwayCertPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra injectFailure = PredicateFailure (EraRule "CERT" DijkstraEra) -> ConwayCertsPredFailure DijkstraEra ConwayCertPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra forall era. PredicateFailure (EraRule "CERT" era) -> ConwayCertsPredFailure era CertFailure instance InjectRuleFailure "CERTS" ConwayDelegPredFailure DijkstraEra where injectFailure :: ConwayDelegPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra injectFailure = PredicateFailure (EraRule "CERT" DijkstraEra) -> ConwayCertsPredFailure DijkstraEra ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERT" era) -> ConwayCertsPredFailure era CertFailure (ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> (ConwayDelegPredFailure DijkstraEra -> ConwayCertPredFailure DijkstraEra) -> ConwayDelegPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayDelegPredFailure DijkstraEra -> EraRuleFailure "CERT" DijkstraEra ConwayDelegPredFailure DijkstraEra -> ConwayCertPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "CERTS" ShelleyPoolPredFailure DijkstraEra where injectFailure :: ShelleyPoolPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra injectFailure = PredicateFailure (EraRule "CERT" DijkstraEra) -> ConwayCertsPredFailure DijkstraEra ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERT" era) -> ConwayCertsPredFailure era CertFailure (ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> (ShelleyPoolPredFailure DijkstraEra -> ConwayCertPredFailure DijkstraEra) -> ShelleyPoolPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyPoolPredFailure DijkstraEra -> EraRuleFailure "CERT" DijkstraEra ShelleyPoolPredFailure DijkstraEra -> ConwayCertPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "CERTS" ConwayGovCertPredFailure DijkstraEra where injectFailure :: ConwayGovCertPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra injectFailure = PredicateFailure (EraRule "CERT" DijkstraEra) -> ConwayCertsPredFailure DijkstraEra ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERT" era) -> ConwayCertsPredFailure era CertFailure (ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> (ConwayGovCertPredFailure DijkstraEra -> ConwayCertPredFailure DijkstraEra) -> ConwayGovCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayGovCertPredFailure DijkstraEra -> EraRuleFailure "CERT" DijkstraEra ConwayGovCertPredFailure DijkstraEra -> ConwayCertPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure