{-# LANGUAGE DataKinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Rules.Utxos () where import Cardano.Ledger.Alonzo.Rules (AlonzoUtxosEvent, AlonzoUtxosPredFailure) import Cardano.Ledger.Conway.Rules ( ConwayUtxosEvent, ConwayUtxosPredFailure, alonzoToConwayUtxosEvent, alonzoToConwayUtxosPredFailure, ) import Cardano.Ledger.Dijkstra.Core ( EraRuleEvent, EraRuleFailure, InjectRuleEvent (..), InjectRuleFailure (..), ) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) type instance EraRuleFailure "UTXOS" DijkstraEra = ConwayUtxosPredFailure DijkstraEra type instance EraRuleEvent "UTXOS" DijkstraEra = ConwayUtxosEvent DijkstraEra instance InjectRuleFailure "UTXOS" ConwayUtxosPredFailure DijkstraEra instance InjectRuleEvent "UTXOS" ConwayUtxosEvent DijkstraEra instance InjectRuleFailure "UTXOS" AlonzoUtxosPredFailure DijkstraEra where injectFailure :: AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXOS" DijkstraEra injectFailure = AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXOS" DijkstraEra AlonzoUtxosPredFailure DijkstraEra -> ConwayUtxosPredFailure DijkstraEra forall era. (EraRuleFailure "PPUP" era ~ VoidEraRule "PPUP" era) => AlonzoUtxosPredFailure era -> ConwayUtxosPredFailure era alonzoToConwayUtxosPredFailure instance InjectRuleEvent "UTXOS" AlonzoUtxosEvent DijkstraEra where injectEvent :: AlonzoUtxosEvent DijkstraEra -> EraRuleEvent "UTXOS" DijkstraEra injectEvent = AlonzoUtxosEvent DijkstraEra -> EraRuleEvent "UTXOS" DijkstraEra AlonzoUtxosEvent DijkstraEra -> ConwayUtxosEvent DijkstraEra forall era. (EraRuleEvent "PPUP" era ~ VoidEraRule "PPUP" era) => AlonzoUtxosEvent era -> ConwayUtxosEvent era alonzoToConwayUtxosEvent