{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Conformance.ExecSpecRule.Conway.Ledger (ConwayLedgerExecContext (..)) where import Cardano.Ledger.BaseTypes (StrictMaybe) import Cardano.Ledger.Binary (EncCBOR (..)) import Cardano.Ledger.Binary.Coders (Encode (..), encode, (!>)) import Cardano.Ledger.Conway (ConwayEra) import Cardano.Ledger.Conway.Core ( EraPParams (..), EraTx (..), EraTxAuxData (..), EraTxBody (..), EraTxOut (..), EraTxWits (..), ScriptHash, TxLevel (..), ) import Cardano.Ledger.Conway.Governance import qualified Cardano.Ledger.Conway.Rules as Conway import Cardano.Ledger.Shelley.LedgerState import qualified Cardano.Ledger.Shelley.Rules as Shelley import Control.State.Transition.Extended (TRC (..)) import Data.Bifunctor (Bifunctor (..)) import Data.Functor.Identity (Identity) import qualified Data.Text as T import GHC.Generics (Generic) import Lens.Micro import qualified MAlonzo.Code.Ledger.Conway.Foreign.API as Agda import Test.Cardano.Ledger.Common (NFData, ToExpr) import Test.Cardano.Ledger.Conformance.ExecSpecRule.Conway.Base ( externalFunctions, ) import Test.Cardano.Ledger.Conformance.ExecSpecRule.Conway.Utxow () import Test.Cardano.Ledger.Conformance.ExecSpecRule.Core ( ExecSpecRule (..), ExecSpecTopLevelRule (..), SpecTRC (..), runFromAgdaFunction, ) import Test.Cardano.Ledger.Conformance.SpecTranslate.Base ( SpecTranslate (..), askSpecTransM, withCtxSpecTransM, ) import Test.Cardano.Ledger.Conformance.SpecTranslate.Conway () import Test.Cardano.Ledger.Constrained.Conway (UtxoExecContext (..)) import Test.Cardano.Ledger.Conway.Arbitrary () import Test.Cardano.Ledger.Shelley.Utils (runSTS) data ConwayLedgerExecContext era = ConwayLedgerExecContext { forall era. ConwayLedgerExecContext era -> StrictMaybe ScriptHash clecGuardrailsScriptHash :: StrictMaybe ScriptHash , forall era. ConwayLedgerExecContext era -> EnactState era clecEnactState :: Conway.EnactState era , forall era. ConwayLedgerExecContext era -> UtxoExecContext era clecUtxoExecContext :: UtxoExecContext era } deriving ((forall x. ConwayLedgerExecContext era -> Rep (ConwayLedgerExecContext era) x) -> (forall x. Rep (ConwayLedgerExecContext era) x -> ConwayLedgerExecContext era) -> Generic (ConwayLedgerExecContext era) forall x. Rep (ConwayLedgerExecContext era) x -> ConwayLedgerExecContext era forall x. ConwayLedgerExecContext era -> Rep (ConwayLedgerExecContext era) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall era x. Rep (ConwayLedgerExecContext era) x -> ConwayLedgerExecContext era forall era x. ConwayLedgerExecContext era -> Rep (ConwayLedgerExecContext era) x $cfrom :: forall era x. ConwayLedgerExecContext era -> Rep (ConwayLedgerExecContext era) x from :: forall x. ConwayLedgerExecContext era -> Rep (ConwayLedgerExecContext era) x $cto :: forall era x. Rep (ConwayLedgerExecContext era) x -> ConwayLedgerExecContext era to :: forall x. Rep (ConwayLedgerExecContext era) x -> ConwayLedgerExecContext era Generic) instance ( EraPParams era , EraTx era , NFData (TxWits era) , NFData (TxAuxData era) , EraCertState era ) => NFData (ConwayLedgerExecContext era) instance ( EraTx era , ToExpr (Tx TopTx era) , ToExpr (TxOut era) , ToExpr (TxBody TopTx era) , ToExpr (TxWits era) , ToExpr (TxAuxData era) , ToExpr (PParamsHKD Identity era) , EraCertState era , ToExpr (CertState era) ) => ToExpr (ConwayLedgerExecContext era) instance ( EraPParams era , EraCertState era , EncCBOR (TxOut era) , EncCBOR (Tx TopTx era) ) => EncCBOR (ConwayLedgerExecContext era) where encCBOR :: ConwayLedgerExecContext era -> Encoding encCBOR ConwayLedgerExecContext {StrictMaybe ScriptHash EnactState era UtxoExecContext era clecGuardrailsScriptHash :: forall era. ConwayLedgerExecContext era -> StrictMaybe ScriptHash clecEnactState :: forall era. ConwayLedgerExecContext era -> EnactState era clecUtxoExecContext :: forall era. ConwayLedgerExecContext era -> UtxoExecContext era clecGuardrailsScriptHash :: StrictMaybe ScriptHash clecEnactState :: EnactState era clecUtxoExecContext :: UtxoExecContext era ..} = Encode (Closed Dense) (ConwayLedgerExecContext era) -> Encoding forall (w :: Wrapped) t. Encode w t -> Encoding encode (Encode (Closed Dense) (ConwayLedgerExecContext era) -> Encoding) -> Encode (Closed Dense) (ConwayLedgerExecContext era) -> Encoding forall a b. (a -> b) -> a -> b $ (StrictMaybe ScriptHash -> EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era) -> Encode (Closed Dense) (StrictMaybe ScriptHash -> EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era) forall t. t -> Encode (Closed Dense) t Rec StrictMaybe ScriptHash -> EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era forall era. StrictMaybe ScriptHash -> EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era ConwayLedgerExecContext Encode (Closed Dense) (StrictMaybe ScriptHash -> EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era) -> Encode (Closed Dense) (StrictMaybe ScriptHash) -> Encode (Closed Dense) (EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> StrictMaybe ScriptHash -> Encode (Closed Dense) (StrictMaybe ScriptHash) forall t. EncCBOR t => t -> Encode (Closed Dense) t To StrictMaybe ScriptHash clecGuardrailsScriptHash Encode (Closed Dense) (EnactState era -> UtxoExecContext era -> ConwayLedgerExecContext era) -> Encode (Closed Dense) (EnactState era) -> Encode (Closed Dense) (UtxoExecContext era -> ConwayLedgerExecContext era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> EnactState era -> Encode (Closed Dense) (EnactState era) forall t. EncCBOR t => t -> Encode (Closed Dense) t To EnactState era clecEnactState Encode (Closed Dense) (UtxoExecContext era -> ConwayLedgerExecContext era) -> Encode (Closed Dense) (UtxoExecContext era) -> Encode (Closed Dense) (ConwayLedgerExecContext era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> UtxoExecContext era -> Encode (Closed Dense) (UtxoExecContext era) forall t. EncCBOR t => t -> Encode (Closed Dense) t To UtxoExecContext era clecUtxoExecContext instance ExecSpecRule "LEDGER" ConwayEra where type ExecContext "LEDGER" ConwayEra = ConwayLedgerExecContext ConwayEra translateInputs :: HasCallStack => TRC (EraRule "LEDGER" ConwayEra) -> SpecTransM ConwayEra (ExecContext "LEDGER" ConwayEra) (SpecTRC "LEDGER" ConwayEra) translateInputs (TRC (Environment (EraRule "LEDGER" ConwayEra) env, State (EraRule "LEDGER" ConwayEra) st, Signal (EraRule "LEDGER" ConwayEra) sig)) = do ConwayLedgerExecContext {..} <- SpecTransM ConwayEra (ConwayLedgerExecContext ConwayEra) (ConwayLedgerExecContext ConwayEra) forall era ctx. SpecTransM era ctx ctx askSpecTransM agdaEnv <- withCtxSpecTransM (clecGuardrailsScriptHash, clecEnactState) $ toSpecRep env agdaSt <- withCtxSpecTransM () $ toSpecRep st agdaSig <- withCtxSpecTransM () $ toSpecRep sig pure $ SpecTRC agdaEnv agdaSt agdaSig runAgdaRule :: HasCallStack => SpecTRC "LEDGER" ConwayEra -> Either Text (SpecState "LEDGER" ConwayEra) runAgdaRule SpecTRC "LEDGER" ConwayEra trc = let externalFunctions' :: ExternalFunctions externalFunctions' = ExternalFunctions externalFunctions {Agda.extValidPlutusScript = Agda.isValid (strcSignal trc)} in (SpecEnvironment "LEDGER" ConwayEra -> SpecState "LEDGER" ConwayEra -> SpecSignal "LEDGER" ConwayEra -> ComputationResult Text (SpecState "LEDGER" ConwayEra)) -> SpecTRC "LEDGER" ConwayEra -> Either Text (SpecState "LEDGER" ConwayEra) forall (rule :: Symbol) era. (SpecEnvironment rule era -> SpecState rule era -> SpecSignal rule era -> ComputationResult Text (SpecState rule era)) -> SpecTRC rule era -> Either Text (SpecState rule era) runFromAgdaFunction (ExternalFunctions -> LEnv -> LState -> Tx -> T_HSComputationResult_110 Text LState Agda.ledgerStep ExternalFunctions externalFunctions') SpecTRC "LEDGER" ConwayEra trc extraInfo :: HasCallStack => Globals -> ExecContext "LEDGER" ConwayEra -> TRC (EraRule "LEDGER" ConwayEra) -> Either Text (State (EraRule "LEDGER" ConwayEra), [Event (EraRule "LEDGER" ConwayEra)]) -> Doc AnsiStyle extraInfo Globals globals ConwayLedgerExecContext {StrictMaybe ScriptHash EnactState ConwayEra UtxoExecContext ConwayEra clecGuardrailsScriptHash :: forall era. ConwayLedgerExecContext era -> StrictMaybe ScriptHash clecEnactState :: forall era. ConwayLedgerExecContext era -> EnactState era clecUtxoExecContext :: forall era. ConwayLedgerExecContext era -> UtxoExecContext era clecGuardrailsScriptHash :: StrictMaybe ScriptHash clecEnactState :: EnactState ConwayEra clecUtxoExecContext :: UtxoExecContext ConwayEra ..} (TRC (Shelley.LedgerEnv {Maybe EpochNo PParams ConwayEra ChainAccountState TxIx SlotNo ledgerSlotNo :: SlotNo ledgerEpochNo :: Maybe EpochNo ledgerIx :: TxIx ledgerPp :: PParams ConwayEra ledgerAccount :: ChainAccountState ledgerAccount :: forall era. LedgerEnv era -> ChainAccountState ledgerPp :: forall era. LedgerEnv era -> PParams era ledgerIx :: forall era. LedgerEnv era -> TxIx ledgerEpochNo :: forall era. LedgerEnv era -> Maybe EpochNo ledgerSlotNo :: forall era. LedgerEnv era -> SlotNo ..}, LedgerState {CertState ConwayEra UTxOState ConwayEra lsUTxOState :: UTxOState ConwayEra lsCertState :: CertState ConwayEra lsCertState :: forall era. LedgerState era -> CertState era lsUTxOState :: forall era. LedgerState era -> UTxOState era ..}, Signal (EraRule "LEDGER" ConwayEra) sig)) Either Text (State (EraRule "LEDGER" ConwayEra), [Event (EraRule "LEDGER" ConwayEra)]) _ = forall (rule :: Symbol) era. (ExecSpecRule rule era, HasCallStack) => Globals -> ExecContext rule era -> TRC (EraRule rule era) -> Either Text (State (EraRule rule era), [Event (EraRule rule era)]) -> Doc AnsiStyle extraInfo @"UTXOW" @ConwayEra Globals globals UtxoExecContext ConwayEra ExecContext "UTXOW" ConwayEra clecUtxoExecContext ((Environment (ConwayUTXOW ConwayEra), State (ConwayUTXOW ConwayEra), Signal (ConwayUTXOW ConwayEra)) -> TRC (ConwayUTXOW ConwayEra) forall sts. (Environment sts, State sts, Signal sts) -> TRC sts TRC (UtxoEnv ConwayEra Environment (ConwayUTXOW ConwayEra) utxoEnv, State (ConwayUTXOW ConwayEra) UTxOState ConwayEra lsUTxOState, Signal (EraRule "LEDGER" ConwayEra) Signal (ConwayUTXOW ConwayEra) sig)) Either Text (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) stFinal where utxoEnv :: UtxoEnv ConwayEra utxoEnv = SlotNo -> PParams ConwayEra -> CertState ConwayEra -> UtxoEnv ConwayEra forall era. SlotNo -> PParams era -> CertState era -> UtxoEnv era Shelley.UtxoEnv SlotNo ledgerSlotNo PParams ConwayEra ledgerPp CertState ConwayEra lsCertState stFinal :: Either Text (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) stFinal = (NonEmpty (PredicateFailure (EraRule "UTXOW" ConwayEra)) -> Text) -> Either (NonEmpty (PredicateFailure (EraRule "UTXOW" ConwayEra))) (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) -> Either Text (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) forall a b c. (a -> b) -> Either a c -> Either b c forall (p :: * -> * -> *) a b c. Bifunctor p => (a -> b) -> p a c -> p b c first (String -> Text T.pack (String -> Text) -> (NonEmpty (ConwayUtxowPredFailure ConwayEra) -> String) -> NonEmpty (ConwayUtxowPredFailure ConwayEra) -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . NonEmpty (ConwayUtxowPredFailure ConwayEra) -> String forall a. Show a => a -> String show) (Either (NonEmpty (PredicateFailure (EraRule "UTXOW" ConwayEra))) (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) -> Either Text (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)])) -> Either (NonEmpty (PredicateFailure (EraRule "UTXOW" ConwayEra))) (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) -> Either Text (State (EraRule "UTXOW" ConwayEra), [Event (EraRule "UTXOW" ConwayEra)]) forall a b. (a -> b) -> a -> b $ forall (rule :: Symbol) era. (BaseM (EraRule rule era) ~ ShelleyBase, STS (EraRule rule era)) => Globals -> Environment (EraRule rule era) -> State (EraRule rule era) -> Signal (EraRule rule era) -> Either (NonEmpty (PredicateFailure (EraRule rule era))) (State (EraRule rule era), [Event (EraRule rule era)]) runSTS @"UTXOW" @ConwayEra Globals globals UtxoEnv ConwayEra Environment (EraRule "UTXOW" ConwayEra) utxoEnv State (EraRule "UTXOW" ConwayEra) UTxOState ConwayEra lsUTxOState Signal (EraRule "UTXOW" ConwayEra) Signal (EraRule "LEDGER" ConwayEra) sig instance ExecSpecTopLevelRule "LEDGER" ConwayEra where mkRuleExecContext :: Globals -> TRC (EraRule "LEDGER" ConwayEra) -> ExecContext "LEDGER" ConwayEra mkRuleExecContext Globals _ (TRC (Environment (EraRule "LEDGER" ConwayEra) env, State (EraRule "LEDGER" ConwayEra) state, Signal (EraRule "LEDGER" ConwayEra) signal)) = ConwayLedgerExecContext { clecGuardrailsScriptHash :: StrictMaybe ScriptHash clecGuardrailsScriptHash = State (EraRule "LEDGER" ConwayEra) LedgerState ConwayEra state LedgerState ConwayEra -> Getting (StrictMaybe ScriptHash) (LedgerState ConwayEra) (StrictMaybe ScriptHash) -> StrictMaybe ScriptHash forall s a. s -> Getting a s a -> a ^. (UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra)) -> LedgerState ConwayEra -> Const (StrictMaybe ScriptHash) (LedgerState ConwayEra) forall era (f :: * -> *). Functor f => (UTxOState era -> f (UTxOState era)) -> LedgerState era -> f (LedgerState era) lsUTxOStateL ((UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra)) -> LedgerState ConwayEra -> Const (StrictMaybe ScriptHash) (LedgerState ConwayEra)) -> ((StrictMaybe ScriptHash -> Const (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)) -> UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra)) -> Getting (StrictMaybe ScriptHash) (LedgerState ConwayEra) (StrictMaybe ScriptHash) forall b c a. (b -> c) -> (a -> b) -> a -> c . (GovState ConwayEra -> Const (StrictMaybe ScriptHash) (GovState ConwayEra)) -> UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra) (ConwayGovState ConwayEra -> Const (StrictMaybe ScriptHash) (ConwayGovState ConwayEra)) -> UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra) forall era (f :: * -> *). Functor f => (GovState era -> f (GovState era)) -> UTxOState era -> f (UTxOState era) utxosGovStateL ((ConwayGovState ConwayEra -> Const (StrictMaybe ScriptHash) (ConwayGovState ConwayEra)) -> UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra)) -> ((StrictMaybe ScriptHash -> Const (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)) -> ConwayGovState ConwayEra -> Const (StrictMaybe ScriptHash) (ConwayGovState ConwayEra)) -> (StrictMaybe ScriptHash -> Const (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)) -> UTxOState ConwayEra -> Const (StrictMaybe ScriptHash) (UTxOState ConwayEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . (Constitution ConwayEra -> Const (StrictMaybe ScriptHash) (Constitution ConwayEra)) -> GovState ConwayEra -> Const (StrictMaybe ScriptHash) (GovState ConwayEra) (Constitution ConwayEra -> Const (StrictMaybe ScriptHash) (Constitution ConwayEra)) -> ConwayGovState ConwayEra -> Const (StrictMaybe ScriptHash) (ConwayGovState ConwayEra) forall era. ConwayEraGov era => Lens' (GovState era) (Constitution era) Lens' (GovState ConwayEra) (Constitution ConwayEra) constitutionGovStateL ((Constitution ConwayEra -> Const (StrictMaybe ScriptHash) (Constitution ConwayEra)) -> ConwayGovState ConwayEra -> Const (StrictMaybe ScriptHash) (ConwayGovState ConwayEra)) -> ((StrictMaybe ScriptHash -> Const (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)) -> Constitution ConwayEra -> Const (StrictMaybe ScriptHash) (Constitution ConwayEra)) -> (StrictMaybe ScriptHash -> Const (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)) -> ConwayGovState ConwayEra -> Const (StrictMaybe ScriptHash) (ConwayGovState ConwayEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . (StrictMaybe ScriptHash -> Const (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)) -> Constitution ConwayEra -> Const (StrictMaybe ScriptHash) (Constitution ConwayEra) forall era (f :: * -> *). Functor f => (StrictMaybe ScriptHash -> f (StrictMaybe ScriptHash)) -> Constitution era -> f (Constitution era) constitutionGuardrailsScriptHashL , clecEnactState :: EnactState ConwayEra clecEnactState = GovState ConwayEra -> EnactState ConwayEra forall era. ConwayEraGov era => GovState era -> EnactState era mkEnactState (GovState ConwayEra -> EnactState ConwayEra) -> GovState ConwayEra -> EnactState ConwayEra forall a b. (a -> b) -> a -> b $ State (EraRule "LEDGER" ConwayEra) LedgerState ConwayEra state LedgerState ConwayEra -> Getting (GovState ConwayEra) (LedgerState ConwayEra) (GovState ConwayEra) -> GovState ConwayEra forall s a. s -> Getting a s a -> a ^. (UTxOState ConwayEra -> Const (GovState ConwayEra) (UTxOState ConwayEra)) -> LedgerState ConwayEra -> Const (GovState ConwayEra) (LedgerState ConwayEra) forall era (f :: * -> *). Functor f => (UTxOState era -> f (UTxOState era)) -> LedgerState era -> f (LedgerState era) lsUTxOStateL ((UTxOState ConwayEra -> Const (GovState ConwayEra) (UTxOState ConwayEra)) -> LedgerState ConwayEra -> Const (GovState ConwayEra) (LedgerState ConwayEra)) -> ((GovState ConwayEra -> Const (GovState ConwayEra) (GovState ConwayEra)) -> UTxOState ConwayEra -> Const (GovState ConwayEra) (UTxOState ConwayEra)) -> Getting (GovState ConwayEra) (LedgerState ConwayEra) (GovState ConwayEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . (GovState ConwayEra -> Const (GovState ConwayEra) (GovState ConwayEra)) -> UTxOState ConwayEra -> Const (GovState ConwayEra) (UTxOState ConwayEra) forall era (f :: * -> *). Functor f => (GovState era -> f (GovState era)) -> UTxOState era -> f (UTxOState era) utxosGovStateL , clecUtxoExecContext :: UtxoExecContext ConwayEra clecUtxoExecContext = UtxoExecContext { uecTx :: Tx TopTx ConwayEra uecTx = AlonzoStAnnTx TopTx ConwayEra Signal (EraRule "LEDGER" ConwayEra) signal AlonzoStAnnTx TopTx ConwayEra -> Getting (Tx TopTx ConwayEra) (AlonzoStAnnTx TopTx ConwayEra) (Tx TopTx ConwayEra) -> Tx TopTx ConwayEra forall s a. s -> Getting a s a -> a ^. Getting (Tx TopTx ConwayEra) (StAnnTx TopTx ConwayEra) (Tx TopTx ConwayEra) Getting (Tx TopTx ConwayEra) (AlonzoStAnnTx TopTx ConwayEra) (Tx TopTx ConwayEra) forall era (l :: TxLevel). EraTx era => SimpleGetter (StAnnTx l era) (Tx l era) forall (l :: TxLevel). SimpleGetter (StAnnTx l ConwayEra) (Tx l ConwayEra) txStAnnTxG , uecUTxO :: UTxO ConwayEra uecUTxO = State (EraRule "LEDGER" ConwayEra) LedgerState ConwayEra state LedgerState ConwayEra -> Getting (UTxO ConwayEra) (LedgerState ConwayEra) (UTxO ConwayEra) -> UTxO ConwayEra forall s a. s -> Getting a s a -> a ^. Getting (UTxO ConwayEra) (LedgerState ConwayEra) (UTxO ConwayEra) forall era. Lens' (LedgerState era) (UTxO era) forall (t :: * -> *) era. CanSetUTxO t => Lens' (t era) (UTxO era) utxoL , uecUtxoEnv :: UtxoEnv ConwayEra uecUtxoEnv = Shelley.UtxoEnv { ueSlot :: SlotNo Shelley.ueSlot = LedgerEnv ConwayEra Environment (EraRule "LEDGER" ConwayEra) env LedgerEnv ConwayEra -> Getting SlotNo (LedgerEnv ConwayEra) SlotNo -> SlotNo forall s a. s -> Getting a s a -> a ^. Getting SlotNo (LedgerEnv ConwayEra) SlotNo forall era (f :: * -> *). Functor f => (SlotNo -> f SlotNo) -> LedgerEnv era -> f (LedgerEnv era) Shelley.ledgerSlotNoL , uePParams :: PParams ConwayEra Shelley.uePParams = State (EraRule "LEDGER" ConwayEra) LedgerState ConwayEra state LedgerState ConwayEra -> Getting (PParams ConwayEra) (LedgerState ConwayEra) (PParams ConwayEra) -> PParams ConwayEra forall s a. s -> Getting a s a -> a ^. (UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra)) -> LedgerState ConwayEra -> Const (PParams ConwayEra) (LedgerState ConwayEra) forall era (f :: * -> *). Functor f => (UTxOState era -> f (UTxOState era)) -> LedgerState era -> f (LedgerState era) lsUTxOStateL ((UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra)) -> LedgerState ConwayEra -> Const (PParams ConwayEra) (LedgerState ConwayEra)) -> ((PParams ConwayEra -> Const (PParams ConwayEra) (PParams ConwayEra)) -> UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra)) -> Getting (PParams ConwayEra) (LedgerState ConwayEra) (PParams ConwayEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . (GovState ConwayEra -> Const (PParams ConwayEra) (GovState ConwayEra)) -> UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra) (ConwayGovState ConwayEra -> Const (PParams ConwayEra) (ConwayGovState ConwayEra)) -> UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra) forall era (f :: * -> *). Functor f => (GovState era -> f (GovState era)) -> UTxOState era -> f (UTxOState era) utxosGovStateL ((ConwayGovState ConwayEra -> Const (PParams ConwayEra) (ConwayGovState ConwayEra)) -> UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra)) -> ((PParams ConwayEra -> Const (PParams ConwayEra) (PParams ConwayEra)) -> ConwayGovState ConwayEra -> Const (PParams ConwayEra) (ConwayGovState ConwayEra)) -> (PParams ConwayEra -> Const (PParams ConwayEra) (PParams ConwayEra)) -> UTxOState ConwayEra -> Const (PParams ConwayEra) (UTxOState ConwayEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . (PParams ConwayEra -> Const (PParams ConwayEra) (PParams ConwayEra)) -> GovState ConwayEra -> Const (PParams ConwayEra) (GovState ConwayEra) (PParams ConwayEra -> Const (PParams ConwayEra) (PParams ConwayEra)) -> ConwayGovState ConwayEra -> Const (PParams ConwayEra) (ConwayGovState ConwayEra) forall era. EraGov era => Lens' (GovState era) (PParams era) Lens' (GovState ConwayEra) (PParams ConwayEra) curPParamsGovStateL , ueCertState :: CertState ConwayEra Shelley.ueCertState = State (EraRule "LEDGER" ConwayEra) LedgerState ConwayEra state LedgerState ConwayEra -> Getting (ConwayCertState ConwayEra) (LedgerState ConwayEra) (ConwayCertState ConwayEra) -> ConwayCertState ConwayEra forall s a. s -> Getting a s a -> a ^. (CertState ConwayEra -> Const (ConwayCertState ConwayEra) (CertState ConwayEra)) -> LedgerState ConwayEra -> Const (ConwayCertState ConwayEra) (LedgerState ConwayEra) Getting (ConwayCertState ConwayEra) (LedgerState ConwayEra) (ConwayCertState ConwayEra) forall era (f :: * -> *). Functor f => (CertState era -> f (CertState era)) -> LedgerState era -> f (LedgerState era) lsCertStateL } } }