{-# LANGUAGE DataKinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Rules () where import Cardano.Ledger.Conway.Rules ( ConwayEpochEvent (..), ConwayHardForkEvent, ConwayNewEpochEvent (..), ) import Cardano.Ledger.Dijkstra.Core (EraRuleEvent, InjectRuleEvent (..)) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.Rules.Bbody () import Cardano.Ledger.Dijkstra.Rules.Cert () import Cardano.Ledger.Dijkstra.Rules.Certs () import Cardano.Ledger.Dijkstra.Rules.Deleg () import Cardano.Ledger.Dijkstra.Rules.Gov () import Cardano.Ledger.Dijkstra.Rules.GovCert () import Cardano.Ledger.Dijkstra.Rules.Ledger () import Cardano.Ledger.Dijkstra.Rules.Ledgers () import Cardano.Ledger.Dijkstra.Rules.Pool () import Cardano.Ledger.Dijkstra.Rules.Utxo () import Cardano.Ledger.Dijkstra.Rules.Utxos () import Cardano.Ledger.Dijkstra.Rules.Utxow () import Cardano.Ledger.Shelley.Rules (ShelleyTickEvent (..)) type instance EraRuleEvent "TICK" DijkstraEra = ShelleyTickEvent DijkstraEra type instance EraRuleEvent "NEWEPOCH" DijkstraEra = ConwayNewEpochEvent DijkstraEra type instance EraRuleEvent "EPOCH" DijkstraEra = ConwayEpochEvent DijkstraEra type instance EraRuleEvent "HARDFORK" DijkstraEra = ConwayHardForkEvent DijkstraEra instance InjectRuleEvent "TICK" ConwayNewEpochEvent DijkstraEra where injectEvent :: ConwayNewEpochEvent DijkstraEra -> EraRuleEvent "TICK" DijkstraEra injectEvent = ConwayNewEpochEvent DijkstraEra -> EraRuleEvent "TICK" DijkstraEra Event (EraRule "NEWEPOCH" DijkstraEra) -> ShelleyTickEvent DijkstraEra forall era. Event (EraRule "NEWEPOCH" era) -> ShelleyTickEvent era TickNewEpochEvent instance InjectRuleEvent "TICK" ConwayEpochEvent DijkstraEra where injectEvent :: ConwayEpochEvent DijkstraEra -> EraRuleEvent "TICK" DijkstraEra injectEvent = ConwayNewEpochEvent DijkstraEra -> ShelleyTickEvent DijkstraEra Event (EraRule "NEWEPOCH" DijkstraEra) -> ShelleyTickEvent DijkstraEra forall era. Event (EraRule "NEWEPOCH" era) -> ShelleyTickEvent era TickNewEpochEvent (ConwayNewEpochEvent DijkstraEra -> ShelleyTickEvent DijkstraEra) -> (ConwayEpochEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra) -> ConwayEpochEvent DijkstraEra -> ShelleyTickEvent DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayEpochEvent DijkstraEra -> EraRuleEvent "NEWEPOCH" DijkstraEra ConwayEpochEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleEvent rule t era => t era -> EraRuleEvent rule era injectEvent instance InjectRuleEvent "TICK" ConwayHardForkEvent DijkstraEra where injectEvent :: ConwayHardForkEvent DijkstraEra -> EraRuleEvent "TICK" DijkstraEra injectEvent = ConwayNewEpochEvent DijkstraEra -> ShelleyTickEvent DijkstraEra Event (EraRule "NEWEPOCH" DijkstraEra) -> ShelleyTickEvent DijkstraEra forall era. Event (EraRule "NEWEPOCH" era) -> ShelleyTickEvent era TickNewEpochEvent (ConwayNewEpochEvent DijkstraEra -> ShelleyTickEvent DijkstraEra) -> (ConwayHardForkEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra) -> ConwayHardForkEvent DijkstraEra -> ShelleyTickEvent DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayHardForkEvent DijkstraEra -> EraRuleEvent "NEWEPOCH" DijkstraEra ConwayHardForkEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleEvent rule t era => t era -> EraRuleEvent rule era injectEvent instance InjectRuleEvent "NEWEPOCH" ConwayEpochEvent DijkstraEra where injectEvent :: ConwayEpochEvent DijkstraEra -> EraRuleEvent "NEWEPOCH" DijkstraEra injectEvent = ConwayEpochEvent DijkstraEra -> EraRuleEvent "NEWEPOCH" DijkstraEra Event (EraRule "EPOCH" DijkstraEra) -> ConwayNewEpochEvent DijkstraEra forall era. Event (EraRule "EPOCH" era) -> ConwayNewEpochEvent era EpochEvent instance InjectRuleEvent "NEWEPOCH" ConwayHardForkEvent DijkstraEra where injectEvent :: ConwayHardForkEvent DijkstraEra -> EraRuleEvent "NEWEPOCH" DijkstraEra injectEvent = ConwayEpochEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra Event (EraRule "EPOCH" DijkstraEra) -> ConwayNewEpochEvent DijkstraEra forall era. Event (EraRule "EPOCH" era) -> ConwayNewEpochEvent era EpochEvent (ConwayEpochEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra) -> (ConwayHardForkEvent DijkstraEra -> ConwayEpochEvent DijkstraEra) -> ConwayHardForkEvent DijkstraEra -> ConwayNewEpochEvent DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayHardForkEvent DijkstraEra -> EraRuleEvent "EPOCH" DijkstraEra ConwayHardForkEvent DijkstraEra -> ConwayEpochEvent DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleEvent rule t era => t era -> EraRuleEvent rule era injectEvent instance InjectRuleEvent "EPOCH" ConwayHardForkEvent DijkstraEra where injectEvent :: ConwayHardForkEvent DijkstraEra -> EraRuleEvent "EPOCH" DijkstraEra injectEvent = ConwayHardForkEvent DijkstraEra -> EraRuleEvent "EPOCH" DijkstraEra Event (EraRule "HARDFORK" DijkstraEra) -> ConwayEpochEvent DijkstraEra forall era. Event (EraRule "HARDFORK" era) -> ConwayEpochEvent era HardForkEvent