{-# LANGUAGE DataKinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Rules.Utxow () where import Cardano.Ledger.Allegra.Rules (AllegraUtxoPredFailure) import Cardano.Ledger.Alonzo.Rules ( AlonzoUtxoPredFailure, AlonzoUtxosPredFailure, AlonzoUtxowEvent, AlonzoUtxowPredFailure, ) import Cardano.Ledger.Babbage.Rules (BabbageUtxoPredFailure, BabbageUtxowPredFailure) import Cardano.Ledger.Conway.Rules ( ConwayUtxoPredFailure, ConwayUtxosPredFailure, ConwayUtxowPredFailure (..), alonzoToConwayUtxowPredFailure, babbageToConwayUtxowPredFailure, shelleyToConwayUtxowPredFailure, ) import Cardano.Ledger.Dijkstra.Core (EraRuleEvent, EraRuleFailure, InjectRuleFailure (..)) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.Rules.Utxo () import Cardano.Ledger.Shelley.Rules (ShelleyUtxoPredFailure, ShelleyUtxowPredFailure) type instance EraRuleFailure "UTXOW" DijkstraEra = ConwayUtxowPredFailure DijkstraEra type instance EraRuleEvent "UTXOW" DijkstraEra = AlonzoUtxowEvent DijkstraEra instance InjectRuleFailure "UTXOW" ConwayUtxowPredFailure DijkstraEra instance InjectRuleFailure "UTXOW" BabbageUtxowPredFailure DijkstraEra where injectFailure :: BabbageUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = BabbageUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra BabbageUtxowPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. BabbageUtxowPredFailure era -> ConwayUtxowPredFailure era babbageToConwayUtxowPredFailure instance InjectRuleFailure "UTXOW" AlonzoUtxowPredFailure DijkstraEra where injectFailure :: AlonzoUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = AlonzoUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra AlonzoUtxowPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. AlonzoUtxowPredFailure era -> ConwayUtxowPredFailure era alonzoToConwayUtxowPredFailure instance InjectRuleFailure "UTXOW" ShelleyUtxowPredFailure DijkstraEra where injectFailure :: ShelleyUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = ShelleyUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra ShelleyUtxowPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. ShelleyUtxowPredFailure era -> ConwayUtxowPredFailure era shelleyToConwayUtxowPredFailure instance InjectRuleFailure "UTXOW" ConwayUtxoPredFailure DijkstraEra where injectFailure :: ConwayUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "UTXOW" BabbageUtxoPredFailure DijkstraEra where injectFailure :: BabbageUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (BabbageUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> BabbageUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . BabbageUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra BabbageUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "UTXOW" AlonzoUtxoPredFailure DijkstraEra where injectFailure :: AlonzoUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (AlonzoUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> AlonzoUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra AlonzoUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "UTXOW" AlonzoUtxosPredFailure DijkstraEra where injectFailure :: AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (AlonzoUtxosPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> AlonzoUtxosPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra AlonzoUtxosPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "UTXOW" ConwayUtxosPredFailure DijkstraEra where injectFailure :: ConwayUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (ConwayUtxosPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> ConwayUtxosPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra ConwayUtxosPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "UTXOW" ShelleyUtxoPredFailure DijkstraEra where injectFailure :: ShelleyUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (ShelleyUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> ShelleyUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra ShelleyUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "UTXOW" AllegraUtxoPredFailure DijkstraEra where injectFailure :: AllegraUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXO" era) -> ConwayUtxowPredFailure era UtxoFailure (ConwayUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra) -> (AllegraUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra) -> AllegraUtxoPredFailure DijkstraEra -> ConwayUtxowPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AllegraUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXO" DijkstraEra AllegraUtxoPredFailure DijkstraEra -> ConwayUtxoPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure