{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeFamilies #-} module Cardano.Ledger.Shelley.Era ( ShelleyEra, ShelleyBBODY, ShelleyDELEG, ShelleyDELEGS, ShelleyDELPL, ShelleyEPOCH, ShelleyLEDGER, ShelleyLEDGERS, ShelleyMIR, ShelleyNEWEPOCH, ShelleyNEWPP, ShelleyPOOL, ShelleyPOOLREAP, ShelleyPPUP, ShelleyRUPD, ShelleySNAP, ShelleyTICK, ShelleyTICKF, ShelleyUPEC, ShelleyUTXO, ShelleyUTXOW, ) where import Cardano.Ledger.Coin (Coin) import Cardano.Ledger.Core (ByronEra, Era (..), EraRule, Value) import Cardano.Ledger.Crypto (Crypto) data ShelleyEra c instance Crypto c => Era (ShelleyEra c) where type PreviousEra (ShelleyEra c) = ByronEra c type EraCrypto (ShelleyEra c) = c type ProtVerLow (ShelleyEra c) = 2 eraName :: String eraName = String "Shelley" type instance Value (ShelleyEra _c) = Coin data ShelleyBBODY era data ShelleyDELEG era data ShelleyDELEGS era data ShelleyDELPL era data ShelleyEPOCH era data ShelleyLEDGER era data ShelleyLEDGERS era data ShelleyMIR era data ShelleyNEWEPOCH era data ShelleyNEWPP era data ShelleyPOOL era data ShelleyPOOLREAP era data ShelleyPPUP era data ShelleyRUPD era data ShelleySNAP era data ShelleyTICK era data ShelleyTICKF era data ShelleyUPEC era data ShelleyUTXO era data ShelleyUTXOW era type instance EraRule "BBODY" (ShelleyEra c) = ShelleyBBODY (ShelleyEra c) type instance EraRule "DELEG" (ShelleyEra c) = ShelleyDELEG (ShelleyEra c) type instance EraRule "DELEGS" (ShelleyEra c) = ShelleyDELEGS (ShelleyEra c) type instance EraRule "DELPL" (ShelleyEra c) = ShelleyDELPL (ShelleyEra c) type instance EraRule "EPOCH" (ShelleyEra c) = ShelleyEPOCH (ShelleyEra c) type instance EraRule "LEDGER" (ShelleyEra c) = ShelleyLEDGER (ShelleyEra c) type instance EraRule "LEDGERS" (ShelleyEra c) = ShelleyLEDGERS (ShelleyEra c) type instance EraRule "MIR" (ShelleyEra c) = ShelleyMIR (ShelleyEra c) type instance EraRule "NEWEPOCH" (ShelleyEra c) = ShelleyNEWEPOCH (ShelleyEra c) type instance EraRule "NEWPP" (ShelleyEra c) = ShelleyNEWPP (ShelleyEra c) type instance EraRule "POOL" (ShelleyEra c) = ShelleyPOOL (ShelleyEra c) type instance EraRule "POOLREAP" (ShelleyEra c) = ShelleyPOOLREAP (ShelleyEra c) type instance EraRule "PPUP" (ShelleyEra c) = ShelleyPPUP (ShelleyEra c) type instance EraRule "RUPD" (ShelleyEra c) = ShelleyRUPD (ShelleyEra c) type instance EraRule "SNAP" (ShelleyEra c) = ShelleySNAP (ShelleyEra c) type instance EraRule "TICK" (ShelleyEra c) = ShelleyTICK (ShelleyEra c) type instance EraRule "TICKF" (ShelleyEra c) = ShelleyTICKF (ShelleyEra c) type instance EraRule "UPEC" (ShelleyEra c) = ShelleyUPEC (ShelleyEra c) type instance EraRule "UTXO" (ShelleyEra c) = ShelleyUTXO (ShelleyEra c) type instance EraRule "UTXOW" (ShelleyEra c) = ShelleyUTXOW (ShelleyEra c)