{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
#if __GLASGOW_HASKELL__ >= 908
{-# OPTIONS_GHC -Wno-x-unsafe-ledger-internal #-}
#endif
module Cardano.Ledger.Mary.Era (MaryEra) where
import Cardano.Ledger.Allegra.Rules (AllegraUTXO, AllegraUTXOW)
import Cardano.Ledger.Genesis (EraGenesis, NoGenesis)
import Cardano.Ledger.Internal.Era (MaryEra)
import Cardano.Ledger.Mary.Value (MaryValue)
import Cardano.Ledger.Shelley.Core
import Cardano.Ledger.Shelley.Rules
instance EraGenesis MaryEra
type instance TranslationContext MaryEra = NoGenesis MaryEra
type instance Value MaryEra = MaryValue
type instance EraRule "BBODY" MaryEra = ShelleyBBODY MaryEra
type instance EraRule "DELEG" MaryEra = ShelleyDELEG MaryEra
type instance EraRule "DELEGS" MaryEra = ShelleyDELEGS MaryEra
type instance EraRule "DELPL" MaryEra = ShelleyDELPL MaryEra
type instance EraRule "EPOCH" MaryEra = ShelleyEPOCH MaryEra
type instance EraRule "LEDGER" MaryEra = ShelleyLEDGER MaryEra
type instance EraRule "LEDGERS" MaryEra = ShelleyLEDGERS MaryEra
type instance EraRule "MIR" MaryEra = ShelleyMIR MaryEra
type instance EraRule "NEWEPOCH" MaryEra = ShelleyNEWEPOCH MaryEra
type instance EraRule "NEWPP" MaryEra = ShelleyNEWPP MaryEra
type instance EraRule "POOL" MaryEra = ShelleyPOOL MaryEra
type instance EraRule "POOLREAP" MaryEra = ShelleyPOOLREAP MaryEra
type instance EraRule "PPUP" MaryEra = ShelleyPPUP MaryEra
type instance EraRule "RUPD" MaryEra = ShelleyRUPD MaryEra
type instance EraRule "SNAP" MaryEra = ShelleySNAP MaryEra
type instance EraRule "TICK" MaryEra = ShelleyTICK MaryEra
type instance EraRule "TICKF" MaryEra = ShelleyTICKF MaryEra
type instance EraRule "UPEC" MaryEra = ShelleyUPEC MaryEra
type instance EraRule "UTXO" MaryEra = AllegraUTXO MaryEra
type instance EraRule "UTXOW" MaryEra = AllegraUTXOW MaryEra