{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}
#if __GLASGOW_HASKELL__ >= 908
{-# OPTIONS_GHC -Wno-x-unsafe-ledger-internal #-}
#endif
module Cardano.Ledger.Dijkstra.Era (
DijkstraEra,
DijkstraBBODY,
DijkstraCERT,
DijkstraGOV,
DijkstraGOVCERT,
DijkstraLEDGER,
DijkstraMEMPOOL,
DijkstraSUBCERT,
DijkstraSUBCERTS,
DijkstraSUBDELEG,
DijkstraSUBGOV,
DijkstraSUBGOVCERT,
DijkstraSUBLEDGER,
DijkstraSUBLEDGERS,
DijkstraSUBPOOL,
DijkstraSUBUTXOW,
DijkstraSUBUTXO,
DijkstraUTXO,
DijkstraUTXOW,
DijkstraEraBlockHeader (..),
DijkstraBbodySignal (..),
) where
import Cardano.Ledger.BaseTypes (Nonce)
import Cardano.Ledger.Block (Block, EraBlockHeader)
import Cardano.Ledger.Conway.Core
import Cardano.Ledger.Conway.Rules
import Cardano.Ledger.Internal.Era (DijkstraEra)
import Cardano.Ledger.Mary (MaryValue)
import qualified Cardano.Ledger.Shelley.API as API
import Cardano.Ledger.Shelley.Rules
import Lens.Micro
instance EraTxLevel DijkstraEra where
type STxLevel l DijkstraEra = STxBothLevels l DijkstraEra
data DijkstraBbodySignal era
= forall h. DijkstraEraBlockHeader h era => DijkstraBbodySignal (Block h era)
class EraBlockHeader h era => h era where
:: Lens' (Block h era) Nonce
type instance EraRule "UPEC" DijkstraEra = VoidEraRule "UPEC" DijkstraEra
type instance EraRuleFailure "UPEC" DijkstraEra = VoidEraRule "UPEC" DijkstraEra
type instance EraRuleEvent "UPEC" DijkstraEra = VoidEraRule "UPEC" DijkstraEra
type instance EraRule "NEWPP" DijkstraEra = VoidEraRule "NEWPP" DijkstraEra
type instance EraRuleFailure "NEWPP" DijkstraEra = VoidEraRule "NEWPP" DijkstraEra
type instance EraRuleEvent "NEWPP" DijkstraEra = VoidEraRule "NEWPP" DijkstraEra
type instance EraRule "PPUP" DijkstraEra = VoidEraRule "PPUP" DijkstraEra
type instance EraRuleFailure "PPUP" DijkstraEra = VoidEraRule "PPUP" DijkstraEra
type instance EraRuleEvent "PPUP" DijkstraEra = VoidEraRule "PPUP" DijkstraEra
type instance EraRule "MIR" DijkstraEra = VoidEraRule "MIR" DijkstraEra
type instance EraRuleFailure "MIR" DijkstraEra = VoidEraRule "MIR" DijkstraEra
type instance EraRuleEvent "MIR" DijkstraEra = VoidEraRule "MIR" DijkstraEra
type instance EraRule "DELEGS" DijkstraEra = VoidEraRule "DELEGS" DijkstraEra
type instance EraRuleFailure "DELEGS" DijkstraEra = VoidEraRule "DELEGS" DijkstraEra
type instance EraRuleEvent "DELEGS" DijkstraEra = VoidEraRule "DELEGS" DijkstraEra
type instance Value DijkstraEra = MaryValue
data DijkstraSUBLEDGERS era
type instance EraRule "SUBLEDGERS" DijkstraEra = DijkstraSUBLEDGERS DijkstraEra
data DijkstraSUBLEDGER era
type instance EraRule "SUBLEDGER" DijkstraEra = DijkstraSUBLEDGER DijkstraEra
data DijkstraSUBCERTS era
type instance EraRule "SUBCERTS" DijkstraEra = DijkstraSUBCERTS DijkstraEra
data DijkstraSUBCERT era
type instance EraRule "SUBCERT" DijkstraEra = DijkstraSUBCERT DijkstraEra
data DijkstraSUBDELEG era
type instance EraRule "SUBDELEG" DijkstraEra = DijkstraSUBDELEG DijkstraEra
data DijkstraSUBGOV era
type instance EraRule "SUBGOV" DijkstraEra = DijkstraSUBGOV DijkstraEra
data DijkstraSUBGOVCERT era
type instance EraRule "SUBGOVCERT" DijkstraEra = DijkstraSUBGOVCERT DijkstraEra
data DijkstraSUBPOOL era
type instance EraRule "SUBPOOL" DijkstraEra = DijkstraSUBPOOL DijkstraEra
data DijkstraSUBUTXO era
type instance EraRule "SUBUTXO" DijkstraEra = DijkstraSUBUTXO DijkstraEra
data DijkstraSUBUTXOW era
type instance EraRule "SUBUTXOW" DijkstraEra = DijkstraSUBUTXOW DijkstraEra
data DijkstraGOV era
type instance EraRule "GOV" DijkstraEra = DijkstraGOV DijkstraEra
type instance EraRule "NEWEPOCH" DijkstraEra = ConwayNEWEPOCH DijkstraEra
type instance EraRule "EPOCH" DijkstraEra = ConwayEPOCH DijkstraEra
type instance EraRule "ENACT" DijkstraEra = ConwayENACT DijkstraEra
type instance EraRule "UTXOS" DijkstraEra = ConwayUTXOS DijkstraEra
data DijkstraLEDGER era
type instance EraRule "LEDGER" DijkstraEra = DijkstraLEDGER DijkstraEra
type instance EraRule "TICKF" DijkstraEra = ConwayTICKF DijkstraEra
type instance EraRule "RATIFY" DijkstraEra = ConwayRATIFY DijkstraEra
type instance EraRule "CERTS" DijkstraEra = ConwayCERTS DijkstraEra
data DijkstraCERT era
type instance EraRule "CERT" DijkstraEra = DijkstraCERT DijkstraEra
type instance EraRule "DELEG" DijkstraEra = ConwayDELEG DijkstraEra
data DijkstraGOVCERT era
type instance EraRule "GOVCERT" DijkstraEra = DijkstraGOVCERT DijkstraEra
data DijkstraUTXOW era
type instance EraRule "UTXOW" DijkstraEra = DijkstraUTXOW DijkstraEra
data DijkstraUTXO era
type instance EraRule "UTXO" DijkstraEra = DijkstraUTXO DijkstraEra
data DijkstraBBODY era
type instance EraRule "BBODY" DijkstraEra = DijkstraBBODY DijkstraEra
data DijkstraMEMPOOL era
type instance EraRule "MEMPOOL" DijkstraEra = DijkstraMEMPOOL DijkstraEra
type instance EraRule "HARDFORK" DijkstraEra = ConwayHARDFORK DijkstraEra
type instance EraRule "LEDGERS" DijkstraEra = API.ShelleyLEDGERS DijkstraEra
type instance EraRule "POOLREAP" DijkstraEra = API.ShelleyPOOLREAP DijkstraEra
type instance EraRule "RUPD" DijkstraEra = ShelleyRUPD DijkstraEra
type instance EraRule "SNAP" DijkstraEra = ShelleySNAP DijkstraEra
type instance EraRule "TICK" DijkstraEra = ShelleyTICK DijkstraEra
type instance EraRule "POOL" DijkstraEra = ShelleyPOOL DijkstraEra