{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Mary.Transition (TransitionConfig (..)) where import Cardano.Ledger.Allegra import Cardano.Ledger.Allegra.Transition import Cardano.Ledger.Genesis (NoGenesis (..)) import Cardano.Ledger.Mary.Era import Cardano.Ledger.Mary.State () import Cardano.Ledger.Mary.Translation () import Cardano.Ledger.Shelley.Transition import Data.Aeson (FromJSON (..), ToJSON (..)) import Lens.Micro import NoThunks.Class (NoThunks (..)) instance EraTransition MaryEra where newtype TransitionConfig MaryEra = MaryTransitionConfig { TransitionConfig MaryEra -> TransitionConfig AllegraEra mtcAllegraTransitionConfig :: TransitionConfig AllegraEra } deriving (Int -> TransitionConfig MaryEra -> ShowS [TransitionConfig MaryEra] -> ShowS TransitionConfig MaryEra -> String (Int -> TransitionConfig MaryEra -> ShowS) -> (TransitionConfig MaryEra -> String) -> ([TransitionConfig MaryEra] -> ShowS) -> Show (TransitionConfig MaryEra) forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> TransitionConfig MaryEra -> ShowS showsPrec :: Int -> TransitionConfig MaryEra -> ShowS $cshow :: TransitionConfig MaryEra -> String show :: TransitionConfig MaryEra -> String $cshowList :: [TransitionConfig MaryEra] -> ShowS showList :: [TransitionConfig MaryEra] -> ShowS Show, TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool (TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool) -> (TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool) -> Eq (TransitionConfig MaryEra) forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool == :: TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool $c/= :: TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool /= :: TransitionConfig MaryEra -> TransitionConfig MaryEra -> Bool Eq, Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo) Proxy (TransitionConfig MaryEra) -> String (Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo)) -> (Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo)) -> (Proxy (TransitionConfig MaryEra) -> String) -> NoThunks (TransitionConfig MaryEra) forall a. (Context -> a -> IO (Maybe ThunkInfo)) -> (Context -> a -> IO (Maybe ThunkInfo)) -> (Proxy a -> String) -> NoThunks a $cnoThunks :: Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo) noThunks :: Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo) $cwNoThunks :: Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo) wNoThunks :: Context -> TransitionConfig MaryEra -> IO (Maybe ThunkInfo) $cshowTypeOf :: Proxy (TransitionConfig MaryEra) -> String showTypeOf :: Proxy (TransitionConfig MaryEra) -> String NoThunks, [TransitionConfig MaryEra] -> Value [TransitionConfig MaryEra] -> Encoding TransitionConfig MaryEra -> Bool TransitionConfig MaryEra -> Value TransitionConfig MaryEra -> Encoding (TransitionConfig MaryEra -> Value) -> (TransitionConfig MaryEra -> Encoding) -> ([TransitionConfig MaryEra] -> Value) -> ([TransitionConfig MaryEra] -> Encoding) -> (TransitionConfig MaryEra -> Bool) -> ToJSON (TransitionConfig MaryEra) forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> (a -> Bool) -> ToJSON a $ctoJSON :: TransitionConfig MaryEra -> Value toJSON :: TransitionConfig MaryEra -> Value $ctoEncoding :: TransitionConfig MaryEra -> Encoding toEncoding :: TransitionConfig MaryEra -> Encoding $ctoJSONList :: [TransitionConfig MaryEra] -> Value toJSONList :: [TransitionConfig MaryEra] -> Value $ctoEncodingList :: [TransitionConfig MaryEra] -> Encoding toEncodingList :: [TransitionConfig MaryEra] -> Encoding $comitField :: TransitionConfig MaryEra -> Bool omitField :: TransitionConfig MaryEra -> Bool ToJSON, Maybe (TransitionConfig MaryEra) Value -> Parser [TransitionConfig MaryEra] Value -> Parser (TransitionConfig MaryEra) (Value -> Parser (TransitionConfig MaryEra)) -> (Value -> Parser [TransitionConfig MaryEra]) -> Maybe (TransitionConfig MaryEra) -> FromJSON (TransitionConfig MaryEra) forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe a -> FromJSON a $cparseJSON :: Value -> Parser (TransitionConfig MaryEra) parseJSON :: Value -> Parser (TransitionConfig MaryEra) $cparseJSONList :: Value -> Parser [TransitionConfig MaryEra] parseJSONList :: Value -> Parser [TransitionConfig MaryEra] $comittedField :: Maybe (TransitionConfig MaryEra) omittedField :: Maybe (TransitionConfig MaryEra) FromJSON) mkTransitionConfig :: TranslationContext MaryEra -> TransitionConfig (PreviousEra MaryEra) -> TransitionConfig MaryEra mkTransitionConfig TranslationContext MaryEra NoGenesis MaryEra NoGenesis = TransitionConfig AllegraEra -> TransitionConfig MaryEra TransitionConfig (PreviousEra MaryEra) -> TransitionConfig MaryEra MaryTransitionConfig injectIntoTestState :: TransitionConfig MaryEra -> NewEpochState MaryEra -> NewEpochState MaryEra injectIntoTestState = TransitionConfig MaryEra -> NewEpochState MaryEra -> NewEpochState MaryEra forall era. EraTransition era => TransitionConfig era -> NewEpochState era -> NewEpochState era registerInitialFundsThenStaking tcPreviousEraConfigL :: EraTransition (PreviousEra MaryEra) => Lens' (TransitionConfig MaryEra) (TransitionConfig (PreviousEra MaryEra)) tcPreviousEraConfigL = (TransitionConfig MaryEra -> TransitionConfig AllegraEra) -> (TransitionConfig MaryEra -> TransitionConfig AllegraEra -> TransitionConfig MaryEra) -> Lens (TransitionConfig MaryEra) (TransitionConfig MaryEra) (TransitionConfig AllegraEra) (TransitionConfig AllegraEra) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b lens TransitionConfig MaryEra -> TransitionConfig AllegraEra mtcAllegraTransitionConfig (\TransitionConfig MaryEra mtc TransitionConfig AllegraEra pc -> TransitionConfig MaryEra mtc {mtcAllegraTransitionConfig = pc}) tcTranslationContextL :: Lens' (TransitionConfig MaryEra) (TranslationContext MaryEra) tcTranslationContextL = (TransitionConfig MaryEra -> NoGenesis MaryEra) -> (TransitionConfig MaryEra -> NoGenesis MaryEra -> TransitionConfig MaryEra) -> Lens (TransitionConfig MaryEra) (TransitionConfig MaryEra) (NoGenesis MaryEra) (NoGenesis MaryEra) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b lens (NoGenesis MaryEra -> TransitionConfig MaryEra -> NoGenesis MaryEra forall a b. a -> b -> a const NoGenesis MaryEra forall era. NoGenesis era NoGenesis) (TransitionConfig MaryEra -> NoGenesis MaryEra -> TransitionConfig MaryEra forall a b. a -> b -> a const (TransitionConfig MaryEra -> NoGenesis MaryEra -> TransitionConfig MaryEra) -> (TransitionConfig MaryEra -> TransitionConfig MaryEra) -> TransitionConfig MaryEra -> NoGenesis MaryEra -> TransitionConfig MaryEra forall b c a. (b -> c) -> (a -> b) -> a -> c . TransitionConfig MaryEra -> TransitionConfig MaryEra forall a. a -> a id)