{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Conway.PParams (
ConwayEraPParams (..),
ppCommitteeMaxTermLength,
ppCommitteeMinSize,
ppDRepActivity,
ppDRepDeposit,
ppDRepVotingThresholds,
ppGovActionDeposit,
ppGovActionLifetime,
ppGovProtocolVersion,
ppMinFeeRefScriptCostPerByte,
ppPoolVotingThresholds,
ppPoolVotingThresholdsL,
ppDRepVotingThresholdsL,
ppCommitteeMinSizeL,
ppCommitteeMaxTermLengthL,
ppGovActionLifetimeL,
ppGovActionDepositL,
ppDRepDepositL,
ppDRepActivityL,
ppMinFeeRefScriptCostPerByteL,
ppuPoolVotingThresholdsL,
ppuDRepVotingThresholdsL,
ppuCommitteeMinSizeL,
ppuCommitteeMaxTermLengthL,
ppuGovActionLifetimeL,
ppuGovActionDepositL,
ppuDRepDepositL,
ppuDRepActivityL,
ppuMinFeeRefScriptCostPerByteL,
PoolVotingThresholds (..),
pvtCommitteeNoConfidenceL,
pvtCommitteeNormalL,
pvtPPSecurityGroupL,
DRepVotingThresholds (..),
dvtCommitteeNoConfidenceL,
dvtCommitteeNormalL,
dvtHardForkInitiationL,
dvtMotionNoConfidenceL,
dvtPPNetworkGroupL,
dvtPPGovGroupL,
dvtPPTechnicalGroupL,
dvtPPEconomicGroupL,
dvtTreasuryWithdrawalL,
dvtUpdateToConstitutionL,
ConwayPParams (..),
getLanguageView,
LangDepView (..),
encodeLangViews,
upgradeConwayPParams,
UpgradeConwayPParams (..),
toUpgradeConwayPParamsUpdatePairs,
THKD (..),
DRepGroup (..),
PPGroups (..),
StakePoolGroup (..),
conwayModifiedPPGroups,
pvtHardForkInitiationL,
pvtMotionNoConfidenceL,
) where
import Cardano.Ledger.Alonzo.PParams
import Cardano.Ledger.Alonzo.Scripts (
CostModels,
ExUnits (..),
Prices (Prices),
emptyCostModels,
updateCostModels,
)
import Cardano.Ledger.Babbage (BabbageEra)
import Cardano.Ledger.Babbage.Core
import Cardano.Ledger.Babbage.PParams
import Cardano.Ledger.BaseTypes (
EpochInterval (..),
NonNegativeInterval,
ProtVer (ProtVer),
UnitInterval,
integralToBounded,
strictMaybeToMaybe,
)
import Cardano.Ledger.Binary (
DecCBOR (..),
EncCBOR (..),
encodeListLen,
)
import Cardano.Ledger.Binary.Coders
import Cardano.Ledger.Coin (Coin (Coin))
import Cardano.Ledger.Conway.Era (ConwayEra)
import Cardano.Ledger.Core (EraPParams (..))
import Cardano.Ledger.HKD (
HKDApplicative (hkdLiftA2),
HKDFunctor (..),
HKDNoUpdate,
NoUpdate (..),
)
import Cardano.Ledger.Plutus.CostModels (
CostModel,
decodeCostModel,
encodeCostModel,
mkCostModel,
mkCostModels,
)
import Cardano.Ledger.Plutus.Language (Language (PlutusV3))
import Cardano.Ledger.Plutus.ToPlutusData (ToPlutusData (..))
import Cardano.Ledger.Shelley.HardForks (bootstrapPhase)
import Cardano.Ledger.Shelley.PParams
import Cardano.Ledger.Val (Val (..))
import Control.DeepSeq (NFData (..), rwhnf)
import Data.Aeson hiding (Encoding, Value, decode, encode)
import qualified Data.Aeson as Aeson
import Data.Default (Default (def))
import Data.Foldable (foldlM)
import Data.Functor.Identity (Identity)
import qualified Data.IntMap as IntMap
import qualified Data.Map.Strict as Map
import Data.Maybe (mapMaybe)
import Data.Maybe.Strict (StrictMaybe (..))
import Data.Proxy
import Data.Set (Set)
import qualified Data.Set as Set
import Data.Typeable
import Data.Word (Word16, Word32)
import GHC.Generics (Generic)
import GHC.Stack (HasCallStack)
import Lens.Micro
import NoThunks.Class (NoThunks (..))
import Numeric.Natural (Natural)
import qualified PlutusLedgerApi.Common as P (Data (..))
class BabbageEraPParams era => ConwayEraPParams era where
modifiedPPGroups :: PParamsUpdate era -> Set PPGroups
ppuWellFormed :: ProtVer -> PParamsUpdate era -> Bool
hkdPoolVotingThresholdsL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f PoolVotingThresholds)
hkdDRepVotingThresholdsL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f DRepVotingThresholds)
hkdCommitteeMinSizeL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Natural)
hkdCommitteeMaxTermLengthL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdGovActionLifetimeL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdGovActionDepositL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Coin)
hkdDRepDepositL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Coin)
hkdDRepActivityL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdMinFeeRefScriptCostPerByteL ::
HKDFunctor f => Lens' (PParamsHKD f era) (HKD f NonNegativeInterval)
instance ConwayEraPParams era => ToPlutusData (PParamsUpdate era) where
toPlutusData :: PParamsUpdate era -> Data
toPlutusData PParamsUpdate era
ppu = [(Data, Data)] -> Data
P.Map ([(Data, Data)] -> Data) -> [(Data, Data)] -> Data
forall a b. (a -> b) -> a -> b
$ (PParam era -> Maybe (Data, Data))
-> [PParam era] -> [(Data, Data)]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe PParam era -> Maybe (Data, Data)
ppToData (forall era. EraPParams era => [PParam era]
eraPParams @era)
where
ppToData :: PParam era -> Maybe (Data, Data)
ppToData PParam {Maybe (PParamUpdate era t)
ppUpdate :: Maybe (PParamUpdate era t)
ppUpdate :: ()
ppUpdate} = do
PParamUpdate {Word
ppuTag :: Word
ppuTag :: forall era t. PParamUpdate era t -> Word
ppuTag, Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens :: Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens :: forall era t.
PParamUpdate era t -> Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens} <- Maybe (PParamUpdate era t)
ppUpdate
t
t <- StrictMaybe t -> Maybe t
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe (StrictMaybe t -> Maybe t) -> StrictMaybe t -> Maybe t
forall a b. (a -> b) -> a -> b
$ PParamsUpdate era
ppu PParamsUpdate era
-> Getting (StrictMaybe t) (PParamsUpdate era) (StrictMaybe t)
-> StrictMaybe t
forall s a. s -> Getting a s a -> a
^. Getting (StrictMaybe t) (PParamsUpdate era) (StrictMaybe t)
Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens
(Data, Data) -> Maybe (Data, Data)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Integer -> Data
P.I (forall a. Integral a => a -> Integer
toInteger @Word Word
ppuTag), t -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData t
t)
fromPlutusData :: Data -> Maybe (PParamsUpdate era)
fromPlutusData (P.Map [(Data, Data)]
dataPairs) = (PParamsUpdate era -> (Data, Data) -> Maybe (PParamsUpdate era))
-> PParamsUpdate era -> [(Data, Data)] -> Maybe (PParamsUpdate era)
forall (t :: * -> *) (m :: * -> *) b a.
(Foldable t, Monad m) =>
(b -> a -> m b) -> b -> t a -> m b
foldlM PParamsUpdate era -> (Data, Data) -> Maybe (PParamsUpdate era)
accum PParamsUpdate era
forall era. EraPParams era => PParamsUpdate era
emptyPParamsUpdate [(Data, Data)]
dataPairs
where
accum :: PParamsUpdate era -> (Data, Data) -> Maybe (PParamsUpdate era)
accum PParamsUpdate era
acc (Data
dataKey, Data
dataVal) = do
Word
tag <- forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData @Word Data
dataKey
PParam {Maybe (PParamUpdate era t)
ppUpdate :: ()
ppUpdate :: Maybe (PParamUpdate era t)
ppUpdate} <-
Key -> IntMap (PParam era) -> Maybe (PParam era)
forall a. Key -> IntMap a -> Maybe a
IntMap.lookup (Word -> Key
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word
tag) IntMap (PParam era)
ppMap
PParamUpdate {Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens :: forall era t.
PParamUpdate era t -> Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens :: Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens} <- Maybe (PParamUpdate era t)
ppUpdate
t
plutusData <- Data -> Maybe t
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
dataVal
PParamsUpdate era -> Maybe (PParamsUpdate era)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PParamsUpdate era -> Maybe (PParamsUpdate era))
-> PParamsUpdate era -> Maybe (PParamsUpdate era)
forall a b. (a -> b) -> a -> b
$ ASetter
(PParamsUpdate era)
(PParamsUpdate era)
(StrictMaybe t)
(StrictMaybe t)
-> StrictMaybe t -> PParamsUpdate era -> PParamsUpdate era
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter
(PParamsUpdate era)
(PParamsUpdate era)
(StrictMaybe t)
(StrictMaybe t)
Lens' (PParamsUpdate era) (StrictMaybe t)
ppuLens (t -> StrictMaybe t
forall a. a -> StrictMaybe a
SJust t
plutusData) PParamsUpdate era
acc
ppMap :: IntMap (PParam era)
ppMap =
[(Key, PParam era)] -> IntMap (PParam era)
forall a. [(Key, a)] -> IntMap a
IntMap.fromList
[ (Word -> Key
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word
ppuTag, PParam era
pp)
| pp :: PParam era
pp@PParam {ppUpdate :: ()
ppUpdate = Just PParamUpdate {Word
ppuTag :: forall era t. PParamUpdate era t -> Word
ppuTag :: Word
ppuTag}} <- forall era. EraPParams era => [PParam era]
eraPParams @era
]
fromPlutusData Data
_ = Maybe (PParamsUpdate era)
forall a. Maybe a
Nothing
ppPoolVotingThresholdsL ::
forall era. ConwayEraPParams era => Lens' (PParams era) PoolVotingThresholds
ppPoolVotingThresholdsL :: forall era.
ConwayEraPParams era =>
Lens' (PParams era) PoolVotingThresholds
ppPoolVotingThresholdsL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((PoolVotingThresholds -> f PoolVotingThresholds)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (PoolVotingThresholds -> f PoolVotingThresholds)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f PoolVotingThresholds)
hkdPoolVotingThresholdsL @era @Identity
ppDRepVotingThresholdsL ::
forall era. ConwayEraPParams era => Lens' (PParams era) DRepVotingThresholds
ppDRepVotingThresholdsL :: forall era.
ConwayEraPParams era =>
Lens' (PParams era) DRepVotingThresholds
ppDRepVotingThresholdsL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((DRepVotingThresholds -> f DRepVotingThresholds)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (DRepVotingThresholds -> f DRepVotingThresholds)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f DRepVotingThresholds)
hkdDRepVotingThresholdsL @era @Identity
ppCommitteeMinSizeL :: forall era. ConwayEraPParams era => Lens' (PParams era) Natural
ppCommitteeMinSizeL :: forall era. ConwayEraPParams era => Lens' (PParams era) Natural
ppCommitteeMinSizeL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((Natural -> f Natural)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (Natural -> f Natural)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f Natural)
hkdCommitteeMinSizeL @era @Identity
ppCommitteeMaxTermLengthL :: forall era. ConwayEraPParams era => Lens' (PParams era) EpochInterval
ppCommitteeMaxTermLengthL :: forall era.
ConwayEraPParams era =>
Lens' (PParams era) EpochInterval
ppCommitteeMaxTermLengthL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((EpochInterval -> f EpochInterval)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (EpochInterval -> f EpochInterval)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdCommitteeMaxTermLengthL @era @Identity
ppGovActionLifetimeL :: forall era. ConwayEraPParams era => Lens' (PParams era) EpochInterval
ppGovActionLifetimeL :: forall era.
ConwayEraPParams era =>
Lens' (PParams era) EpochInterval
ppGovActionLifetimeL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((EpochInterval -> f EpochInterval)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (EpochInterval -> f EpochInterval)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdGovActionLifetimeL @era @Identity
ppGovActionDepositL :: forall era. ConwayEraPParams era => Lens' (PParams era) Coin
ppGovActionDepositL :: forall era. ConwayEraPParams era => Lens' (PParams era) Coin
ppGovActionDepositL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((Coin -> f Coin)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (Coin -> f Coin)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f Coin)
hkdGovActionDepositL @era @Identity
ppDRepDepositL :: forall era. ConwayEraPParams era => Lens' (PParams era) Coin
ppDRepDepositL :: forall era. ConwayEraPParams era => Lens' (PParams era) Coin
ppDRepDepositL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((Coin -> f Coin)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (Coin -> f Coin)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f Coin)
hkdDRepDepositL @era @Identity
ppDRepActivityL :: forall era. ConwayEraPParams era => Lens' (PParams era) EpochInterval
ppDRepActivityL :: forall era.
ConwayEraPParams era =>
Lens' (PParams era) EpochInterval
ppDRepActivityL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((EpochInterval -> f EpochInterval)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (EpochInterval -> f EpochInterval)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdDRepActivityL @era @Identity
ppMinFeeRefScriptCostPerByteL ::
forall era. ConwayEraPParams era => Lens' (PParams era) NonNegativeInterval
ppMinFeeRefScriptCostPerByteL :: forall era.
ConwayEraPParams era =>
Lens' (PParams era) NonNegativeInterval
ppMinFeeRefScriptCostPerByteL = (PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era))
-> ((NonNegativeInterval -> f NonNegativeInterval)
-> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (NonNegativeInterval -> f NonNegativeInterval)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f NonNegativeInterval)
hkdMinFeeRefScriptCostPerByteL @era @Identity
ppuPoolVotingThresholdsL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe PoolVotingThresholds)
ppuPoolVotingThresholdsL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe PoolVotingThresholds)
ppuPoolVotingThresholdsL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe PoolVotingThresholds
-> f (StrictMaybe PoolVotingThresholds))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe PoolVotingThresholds
-> f (StrictMaybe PoolVotingThresholds))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f PoolVotingThresholds)
hkdPoolVotingThresholdsL @era @StrictMaybe
ppuDRepVotingThresholdsL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe DRepVotingThresholds)
ppuDRepVotingThresholdsL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe DRepVotingThresholds)
ppuDRepVotingThresholdsL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe DRepVotingThresholds
-> f (StrictMaybe DRepVotingThresholds))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe DRepVotingThresholds
-> f (StrictMaybe DRepVotingThresholds))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f DRepVotingThresholds)
hkdDRepVotingThresholdsL @era @StrictMaybe
ppuCommitteeMinSizeL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe Natural)
ppuCommitteeMinSizeL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Natural)
ppuCommitteeMinSizeL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f Natural)
hkdCommitteeMinSizeL @era @StrictMaybe
ppuCommitteeMaxTermLengthL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuCommitteeMaxTermLengthL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuCommitteeMaxTermLengthL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdCommitteeMaxTermLengthL @era @StrictMaybe
ppuGovActionLifetimeL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuGovActionLifetimeL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuGovActionLifetimeL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdGovActionLifetimeL @era @StrictMaybe
ppuGovActionDepositL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe Coin)
ppuGovActionDepositL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
ppuGovActionDepositL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f Coin)
hkdGovActionDepositL @era @StrictMaybe
ppuDRepDepositL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe Coin)
ppuDRepDepositL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
ppuDRepDepositL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f Coin)
hkdDRepDepositL @era @StrictMaybe
ppuDRepActivityL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuDRepActivityL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuDRepActivityL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f EpochInterval)
hkdDRepActivityL @era @StrictMaybe
ppuMinFeeRefScriptCostPerByteL ::
forall era. ConwayEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe NonNegativeInterval)
ppuMinFeeRefScriptCostPerByteL :: forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe NonNegativeInterval)
ppuMinFeeRefScriptCostPerByteL = (PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era)
ppuLensHKD ((PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> PParamsUpdate era -> f (PParamsUpdate era))
-> ((StrictMaybe NonNegativeInterval
-> f (StrictMaybe NonNegativeInterval))
-> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe NonNegativeInterval
-> f (StrictMaybe NonNegativeInterval))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
(ConwayEraPParams era, HKDFunctor f) =>
Lens' (PParamsHKD f era) (HKD f NonNegativeInterval)
hkdMinFeeRefScriptCostPerByteL @era @StrictMaybe
data PoolVotingThresholds = PoolVotingThresholds
{ PoolVotingThresholds -> UnitInterval
pvtMotionNoConfidence :: !UnitInterval
, PoolVotingThresholds -> UnitInterval
pvtCommitteeNormal :: !UnitInterval
, PoolVotingThresholds -> UnitInterval
pvtCommitteeNoConfidence :: !UnitInterval
, PoolVotingThresholds -> UnitInterval
pvtHardForkInitiation :: !UnitInterval
, PoolVotingThresholds -> UnitInterval
pvtPPSecurityGroup :: !UnitInterval
}
deriving (PoolVotingThresholds -> PoolVotingThresholds -> Bool
(PoolVotingThresholds -> PoolVotingThresholds -> Bool)
-> (PoolVotingThresholds -> PoolVotingThresholds -> Bool)
-> Eq PoolVotingThresholds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
== :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
$c/= :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
/= :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
Eq, Eq PoolVotingThresholds
Eq PoolVotingThresholds =>
(PoolVotingThresholds -> PoolVotingThresholds -> Ordering)
-> (PoolVotingThresholds -> PoolVotingThresholds -> Bool)
-> (PoolVotingThresholds -> PoolVotingThresholds -> Bool)
-> (PoolVotingThresholds -> PoolVotingThresholds -> Bool)
-> (PoolVotingThresholds -> PoolVotingThresholds -> Bool)
-> (PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds)
-> (PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds)
-> Ord PoolVotingThresholds
PoolVotingThresholds -> PoolVotingThresholds -> Bool
PoolVotingThresholds -> PoolVotingThresholds -> Ordering
PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PoolVotingThresholds -> PoolVotingThresholds -> Ordering
compare :: PoolVotingThresholds -> PoolVotingThresholds -> Ordering
$c< :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
< :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
$c<= :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
<= :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
$c> :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
> :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
$c>= :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
>= :: PoolVotingThresholds -> PoolVotingThresholds -> Bool
$cmax :: PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds
max :: PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds
$cmin :: PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds
min :: PoolVotingThresholds
-> PoolVotingThresholds -> PoolVotingThresholds
Ord, Key -> PoolVotingThresholds -> ShowS
[PoolVotingThresholds] -> ShowS
PoolVotingThresholds -> String
(Key -> PoolVotingThresholds -> ShowS)
-> (PoolVotingThresholds -> String)
-> ([PoolVotingThresholds] -> ShowS)
-> Show PoolVotingThresholds
forall a.
(Key -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Key -> PoolVotingThresholds -> ShowS
showsPrec :: Key -> PoolVotingThresholds -> ShowS
$cshow :: PoolVotingThresholds -> String
show :: PoolVotingThresholds -> String
$cshowList :: [PoolVotingThresholds] -> ShowS
showList :: [PoolVotingThresholds] -> ShowS
Show, (forall x. PoolVotingThresholds -> Rep PoolVotingThresholds x)
-> (forall x. Rep PoolVotingThresholds x -> PoolVotingThresholds)
-> Generic PoolVotingThresholds
forall x. Rep PoolVotingThresholds x -> PoolVotingThresholds
forall x. PoolVotingThresholds -> Rep PoolVotingThresholds x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PoolVotingThresholds -> Rep PoolVotingThresholds x
from :: forall x. PoolVotingThresholds -> Rep PoolVotingThresholds x
$cto :: forall x. Rep PoolVotingThresholds x -> PoolVotingThresholds
to :: forall x. Rep PoolVotingThresholds x -> PoolVotingThresholds
Generic)
pvtMotionNoConfidenceL :: Lens' PoolVotingThresholds UnitInterval
pvtMotionNoConfidenceL :: Lens' PoolVotingThresholds UnitInterval
pvtMotionNoConfidenceL = (PoolVotingThresholds -> UnitInterval)
-> (PoolVotingThresholds -> UnitInterval -> PoolVotingThresholds)
-> Lens' PoolVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PoolVotingThresholds -> UnitInterval
pvtMotionNoConfidence (\PoolVotingThresholds
x UnitInterval
y -> PoolVotingThresholds
x {pvtMotionNoConfidence = y})
pvtCommitteeNormalL :: Lens' PoolVotingThresholds UnitInterval
pvtCommitteeNormalL :: Lens' PoolVotingThresholds UnitInterval
pvtCommitteeNormalL = (PoolVotingThresholds -> UnitInterval)
-> (PoolVotingThresholds -> UnitInterval -> PoolVotingThresholds)
-> Lens' PoolVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PoolVotingThresholds -> UnitInterval
pvtCommitteeNormal (\PoolVotingThresholds
x UnitInterval
y -> PoolVotingThresholds
x {pvtCommitteeNormal = y})
pvtCommitteeNoConfidenceL :: Lens' PoolVotingThresholds UnitInterval
pvtCommitteeNoConfidenceL :: Lens' PoolVotingThresholds UnitInterval
pvtCommitteeNoConfidenceL = (PoolVotingThresholds -> UnitInterval)
-> (PoolVotingThresholds -> UnitInterval -> PoolVotingThresholds)
-> Lens' PoolVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PoolVotingThresholds -> UnitInterval
pvtCommitteeNoConfidence (\PoolVotingThresholds
x UnitInterval
y -> PoolVotingThresholds
x {pvtCommitteeNoConfidence = y})
pvtPPSecurityGroupL :: Lens' PoolVotingThresholds UnitInterval
pvtPPSecurityGroupL :: Lens' PoolVotingThresholds UnitInterval
pvtPPSecurityGroupL = (PoolVotingThresholds -> UnitInterval)
-> (PoolVotingThresholds -> UnitInterval -> PoolVotingThresholds)
-> Lens' PoolVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PoolVotingThresholds -> UnitInterval
pvtPPSecurityGroup (\PoolVotingThresholds
x UnitInterval
y -> PoolVotingThresholds
x {pvtPPSecurityGroup = y})
pvtHardForkInitiationL :: Lens' PoolVotingThresholds UnitInterval
pvtHardForkInitiationL :: Lens' PoolVotingThresholds UnitInterval
pvtHardForkInitiationL = (PoolVotingThresholds -> UnitInterval)
-> (PoolVotingThresholds -> UnitInterval -> PoolVotingThresholds)
-> Lens' PoolVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens PoolVotingThresholds -> UnitInterval
pvtHardForkInitiation (\PoolVotingThresholds
x UnitInterval
y -> PoolVotingThresholds
x {pvtHardForkInitiation = y})
instance NoThunks PoolVotingThresholds
instance NFData PoolVotingThresholds where
rnf :: PoolVotingThresholds -> ()
rnf = PoolVotingThresholds -> ()
forall a. a -> ()
rwhnf
instance Default PoolVotingThresholds where
def :: PoolVotingThresholds
def = UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds
PoolVotingThresholds UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def
instance ToJSON PoolVotingThresholds where
toJSON :: PoolVotingThresholds -> Value
toJSON pvt :: PoolVotingThresholds
pvt@(PoolVotingThresholds UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_) =
let PoolVotingThresholds {UnitInterval
pvtMotionNoConfidence :: PoolVotingThresholds -> UnitInterval
pvtCommitteeNormal :: PoolVotingThresholds -> UnitInterval
pvtCommitteeNoConfidence :: PoolVotingThresholds -> UnitInterval
pvtHardForkInitiation :: PoolVotingThresholds -> UnitInterval
pvtPPSecurityGroup :: PoolVotingThresholds -> UnitInterval
pvtMotionNoConfidence :: UnitInterval
pvtCommitteeNormal :: UnitInterval
pvtCommitteeNoConfidence :: UnitInterval
pvtHardForkInitiation :: UnitInterval
pvtPPSecurityGroup :: UnitInterval
..} = PoolVotingThresholds
pvt
in [Pair] -> Value
object
[ (Key
"motionNoConfidence", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
pvtMotionNoConfidence)
, (Key
"committeeNormal", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
pvtCommitteeNormal)
, (Key
"committeeNoConfidence", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
pvtCommitteeNoConfidence)
, (Key
"hardForkInitiation", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
pvtHardForkInitiation)
, (Key
"ppSecurityGroup", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
pvtPPSecurityGroup)
]
instance FromJSON PoolVotingThresholds where
parseJSON :: Value -> Parser PoolVotingThresholds
parseJSON =
String
-> (Object -> Parser PoolVotingThresholds)
-> Value
-> Parser PoolVotingThresholds
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"PoolVotingThresholds" ((Object -> Parser PoolVotingThresholds)
-> Value -> Parser PoolVotingThresholds)
-> (Object -> Parser PoolVotingThresholds)
-> Value
-> Parser PoolVotingThresholds
forall a b. (a -> b) -> a -> b
$ \Object
o ->
UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds
PoolVotingThresholds
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"motionNoConfidence"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval -> UnitInterval -> PoolVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"committeeNormal"
Parser
(UnitInterval
-> UnitInterval -> UnitInterval -> PoolVotingThresholds)
-> Parser UnitInterval
-> Parser (UnitInterval -> UnitInterval -> PoolVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"committeeNoConfidence"
Parser (UnitInterval -> UnitInterval -> PoolVotingThresholds)
-> Parser UnitInterval
-> Parser (UnitInterval -> PoolVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"hardForkInitiation"
Parser (UnitInterval -> PoolVotingThresholds)
-> Parser UnitInterval -> Parser PoolVotingThresholds
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"ppSecurityGroup"
instance EncCBOR PoolVotingThresholds where
encCBOR :: PoolVotingThresholds -> Encoding
encCBOR PoolVotingThresholds {UnitInterval
pvtMotionNoConfidence :: PoolVotingThresholds -> UnitInterval
pvtCommitteeNormal :: PoolVotingThresholds -> UnitInterval
pvtCommitteeNoConfidence :: PoolVotingThresholds -> UnitInterval
pvtHardForkInitiation :: PoolVotingThresholds -> UnitInterval
pvtPPSecurityGroup :: PoolVotingThresholds -> UnitInterval
pvtMotionNoConfidence :: UnitInterval
pvtCommitteeNormal :: UnitInterval
pvtCommitteeNoConfidence :: UnitInterval
pvtHardForkInitiation :: UnitInterval
pvtPPSecurityGroup :: UnitInterval
..} =
Word -> Encoding
encodeListLen Word
5
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
pvtMotionNoConfidence
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
pvtCommitteeNormal
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
pvtCommitteeNoConfidence
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
pvtHardForkInitiation
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
pvtPPSecurityGroup
instance DecCBOR PoolVotingThresholds where
decCBOR :: forall s. Decoder s PoolVotingThresholds
decCBOR =
Text
-> (PoolVotingThresholds -> Key)
-> Decoder s PoolVotingThresholds
-> Decoder s PoolVotingThresholds
forall a s. Text -> (a -> Key) -> Decoder s a -> Decoder s a
decodeRecordNamed Text
"PoolVotingThresholds" (Key -> PoolVotingThresholds -> Key
forall a b. a -> b -> a
const Key
5) (Decoder s PoolVotingThresholds -> Decoder s PoolVotingThresholds)
-> Decoder s PoolVotingThresholds -> Decoder s PoolVotingThresholds
forall a b. (a -> b) -> a -> b
$ do
UnitInterval
pvtMotionNoConfidence <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
pvtCommitteeNormal <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
pvtCommitteeNoConfidence <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
pvtHardForkInitiation <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
pvtPPSecurityGroup <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
PoolVotingThresholds -> Decoder s PoolVotingThresholds
forall a. a -> Decoder s a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PoolVotingThresholds -> Decoder s PoolVotingThresholds)
-> PoolVotingThresholds -> Decoder s PoolVotingThresholds
forall a b. (a -> b) -> a -> b
$ PoolVotingThresholds {UnitInterval
pvtMotionNoConfidence :: UnitInterval
pvtCommitteeNormal :: UnitInterval
pvtCommitteeNoConfidence :: UnitInterval
pvtHardForkInitiation :: UnitInterval
pvtPPSecurityGroup :: UnitInterval
pvtMotionNoConfidence :: UnitInterval
pvtCommitteeNormal :: UnitInterval
pvtCommitteeNoConfidence :: UnitInterval
pvtHardForkInitiation :: UnitInterval
pvtPPSecurityGroup :: UnitInterval
..}
instance ToPlutusData PoolVotingThresholds where
toPlutusData :: PoolVotingThresholds -> Data
toPlutusData PoolVotingThresholds
x =
[Data] -> Data
P.List
[ UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (PoolVotingThresholds -> UnitInterval
pvtMotionNoConfidence PoolVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (PoolVotingThresholds -> UnitInterval
pvtCommitteeNormal PoolVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (PoolVotingThresholds -> UnitInterval
pvtCommitteeNoConfidence PoolVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (PoolVotingThresholds -> UnitInterval
pvtHardForkInitiation PoolVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (PoolVotingThresholds -> UnitInterval
pvtPPSecurityGroup PoolVotingThresholds
x)
]
fromPlutusData :: Data -> Maybe PoolVotingThresholds
fromPlutusData (P.List [Data
a, Data
b, Data
c, Data
d, Data
e]) =
UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds
PoolVotingThresholds
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
a
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval -> UnitInterval -> PoolVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
b
Maybe
(UnitInterval
-> UnitInterval -> UnitInterval -> PoolVotingThresholds)
-> Maybe UnitInterval
-> Maybe (UnitInterval -> UnitInterval -> PoolVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
c
Maybe (UnitInterval -> UnitInterval -> PoolVotingThresholds)
-> Maybe UnitInterval
-> Maybe (UnitInterval -> PoolVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
d
Maybe (UnitInterval -> PoolVotingThresholds)
-> Maybe UnitInterval -> Maybe PoolVotingThresholds
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
e
fromPlutusData Data
_ = Maybe PoolVotingThresholds
forall a. Maybe a
Nothing
data DRepVotingThresholds = DRepVotingThresholds
{ DRepVotingThresholds -> UnitInterval
dvtMotionNoConfidence :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtCommitteeNormal :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtCommitteeNoConfidence :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtUpdateToConstitution :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtHardForkInitiation :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtPPNetworkGroup :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtPPEconomicGroup :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtPPTechnicalGroup :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtPPGovGroup :: !UnitInterval
, DRepVotingThresholds -> UnitInterval
dvtTreasuryWithdrawal :: !UnitInterval
}
deriving (DRepVotingThresholds -> DRepVotingThresholds -> Bool
(DRepVotingThresholds -> DRepVotingThresholds -> Bool)
-> (DRepVotingThresholds -> DRepVotingThresholds -> Bool)
-> Eq DRepVotingThresholds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
== :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
$c/= :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
/= :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
Eq, Eq DRepVotingThresholds
Eq DRepVotingThresholds =>
(DRepVotingThresholds -> DRepVotingThresholds -> Ordering)
-> (DRepVotingThresholds -> DRepVotingThresholds -> Bool)
-> (DRepVotingThresholds -> DRepVotingThresholds -> Bool)
-> (DRepVotingThresholds -> DRepVotingThresholds -> Bool)
-> (DRepVotingThresholds -> DRepVotingThresholds -> Bool)
-> (DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds)
-> (DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds)
-> Ord DRepVotingThresholds
DRepVotingThresholds -> DRepVotingThresholds -> Bool
DRepVotingThresholds -> DRepVotingThresholds -> Ordering
DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: DRepVotingThresholds -> DRepVotingThresholds -> Ordering
compare :: DRepVotingThresholds -> DRepVotingThresholds -> Ordering
$c< :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
< :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
$c<= :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
<= :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
$c> :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
> :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
$c>= :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
>= :: DRepVotingThresholds -> DRepVotingThresholds -> Bool
$cmax :: DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds
max :: DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds
$cmin :: DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds
min :: DRepVotingThresholds
-> DRepVotingThresholds -> DRepVotingThresholds
Ord, Key -> DRepVotingThresholds -> ShowS
[DRepVotingThresholds] -> ShowS
DRepVotingThresholds -> String
(Key -> DRepVotingThresholds -> ShowS)
-> (DRepVotingThresholds -> String)
-> ([DRepVotingThresholds] -> ShowS)
-> Show DRepVotingThresholds
forall a.
(Key -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Key -> DRepVotingThresholds -> ShowS
showsPrec :: Key -> DRepVotingThresholds -> ShowS
$cshow :: DRepVotingThresholds -> String
show :: DRepVotingThresholds -> String
$cshowList :: [DRepVotingThresholds] -> ShowS
showList :: [DRepVotingThresholds] -> ShowS
Show, (forall x. DRepVotingThresholds -> Rep DRepVotingThresholds x)
-> (forall x. Rep DRepVotingThresholds x -> DRepVotingThresholds)
-> Generic DRepVotingThresholds
forall x. Rep DRepVotingThresholds x -> DRepVotingThresholds
forall x. DRepVotingThresholds -> Rep DRepVotingThresholds x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DRepVotingThresholds -> Rep DRepVotingThresholds x
from :: forall x. DRepVotingThresholds -> Rep DRepVotingThresholds x
$cto :: forall x. Rep DRepVotingThresholds x -> DRepVotingThresholds
to :: forall x. Rep DRepVotingThresholds x -> DRepVotingThresholds
Generic)
instance NoThunks DRepVotingThresholds
instance NFData DRepVotingThresholds where
rnf :: DRepVotingThresholds -> ()
rnf = DRepVotingThresholds -> ()
forall a. a -> ()
rwhnf
instance Default DRepVotingThresholds where
def :: DRepVotingThresholds
def = UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds
DRepVotingThresholds UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def UnitInterval
forall a. Default a => a
def
instance ToJSON DRepVotingThresholds where
toJSON :: DRepVotingThresholds -> Value
toJSON pvt :: DRepVotingThresholds
pvt@(DRepVotingThresholds UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_ UnitInterval
_) =
let DRepVotingThresholds {UnitInterval
dvtMotionNoConfidence :: DRepVotingThresholds -> UnitInterval
dvtCommitteeNormal :: DRepVotingThresholds -> UnitInterval
dvtCommitteeNoConfidence :: DRepVotingThresholds -> UnitInterval
dvtUpdateToConstitution :: DRepVotingThresholds -> UnitInterval
dvtHardForkInitiation :: DRepVotingThresholds -> UnitInterval
dvtPPNetworkGroup :: DRepVotingThresholds -> UnitInterval
dvtPPEconomicGroup :: DRepVotingThresholds -> UnitInterval
dvtPPTechnicalGroup :: DRepVotingThresholds -> UnitInterval
dvtPPGovGroup :: DRepVotingThresholds -> UnitInterval
dvtTreasuryWithdrawal :: DRepVotingThresholds -> UnitInterval
dvtMotionNoConfidence :: UnitInterval
dvtCommitteeNormal :: UnitInterval
dvtCommitteeNoConfidence :: UnitInterval
dvtUpdateToConstitution :: UnitInterval
dvtHardForkInitiation :: UnitInterval
dvtPPNetworkGroup :: UnitInterval
dvtPPEconomicGroup :: UnitInterval
dvtPPTechnicalGroup :: UnitInterval
dvtPPGovGroup :: UnitInterval
dvtTreasuryWithdrawal :: UnitInterval
..} = DRepVotingThresholds
pvt
in [Pair] -> Value
object
[ (Key
"motionNoConfidence", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtMotionNoConfidence)
, (Key
"committeeNormal", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtCommitteeNormal)
, (Key
"committeeNoConfidence", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtCommitteeNoConfidence)
, (Key
"updateToConstitution", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtUpdateToConstitution)
, (Key
"hardForkInitiation", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtHardForkInitiation)
, (Key
"ppNetworkGroup", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtPPNetworkGroup)
, (Key
"ppEconomicGroup", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtPPEconomicGroup)
, (Key
"ppTechnicalGroup", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtPPTechnicalGroup)
, (Key
"ppGovGroup", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtPPGovGroup)
, (Key
"treasuryWithdrawal", UnitInterval -> Value
forall a. ToJSON a => a -> Value
toJSON UnitInterval
dvtTreasuryWithdrawal)
]
instance FromJSON DRepVotingThresholds where
parseJSON :: Value -> Parser DRepVotingThresholds
parseJSON =
String
-> (Object -> Parser DRepVotingThresholds)
-> Value
-> Parser DRepVotingThresholds
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"DRepVotingThresholds" ((Object -> Parser DRepVotingThresholds)
-> Value -> Parser DRepVotingThresholds)
-> (Object -> Parser DRepVotingThresholds)
-> Value
-> Parser DRepVotingThresholds
forall a b. (a -> b) -> a -> b
$ \Object
o ->
UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds
DRepVotingThresholds
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"motionNoConfidence"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"committeeNormal"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"committeeNoConfidence"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"updateToConstitution"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"hardForkInitiation"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"ppNetworkGroup"
Parser
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser
(UnitInterval
-> UnitInterval -> UnitInterval -> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"ppEconomicGroup"
Parser
(UnitInterval
-> UnitInterval -> UnitInterval -> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser (UnitInterval -> UnitInterval -> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"ppTechnicalGroup"
Parser (UnitInterval -> UnitInterval -> DRepVotingThresholds)
-> Parser UnitInterval
-> Parser (UnitInterval -> DRepVotingThresholds)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"ppGovGroup"
Parser (UnitInterval -> DRepVotingThresholds)
-> Parser UnitInterval -> Parser DRepVotingThresholds
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UnitInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"treasuryWithdrawal"
instance ToPlutusData DRepVotingThresholds where
toPlutusData :: DRepVotingThresholds -> Data
toPlutusData DRepVotingThresholds
x =
[Data] -> Data
P.List
[ UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtMotionNoConfidence DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtCommitteeNormal DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtCommitteeNoConfidence DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtUpdateToConstitution DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtHardForkInitiation DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtPPNetworkGroup DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtPPEconomicGroup DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtPPTechnicalGroup DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtPPGovGroup DRepVotingThresholds
x)
, UnitInterval -> Data
forall x. ToPlutusData x => x -> Data
toPlutusData (DRepVotingThresholds -> UnitInterval
dvtTreasuryWithdrawal DRepVotingThresholds
x)
]
fromPlutusData :: Data -> Maybe DRepVotingThresholds
fromPlutusData (P.List [Data
a, Data
b, Data
c, Data
d, Data
e, Data
f, Data
g, Data
h, Data
i, Data
j]) =
UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds
DRepVotingThresholds
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
a
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
b
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
c
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
d
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
e
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
f
Maybe
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe
(UnitInterval
-> UnitInterval -> UnitInterval -> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
g
Maybe
(UnitInterval
-> UnitInterval -> UnitInterval -> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe (UnitInterval -> UnitInterval -> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
h
Maybe (UnitInterval -> UnitInterval -> DRepVotingThresholds)
-> Maybe UnitInterval
-> Maybe (UnitInterval -> DRepVotingThresholds)
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
i
Maybe (UnitInterval -> DRepVotingThresholds)
-> Maybe UnitInterval -> Maybe DRepVotingThresholds
forall a b. Maybe (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Data -> Maybe UnitInterval
forall x. ToPlutusData x => Data -> Maybe x
fromPlutusData Data
j
fromPlutusData Data
_ = Maybe DRepVotingThresholds
forall a. Maybe a
Nothing
dvtPPNetworkGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPNetworkGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPNetworkGroupL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtPPNetworkGroup (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtPPNetworkGroup = y})
dvtPPEconomicGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPEconomicGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPEconomicGroupL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtPPEconomicGroup (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtPPEconomicGroup = y})
dvtPPTechnicalGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPTechnicalGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPTechnicalGroupL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtPPTechnicalGroup (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtPPTechnicalGroup = y})
dvtPPGovGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPGovGroupL :: Lens' DRepVotingThresholds UnitInterval
dvtPPGovGroupL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtPPGovGroup (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtPPGovGroup = y})
dvtUpdateToConstitutionL :: Lens' DRepVotingThresholds UnitInterval
dvtUpdateToConstitutionL :: Lens' DRepVotingThresholds UnitInterval
dvtUpdateToConstitutionL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtUpdateToConstitution (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtUpdateToConstitution = y})
dvtCommitteeNoConfidenceL :: Lens' DRepVotingThresholds UnitInterval
dvtCommitteeNoConfidenceL :: Lens' DRepVotingThresholds UnitInterval
dvtCommitteeNoConfidenceL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtCommitteeNoConfidence (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtCommitteeNoConfidence = y})
dvtCommitteeNormalL :: Lens' DRepVotingThresholds UnitInterval
dvtCommitteeNormalL :: Lens' DRepVotingThresholds UnitInterval
dvtCommitteeNormalL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtCommitteeNormal (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtCommitteeNormal = y})
dvtMotionNoConfidenceL :: Lens' DRepVotingThresholds UnitInterval
dvtMotionNoConfidenceL :: Lens' DRepVotingThresholds UnitInterval
dvtMotionNoConfidenceL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtMotionNoConfidence (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtMotionNoConfidence = y})
dvtHardForkInitiationL :: Lens' DRepVotingThresholds UnitInterval
dvtHardForkInitiationL :: Lens' DRepVotingThresholds UnitInterval
dvtHardForkInitiationL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtHardForkInitiation (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtHardForkInitiation = y})
dvtTreasuryWithdrawalL :: Lens' DRepVotingThresholds UnitInterval
dvtTreasuryWithdrawalL :: Lens' DRepVotingThresholds UnitInterval
dvtTreasuryWithdrawalL = (DRepVotingThresholds -> UnitInterval)
-> (DRepVotingThresholds -> UnitInterval -> DRepVotingThresholds)
-> Lens' DRepVotingThresholds UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DRepVotingThresholds -> UnitInterval
dvtTreasuryWithdrawal (\DRepVotingThresholds
x UnitInterval
y -> DRepVotingThresholds
x {dvtTreasuryWithdrawal = y})
instance EncCBOR DRepVotingThresholds where
encCBOR :: DRepVotingThresholds -> Encoding
encCBOR DRepVotingThresholds {UnitInterval
dvtMotionNoConfidence :: DRepVotingThresholds -> UnitInterval
dvtCommitteeNormal :: DRepVotingThresholds -> UnitInterval
dvtCommitteeNoConfidence :: DRepVotingThresholds -> UnitInterval
dvtUpdateToConstitution :: DRepVotingThresholds -> UnitInterval
dvtHardForkInitiation :: DRepVotingThresholds -> UnitInterval
dvtPPNetworkGroup :: DRepVotingThresholds -> UnitInterval
dvtPPEconomicGroup :: DRepVotingThresholds -> UnitInterval
dvtPPTechnicalGroup :: DRepVotingThresholds -> UnitInterval
dvtPPGovGroup :: DRepVotingThresholds -> UnitInterval
dvtTreasuryWithdrawal :: DRepVotingThresholds -> UnitInterval
dvtMotionNoConfidence :: UnitInterval
dvtCommitteeNormal :: UnitInterval
dvtCommitteeNoConfidence :: UnitInterval
dvtUpdateToConstitution :: UnitInterval
dvtHardForkInitiation :: UnitInterval
dvtPPNetworkGroup :: UnitInterval
dvtPPEconomicGroup :: UnitInterval
dvtPPTechnicalGroup :: UnitInterval
dvtPPGovGroup :: UnitInterval
dvtTreasuryWithdrawal :: UnitInterval
..} =
Word -> Encoding
encodeListLen Word
10
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtMotionNoConfidence
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtCommitteeNormal
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtCommitteeNoConfidence
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtUpdateToConstitution
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtHardForkInitiation
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtPPNetworkGroup
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtPPEconomicGroup
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtPPTechnicalGroup
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtPPGovGroup
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> UnitInterval -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR UnitInterval
dvtTreasuryWithdrawal
instance DecCBOR DRepVotingThresholds where
decCBOR :: forall s. Decoder s DRepVotingThresholds
decCBOR =
Text
-> (DRepVotingThresholds -> Key)
-> Decoder s DRepVotingThresholds
-> Decoder s DRepVotingThresholds
forall a s. Text -> (a -> Key) -> Decoder s a -> Decoder s a
decodeRecordNamed Text
"DRepVotingThresholds" (Key -> DRepVotingThresholds -> Key
forall a b. a -> b -> a
const Key
10) (Decoder s DRepVotingThresholds -> Decoder s DRepVotingThresholds)
-> Decoder s DRepVotingThresholds -> Decoder s DRepVotingThresholds
forall a b. (a -> b) -> a -> b
$ do
UnitInterval
dvtMotionNoConfidence <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtCommitteeNormal <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtCommitteeNoConfidence <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtUpdateToConstitution <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtHardForkInitiation <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtPPNetworkGroup <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtPPEconomicGroup <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtPPTechnicalGroup <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtPPGovGroup <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
UnitInterval
dvtTreasuryWithdrawal <- Decoder s UnitInterval
forall s. Decoder s UnitInterval
forall a s. DecCBOR a => Decoder s a
decCBOR
DRepVotingThresholds -> Decoder s DRepVotingThresholds
forall a. a -> Decoder s a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DRepVotingThresholds -> Decoder s DRepVotingThresholds)
-> DRepVotingThresholds -> Decoder s DRepVotingThresholds
forall a b. (a -> b) -> a -> b
$ DRepVotingThresholds {UnitInterval
dvtMotionNoConfidence :: UnitInterval
dvtCommitteeNormal :: UnitInterval
dvtCommitteeNoConfidence :: UnitInterval
dvtUpdateToConstitution :: UnitInterval
dvtHardForkInitiation :: UnitInterval
dvtPPNetworkGroup :: UnitInterval
dvtPPEconomicGroup :: UnitInterval
dvtPPTechnicalGroup :: UnitInterval
dvtPPGovGroup :: UnitInterval
dvtTreasuryWithdrawal :: UnitInterval
dvtMotionNoConfidence :: UnitInterval
dvtCommitteeNormal :: UnitInterval
dvtCommitteeNoConfidence :: UnitInterval
dvtUpdateToConstitution :: UnitInterval
dvtHardForkInitiation :: UnitInterval
dvtPPNetworkGroup :: UnitInterval
dvtPPEconomicGroup :: UnitInterval
dvtPPTechnicalGroup :: UnitInterval
dvtPPGovGroup :: UnitInterval
dvtTreasuryWithdrawal :: UnitInterval
..}
data PPGroups
= PPGroups DRepGroup StakePoolGroup
deriving (PPGroups -> PPGroups -> Bool
(PPGroups -> PPGroups -> Bool)
-> (PPGroups -> PPGroups -> Bool) -> Eq PPGroups
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PPGroups -> PPGroups -> Bool
== :: PPGroups -> PPGroups -> Bool
$c/= :: PPGroups -> PPGroups -> Bool
/= :: PPGroups -> PPGroups -> Bool
Eq, Eq PPGroups
Eq PPGroups =>
(PPGroups -> PPGroups -> Ordering)
-> (PPGroups -> PPGroups -> Bool)
-> (PPGroups -> PPGroups -> Bool)
-> (PPGroups -> PPGroups -> Bool)
-> (PPGroups -> PPGroups -> Bool)
-> (PPGroups -> PPGroups -> PPGroups)
-> (PPGroups -> PPGroups -> PPGroups)
-> Ord PPGroups
PPGroups -> PPGroups -> Bool
PPGroups -> PPGroups -> Ordering
PPGroups -> PPGroups -> PPGroups
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PPGroups -> PPGroups -> Ordering
compare :: PPGroups -> PPGroups -> Ordering
$c< :: PPGroups -> PPGroups -> Bool
< :: PPGroups -> PPGroups -> Bool
$c<= :: PPGroups -> PPGroups -> Bool
<= :: PPGroups -> PPGroups -> Bool
$c> :: PPGroups -> PPGroups -> Bool
> :: PPGroups -> PPGroups -> Bool
$c>= :: PPGroups -> PPGroups -> Bool
>= :: PPGroups -> PPGroups -> Bool
$cmax :: PPGroups -> PPGroups -> PPGroups
max :: PPGroups -> PPGroups -> PPGroups
$cmin :: PPGroups -> PPGroups -> PPGroups
min :: PPGroups -> PPGroups -> PPGroups
Ord, Key -> PPGroups -> ShowS
[PPGroups] -> ShowS
PPGroups -> String
(Key -> PPGroups -> ShowS)
-> (PPGroups -> String) -> ([PPGroups] -> ShowS) -> Show PPGroups
forall a.
(Key -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Key -> PPGroups -> ShowS
showsPrec :: Key -> PPGroups -> ShowS
$cshow :: PPGroups -> String
show :: PPGroups -> String
$cshowList :: [PPGroups] -> ShowS
showList :: [PPGroups] -> ShowS
Show)
data DRepGroup
= NetworkGroup
| EconomicGroup
| TechnicalGroup
| GovGroup
deriving (DRepGroup -> DRepGroup -> Bool
(DRepGroup -> DRepGroup -> Bool)
-> (DRepGroup -> DRepGroup -> Bool) -> Eq DRepGroup
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DRepGroup -> DRepGroup -> Bool
== :: DRepGroup -> DRepGroup -> Bool
$c/= :: DRepGroup -> DRepGroup -> Bool
/= :: DRepGroup -> DRepGroup -> Bool
Eq, Eq DRepGroup
Eq DRepGroup =>
(DRepGroup -> DRepGroup -> Ordering)
-> (DRepGroup -> DRepGroup -> Bool)
-> (DRepGroup -> DRepGroup -> Bool)
-> (DRepGroup -> DRepGroup -> Bool)
-> (DRepGroup -> DRepGroup -> Bool)
-> (DRepGroup -> DRepGroup -> DRepGroup)
-> (DRepGroup -> DRepGroup -> DRepGroup)
-> Ord DRepGroup
DRepGroup -> DRepGroup -> Bool
DRepGroup -> DRepGroup -> Ordering
DRepGroup -> DRepGroup -> DRepGroup
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: DRepGroup -> DRepGroup -> Ordering
compare :: DRepGroup -> DRepGroup -> Ordering
$c< :: DRepGroup -> DRepGroup -> Bool
< :: DRepGroup -> DRepGroup -> Bool
$c<= :: DRepGroup -> DRepGroup -> Bool
<= :: DRepGroup -> DRepGroup -> Bool
$c> :: DRepGroup -> DRepGroup -> Bool
> :: DRepGroup -> DRepGroup -> Bool
$c>= :: DRepGroup -> DRepGroup -> Bool
>= :: DRepGroup -> DRepGroup -> Bool
$cmax :: DRepGroup -> DRepGroup -> DRepGroup
max :: DRepGroup -> DRepGroup -> DRepGroup
$cmin :: DRepGroup -> DRepGroup -> DRepGroup
min :: DRepGroup -> DRepGroup -> DRepGroup
Ord, Key -> DRepGroup -> ShowS
[DRepGroup] -> ShowS
DRepGroup -> String
(Key -> DRepGroup -> ShowS)
-> (DRepGroup -> String)
-> ([DRepGroup] -> ShowS)
-> Show DRepGroup
forall a.
(Key -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Key -> DRepGroup -> ShowS
showsPrec :: Key -> DRepGroup -> ShowS
$cshow :: DRepGroup -> String
show :: DRepGroup -> String
$cshowList :: [DRepGroup] -> ShowS
showList :: [DRepGroup] -> ShowS
Show)
data StakePoolGroup
= SecurityGroup
| NoStakePoolGroup
deriving (StakePoolGroup -> StakePoolGroup -> Bool
(StakePoolGroup -> StakePoolGroup -> Bool)
-> (StakePoolGroup -> StakePoolGroup -> Bool) -> Eq StakePoolGroup
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: StakePoolGroup -> StakePoolGroup -> Bool
== :: StakePoolGroup -> StakePoolGroup -> Bool
$c/= :: StakePoolGroup -> StakePoolGroup -> Bool
/= :: StakePoolGroup -> StakePoolGroup -> Bool
Eq, Eq StakePoolGroup
Eq StakePoolGroup =>
(StakePoolGroup -> StakePoolGroup -> Ordering)
-> (StakePoolGroup -> StakePoolGroup -> Bool)
-> (StakePoolGroup -> StakePoolGroup -> Bool)
-> (StakePoolGroup -> StakePoolGroup -> Bool)
-> (StakePoolGroup -> StakePoolGroup -> Bool)
-> (StakePoolGroup -> StakePoolGroup -> StakePoolGroup)
-> (StakePoolGroup -> StakePoolGroup -> StakePoolGroup)
-> Ord StakePoolGroup
StakePoolGroup -> StakePoolGroup -> Bool
StakePoolGroup -> StakePoolGroup -> Ordering
StakePoolGroup -> StakePoolGroup -> StakePoolGroup
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: StakePoolGroup -> StakePoolGroup -> Ordering
compare :: StakePoolGroup -> StakePoolGroup -> Ordering
$c< :: StakePoolGroup -> StakePoolGroup -> Bool
< :: StakePoolGroup -> StakePoolGroup -> Bool
$c<= :: StakePoolGroup -> StakePoolGroup -> Bool
<= :: StakePoolGroup -> StakePoolGroup -> Bool
$c> :: StakePoolGroup -> StakePoolGroup -> Bool
> :: StakePoolGroup -> StakePoolGroup -> Bool
$c>= :: StakePoolGroup -> StakePoolGroup -> Bool
>= :: StakePoolGroup -> StakePoolGroup -> Bool
$cmax :: StakePoolGroup -> StakePoolGroup -> StakePoolGroup
max :: StakePoolGroup -> StakePoolGroup -> StakePoolGroup
$cmin :: StakePoolGroup -> StakePoolGroup -> StakePoolGroup
min :: StakePoolGroup -> StakePoolGroup -> StakePoolGroup
Ord, Key -> StakePoolGroup -> ShowS
[StakePoolGroup] -> ShowS
StakePoolGroup -> String
(Key -> StakePoolGroup -> ShowS)
-> (StakePoolGroup -> String)
-> ([StakePoolGroup] -> ShowS)
-> Show StakePoolGroup
forall a.
(Key -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Key -> StakePoolGroup -> ShowS
showsPrec :: Key -> StakePoolGroup -> ShowS
$cshow :: StakePoolGroup -> String
show :: StakePoolGroup -> String
$cshowList :: [StakePoolGroup] -> ShowS
showList :: [StakePoolGroup] -> ShowS
Show)
class ToDRepGroup (t :: DRepGroup) where
toDRepGroup :: DRepGroup
instance ToDRepGroup 'NetworkGroup where
toDRepGroup :: DRepGroup
toDRepGroup = DRepGroup
NetworkGroup
instance ToDRepGroup 'EconomicGroup where
toDRepGroup :: DRepGroup
toDRepGroup = DRepGroup
EconomicGroup
instance ToDRepGroup 'TechnicalGroup where
toDRepGroup :: DRepGroup
toDRepGroup = DRepGroup
TechnicalGroup
instance ToDRepGroup 'GovGroup where
toDRepGroup :: DRepGroup
toDRepGroup = DRepGroup
GovGroup
class ToStakePoolGroup (t :: StakePoolGroup) where
toStakePoolGroup :: StakePoolGroup
instance ToStakePoolGroup 'SecurityGroup where
toStakePoolGroup :: StakePoolGroup
toStakePoolGroup = StakePoolGroup
SecurityGroup
instance ToStakePoolGroup 'NoStakePoolGroup where
toStakePoolGroup :: StakePoolGroup
toStakePoolGroup = StakePoolGroup
NoStakePoolGroup
newtype THKD (t :: PPGroups) f a = THKD {forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD :: HKD f a}
instance Eq (HKD f a) => Eq (THKD t f a) where
THKD HKD f a
x1 == :: THKD t f a -> THKD t f a -> Bool
== THKD HKD f a
x2 = HKD f a
x1 HKD f a -> HKD f a -> Bool
forall a. Eq a => a -> a -> Bool
== HKD f a
x2
instance Ord (HKD f a) => Ord (THKD t f a) where
compare :: THKD t f a -> THKD t f a -> Ordering
compare (THKD HKD f a
x1) (THKD HKD f a
x2) = HKD f a -> HKD f a -> Ordering
forall a. Ord a => a -> a -> Ordering
compare HKD f a
x1 HKD f a
x2
instance Show (HKD f a) => Show (THKD t f a) where
show :: THKD t f a -> String
show = HKD f a -> String
forall a. Show a => a -> String
show (HKD f a -> String)
-> (THKD t f a -> HKD f a) -> THKD t f a -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t f a -> HKD f a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
instance Semigroup (HKD f a) => Semigroup (THKD t f a) where
THKD t f a
a <> :: THKD t f a -> THKD t f a -> THKD t f a
<> THKD t f a
b = HKD f a -> THKD t f a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (HKD f a -> THKD t f a) -> HKD f a -> THKD t f a
forall a b. (a -> b) -> a -> b
$ THKD t f a -> HKD f a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD t f a
a HKD f a -> HKD f a -> HKD f a
forall a. Semigroup a => a -> a -> a
<> THKD t f a -> HKD f a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD t f a
b
instance Monoid (HKD f a) => Monoid (THKD t f a) where
mempty :: THKD t f a
mempty = HKD f a -> THKD t f a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f a
forall a. Monoid a => a
mempty
instance NoThunks (HKD f a) => NoThunks (THKD t f a) where
noThunks :: Context -> THKD t f a -> IO (Maybe ThunkInfo)
noThunks Context
ctx = Context -> HKD f a -> IO (Maybe ThunkInfo)
forall a. NoThunks a => Context -> a -> IO (Maybe ThunkInfo)
noThunks Context
ctx (HKD f a -> IO (Maybe ThunkInfo))
-> (THKD t f a -> HKD f a) -> THKD t f a -> IO (Maybe ThunkInfo)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t f a -> HKD f a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
wNoThunks :: Context -> THKD t f a -> IO (Maybe ThunkInfo)
wNoThunks Context
ctx = Context -> HKD f a -> IO (Maybe ThunkInfo)
forall a. NoThunks a => Context -> a -> IO (Maybe ThunkInfo)
wNoThunks Context
ctx (HKD f a -> IO (Maybe ThunkInfo))
-> (THKD t f a -> HKD f a) -> THKD t f a -> IO (Maybe ThunkInfo)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t f a -> HKD f a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
showTypeOf :: Proxy (THKD t f a) -> String
showTypeOf Proxy (THKD t f a)
_ = Proxy (HKD f a) -> String
forall a. NoThunks a => Proxy a -> String
showTypeOf (forall t. Proxy t
forall {k} (t :: k). Proxy t
Proxy @(HKD f a))
instance NFData (HKD f a) => NFData (THKD t f a) where
rnf :: THKD t f a -> ()
rnf = HKD f a -> ()
forall a. NFData a => a -> ()
rnf (HKD f a -> ()) -> (THKD t f a -> HKD f a) -> THKD t f a -> ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t f a -> HKD f a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
instance (Typeable t, EncCBOR a) => EncCBOR (THKD t Identity a) where
encCBOR :: THKD t Identity a -> Encoding
encCBOR = a -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR (a -> Encoding)
-> (THKD t Identity a -> a) -> THKD t Identity a -> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t Identity a -> a
THKD t Identity a -> HKD Identity a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
instance (Typeable t, DecCBOR a) => DecCBOR (THKD t Identity a) where
decCBOR :: forall s. Decoder s (THKD t Identity a)
decCBOR = a -> THKD t Identity a
HKD Identity a -> THKD t Identity a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (a -> THKD t Identity a)
-> Decoder s a -> Decoder s (THKD t Identity a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Decoder s a
forall s. Decoder s a
forall a s. DecCBOR a => Decoder s a
decCBOR
instance (Typeable t, EncCBOR a) => EncCBOR (THKD t StrictMaybe a) where
encCBOR :: THKD t StrictMaybe a -> Encoding
encCBOR = StrictMaybe a -> Encoding
forall a. EncCBOR a => a -> Encoding
encCBOR (StrictMaybe a -> Encoding)
-> (THKD t StrictMaybe a -> StrictMaybe a)
-> THKD t StrictMaybe a
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t StrictMaybe a -> StrictMaybe a
THKD t StrictMaybe a -> HKD StrictMaybe a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
instance (Typeable t, DecCBOR a) => DecCBOR (THKD t StrictMaybe a) where
decCBOR :: forall s. Decoder s (THKD t StrictMaybe a)
decCBOR = StrictMaybe a -> THKD t StrictMaybe a
HKD StrictMaybe a -> THKD t StrictMaybe a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (StrictMaybe a -> THKD t StrictMaybe a)
-> Decoder s (StrictMaybe a) -> Decoder s (THKD t StrictMaybe a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Decoder s (StrictMaybe a)
forall s. Decoder s (StrictMaybe a)
forall a s. DecCBOR a => Decoder s a
decCBOR
instance (Typeable t, ToJSON a) => ToJSON (THKD t Identity a) where
toJSON :: THKD t Identity a -> Value
toJSON = a -> Value
forall a. ToJSON a => a -> Value
toJSON (a -> Value)
-> (THKD t Identity a -> a) -> THKD t Identity a -> Value
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t Identity a -> a
THKD t Identity a -> HKD Identity a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
instance (Typeable t, FromJSON a) => FromJSON (THKD t Identity a) where
parseJSON :: Value -> Parser (THKD t Identity a)
parseJSON = (a -> THKD t Identity a) -> Parser a -> Parser (THKD t Identity a)
forall a b. (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap a -> THKD t Identity a
HKD Identity a -> THKD t Identity a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Parser a -> Parser (THKD t Identity a))
-> (Value -> Parser a) -> Value -> Parser (THKD t Identity a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Value -> Parser a
forall a. FromJSON a => Value -> Parser a
parseJSON
instance (Typeable t, ToJSON a) => ToJSON (THKD t StrictMaybe a) where
toJSON :: THKD t StrictMaybe a -> Value
toJSON = StrictMaybe a -> Value
forall a. ToJSON a => a -> Value
toJSON (StrictMaybe a -> Value)
-> (THKD t StrictMaybe a -> StrictMaybe a)
-> THKD t StrictMaybe a
-> Value
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD t StrictMaybe a -> StrictMaybe a
THKD t StrictMaybe a -> HKD StrictMaybe a
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD
instance (Typeable t, FromJSON a) => FromJSON (THKD t StrictMaybe a) where
parseJSON :: Value -> Parser (THKD t StrictMaybe a)
parseJSON = (StrictMaybe a -> THKD t StrictMaybe a)
-> Parser (StrictMaybe a) -> Parser (THKD t StrictMaybe a)
forall a b. (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap StrictMaybe a -> THKD t StrictMaybe a
HKD StrictMaybe a -> THKD t StrictMaybe a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Parser (StrictMaybe a) -> Parser (THKD t StrictMaybe a))
-> (Value -> Parser (StrictMaybe a))
-> Value
-> Parser (THKD t StrictMaybe a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Value -> Parser (StrictMaybe a)
forall a. FromJSON a => Value -> Parser a
parseJSON
ppGroup ::
forall t s a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a ->
Set PPGroups
ppGroup :: forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup = \case
THKD StrictMaybe a
HKD StrictMaybe a
SNothing -> Set PPGroups
forall a. Set a
Set.empty
THKD SJust {} -> PPGroups -> Set PPGroups
forall a. a -> Set a
Set.singleton (PPGroups -> Set PPGroups) -> PPGroups -> Set PPGroups
forall a b. (a -> b) -> a -> b
$ DRepGroup -> StakePoolGroup -> PPGroups
PPGroups (forall (t :: DRepGroup). ToDRepGroup t => DRepGroup
toDRepGroup @t) (forall (t :: StakePoolGroup). ToStakePoolGroup t => StakePoolGroup
toStakePoolGroup @s)
data ConwayPParams f era = ConwayPParams
{ forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA :: !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB :: !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0 :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
, forall (f :: * -> *) era.
ConwayPParams f era -> HKDNoUpdate f ProtVer
cppProtocolVersion :: !(HKDNoUpdate f ProtVer)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte :: !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits :: !(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs :: !(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16)
,
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit :: !(THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepDeposit :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
, forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte ::
!(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval)
}
deriving ((forall x. ConwayPParams f era -> Rep (ConwayPParams f era) x)
-> (forall x. Rep (ConwayPParams f era) x -> ConwayPParams f era)
-> Generic (ConwayPParams f era)
forall x. Rep (ConwayPParams f era) x -> ConwayPParams f era
forall x. ConwayPParams f era -> Rep (ConwayPParams f era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) era x.
Rep (ConwayPParams f era) x -> ConwayPParams f era
forall (f :: * -> *) era x.
ConwayPParams f era -> Rep (ConwayPParams f era) x
$cfrom :: forall (f :: * -> *) era x.
ConwayPParams f era -> Rep (ConwayPParams f era) x
from :: forall x. ConwayPParams f era -> Rep (ConwayPParams f era) x
$cto :: forall (f :: * -> *) era x.
Rep (ConwayPParams f era) x -> ConwayPParams f era
to :: forall x. Rep (ConwayPParams f era) x -> ConwayPParams f era
Generic)
deriving instance Eq (ConwayPParams Identity era)
deriving instance Ord (ConwayPParams Identity era)
deriving instance Show (ConwayPParams Identity era)
instance NoThunks (ConwayPParams Identity era)
instance NFData (ConwayPParams Identity era)
deriving instance Eq (ConwayPParams StrictMaybe era)
deriving instance Ord (ConwayPParams StrictMaybe era)
deriving instance Show (ConwayPParams StrictMaybe era)
instance NoThunks (ConwayPParams StrictMaybe era)
instance NFData (ConwayPParams StrictMaybe era)
data UpgradeConwayPParams f = UpgradeConwayPParams
{ forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f PoolVotingThresholds
ucppPoolVotingThresholds :: !(HKD f PoolVotingThresholds)
, forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f DRepVotingThresholds
ucppDRepVotingThresholds :: !(HKD f DRepVotingThresholds)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Word16
ucppCommitteeMinSize :: !(HKD f Word16)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppCommitteeMaxTermLength :: !(HKD f EpochInterval)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionLifetime :: !(HKD f EpochInterval)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppGovActionDeposit :: !(HKD f Coin)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepDeposit :: !(HKD f Coin)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppDRepActivity :: !(HKD f EpochInterval)
, forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f NonNegativeInterval
ucppMinFeeRefScriptCostPerByte :: !(HKD f NonNegativeInterval)
, forall (f :: * -> *). UpgradeConwayPParams f -> HKD f CostModel
ucppPlutusV3CostModel :: !(HKD f CostModel)
}
deriving ((forall x.
UpgradeConwayPParams f -> Rep (UpgradeConwayPParams f) x)
-> (forall x.
Rep (UpgradeConwayPParams f) x -> UpgradeConwayPParams f)
-> Generic (UpgradeConwayPParams f)
forall x. Rep (UpgradeConwayPParams f) x -> UpgradeConwayPParams f
forall x. UpgradeConwayPParams f -> Rep (UpgradeConwayPParams f) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) x.
Rep (UpgradeConwayPParams f) x -> UpgradeConwayPParams f
forall (f :: * -> *) x.
UpgradeConwayPParams f -> Rep (UpgradeConwayPParams f) x
$cfrom :: forall (f :: * -> *) x.
UpgradeConwayPParams f -> Rep (UpgradeConwayPParams f) x
from :: forall x. UpgradeConwayPParams f -> Rep (UpgradeConwayPParams f) x
$cto :: forall (f :: * -> *) x.
Rep (UpgradeConwayPParams f) x -> UpgradeConwayPParams f
to :: forall x. Rep (UpgradeConwayPParams f) x -> UpgradeConwayPParams f
Generic)
deriving instance Eq (UpgradeConwayPParams Identity)
deriving instance Ord (UpgradeConwayPParams Identity)
deriving instance Show (UpgradeConwayPParams Identity)
instance NoThunks (UpgradeConwayPParams Identity)
instance NFData (UpgradeConwayPParams Identity)
deriving instance Eq (UpgradeConwayPParams StrictMaybe)
deriving instance Ord (UpgradeConwayPParams StrictMaybe)
deriving instance Show (UpgradeConwayPParams StrictMaybe)
instance NoThunks (UpgradeConwayPParams StrictMaybe)
instance NFData (UpgradeConwayPParams StrictMaybe)
instance Default (UpgradeConwayPParams StrictMaybe) where
def :: UpgradeConwayPParams StrictMaybe
def =
UpgradeConwayPParams
{ ucppPoolVotingThresholds :: HKD StrictMaybe PoolVotingThresholds
ucppPoolVotingThresholds = StrictMaybe PoolVotingThresholds
HKD StrictMaybe PoolVotingThresholds
forall a. StrictMaybe a
SNothing
, ucppDRepVotingThresholds :: HKD StrictMaybe DRepVotingThresholds
ucppDRepVotingThresholds = StrictMaybe DRepVotingThresholds
HKD StrictMaybe DRepVotingThresholds
forall a. StrictMaybe a
SNothing
, ucppCommitteeMinSize :: HKD StrictMaybe Word16
ucppCommitteeMinSize = StrictMaybe Word16
HKD StrictMaybe Word16
forall a. StrictMaybe a
SNothing
, ucppCommitteeMaxTermLength :: HKD StrictMaybe EpochInterval
ucppCommitteeMaxTermLength = StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, ucppGovActionLifetime :: HKD StrictMaybe EpochInterval
ucppGovActionLifetime = StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, ucppGovActionDeposit :: HKD StrictMaybe Coin
ucppGovActionDeposit = StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, ucppDRepDeposit :: HKD StrictMaybe Coin
ucppDRepDeposit = StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, ucppDRepActivity :: HKD StrictMaybe EpochInterval
ucppDRepActivity = StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, ucppMinFeeRefScriptCostPerByte :: HKD StrictMaybe NonNegativeInterval
ucppMinFeeRefScriptCostPerByte = StrictMaybe NonNegativeInterval
HKD StrictMaybe NonNegativeInterval
forall a. StrictMaybe a
SNothing
, ucppPlutusV3CostModel :: HKD StrictMaybe CostModel
ucppPlutusV3CostModel = StrictMaybe CostModel
HKD StrictMaybe CostModel
forall a. StrictMaybe a
SNothing
}
instance EncCBOR (UpgradeConwayPParams Identity) where
encCBOR :: UpgradeConwayPParams Identity -> Encoding
encCBOR UpgradeConwayPParams {HKD Identity Word16
HKD Identity CostModel
HKD Identity EpochInterval
HKD Identity NonNegativeInterval
HKD Identity Coin
HKD Identity DRepVotingThresholds
HKD Identity PoolVotingThresholds
ucppPoolVotingThresholds :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f PoolVotingThresholds
ucppDRepVotingThresholds :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f DRepVotingThresholds
ucppCommitteeMinSize :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Word16
ucppCommitteeMaxTermLength :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionLifetime :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionDeposit :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepDeposit :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepActivity :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppMinFeeRefScriptCostPerByte :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f NonNegativeInterval
ucppPlutusV3CostModel :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f CostModel
ucppPoolVotingThresholds :: HKD Identity PoolVotingThresholds
ucppDRepVotingThresholds :: HKD Identity DRepVotingThresholds
ucppCommitteeMinSize :: HKD Identity Word16
ucppCommitteeMaxTermLength :: HKD Identity EpochInterval
ucppGovActionLifetime :: HKD Identity EpochInterval
ucppGovActionDeposit :: HKD Identity Coin
ucppDRepDeposit :: HKD Identity Coin
ucppDRepActivity :: HKD Identity EpochInterval
ucppMinFeeRefScriptCostPerByte :: HKD Identity NonNegativeInterval
ucppPlutusV3CostModel :: HKD Identity CostModel
..} =
Encode ('Closed 'Dense) (UpgradeConwayPParams Identity) -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode ('Closed 'Dense) (UpgradeConwayPParams Identity)
-> Encoding)
-> Encode ('Closed 'Dense) (UpgradeConwayPParams Identity)
-> Encoding
forall a b. (a -> b) -> a -> b
$
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode
('Closed 'Dense)
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall t. t -> Encode ('Closed 'Dense) t
Rec (forall (f :: * -> *).
HKD f PoolVotingThresholds
-> HKD f DRepVotingThresholds
-> HKD f Word16
-> HKD f EpochInterval
-> HKD f EpochInterval
-> HKD f Coin
-> HKD f Coin
-> HKD f EpochInterval
-> HKD f NonNegativeInterval
-> HKD f CostModel
-> UpgradeConwayPParams f
UpgradeConwayPParams @Identity)
Encode
('Closed 'Dense)
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) PoolVotingThresholds
-> Encode
('Closed 'Dense)
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> PoolVotingThresholds
-> Encode ('Closed 'Dense) PoolVotingThresholds
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To HKD Identity PoolVotingThresholds
PoolVotingThresholds
ucppPoolVotingThresholds
Encode
('Closed 'Dense)
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) DRepVotingThresholds
-> Encode
('Closed 'Dense)
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> DRepVotingThresholds
-> Encode ('Closed 'Dense) DRepVotingThresholds
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To HKD Identity DRepVotingThresholds
DRepVotingThresholds
ucppDRepVotingThresholds
Encode
('Closed 'Dense)
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) Word16
-> Encode
('Closed 'Dense)
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> Word16 -> Encode ('Closed 'Dense) Word16
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To Word16
HKD Identity Word16
ucppCommitteeMinSize
Encode
('Closed 'Dense)
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) EpochInterval
-> Encode
('Closed 'Dense)
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> EpochInterval -> Encode ('Closed 'Dense) EpochInterval
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To EpochInterval
HKD Identity EpochInterval
ucppCommitteeMaxTermLength
Encode
('Closed 'Dense)
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) EpochInterval
-> Encode
('Closed 'Dense)
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> EpochInterval -> Encode ('Closed 'Dense) EpochInterval
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To EpochInterval
HKD Identity EpochInterval
ucppGovActionLifetime
Encode
('Closed 'Dense)
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) Coin
-> Encode
('Closed 'Dense)
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> Coin -> Encode ('Closed 'Dense) Coin
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To HKD Identity Coin
Coin
ucppGovActionDeposit
Encode
('Closed 'Dense)
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) Coin
-> Encode
('Closed 'Dense)
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> Coin -> Encode ('Closed 'Dense) Coin
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To HKD Identity Coin
Coin
ucppDRepDeposit
Encode
('Closed 'Dense)
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) EpochInterval
-> Encode
('Closed 'Dense)
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> EpochInterval -> Encode ('Closed 'Dense) EpochInterval
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To EpochInterval
HKD Identity EpochInterval
ucppDRepActivity
Encode
('Closed 'Dense)
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) NonNegativeInterval
-> Encode
('Closed 'Dense) (CostModel -> UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> NonNegativeInterval -> Encode ('Closed 'Dense) NonNegativeInterval
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To HKD Identity NonNegativeInterval
NonNegativeInterval
ucppMinFeeRefScriptCostPerByte
Encode
('Closed 'Dense) (CostModel -> UpgradeConwayPParams Identity)
-> Encode ('Closed 'Dense) CostModel
-> Encode ('Closed 'Dense) (UpgradeConwayPParams Identity)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> (CostModel -> Encoding)
-> CostModel -> Encode ('Closed 'Dense) CostModel
forall t. (t -> Encoding) -> t -> Encode ('Closed 'Dense) t
E CostModel -> Encoding
encodeCostModel CostModel
HKD Identity CostModel
ucppPlutusV3CostModel
instance DecCBOR (UpgradeConwayPParams Identity) where
decCBOR :: forall s. Decoder s (UpgradeConwayPParams Identity)
decCBOR =
Decode ('Closed 'Dense) (UpgradeConwayPParams Identity)
-> Decoder s (UpgradeConwayPParams Identity)
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode ('Closed 'Dense) (UpgradeConwayPParams Identity)
-> Decoder s (UpgradeConwayPParams Identity))
-> Decode ('Closed 'Dense) (UpgradeConwayPParams Identity)
-> Decoder s (UpgradeConwayPParams Identity)
forall a b. (a -> b) -> a -> b
$
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode
('Closed 'Dense)
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall t. t -> Decode ('Closed 'Dense) t
RecD HKD Identity PoolVotingThresholds
-> HKD Identity DRepVotingThresholds
-> HKD Identity Word16
-> HKD Identity EpochInterval
-> HKD Identity EpochInterval
-> HKD Identity Coin
-> HKD Identity Coin
-> HKD Identity EpochInterval
-> HKD Identity NonNegativeInterval
-> HKD Identity CostModel
-> UpgradeConwayPParams Identity
PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity
forall (f :: * -> *).
HKD f PoolVotingThresholds
-> HKD f DRepVotingThresholds
-> HKD f Word16
-> HKD f EpochInterval
-> HKD f EpochInterval
-> HKD f Coin
-> HKD f Coin
-> HKD f EpochInterval
-> HKD f NonNegativeInterval
-> HKD f CostModel
-> UpgradeConwayPParams f
UpgradeConwayPParams
Decode
('Closed 'Dense)
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) PoolVotingThresholds
-> Decode
('Closed 'Dense)
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) PoolVotingThresholds
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) DRepVotingThresholds
-> Decode
('Closed 'Dense)
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) DRepVotingThresholds
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) Word16
-> Decode
('Closed 'Dense)
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) Word16
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) EpochInterval
-> Decode
('Closed 'Dense)
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) EpochInterval
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) EpochInterval
-> Decode
('Closed 'Dense)
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) EpochInterval
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) Coin
-> Decode
('Closed 'Dense)
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) Coin
-> Decode
('Closed 'Dense)
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) EpochInterval
-> Decode
('Closed 'Dense)
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) EpochInterval
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense)
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
-> Decode ('Closed Any) NonNegativeInterval
-> Decode
('Closed 'Dense) (CostModel -> UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) NonNegativeInterval
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
('Closed 'Dense) (CostModel -> UpgradeConwayPParams Identity)
-> Decode ('Closed 'Dense) CostModel
-> Decode ('Closed 'Dense) (UpgradeConwayPParams Identity)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! (forall s. Decoder s CostModel)
-> Decode ('Closed 'Dense) CostModel
forall t. (forall s. Decoder s t) -> Decode ('Closed 'Dense) t
D (Language -> Decoder s CostModel
forall s. Language -> Decoder s CostModel
decodeCostModel Language
PlutusV3)
instance EraPParams ConwayEra where
type PParamsHKD f ConwayEra = ConwayPParams f ConwayEra
type UpgradePParams f ConwayEra = UpgradeConwayPParams f
type DowngradePParams f ConwayEra = ()
applyPPUpdates :: PParams ConwayEra -> PParamsUpdate ConwayEra -> PParams ConwayEra
applyPPUpdates (PParams PParamsHKD Identity ConwayEra
pp) (PParamsUpdate PParamsHKD StrictMaybe ConwayEra
ppu) =
PParamsHKD Identity ConwayEra -> PParams ConwayEra
forall era. PParamsHKD Identity era -> PParams era
PParams (PParamsHKD Identity ConwayEra -> PParams ConwayEra)
-> PParamsHKD Identity ConwayEra -> PParams ConwayEra
forall a b. (a -> b) -> a -> b
$ ConwayPParams Identity ConwayEra
-> ConwayPParams StrictMaybe ConwayEra
-> ConwayPParams Identity ConwayEra
forall era.
ConwayPParams Identity era
-> ConwayPParams StrictMaybe era -> ConwayPParams Identity era
conwayApplyPPUpdates PParamsHKD Identity ConwayEra
ConwayPParams Identity ConwayEra
pp PParamsHKD StrictMaybe ConwayEra
ConwayPParams StrictMaybe ConwayEra
ppu
emptyPParamsIdentity :: PParamsHKD Identity ConwayEra
emptyPParamsIdentity = PParamsHKD Identity ConwayEra
ConwayPParams Identity ConwayEra
forall era. Era era => ConwayPParams Identity era
emptyConwayPParams
emptyPParamsStrictMaybe :: PParamsHKD StrictMaybe ConwayEra
emptyPParamsStrictMaybe = PParamsHKD StrictMaybe ConwayEra
ConwayPParams StrictMaybe ConwayEra
forall era. ConwayPParams StrictMaybe era
emptyConwayPParamsUpdate
upgradePParamsHKD :: forall (f :: * -> *).
(HKDApplicative f, EraPParams (PreviousEra ConwayEra)) =>
UpgradePParams f ConwayEra
-> PParamsHKD f (PreviousEra ConwayEra) -> PParamsHKD f ConwayEra
upgradePParamsHKD = UpgradePParams f ConwayEra
-> PParamsHKD f (PreviousEra ConwayEra) -> PParamsHKD f ConwayEra
UpgradeConwayPParams f
-> PParamsHKD f BabbageEra -> ConwayPParams f ConwayEra
forall (f :: * -> *).
HKDApplicative f =>
UpgradeConwayPParams f
-> PParamsHKD f BabbageEra -> ConwayPParams f ConwayEra
upgradeConwayPParams
downgradePParamsHKD :: forall (f :: * -> *).
(HKDFunctor f, EraPParams (PreviousEra ConwayEra)) =>
DowngradePParams f ConwayEra
-> PParamsHKD f ConwayEra -> PParamsHKD f (PreviousEra ConwayEra)
downgradePParamsHKD () = PParamsHKD f ConwayEra -> PParamsHKD f (PreviousEra ConwayEra)
ConwayPParams f ConwayEra -> PParamsHKD f BabbageEra
forall (f :: * -> *).
HKDFunctor f =>
ConwayPParams f ConwayEra -> PParamsHKD f BabbageEra
downgradeConwayPParams
hkdMinFeeAL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdMinFeeAL = (PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin -> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
-> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppMinFeeA = THKD x}
hkdMinFeeBL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdMinFeeBL = (PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin -> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
-> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppMinFeeB = THKD x}
hkdMaxBBSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Word32)
hkdMaxBBSizeL = (PParamsHKD f ConwayEra -> HKD f Word32)
-> (PParamsHKD f ConwayEra
-> HKD f Word32 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word32 -> f (HKD f Word32))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> ConwayPParams f ConwayEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize) ((PParamsHKD f ConwayEra -> HKD f Word32 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word32 -> f (HKD f Word32))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Word32 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word32 -> f (HKD f Word32))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Word32
x -> PParamsHKD f ConwayEra
pp {cppMaxBBSize = THKD x}
hkdMaxTxSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Word32)
hkdMaxTxSizeL = (PParamsHKD f ConwayEra -> HKD f Word32)
-> (PParamsHKD f ConwayEra
-> HKD f Word32 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word32 -> f (HKD f Word32))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> ConwayPParams f ConwayEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize) ((PParamsHKD f ConwayEra -> HKD f Word32 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word32 -> f (HKD f Word32))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Word32 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word32 -> f (HKD f Word32))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Word32
x -> PParamsHKD f ConwayEra
pp {cppMaxTxSize = THKD x}
hkdMaxBHSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Word16)
hkdMaxBHSizeL = (PParamsHKD f ConwayEra -> HKD f Word16)
-> (PParamsHKD f ConwayEra
-> HKD f Word16 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word16 -> f (HKD f Word16))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
-> HKD f Word16)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize) ((PParamsHKD f ConwayEra -> HKD f Word16 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word16 -> f (HKD f Word16))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Word16 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word16 -> f (HKD f Word16))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Word16
x -> PParamsHKD f ConwayEra
pp {cppMaxBHSize = THKD x}
hkdKeyDepositL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdKeyDepositL = (PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppKeyDeposit = THKD x}
hkdPoolDepositL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdPoolDepositL = (PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppPoolDeposit = THKD x}
hkdEMaxL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f EpochInterval)
hkdEMaxL = (PParamsHKD f ConwayEra -> HKD f EpochInterval)
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval)
-> ConwayPParams f ConwayEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax) ((PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f EpochInterval
x -> PParamsHKD f ConwayEra
pp {cppEMax = THKD x}
hkdNOptL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Word16)
hkdNOptL = (PParamsHKD f ConwayEra -> HKD f Word16)
-> (PParamsHKD f ConwayEra
-> HKD f Word16 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word16 -> f (HKD f Word16))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt) ((PParamsHKD f ConwayEra -> HKD f Word16 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word16 -> f (HKD f Word16))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Word16 -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Word16 -> f (HKD f Word16))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Word16
x -> PParamsHKD f ConwayEra
pp {cppNOpt = THKD x}
hkdA0L :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f NonNegativeInterval)
hkdA0L = (PParamsHKD f ConwayEra -> HKD f NonNegativeInterval)
-> (PParamsHKD f ConwayEra
-> HKD f NonNegativeInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
-> HKD f NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
-> HKD f NonNegativeInterval)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
f
NonNegativeInterval)
-> ConwayPParams f ConwayEra
-> HKD f NonNegativeInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0) ((PParamsHKD f ConwayEra
-> HKD f NonNegativeInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f NonNegativeInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f NonNegativeInterval
x -> PParamsHKD f ConwayEra
pp {cppA0 = THKD x}
hkdRhoL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f UnitInterval)
hkdRhoL = (PParamsHKD f ConwayEra -> HKD f UnitInterval)
-> (PParamsHKD f ConwayEra
-> HKD f UnitInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKD f UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKD f UnitInterval)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
-> ConwayPParams f ConwayEra
-> HKD f UnitInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho) ((PParamsHKD f ConwayEra
-> HKD f UnitInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f UnitInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f UnitInterval
x -> PParamsHKD f ConwayEra
pp {cppRho = THKD x}
hkdTauL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f UnitInterval)
hkdTauL = (PParamsHKD f ConwayEra -> HKD f UnitInterval)
-> (PParamsHKD f ConwayEra
-> HKD f UnitInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKD f UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKD f UnitInterval)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
-> ConwayPParams f ConwayEra
-> HKD f UnitInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau) ((PParamsHKD f ConwayEra
-> HKD f UnitInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f UnitInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f UnitInterval
x -> PParamsHKD f ConwayEra
pp {cppTau = THKD x}
hkdProtocolVersionL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost ConwayEra 8) =>
Lens' (PParamsHKD f ConwayEra) (HKD f ProtVer)
hkdProtocolVersionL = (HKD f ProtVer -> f (HKD f ProtVer))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
(HKD f ProtVer -> f (HKD f ProtVer))
-> ConwayPParams f ConwayEra -> f (ConwayPParams f ConwayEra)
forall a b. HasCallStack => Lens' a b
Lens' (ConwayPParams f ConwayEra) (HKD f ProtVer)
notSupportedInThisEraL
hkdMinPoolCostL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdMinPoolCostL = (PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppMinPoolCost = THKD x}
ppProtocolVersionL :: Lens' (PParams ConwayEra) ProtVer
ppProtocolVersionL = (PParamsHKD Identity ConwayEra
-> f (PParamsHKD Identity ConwayEra))
-> PParams ConwayEra -> f (PParams ConwayEra)
(ConwayPParams Identity ConwayEra
-> f (ConwayPParams Identity ConwayEra))
-> PParams ConwayEra -> f (PParams ConwayEra)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((ConwayPParams Identity ConwayEra
-> f (ConwayPParams Identity ConwayEra))
-> PParams ConwayEra -> f (PParams ConwayEra))
-> ((ProtVer -> f ProtVer)
-> ConwayPParams Identity ConwayEra
-> f (ConwayPParams Identity ConwayEra))
-> (ProtVer -> f ProtVer)
-> PParams ConwayEra
-> f (PParams ConwayEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ConwayPParams Identity ConwayEra -> ProtVer)
-> (ConwayPParams Identity ConwayEra
-> ProtVer -> ConwayPParams Identity ConwayEra)
-> Lens
(ConwayPParams Identity ConwayEra)
(ConwayPParams Identity ConwayEra)
ProtVer
ProtVer
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens ConwayPParams Identity ConwayEra -> HKDNoUpdate Identity ProtVer
ConwayPParams Identity ConwayEra -> ProtVer
forall (f :: * -> *) era.
ConwayPParams f era -> HKDNoUpdate f ProtVer
cppProtocolVersion (\ConwayPParams Identity ConwayEra
pp ProtVer
x -> ConwayPParams Identity ConwayEra
pp {cppProtocolVersion = x})
ppDG :: SimpleGetter (PParams ConwayEra) UnitInterval
ppDG = (PParams ConwayEra -> UnitInterval)
-> SimpleGetter (PParams ConwayEra) UnitInterval
forall s a. (s -> a) -> SimpleGetter s a
to (UnitInterval -> PParams ConwayEra -> UnitInterval
forall a b. a -> b -> a
const UnitInterval
forall a. Bounded a => a
minBound)
ppuProtocolVersionL :: ProtVerAtMost ConwayEra 8 =>
Lens' (PParamsUpdate ConwayEra) (StrictMaybe ProtVer)
ppuProtocolVersionL = (StrictMaybe ProtVer -> f (StrictMaybe ProtVer))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall a b. HasCallStack => Lens' a b
Lens' (PParamsUpdate ConwayEra) (StrictMaybe ProtVer)
notSupportedInThisEraL
hkdDL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost ConwayEra 6) =>
Lens' (PParamsHKD f ConwayEra) (HKD f UnitInterval)
hkdDL = (HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> ConwayPParams f ConwayEra -> f (ConwayPParams f ConwayEra)
forall a b. HasCallStack => Lens' a b
Lens' (ConwayPParams f ConwayEra) (HKD f UnitInterval)
notSupportedInThisEraL
hkdExtraEntropyL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost ConwayEra 6) =>
Lens' (PParamsHKD f ConwayEra) (HKD f Nonce)
hkdExtraEntropyL = (HKD f Nonce -> f (HKD f Nonce))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
(HKD f Nonce -> f (HKD f Nonce))
-> ConwayPParams f ConwayEra -> f (ConwayPParams f ConwayEra)
forall a b. HasCallStack => Lens' a b
Lens' (ConwayPParams f ConwayEra) (HKD f Nonce)
notSupportedInThisEraL
hkdMinUTxOValueL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost ConwayEra 4) =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdMinUTxOValueL = (HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
(HKD f Coin -> f (HKD f Coin))
-> ConwayPParams f ConwayEra -> f (ConwayPParams f ConwayEra)
forall a b. HasCallStack => Lens' a b
Lens' (ConwayPParams f ConwayEra) (HKD f Coin)
notSupportedInThisEraL
eraPParams :: [PParam ConwayEra]
eraPParams =
[ PParam ConwayEra
forall era. EraPParams era => PParam era
ppMinFeeA
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppMinFeeB
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppMaxBBSize
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppMaxTxSize
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppMaxBHSize
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppKeyDeposit
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppPoolDeposit
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppEMax
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppNOpt
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppA0
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppRho
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppTau
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppGovProtocolVersion
, PParam ConwayEra
forall era. EraPParams era => PParam era
ppMinPoolCost
, PParam ConwayEra
forall era. BabbageEraPParams era => PParam era
ppCoinsPerUTxOByte
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppCostModels
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppPrices
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppMaxTxExUnits
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppMaxBlockExUnits
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppMaxValSize
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppCollateralPercentage
, PParam ConwayEra
forall era. AlonzoEraPParams era => PParam era
ppMaxCollateralInputs
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppPoolVotingThresholds
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppDRepVotingThresholds
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppCommitteeMinSize
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppCommitteeMaxTermLength
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppGovActionLifetime
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppGovActionDeposit
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppDRepDeposit
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppDRepActivity
, PParam ConwayEra
forall era. ConwayEraPParams era => PParam era
ppMinFeeRefScriptCostPerByte
]
instance AlonzoEraPParams ConwayEra where
hkdCoinsPerUTxOWordL :: forall (f :: * -> *).
(HKDFunctor f, ExactEra AlonzoEra ConwayEra) =>
Lens' (PParamsHKD f ConwayEra) (HKD f CoinPerWord)
hkdCoinsPerUTxOWordL = (HKD f CoinPerWord -> f (HKD f CoinPerWord))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
(HKD f CoinPerWord -> f (HKD f CoinPerWord))
-> ConwayPParams f ConwayEra -> f (ConwayPParams f ConwayEra)
forall a b. HasCallStack => Lens' a b
Lens' (ConwayPParams f ConwayEra) (HKD f CoinPerWord)
notSupportedInThisEraL
hkdCostModelsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f CostModels)
hkdCostModelsL = (PParamsHKD f ConwayEra -> HKD f CostModels)
-> (PParamsHKD f ConwayEra
-> HKD f CostModels -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f CostModels -> f (HKD f CostModels))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
-> HKD f CostModels
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
-> HKD f CostModels)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels)
-> ConwayPParams f ConwayEra
-> HKD f CostModels
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels) ((PParamsHKD f ConwayEra
-> HKD f CostModels -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f CostModels -> f (HKD f CostModels))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f CostModels -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f CostModels -> f (HKD f CostModels))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f CostModels
x -> PParamsHKD f ConwayEra
pp {cppCostModels = THKD x}
hkdPricesL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Prices)
hkdPricesL = (PParamsHKD f ConwayEra -> HKD f Prices)
-> (PParamsHKD f ConwayEra
-> HKD f Prices -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Prices -> f (HKD f Prices))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
-> HKD f Prices
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
-> HKD f Prices)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices)
-> ConwayPParams f ConwayEra
-> HKD f Prices
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices) ((PParamsHKD f ConwayEra -> HKD f Prices -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Prices -> f (HKD f Prices))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Prices -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Prices -> f (HKD f Prices))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Prices
x -> PParamsHKD f ConwayEra
pp {cppPrices = THKD x}
hkdMaxTxExUnitsL :: forall f. HKDFunctor f => Lens' (PParamsHKD f ConwayEra) (HKD f ExUnits)
hkdMaxTxExUnitsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f ExUnits)
hkdMaxTxExUnitsL =
(PParamsHKD f ConwayEra -> HKD f ExUnits)
-> (PParamsHKD f ConwayEra
-> HKD f ExUnits -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f ExUnits -> f (HKD f ExUnits))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (Proxy f
-> (OrdExUnits -> ExUnits) -> HKD f OrdExUnits -> HKD f ExUnits
forall (f :: * -> *) (proxy :: (* -> *) -> *) a b.
HKDFunctor f =>
proxy f -> (a -> b) -> HKD f a -> HKD f b
forall (proxy :: (* -> *) -> *) a b.
proxy f -> (a -> b) -> HKD f a -> HKD f b
hkdMap (forall {k} (t :: k). Proxy t
forall (t :: * -> *). Proxy t
Proxy @f) OrdExUnits -> ExUnits
unOrdExUnits (HKD f OrdExUnits -> HKD f ExUnits)
-> (ConwayPParams f ConwayEra -> HKD f OrdExUnits)
-> ConwayPParams f ConwayEra
-> HKD f ExUnits
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
-> HKD f OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
-> HKD f OrdExUnits)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits)
-> ConwayPParams f ConwayEra
-> HKD f OrdExUnits
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits) ((PParamsHKD f ConwayEra
-> HKD f ExUnits -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f ExUnits -> f (HKD f ExUnits))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f ExUnits -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f ExUnits -> f (HKD f ExUnits))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f ExUnits
x ->
PParamsHKD f ConwayEra
pp {cppMaxTxExUnits = THKD $ hkdMap (Proxy @f) OrdExUnits x}
hkdMaxBlockExUnitsL :: forall f. HKDFunctor f => Lens' (PParamsHKD f ConwayEra) (HKD f ExUnits)
hkdMaxBlockExUnitsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f ExUnits)
hkdMaxBlockExUnitsL =
(PParamsHKD f ConwayEra -> HKD f ExUnits)
-> (PParamsHKD f ConwayEra
-> HKD f ExUnits -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f ExUnits -> f (HKD f ExUnits))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (Proxy f
-> (OrdExUnits -> ExUnits) -> HKD f OrdExUnits -> HKD f ExUnits
forall (f :: * -> *) (proxy :: (* -> *) -> *) a b.
HKDFunctor f =>
proxy f -> (a -> b) -> HKD f a -> HKD f b
forall (proxy :: (* -> *) -> *) a b.
proxy f -> (a -> b) -> HKD f a -> HKD f b
hkdMap (forall {k} (t :: k). Proxy t
forall (t :: * -> *). Proxy t
Proxy @f) OrdExUnits -> ExUnits
unOrdExUnits (HKD f OrdExUnits -> HKD f ExUnits)
-> (ConwayPParams f ConwayEra -> HKD f OrdExUnits)
-> ConwayPParams f ConwayEra
-> HKD f ExUnits
forall b c a. (b -> c) -> (a -> b) -> a -> c
. THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
-> HKD f OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
-> HKD f OrdExUnits)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits)
-> ConwayPParams f ConwayEra
-> HKD f OrdExUnits
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits) ((PParamsHKD f ConwayEra
-> HKD f ExUnits -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f ExUnits -> f (HKD f ExUnits))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f ExUnits -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f ExUnits -> f (HKD f ExUnits))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f ExUnits
x ->
PParamsHKD f ConwayEra
pp {cppMaxBlockExUnits = THKD $ hkdMap (Proxy @f) OrdExUnits x}
hkdMaxValSizeL :: forall f. HKDFunctor f => Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdMaxValSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdMaxValSizeL =
(PParamsHKD f ConwayEra -> HKD f Natural)
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word32 (HKD f Word32 -> HKD f Natural)
-> (ConwayPParams f ConwayEra -> HKD f Word32)
-> ConwayPParams f ConwayEra
-> HKD f Natural
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> ConwayPParams f ConwayEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize)) ((PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$
\PParamsHKD f ConwayEra
pp HKD f Natural
x -> PParamsHKD f ConwayEra
pp {cppMaxValSize = THKD (asBoundedIntegralHKD @f @Natural @Word32 x)}
hkdCollateralPercentageL ::
forall f. HKDFunctor f => Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdCollateralPercentageL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdCollateralPercentageL =
(PParamsHKD f ConwayEra -> HKD f Natural)
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word16 (HKD f Word16 -> HKD f Natural)
-> (ConwayPParams f ConwayEra -> HKD f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Natural
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage)) ((PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$
\PParamsHKD f ConwayEra
pp HKD f Natural
x -> PParamsHKD f ConwayEra
pp {cppCollateralPercentage = THKD (asBoundedIntegralHKD @f @Natural @Word16 x)}
hkdMaxCollateralInputsL ::
forall f. HKDFunctor f => Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdMaxCollateralInputsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdMaxCollateralInputsL =
(PParamsHKD f ConwayEra -> HKD f Natural)
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word16 (HKD f Word16 -> HKD f Natural)
-> (ConwayPParams f ConwayEra -> HKD f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Natural
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs)) ((PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$
\PParamsHKD f ConwayEra
pp HKD f Natural
x -> PParamsHKD f ConwayEra
pp {cppMaxCollateralInputs = THKD (asBoundedIntegralHKD @f @Natural @Word16 x)}
instance BabbageEraPParams ConwayEra where
hkdCoinsPerUTxOByteL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f CoinPerByte)
hkdCoinsPerUTxOByteL =
(PParamsHKD f ConwayEra -> HKD f CoinPerByte)
-> (PParamsHKD f ConwayEra
-> HKD f CoinPerByte -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f CoinPerByte -> f (HKD f CoinPerByte))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
-> HKD f CoinPerByte
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
-> HKD f CoinPerByte)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte)
-> ConwayPParams f ConwayEra
-> HKD f CoinPerByte
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte) ((PParamsHKD f ConwayEra
-> HKD f CoinPerByte -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f CoinPerByte -> f (HKD f CoinPerByte))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f CoinPerByte -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f CoinPerByte -> f (HKD f CoinPerByte))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f CoinPerByte
x -> PParamsHKD f ConwayEra
pp {cppCoinsPerUTxOByte = THKD x}
instance ConwayEraPParams ConwayEra where
modifiedPPGroups :: PParamsUpdate ConwayEra -> Set PPGroups
modifiedPPGroups (PParamsUpdate PParamsHKD StrictMaybe ConwayEra
ppu) = ConwayPParams StrictMaybe ConwayEra -> Set PPGroups
forall era. ConwayPParams StrictMaybe era -> Set PPGroups
conwayModifiedPPGroups PParamsHKD StrictMaybe ConwayEra
ConwayPParams StrictMaybe ConwayEra
ppu
ppuWellFormed :: ProtVer -> PParamsUpdate ConwayEra -> Bool
ppuWellFormed ProtVer
pv PParamsUpdate ConwayEra
ppu =
[Bool] -> Bool
forall (t :: * -> *). Foldable t => t Bool -> Bool
and
[
(Word32 -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Word32) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
/= Word32
0) (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Word32)
ppuMaxBBSizeL
, (Word32 -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Word32) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
/= Word32
0) (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Word32)
ppuMaxTxSizeL
, (Word16 -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Word16) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Word16 -> Word16 -> Bool
forall a. Eq a => a -> a -> Bool
/= Word16
0) (StrictMaybe Word16 -> f (StrictMaybe Word16))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word16)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Word16)
ppuMaxBHSizeL
, (Natural -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Natural) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Natural -> Natural -> Bool
forall a. Eq a => a -> a -> Bool
/= Natural
0) (StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
AlonzoEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Natural)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Natural)
ppuMaxValSizeL
, (Natural -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Natural) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Natural -> Natural -> Bool
forall a. Eq a => a -> a -> Bool
/= Natural
0) (StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
AlonzoEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Natural)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Natural)
ppuCollateralPercentageL
, (EpochInterval -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe EpochInterval)
-> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (EpochInterval -> EpochInterval -> Bool
forall a. Eq a => a -> a -> Bool
/= Word32 -> EpochInterval
EpochInterval Word32
0) (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe EpochInterval)
ppuCommitteeMaxTermLengthL
, (EpochInterval -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe EpochInterval)
-> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (EpochInterval -> EpochInterval -> Bool
forall a. Eq a => a -> a -> Bool
/= Word32 -> EpochInterval
EpochInterval Word32
0) (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe EpochInterval)
ppuGovActionLifetimeL
,
(Coin -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Coin) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Coin -> Coin -> Bool
forall a. Eq a => a -> a -> Bool
/= Coin
forall t. Val t => t
zero) (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Coin)
ppuPoolDepositL
, (Coin -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Coin) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Coin -> Coin -> Bool
forall a. Eq a => a -> a -> Bool
/= Coin
forall t. Val t => t
zero) (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Coin)
ppuGovActionDepositL
, (Coin -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe Coin) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid (Coin -> Coin -> Bool
forall a. Eq a => a -> a -> Bool
/= Coin
forall t. Val t => t
zero) (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe Coin)
ppuDRepDepositL
, ProtVer -> Bool
bootstrapPhase ProtVer
pv
Bool -> Bool -> Bool
|| (CoinPerByte -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe CoinPerByte)
-> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid ((Coin -> Coin -> Bool
forall a. Eq a => a -> a -> Bool
/= Coin
forall t. Val t => t
zero) (Coin -> Bool) -> (CoinPerByte -> Coin) -> CoinPerByte -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CoinPerByte -> Coin
unCoinPerByte) (StrictMaybe CoinPerByte -> f (StrictMaybe CoinPerByte))
-> PParamsUpdate ConwayEra -> f (PParamsUpdate ConwayEra)
forall era.
BabbageEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe CoinPerByte)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe CoinPerByte)
ppuCoinsPerUTxOByteL
, PParamsUpdate ConwayEra
ppu PParamsUpdate ConwayEra -> PParamsUpdate ConwayEra -> Bool
forall a. Eq a => a -> a -> Bool
/= PParamsUpdate ConwayEra
forall era. EraPParams era => PParamsUpdate era
emptyPParamsUpdate
]
where
isValid ::
(t -> Bool) ->
Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) ->
Bool
isValid :: forall t.
(t -> Bool)
-> Lens' (PParamsUpdate ConwayEra) (StrictMaybe t) -> Bool
isValid t -> Bool
p Lens' (PParamsUpdate ConwayEra) (StrictMaybe t)
l = case PParamsUpdate ConwayEra
ppu PParamsUpdate ConwayEra
-> Getting
(StrictMaybe t) (PParamsUpdate ConwayEra) (StrictMaybe t)
-> StrictMaybe t
forall s a. s -> Getting a s a -> a
^. Getting (StrictMaybe t) (PParamsUpdate ConwayEra) (StrictMaybe t)
Lens' (PParamsUpdate ConwayEra) (StrictMaybe t)
l of
SJust t
x -> t -> Bool
p t
x
StrictMaybe t
SNothing -> Bool
True
hkdPoolVotingThresholdsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f PoolVotingThresholds)
hkdPoolVotingThresholdsL =
(PParamsHKD f ConwayEra -> HKD f PoolVotingThresholds)
-> (PParamsHKD f ConwayEra
-> HKD f PoolVotingThresholds -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f PoolVotingThresholds -> f (HKD f PoolVotingThresholds))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
-> HKD f PoolVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
-> HKD f PoolVotingThresholds)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds)
-> ConwayPParams f ConwayEra
-> HKD f PoolVotingThresholds
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds) ((PParamsHKD f ConwayEra
-> HKD f PoolVotingThresholds -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f PoolVotingThresholds -> f (HKD f PoolVotingThresholds))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f PoolVotingThresholds -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f PoolVotingThresholds -> f (HKD f PoolVotingThresholds))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f PoolVotingThresholds
x -> PParamsHKD f ConwayEra
pp {cppPoolVotingThresholds = THKD x}
hkdDRepVotingThresholdsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f DRepVotingThresholds)
hkdDRepVotingThresholdsL =
(PParamsHKD f ConwayEra -> HKD f DRepVotingThresholds)
-> (PParamsHKD f ConwayEra
-> HKD f DRepVotingThresholds -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f DRepVotingThresholds -> f (HKD f DRepVotingThresholds))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
-> HKD f DRepVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
-> HKD f DRepVotingThresholds)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds)
-> ConwayPParams f ConwayEra
-> HKD f DRepVotingThresholds
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds) ((PParamsHKD f ConwayEra
-> HKD f DRepVotingThresholds -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f DRepVotingThresholds -> f (HKD f DRepVotingThresholds))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f DRepVotingThresholds -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f DRepVotingThresholds -> f (HKD f DRepVotingThresholds))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f DRepVotingThresholds
x -> PParamsHKD f ConwayEra
pp {cppDRepVotingThresholds = THKD x}
hkdCommitteeMinSizeL :: forall f. HKDFunctor f => Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdCommitteeMinSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Natural)
hkdCommitteeMinSizeL =
(PParamsHKD f ConwayEra -> HKD f Natural)
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word16 (HKD f Word16 -> HKD f Natural)
-> (ConwayPParams f ConwayEra -> HKD f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Natural
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16)
-> ConwayPParams f ConwayEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize)) ((PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f Natural -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Natural -> f (HKD f Natural))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$
\PParamsHKD f ConwayEra
pp HKD f Natural
x -> PParamsHKD f ConwayEra
pp {cppCommitteeMinSize = THKD (asBoundedIntegralHKD @f @Natural @Word16 x)}
hkdCommitteeMaxTermLengthL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f EpochInterval)
hkdCommitteeMaxTermLengthL =
(PParamsHKD f ConwayEra -> HKD f EpochInterval)
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> ConwayPParams f ConwayEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength) ((PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f EpochInterval
x -> PParamsHKD f ConwayEra
pp {cppCommitteeMaxTermLength = THKD x}
hkdGovActionLifetimeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f EpochInterval)
hkdGovActionLifetimeL =
(PParamsHKD f ConwayEra -> HKD f EpochInterval)
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> ConwayPParams f ConwayEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime) ((PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f EpochInterval
x -> PParamsHKD f ConwayEra
pp {cppGovActionLifetime = THKD x}
hkdGovActionDepositL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdGovActionDepositL =
(PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin -> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin -> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppGovActionDeposit = THKD x}
hkdDRepDepositL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f Coin)
hkdDRepDepositL =
(PParamsHKD f ConwayEra -> HKD f Coin)
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin -> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin -> HKD f Coin)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin)
-> ConwayPParams f ConwayEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepDeposit) ((PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra -> HKD f Coin -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f Coin
x -> PParamsHKD f ConwayEra
pp {cppDRepDeposit = THKD x}
hkdDRepActivityL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f EpochInterval)
hkdDRepActivityL =
(PParamsHKD f ConwayEra -> HKD f EpochInterval)
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval)
-> (ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> ConwayPParams f ConwayEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity) ((PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f EpochInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f EpochInterval -> f (HKD f EpochInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f EpochInterval
x -> PParamsHKD f ConwayEra
pp {cppDRepActivity = THKD x}
hkdMinFeeRefScriptCostPerByteL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f ConwayEra) (HKD f NonNegativeInterval)
hkdMinFeeRefScriptCostPerByteL =
(PParamsHKD f ConwayEra -> HKD f NonNegativeInterval)
-> (PParamsHKD f ConwayEra
-> HKD f NonNegativeInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
-> HKD f NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
-> HKD f NonNegativeInterval)
-> (ConwayPParams f ConwayEra
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval)
-> ConwayPParams f ConwayEra
-> HKD f NonNegativeInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayPParams f ConwayEra
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte) ((PParamsHKD f ConwayEra
-> HKD f NonNegativeInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra))
-> (PParamsHKD f ConwayEra
-> HKD f NonNegativeInterval -> PParamsHKD f ConwayEra)
-> forall {f :: * -> *}.
Functor f =>
(HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
-> PParamsHKD f ConwayEra -> f (PParamsHKD f ConwayEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f ConwayEra
pp HKD f NonNegativeInterval
x -> PParamsHKD f ConwayEra
pp {cppMinFeeRefScriptCostPerByte = THKD x}
emptyConwayPParams :: forall era. Era era => ConwayPParams Identity era
emptyConwayPParams :: forall era. Era era => ConwayPParams Identity era
emptyConwayPParams =
ConwayPParams
{ cppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
cppMinFeeA = HKD Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Integer -> Coin
Coin Integer
0)
, cppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
cppMinFeeB = HKD Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Integer -> Coin
Coin Integer
0)
, cppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
cppMaxBBSize = HKD Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word32
HKD Identity Word32
0
, cppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
cppMaxTxSize = HKD Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word32
HKD Identity Word32
2048
, cppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
cppMaxBHSize = HKD Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word16
HKD Identity Word16
0
, cppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
cppKeyDeposit = HKD Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Integer -> Coin
Coin Integer
0)
, cppPoolDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
cppPoolDeposit = HKD Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Integer -> Coin
Coin Integer
0)
, cppEMax :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
cppEMax = HKD Identity EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Word32 -> EpochInterval
EpochInterval Word32
0)
, cppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
cppNOpt = HKD Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word16
HKD Identity Word16
100
, cppA0 :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
cppA0 = HKD Identity NonNegativeInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity NonNegativeInterval
NonNegativeInterval
forall a. Bounded a => a
minBound
, cppRho :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
cppRho = HKD Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity UnitInterval
UnitInterval
forall a. Bounded a => a
minBound
, cppTau :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
cppTau = HKD Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity UnitInterval
UnitInterval
forall a. Bounded a => a
minBound
, cppProtocolVersion :: HKDNoUpdate Identity ProtVer
cppProtocolVersion = Version -> Natural -> ProtVer
ProtVer (forall era. Era era => Version
eraProtVerLow @era) Natural
0
, cppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
cppMinPoolCost = HKD Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity Coin
Coin
forall a. Monoid a => a
mempty
, cppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
cppCoinsPerUTxOByte = HKD Identity CoinPerByte
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Coin -> CoinPerByte
CoinPerByte (Coin -> CoinPerByte) -> Coin -> CoinPerByte
forall a b. (a -> b) -> a -> b
$ Integer -> Coin
Coin Integer
0)
, cppCostModels :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
cppCostModels = HKD Identity CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD CostModels
HKD Identity CostModels
emptyCostModels
, cppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
cppPrices = HKD Identity Prices
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (NonNegativeInterval -> NonNegativeInterval -> Prices
Prices NonNegativeInterval
forall a. Bounded a => a
minBound NonNegativeInterval
forall a. Bounded a => a
minBound)
, cppMaxTxExUnits :: THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
cppMaxTxExUnits = HKD Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (ExUnits -> OrdExUnits
OrdExUnits (ExUnits -> OrdExUnits) -> ExUnits -> OrdExUnits
forall a b. (a -> b) -> a -> b
$ Natural -> Natural -> ExUnits
ExUnits Natural
0 Natural
0)
, cppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
cppMaxBlockExUnits = HKD Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (ExUnits -> OrdExUnits
OrdExUnits (ExUnits -> OrdExUnits) -> ExUnits -> OrdExUnits
forall a b. (a -> b) -> a -> b
$ Natural -> Natural -> ExUnits
ExUnits Natural
0 Natural
0)
, cppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
cppMaxValSize = HKD Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word32
HKD Identity Word32
0
, cppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
cppCollateralPercentage = HKD Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word16
HKD Identity Word16
150
, cppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
cppMaxCollateralInputs = HKD Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word16
HKD Identity Word16
5
,
cppPoolVotingThresholds :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
cppPoolVotingThresholds = HKD Identity PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity PoolVotingThresholds
PoolVotingThresholds
forall a. Default a => a
def
, cppDRepVotingThresholds :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
cppDRepVotingThresholds = HKD Identity DRepVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity DRepVotingThresholds
DRepVotingThresholds
forall a. Default a => a
def
, cppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
cppCommitteeMinSize = HKD Identity Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Word16
HKD Identity Word16
0
, cppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
cppCommitteeMaxTermLength = HKD Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Word32 -> EpochInterval
EpochInterval Word32
0)
, cppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
cppGovActionLifetime = HKD Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Word32 -> EpochInterval
EpochInterval Word32
0)
, cppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
cppGovActionDeposit = HKD Identity Coin
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Integer -> Coin
Coin Integer
0)
, cppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
cppDRepDeposit = HKD Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Integer -> Coin
Coin Integer
0)
, cppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
cppDRepActivity = HKD Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Word32 -> EpochInterval
EpochInterval Word32
0)
, cppMinFeeRefScriptCostPerByte :: THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
cppMinFeeRefScriptCostPerByte = HKD Identity NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity NonNegativeInterval
NonNegativeInterval
forall a. Bounded a => a
minBound
}
emptyConwayPParamsUpdate :: ConwayPParams StrictMaybe era
emptyConwayPParamsUpdate :: forall era. ConwayPParams StrictMaybe era
emptyConwayPParamsUpdate =
ConwayPParams
{ cppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
cppMinFeeA = HKD StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
cppMinFeeB = HKD StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
cppMaxBBSize = HKD StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word32
HKD StrictMaybe Word32
forall a. StrictMaybe a
SNothing
, cppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
cppMaxTxSize = HKD StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word32
HKD StrictMaybe Word32
forall a. StrictMaybe a
SNothing
, cppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
cppMaxBHSize = HKD StrictMaybe Word16
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word16
HKD StrictMaybe Word16
forall a. StrictMaybe a
SNothing
, cppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
cppKeyDeposit = HKD StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppPoolDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
cppPoolDeposit = HKD StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppEMax :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
cppEMax = HKD StrictMaybe EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, cppNOpt :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
cppNOpt = HKD StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word16
HKD StrictMaybe Word16
forall a. StrictMaybe a
SNothing
, cppA0 :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
cppA0 = HKD StrictMaybe NonNegativeInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe NonNegativeInterval
HKD StrictMaybe NonNegativeInterval
forall a. StrictMaybe a
SNothing
, cppRho :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
cppRho = HKD StrictMaybe UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe UnitInterval
HKD StrictMaybe UnitInterval
forall a. StrictMaybe a
SNothing
, cppTau :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
cppTau = HKD StrictMaybe UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe UnitInterval
HKD StrictMaybe UnitInterval
forall a. StrictMaybe a
SNothing
, cppProtocolVersion :: HKDNoUpdate StrictMaybe ProtVer
cppProtocolVersion = HKDNoUpdate StrictMaybe ProtVer
NoUpdate ProtVer
forall a. NoUpdate a
NoUpdate
, cppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
cppMinPoolCost = HKD StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppCoinsPerUTxOByte :: THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
cppCoinsPerUTxOByte = HKD StrictMaybe CoinPerByte
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe CoinPerByte
HKD StrictMaybe CoinPerByte
forall a. StrictMaybe a
SNothing
, cppCostModels :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
cppCostModels = HKD StrictMaybe CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe CostModels
HKD StrictMaybe CostModels
forall a. StrictMaybe a
SNothing
, cppPrices :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
cppPrices = HKD StrictMaybe Prices
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Prices
HKD StrictMaybe Prices
forall a. StrictMaybe a
SNothing
, cppMaxTxExUnits :: THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
cppMaxTxExUnits = HKD StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe OrdExUnits
HKD StrictMaybe OrdExUnits
forall a. StrictMaybe a
SNothing
, cppMaxBlockExUnits :: THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
cppMaxBlockExUnits = HKD StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe OrdExUnits
HKD StrictMaybe OrdExUnits
forall a. StrictMaybe a
SNothing
, cppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
cppMaxValSize = HKD StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word32
HKD StrictMaybe Word32
forall a. StrictMaybe a
SNothing
, cppCollateralPercentage :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
cppCollateralPercentage = HKD StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word16
HKD StrictMaybe Word16
forall a. StrictMaybe a
SNothing
, cppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
cppMaxCollateralInputs = HKD StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word16
HKD StrictMaybe Word16
forall a. StrictMaybe a
SNothing
,
cppPoolVotingThresholds :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
cppPoolVotingThresholds = HKD StrictMaybe PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe PoolVotingThresholds
HKD StrictMaybe PoolVotingThresholds
forall a. StrictMaybe a
SNothing
, cppDRepVotingThresholds :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
cppDRepVotingThresholds = HKD StrictMaybe DRepVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe DRepVotingThresholds
HKD StrictMaybe DRepVotingThresholds
forall a. StrictMaybe a
SNothing
, cppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
cppCommitteeMinSize = HKD StrictMaybe Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Word16
HKD StrictMaybe Word16
forall a. StrictMaybe a
SNothing
, cppCommitteeMaxTermLength :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
cppCommitteeMaxTermLength = HKD StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, cppGovActionLifetime :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
cppGovActionLifetime = HKD StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, cppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
cppGovActionDeposit = HKD StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
cppDRepDeposit = HKD StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe Coin
HKD StrictMaybe Coin
forall a. StrictMaybe a
SNothing
, cppDRepActivity :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
cppDRepActivity = HKD StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe EpochInterval
HKD StrictMaybe EpochInterval
forall a. StrictMaybe a
SNothing
, cppMinFeeRefScriptCostPerByte :: THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
cppMinFeeRefScriptCostPerByte = HKD StrictMaybe NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe NonNegativeInterval
HKD StrictMaybe NonNegativeInterval
forall a. StrictMaybe a
SNothing
}
instance ToJSON (UpgradeConwayPParams Identity) where
toJSON :: UpgradeConwayPParams Identity -> Value
toJSON = [Pair] -> Value
object ([Pair] -> Value)
-> (UpgradeConwayPParams Identity -> [Pair])
-> UpgradeConwayPParams Identity
-> Value
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UpgradeConwayPParams Identity -> [Pair]
forall e a. KeyValue e a => UpgradeConwayPParams Identity -> [a]
toUpgradeConwayPParamsUpdatePairs
toEncoding :: UpgradeConwayPParams Identity -> Encoding
toEncoding = Series -> Encoding
pairs (Series -> Encoding)
-> (UpgradeConwayPParams Identity -> Series)
-> UpgradeConwayPParams Identity
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Series] -> Series
forall a. Monoid a => [a] -> a
mconcat ([Series] -> Series)
-> (UpgradeConwayPParams Identity -> [Series])
-> UpgradeConwayPParams Identity
-> Series
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UpgradeConwayPParams Identity -> [Series]
forall e a. KeyValue e a => UpgradeConwayPParams Identity -> [a]
toUpgradeConwayPParamsUpdatePairs
toUpgradeConwayPParamsUpdatePairs :: KeyValue e a => UpgradeConwayPParams Identity -> [a]
toUpgradeConwayPParamsUpdatePairs :: forall e a. KeyValue e a => UpgradeConwayPParams Identity -> [a]
toUpgradeConwayPParamsUpdatePairs UpgradeConwayPParams Identity
upp =
(Key -> Value -> a) -> Pair -> a
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Key -> Value -> a
forall v. ToJSON v => Key -> v -> a
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(.=) (Pair -> a) -> [Pair] -> [a]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> UpgradeConwayPParams Identity -> [Pair]
upgradeConwayPParamsHKDPairs UpgradeConwayPParams Identity
upp
upgradeConwayPParamsHKDPairs :: UpgradeConwayPParams Identity -> [(Key, Aeson.Value)]
upgradeConwayPParamsHKDPairs :: UpgradeConwayPParams Identity -> [Pair]
upgradeConwayPParamsHKDPairs UpgradeConwayPParams {HKD Identity Word16
HKD Identity CostModel
HKD Identity EpochInterval
HKD Identity NonNegativeInterval
HKD Identity Coin
HKD Identity DRepVotingThresholds
HKD Identity PoolVotingThresholds
ucppPoolVotingThresholds :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f PoolVotingThresholds
ucppDRepVotingThresholds :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f DRepVotingThresholds
ucppCommitteeMinSize :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Word16
ucppCommitteeMaxTermLength :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionLifetime :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionDeposit :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepDeposit :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepActivity :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppMinFeeRefScriptCostPerByte :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f NonNegativeInterval
ucppPlutusV3CostModel :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f CostModel
ucppPoolVotingThresholds :: HKD Identity PoolVotingThresholds
ucppDRepVotingThresholds :: HKD Identity DRepVotingThresholds
ucppCommitteeMinSize :: HKD Identity Word16
ucppCommitteeMaxTermLength :: HKD Identity EpochInterval
ucppGovActionLifetime :: HKD Identity EpochInterval
ucppGovActionDeposit :: HKD Identity Coin
ucppDRepDeposit :: HKD Identity Coin
ucppDRepActivity :: HKD Identity EpochInterval
ucppMinFeeRefScriptCostPerByte :: HKD Identity NonNegativeInterval
ucppPlutusV3CostModel :: HKD Identity CostModel
..} =
[ (Key
"poolVotingThresholds", (forall a. ToJSON a => a -> Value
toJSON @PoolVotingThresholds) HKD Identity PoolVotingThresholds
PoolVotingThresholds
ucppPoolVotingThresholds)
, (Key
"dRepVotingThresholds", (forall a. ToJSON a => a -> Value
toJSON @DRepVotingThresholds) HKD Identity DRepVotingThresholds
DRepVotingThresholds
ucppDRepVotingThresholds)
, (Key
"committeeMinSize", (forall a. ToJSON a => a -> Value
toJSON @Word16) Word16
HKD Identity Word16
ucppCommitteeMinSize)
, (Key
"committeeMaxTermLength", (forall a. ToJSON a => a -> Value
toJSON @EpochInterval) EpochInterval
HKD Identity EpochInterval
ucppCommitteeMaxTermLength)
, (Key
"govActionLifetime", (forall a. ToJSON a => a -> Value
toJSON @EpochInterval) EpochInterval
HKD Identity EpochInterval
ucppGovActionLifetime)
, (Key
"govActionDeposit", (forall a. ToJSON a => a -> Value
toJSON @Coin) HKD Identity Coin
Coin
ucppGovActionDeposit)
, (Key
"dRepDeposit", (forall a. ToJSON a => a -> Value
toJSON @Coin) HKD Identity Coin
Coin
ucppDRepDeposit)
, (Key
"dRepActivity", (forall a. ToJSON a => a -> Value
toJSON @EpochInterval) EpochInterval
HKD Identity EpochInterval
ucppDRepActivity)
, (Key
"minFeeRefScriptCostPerByte", (forall a. ToJSON a => a -> Value
toJSON @NonNegativeInterval) HKD Identity NonNegativeInterval
NonNegativeInterval
ucppMinFeeRefScriptCostPerByte)
, (Key
"plutusV3CostModel", (forall a. ToJSON a => a -> Value
toJSON @CostModel) CostModel
HKD Identity CostModel
ucppPlutusV3CostModel)
]
instance FromJSON (UpgradeConwayPParams Identity) where
parseJSON :: Value -> Parser (UpgradeConwayPParams Identity)
parseJSON =
String
-> (Object -> Parser (UpgradeConwayPParams Identity))
-> Value
-> Parser (UpgradeConwayPParams Identity)
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"UpgradeConwayPParams" ((Object -> Parser (UpgradeConwayPParams Identity))
-> Value -> Parser (UpgradeConwayPParams Identity))
-> (Object -> Parser (UpgradeConwayPParams Identity))
-> Value
-> Parser (UpgradeConwayPParams Identity)
forall a b. (a -> b) -> a -> b
$ \Object
o ->
HKD Identity PoolVotingThresholds
-> HKD Identity DRepVotingThresholds
-> HKD Identity Word16
-> HKD Identity EpochInterval
-> HKD Identity EpochInterval
-> HKD Identity Coin
-> HKD Identity Coin
-> HKD Identity EpochInterval
-> HKD Identity NonNegativeInterval
-> HKD Identity CostModel
-> UpgradeConwayPParams Identity
PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity
forall (f :: * -> *).
HKD f PoolVotingThresholds
-> HKD f DRepVotingThresholds
-> HKD f Word16
-> HKD f EpochInterval
-> HKD f EpochInterval
-> HKD f Coin
-> HKD f Coin
-> HKD f EpochInterval
-> HKD f NonNegativeInterval
-> HKD f CostModel
-> UpgradeConwayPParams f
UpgradeConwayPParams
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser PoolVotingThresholds
-> Parser
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Key -> Parser PoolVotingThresholds
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"poolVotingThresholds"
Parser
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser DRepVotingThresholds
-> Parser
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser DRepVotingThresholds
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"dRepVotingThresholds"
Parser
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser Word16
-> Parser
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Word16
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"committeeMinSize"
Parser
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser EpochInterval
-> Parser
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser EpochInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"committeeMaxTermLength"
Parser
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser EpochInterval
-> Parser
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser EpochInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"govActionLifetime"
Parser
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser Coin
-> Parser
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Coin
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"govActionDeposit"
Parser
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser Coin
-> Parser
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Coin
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"dRepDeposit"
Parser
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Parser EpochInterval
-> Parser
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser EpochInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"dRepActivity"
Parser
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
-> Parser NonNegativeInterval
-> Parser (CostModel -> UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser NonNegativeInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"minFeeRefScriptCostPerByte"
Parser (CostModel -> UpgradeConwayPParams Identity)
-> Parser CostModel -> Parser (UpgradeConwayPParams Identity)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ((CostModelApplyError -> Parser CostModel)
-> (CostModel -> Parser CostModel)
-> Either CostModelApplyError CostModel
-> Parser CostModel
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
either (String -> Parser CostModel
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String -> Parser CostModel)
-> (CostModelApplyError -> String)
-> CostModelApplyError
-> Parser CostModel
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CostModelApplyError -> String
forall a. Show a => a -> String
show) CostModel -> Parser CostModel
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Either CostModelApplyError CostModel -> Parser CostModel)
-> ([Int64] -> Either CostModelApplyError CostModel)
-> [Int64]
-> Parser CostModel
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Language -> [Int64] -> Either CostModelApplyError CostModel
mkCostModel Language
PlutusV3 ([Int64] -> Parser CostModel) -> Parser [Int64] -> Parser CostModel
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Object
o Object -> Key -> Parser [Int64]
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"plutusV3CostModel")
upgradeConwayPParams ::
forall f.
HKDApplicative f =>
UpgradeConwayPParams f ->
PParamsHKD f BabbageEra ->
ConwayPParams f ConwayEra
upgradeConwayPParams :: forall (f :: * -> *).
HKDApplicative f =>
UpgradeConwayPParams f
-> PParamsHKD f BabbageEra -> ConwayPParams f ConwayEra
upgradeConwayPParams UpgradeConwayPParams {HKD f Word16
HKD f CostModel
HKD f EpochInterval
HKD f NonNegativeInterval
HKD f Coin
HKD f DRepVotingThresholds
HKD f PoolVotingThresholds
ucppPoolVotingThresholds :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f PoolVotingThresholds
ucppDRepVotingThresholds :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f DRepVotingThresholds
ucppCommitteeMinSize :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Word16
ucppCommitteeMaxTermLength :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionLifetime :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppGovActionDeposit :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepDeposit :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f Coin
ucppDRepActivity :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f EpochInterval
ucppMinFeeRefScriptCostPerByte :: forall (f :: * -> *).
UpgradeConwayPParams f -> HKD f NonNegativeInterval
ucppPlutusV3CostModel :: forall (f :: * -> *). UpgradeConwayPParams f -> HKD f CostModel
ucppPoolVotingThresholds :: HKD f PoolVotingThresholds
ucppDRepVotingThresholds :: HKD f DRepVotingThresholds
ucppCommitteeMinSize :: HKD f Word16
ucppCommitteeMaxTermLength :: HKD f EpochInterval
ucppGovActionLifetime :: HKD f EpochInterval
ucppGovActionDeposit :: HKD f Coin
ucppDRepDeposit :: HKD f Coin
ucppDRepActivity :: HKD f EpochInterval
ucppMinFeeRefScriptCostPerByte :: HKD f NonNegativeInterval
ucppPlutusV3CostModel :: HKD f CostModel
..} BabbagePParams {HKD f Natural
HKD f Word16
HKD f Word32
HKD f OrdExUnits
HKD f CostModels
HKD f Prices
HKD f CoinPerByte
HKD f EpochInterval
HKD f UnitInterval
HKD f NonNegativeInterval
HKD f ProtVer
HKD f Coin
bppMinFeeA :: HKD f Coin
bppMinFeeB :: HKD f Coin
bppMaxBBSize :: HKD f Word32
bppMaxTxSize :: HKD f Word32
bppMaxBHSize :: HKD f Word16
bppKeyDeposit :: HKD f Coin
bppPoolDeposit :: HKD f Coin
bppEMax :: HKD f EpochInterval
bppNOpt :: HKD f Word16
bppA0 :: HKD f NonNegativeInterval
bppRho :: HKD f UnitInterval
bppTau :: HKD f UnitInterval
bppProtocolVersion :: HKD f ProtVer
bppMinPoolCost :: HKD f Coin
bppCoinsPerUTxOByte :: HKD f CoinPerByte
bppCostModels :: HKD f CostModels
bppPrices :: HKD f Prices
bppMaxTxExUnits :: HKD f OrdExUnits
bppMaxBlockExUnits :: HKD f OrdExUnits
bppMaxValSize :: HKD f Natural
bppCollateralPercentage :: HKD f Natural
bppMaxCollateralInputs :: HKD f Natural
bppMinFeeA :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Coin
bppMinFeeB :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Coin
bppMaxBBSize :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Word32
bppMaxTxSize :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Word32
bppMaxBHSize :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Word16
bppKeyDeposit :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Coin
bppPoolDeposit :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Coin
bppEMax :: forall (f :: * -> *) era.
BabbagePParams f era -> HKD f EpochInterval
bppNOpt :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Word16
bppA0 :: forall (f :: * -> *) era.
BabbagePParams f era -> HKD f NonNegativeInterval
bppRho :: forall (f :: * -> *) era.
BabbagePParams f era -> HKD f UnitInterval
bppTau :: forall (f :: * -> *) era.
BabbagePParams f era -> HKD f UnitInterval
bppProtocolVersion :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f ProtVer
bppMinPoolCost :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Coin
bppCoinsPerUTxOByte :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f CoinPerByte
bppCostModels :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f CostModels
bppPrices :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Prices
bppMaxTxExUnits :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f OrdExUnits
bppMaxBlockExUnits :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f OrdExUnits
bppMaxValSize :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Natural
bppCollateralPercentage :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Natural
bppMaxCollateralInputs :: forall (f :: * -> *) era. BabbagePParams f era -> HKD f Natural
..} =
ConwayPParams
{ cppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA = HKD f Coin -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
bppMinFeeA
, cppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB = HKD f Coin -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
bppMinFeeB
, cppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize = HKD f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Word32
bppMaxBBSize
, cppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize = HKD f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Word32
bppMaxTxSize
, cppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize = HKD f Word16
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Word16
bppMaxBHSize
, cppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit = HKD f Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
bppKeyDeposit
, cppPoolDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit = HKD f Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
bppPoolDeposit
, cppEMax :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax = HKD f EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f EpochInterval
bppEMax
, cppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt = HKD f Word16
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Word16
bppNOpt
, cppA0 :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0 = HKD f NonNegativeInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f NonNegativeInterval
bppA0
, cppRho :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho = HKD f UnitInterval
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f UnitInterval
bppRho
, cppTau :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau = HKD f UnitInterval
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f UnitInterval
bppTau
, cppProtocolVersion :: HKDNoUpdate f ProtVer
cppProtocolVersion = forall (f :: * -> *) a. HKDFunctor f => HKD f a -> HKDNoUpdate f a
toNoUpdate @f @ProtVer HKD f ProtVer
bppProtocolVersion
, cppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost = HKD f Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
bppMinPoolCost
, cppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte = HKD f CoinPerByte
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f CoinPerByte
bppCoinsPerUTxOByte
, cppCostModels :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels =
HKD f CostModels
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (HKD f CostModels
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels)
-> HKD f CostModels
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
forall a b. (a -> b) -> a -> b
$
forall (f :: * -> *) a b c.
HKDApplicative f =>
(a -> b -> c) -> HKD f a -> HKD f b -> HKD f c
hkdLiftA2 @f
CostModels -> CostModels -> CostModels
updateCostModels
HKD f CostModels
bppCostModels
( Proxy f
-> (CostModel -> CostModels) -> HKD f CostModel -> HKD f CostModels
forall (f :: * -> *) (proxy :: (* -> *) -> *) a b.
HKDFunctor f =>
proxy f -> (a -> b) -> HKD f a -> HKD f b
forall (proxy :: (* -> *) -> *) a b.
proxy f -> (a -> b) -> HKD f a -> HKD f b
hkdMap
(forall {k} (t :: k). Proxy t
forall (t :: * -> *). Proxy t
Proxy @f)
(Map Language CostModel -> CostModels
mkCostModels (Map Language CostModel -> CostModels)
-> (CostModel -> Map Language CostModel) -> CostModel -> CostModels
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Language -> CostModel -> Map Language CostModel
forall k a. k -> a -> Map k a
Map.singleton Language
PlutusV3)
HKD f CostModel
ucppPlutusV3CostModel
)
, cppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices = HKD f Prices
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Prices
bppPrices
, cppMaxTxExUnits :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits = HKD f OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f OrdExUnits
bppMaxTxExUnits
, cppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits = HKD f OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f OrdExUnits
bppMaxBlockExUnits
, cppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize =
HKD f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (forall (f :: * -> *) i b.
(HKDFunctor f, Integral i, Integral b, Bounded b, HasCallStack) =>
HKD f i -> HKD f b
asBoundedIntegralHKD @f @Natural @Word32 HKD f Natural
bppMaxValSize)
, cppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage =
HKD f Word16
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (forall (f :: * -> *) i b.
(HKDFunctor f, Integral i, Integral b, Bounded b, HasCallStack) =>
HKD f i -> HKD f b
asBoundedIntegralHKD @f @Natural @Word16 HKD f Natural
bppCollateralPercentage)
, cppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs =
HKD f Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (forall (f :: * -> *) i b.
(HKDFunctor f, Integral i, Integral b, Bounded b, HasCallStack) =>
HKD f i -> HKD f b
asBoundedIntegralHKD @f @Natural @Word16 HKD f Natural
bppMaxCollateralInputs)
,
cppPoolVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds = HKD f PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f PoolVotingThresholds
ucppPoolVotingThresholds
, cppDRepVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds = HKD f DRepVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f DRepVotingThresholds
ucppDRepVotingThresholds
, cppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize = HKD f Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Word16
ucppCommitteeMinSize
, cppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength = HKD f EpochInterval
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f EpochInterval
ucppCommitteeMaxTermLength
, cppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime = HKD f EpochInterval
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f EpochInterval
ucppGovActionLifetime
, cppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit = HKD f Coin -> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
ucppGovActionDeposit
, cppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepDeposit = HKD f Coin -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f Coin
ucppDRepDeposit
, cppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity = HKD f EpochInterval
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f EpochInterval
ucppDRepActivity
, cppMinFeeRefScriptCostPerByte :: THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte = HKD f NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f NonNegativeInterval
ucppMinFeeRefScriptCostPerByte
}
downgradeConwayPParams ::
forall f.
HKDFunctor f =>
ConwayPParams f ConwayEra ->
PParamsHKD f BabbageEra
downgradeConwayPParams :: forall (f :: * -> *).
HKDFunctor f =>
ConwayPParams f ConwayEra -> PParamsHKD f BabbageEra
downgradeConwayPParams ConwayPParams {HKDNoUpdate f ProtVer
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppMinFeeA :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMaxBBSize :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBHSize :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppKeyDeposit :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppEMax :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppNOpt :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppA0 :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppRho :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppProtocolVersion :: forall (f :: * -> *) era.
ConwayPParams f era -> HKDNoUpdate f ProtVer
cppMinPoolCost :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppCoinsPerUTxOByte :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCostModels :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppPrices :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppMaxTxExUnits :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxBlockExUnits :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxValSize :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppCollateralPercentage :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppPoolVotingThresholds :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppDRepVotingThresholds :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppCommitteeMinSize :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMaxTermLength :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionDeposit :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppDRepDeposit :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepActivity :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppMinFeeRefScriptCostPerByte :: forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppEMax :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppA0 :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppRho :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppProtocolVersion :: HKDNoUpdate f ProtVer
cppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCostModels :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppMaxTxExUnits :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppPoolVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppDRepVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppMinFeeRefScriptCostPerByte :: THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
..} =
BabbagePParams
{ bppMinFeeA :: HKD f Coin
bppMinFeeA = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin -> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA
, bppMinFeeB :: HKD f Coin
bppMinFeeB = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin -> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB
, bppMaxBBSize :: HKD f Word32
bppMaxBBSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize
, bppMaxTxSize :: HKD f Word32
bppMaxTxSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize
, bppMaxBHSize :: HKD f Word16
bppMaxBHSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize
, bppKeyDeposit :: HKD f Coin
bppKeyDeposit = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit
, bppPoolDeposit :: HKD f Coin
bppPoolDeposit = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit
, bppEMax :: HKD f EpochInterval
bppEMax = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
-> HKD f EpochInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax
, bppNOpt :: HKD f Word16
bppNOpt = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt
, bppA0 :: HKD f NonNegativeInterval
bppA0 = THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
-> HKD f NonNegativeInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0
, bppRho :: HKD f UnitInterval
bppRho = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKD f UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho
, bppTau :: HKD f UnitInterval
bppTau = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKD f UnitInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau
, bppProtocolVersion :: HKD f ProtVer
bppProtocolVersion = forall (f :: * -> *) a. HKDFunctor f => HKDNoUpdate f a -> HKD f a
fromNoUpdate @f @ProtVer HKDNoUpdate f ProtVer
cppProtocolVersion
, bppMinPoolCost :: HKD f Coin
bppMinPoolCost = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> HKD f Coin
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost
, bppCoinsPerUTxOByte :: HKD f CoinPerByte
bppCoinsPerUTxOByte = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
-> HKD f CoinPerByte
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte
, bppCostModels :: HKD f CostModels
bppCostModels = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
-> HKD f CostModels
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels
, bppPrices :: HKD f Prices
bppPrices = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
-> HKD f Prices
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices
, bppMaxTxExUnits :: HKD f OrdExUnits
bppMaxTxExUnits = THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
-> HKD f OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits
, bppMaxBlockExUnits :: HKD f OrdExUnits
bppMaxBlockExUnits = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
-> HKD f OrdExUnits
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits
, bppMaxValSize :: HKD f Natural
bppMaxValSize = forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word32 (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> HKD f Word32
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize)
, bppCollateralPercentage :: HKD f Natural
bppCollateralPercentage = forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word16 (THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage)
, bppMaxCollateralInputs :: HKD f Natural
bppMaxCollateralInputs = forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD @f @Word16 (THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
-> HKD f Word16
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs)
}
conwayApplyPPUpdates ::
ConwayPParams Identity era ->
ConwayPParams StrictMaybe era ->
ConwayPParams Identity era
conwayApplyPPUpdates :: forall era.
ConwayPParams Identity era
-> ConwayPParams StrictMaybe era -> ConwayPParams Identity era
conwayApplyPPUpdates ConwayPParams Identity era
pp ConwayPParams StrictMaybe era
ppu =
ConwayPParams
{ cppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
cppMinFeeA = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA ConwayPParams StrictMaybe era
ppu)
, cppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
cppMinFeeB = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB ConwayPParams StrictMaybe era
ppu)
, cppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
cppMaxBBSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize ConwayPParams StrictMaybe era
ppu)
, cppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
cppMaxTxSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize ConwayPParams StrictMaybe era
ppu)
, cppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
cppMaxBHSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize ConwayPParams StrictMaybe era
ppu)
, cppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
cppKeyDeposit = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit ConwayPParams StrictMaybe era
ppu)
, cppPoolDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
cppPoolDeposit = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppPoolDeposit ConwayPParams StrictMaybe era
ppu)
, cppEMax :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
cppEMax = THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax ConwayPParams StrictMaybe era
ppu)
, cppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
cppNOpt = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt ConwayPParams StrictMaybe era
ppu)
, cppA0 :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
cppA0 = THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0 ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0 ConwayPParams StrictMaybe era
ppu)
, cppRho :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
cppRho = THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho ConwayPParams StrictMaybe era
ppu)
, cppTau :: THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
cppTau = THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau ConwayPParams StrictMaybe era
ppu)
, cppProtocolVersion :: HKDNoUpdate Identity ProtVer
cppProtocolVersion = ConwayPParams Identity era -> HKDNoUpdate Identity ProtVer
forall (f :: * -> *) era.
ConwayPParams f era -> HKDNoUpdate f ProtVer
cppProtocolVersion ConwayPParams Identity era
pp
, cppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
cppMinPoolCost = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost ConwayPParams StrictMaybe era
ppu)
, cppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
cppCoinsPerUTxOByte = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte ConwayPParams StrictMaybe era
ppu)
, cppCostModels :: THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
cppCostModels = THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (f :: PPGroups).
THKD f Identity CostModels
-> THKD f StrictMaybe CostModels -> THKD f Identity CostModels
ppUpdateCostModels (ConwayPParams Identity era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels ConwayPParams StrictMaybe era
ppu)
, cppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
cppPrices = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices ConwayPParams StrictMaybe era
ppu)
, cppMaxTxExUnits :: THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
cppMaxTxExUnits = THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits ConwayPParams StrictMaybe era
ppu)
, cppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
cppMaxBlockExUnits = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits ConwayPParams StrictMaybe era
ppu)
, cppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
cppMaxValSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize ConwayPParams StrictMaybe era
ppu)
, cppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
cppCollateralPercentage = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage ConwayPParams StrictMaybe era
ppu)
, cppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
cppMaxCollateralInputs = THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs ConwayPParams StrictMaybe era
ppu)
, cppPoolVotingThresholds :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
cppPoolVotingThresholds = THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds ConwayPParams StrictMaybe era
ppu)
, cppDRepVotingThresholds :: THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
cppDRepVotingThresholds = THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds ConwayPParams StrictMaybe era
ppu)
, cppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
cppCommitteeMinSize = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize ConwayPParams StrictMaybe era
ppu)
, cppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
cppCommitteeMaxTermLength =
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength ConwayPParams StrictMaybe era
ppu)
, cppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
cppGovActionLifetime = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime ConwayPParams StrictMaybe era
ppu)
, cppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
cppGovActionDeposit = THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit ConwayPParams StrictMaybe era
ppu)
, cppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
cppDRepDeposit = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepDeposit ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
cppDRepDeposit ConwayPParams StrictMaybe era
ppu)
, cppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
cppDRepActivity = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity ConwayPParams StrictMaybe era
ppu)
, cppMinFeeRefScriptCostPerByte :: THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
cppMinFeeRefScriptCostPerByte =
THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (ConwayPParams Identity era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte ConwayPParams Identity era
pp) (ConwayPParams StrictMaybe era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
forall (f :: * -> *) era.
ConwayPParams f era
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte ConwayPParams StrictMaybe era
ppu)
}
where
ppUpdate ::
THKD f Identity a ->
THKD f StrictMaybe a ->
THKD f Identity a
ppUpdate :: forall (f :: PPGroups) a.
THKD f Identity a -> THKD f StrictMaybe a -> THKD f Identity a
ppUpdate (THKD HKD Identity a
ppCurValue) (THKD HKD StrictMaybe a
ppuValue) =
case HKD StrictMaybe a
ppuValue of
StrictMaybe a
HKD StrictMaybe a
SNothing -> HKD Identity a -> THKD f Identity a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity a
ppCurValue
SJust a
ppNewValue -> HKD Identity a -> THKD f Identity a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD a
HKD Identity a
ppNewValue
ppUpdateCostModels ::
THKD f Identity CostModels ->
THKD f StrictMaybe CostModels ->
THKD f Identity CostModels
ppUpdateCostModels :: forall (f :: PPGroups).
THKD f Identity CostModels
-> THKD f StrictMaybe CostModels -> THKD f Identity CostModels
ppUpdateCostModels (THKD HKD Identity CostModels
curCostModel) (THKD HKD StrictMaybe CostModels
ppuCostModel) =
case HKD StrictMaybe CostModels
ppuCostModel of
StrictMaybe CostModels
HKD StrictMaybe CostModels
SNothing -> HKD Identity CostModels -> THKD f Identity CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity CostModels
curCostModel
SJust CostModels
costModelUpdate -> HKD Identity CostModels -> THKD f Identity CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (HKD Identity CostModels -> THKD f Identity CostModels)
-> HKD Identity CostModels -> THKD f Identity CostModels
forall a b. (a -> b) -> a -> b
$ CostModels -> CostModels -> CostModels
updateCostModels CostModels
HKD Identity CostModels
curCostModel CostModels
costModelUpdate
conwayModifiedPPGroups :: ConwayPParams StrictMaybe era -> Set PPGroups
conwayModifiedPPGroups :: forall era. ConwayPParams StrictMaybe era -> Set PPGroups
conwayModifiedPPGroups
( ConwayPParams
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
p01
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
p02
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
p03
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
p04
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
p05
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
p06
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
p07
THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
p08
THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
p09
THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
p10
THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
p11
THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
p12
HKDNoUpdate StrictMaybe ProtVer
_protocolVersion
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
p14
THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
p15
THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
p16
THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
p17
THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
p18
THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
p19
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
p20
THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
p21
THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
p22
THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
p23
THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
p24
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
p25
THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
p26
THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
p27
THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
p28
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
p29
THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
p30
THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
p31
) =
[Set PPGroups] -> Set PPGroups
forall a. Monoid a => [a] -> a
mconcat
[ THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
p01
, THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
p02
, THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
p03
, THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
p04
, THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
p05
, THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
p06
, THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
p07
, THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
p08
, THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
p09
, THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
p10
, THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
p11
, THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
p12
, THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
p14
, THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
p15
, THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
p16
, THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
p17
, THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
p18
, THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
p19
, THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
p20
, THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
p21
, THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
p22
, THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
p23
, THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
p24
, THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
p25
, THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
p26
, THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
p27
, THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
p28
, THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
p29
, THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
p30
, THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> Set PPGroups
forall (t :: DRepGroup) (s :: StakePoolGroup) a.
(ToDRepGroup t, ToStakePoolGroup s) =>
THKD ('PPGroups t s) StrictMaybe a -> Set PPGroups
ppGroup THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
p31
]
asNaturalHKD :: forall f i. (HKDFunctor f, Integral i) => HKD f i -> HKD f Natural
asNaturalHKD :: forall (f :: * -> *) i.
(HKDFunctor f, Integral i) =>
HKD f i -> HKD f Natural
asNaturalHKD = Proxy f -> (i -> Natural) -> HKD f i -> HKD f Natural
forall (f :: * -> *) (proxy :: (* -> *) -> *) a b.
HKDFunctor f =>
proxy f -> (a -> b) -> HKD f a -> HKD f b
forall (proxy :: (* -> *) -> *) a b.
proxy f -> (a -> b) -> HKD f a -> HKD f b
hkdMap (forall {k} (t :: k). Proxy t
forall (t :: * -> *). Proxy t
Proxy @f) (forall a b. (Integral a, Num b) => a -> b
fromIntegral @i @Natural)
asBoundedIntegralHKD ::
forall f i b.
(HKDFunctor f, Integral i, Integral b, Bounded b, HasCallStack) =>
HKD f i ->
HKD f b
asBoundedIntegralHKD :: forall (f :: * -> *) i b.
(HKDFunctor f, Integral i, Integral b, Bounded b, HasCallStack) =>
HKD f i -> HKD f b
asBoundedIntegralHKD = Proxy f -> (i -> b) -> HKD f i -> HKD f b
forall (f :: * -> *) (proxy :: (* -> *) -> *) a b.
HKDFunctor f =>
proxy f -> (a -> b) -> HKD f a -> HKD f b
forall (proxy :: (* -> *) -> *) a b.
proxy f -> (a -> b) -> HKD f a -> HKD f b
hkdMap (forall {k} (t :: k). Proxy t
forall (t :: * -> *). Proxy t
Proxy @f) ((i -> b) -> HKD f i -> HKD f b) -> (i -> b) -> HKD f i -> HKD f b
forall a b. (a -> b) -> a -> b
$ \i
x ->
case forall i b (m :: * -> *).
(Integral i, Integral b, Bounded b, MonadFail m) =>
i -> m b
integralToBounded @i @b @Maybe i
x of
Just b
b -> b
b
Maybe b
Nothing ->
String -> b
forall a. HasCallStack => String -> a
error (String -> b) -> String -> b
forall a b. (a -> b) -> a -> b
$
String
"Value: "
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> Integer -> String
forall a. Show a => a -> String
show (i -> Integer
forall a. Integral a => a -> Integer
toInteger i
x)
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
" is out of the valid range: ["
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> Integer -> String
forall a. Show a => a -> String
show (b -> Integer
forall a. Integral a => a -> Integer
toInteger (forall a. Bounded a => a
minBound @b))
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
","
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> Integer -> String
forall a. Show a => a -> String
show (b -> Integer
forall a. Integral a => a -> Integer
toInteger (forall a. Bounded a => a
maxBound @b))
String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
"]"
ppPoolVotingThresholds :: ConwayEraPParams era => PParam era
ppPoolVotingThresholds :: forall era. ConwayEraPParams era => PParam era
ppPoolVotingThresholds =
PParam
{ ppName :: Text
ppName = Text
"poolVotingThresholds"
, ppLens :: Lens' (PParams era) PoolVotingThresholds
ppLens = (PoolVotingThresholds -> f PoolVotingThresholds)
-> PParams era -> f (PParams era)
forall era.
ConwayEraPParams era =>
Lens' (PParams era) PoolVotingThresholds
Lens' (PParams era) PoolVotingThresholds
ppPoolVotingThresholdsL
, ppUpdate :: Maybe (PParamUpdate era PoolVotingThresholds)
ppUpdate = PParamUpdate era PoolVotingThresholds
-> Maybe (PParamUpdate era PoolVotingThresholds)
forall a. a -> Maybe a
Just (PParamUpdate era PoolVotingThresholds
-> Maybe (PParamUpdate era PoolVotingThresholds))
-> PParamUpdate era PoolVotingThresholds
-> Maybe (PParamUpdate era PoolVotingThresholds)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe PoolVotingThresholds)
-> PParamUpdate era PoolVotingThresholds
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
25 (StrictMaybe PoolVotingThresholds
-> f (StrictMaybe PoolVotingThresholds))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe PoolVotingThresholds)
Lens' (PParamsUpdate era) (StrictMaybe PoolVotingThresholds)
ppuPoolVotingThresholdsL
}
ppDRepVotingThresholds :: ConwayEraPParams era => PParam era
ppDRepVotingThresholds :: forall era. ConwayEraPParams era => PParam era
ppDRepVotingThresholds =
PParam
{ ppName :: Text
ppName = Text
"dRepVotingThresholds"
, ppLens :: Lens' (PParams era) DRepVotingThresholds
ppLens = (DRepVotingThresholds -> f DRepVotingThresholds)
-> PParams era -> f (PParams era)
forall era.
ConwayEraPParams era =>
Lens' (PParams era) DRepVotingThresholds
Lens' (PParams era) DRepVotingThresholds
ppDRepVotingThresholdsL
, ppUpdate :: Maybe (PParamUpdate era DRepVotingThresholds)
ppUpdate = PParamUpdate era DRepVotingThresholds
-> Maybe (PParamUpdate era DRepVotingThresholds)
forall a. a -> Maybe a
Just (PParamUpdate era DRepVotingThresholds
-> Maybe (PParamUpdate era DRepVotingThresholds))
-> PParamUpdate era DRepVotingThresholds
-> Maybe (PParamUpdate era DRepVotingThresholds)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe DRepVotingThresholds)
-> PParamUpdate era DRepVotingThresholds
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
26 (StrictMaybe DRepVotingThresholds
-> f (StrictMaybe DRepVotingThresholds))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe DRepVotingThresholds)
Lens' (PParamsUpdate era) (StrictMaybe DRepVotingThresholds)
ppuDRepVotingThresholdsL
}
ppCommitteeMinSize :: ConwayEraPParams era => PParam era
ppCommitteeMinSize :: forall era. ConwayEraPParams era => PParam era
ppCommitteeMinSize =
PParam
{ ppName :: Text
ppName = Text
"committeeMinSize"
, ppLens :: Lens' (PParams era) Natural
ppLens = (Natural -> f Natural) -> PParams era -> f (PParams era)
forall era. ConwayEraPParams era => Lens' (PParams era) Natural
Lens' (PParams era) Natural
ppCommitteeMinSizeL
, ppUpdate :: Maybe (PParamUpdate era Natural)
ppUpdate = PParamUpdate era Natural -> Maybe (PParamUpdate era Natural)
forall a. a -> Maybe a
Just (PParamUpdate era Natural -> Maybe (PParamUpdate era Natural))
-> PParamUpdate era Natural -> Maybe (PParamUpdate era Natural)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe Natural)
-> PParamUpdate era Natural
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
27 (StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Natural)
Lens' (PParamsUpdate era) (StrictMaybe Natural)
ppuCommitteeMinSizeL
}
ppCommitteeMaxTermLength :: ConwayEraPParams era => PParam era
ppCommitteeMaxTermLength :: forall era. ConwayEraPParams era => PParam era
ppCommitteeMaxTermLength =
PParam
{ ppName :: Text
ppName = Text
"committeeMaxTermLength"
, ppLens :: Lens' (PParams era) EpochInterval
ppLens = (EpochInterval -> f EpochInterval)
-> PParams era -> f (PParams era)
forall era.
ConwayEraPParams era =>
Lens' (PParams era) EpochInterval
Lens' (PParams era) EpochInterval
ppCommitteeMaxTermLengthL
, ppUpdate :: Maybe (PParamUpdate era EpochInterval)
ppUpdate = PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval)
forall a. a -> Maybe a
Just (PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval))
-> PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
-> PParamUpdate era EpochInterval
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
28 (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuCommitteeMaxTermLengthL
}
ppGovActionLifetime :: ConwayEraPParams era => PParam era
ppGovActionLifetime :: forall era. ConwayEraPParams era => PParam era
ppGovActionLifetime =
PParam
{ ppName :: Text
ppName = Text
"govActionLifetime"
, ppLens :: Lens' (PParams era) EpochInterval
ppLens = (EpochInterval -> f EpochInterval)
-> PParams era -> f (PParams era)
forall era.
ConwayEraPParams era =>
Lens' (PParams era) EpochInterval
Lens' (PParams era) EpochInterval
ppGovActionLifetimeL
, ppUpdate :: Maybe (PParamUpdate era EpochInterval)
ppUpdate = PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval)
forall a. a -> Maybe a
Just (PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval))
-> PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
-> PParamUpdate era EpochInterval
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
29 (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuGovActionLifetimeL
}
ppGovActionDeposit :: ConwayEraPParams era => PParam era
ppGovActionDeposit :: forall era. ConwayEraPParams era => PParam era
ppGovActionDeposit =
PParam
{ ppName :: Text
ppName = Text
"govActionDeposit"
, ppLens :: Lens' (PParams era) Coin
ppLens = (Coin -> f Coin) -> PParams era -> f (PParams era)
forall era. ConwayEraPParams era => Lens' (PParams era) Coin
Lens' (PParams era) Coin
ppGovActionDepositL
, ppUpdate :: Maybe (PParamUpdate era Coin)
ppUpdate = PParamUpdate era Coin -> Maybe (PParamUpdate era Coin)
forall a. a -> Maybe a
Just (PParamUpdate era Coin -> Maybe (PParamUpdate era Coin))
-> PParamUpdate era Coin -> Maybe (PParamUpdate era Coin)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe Coin)
-> PParamUpdate era Coin
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
30 (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate era) (StrictMaybe Coin)
ppuGovActionDepositL
}
ppDRepDeposit :: ConwayEraPParams era => PParam era
ppDRepDeposit :: forall era. ConwayEraPParams era => PParam era
ppDRepDeposit =
PParam
{ ppName :: Text
ppName = Text
"dRepDeposit"
, ppLens :: Lens' (PParams era) Coin
ppLens = (Coin -> f Coin) -> PParams era -> f (PParams era)
forall era. ConwayEraPParams era => Lens' (PParams era) Coin
Lens' (PParams era) Coin
ppDRepDepositL
, ppUpdate :: Maybe (PParamUpdate era Coin)
ppUpdate = PParamUpdate era Coin -> Maybe (PParamUpdate era Coin)
forall a. a -> Maybe a
Just (PParamUpdate era Coin -> Maybe (PParamUpdate era Coin))
-> PParamUpdate era Coin -> Maybe (PParamUpdate era Coin)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe Coin)
-> PParamUpdate era Coin
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
31 (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate era) (StrictMaybe Coin)
ppuDRepDepositL
}
ppDRepActivity :: ConwayEraPParams era => PParam era
ppDRepActivity :: forall era. ConwayEraPParams era => PParam era
ppDRepActivity =
PParam
{ ppName :: Text
ppName = Text
"dRepActivity"
, ppLens :: Lens' (PParams era) EpochInterval
ppLens = (EpochInterval -> f EpochInterval)
-> PParams era -> f (PParams era)
forall era.
ConwayEraPParams era =>
Lens' (PParams era) EpochInterval
Lens' (PParams era) EpochInterval
ppDRepActivityL
, ppUpdate :: Maybe (PParamUpdate era EpochInterval)
ppUpdate = PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval)
forall a. a -> Maybe a
Just (PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval))
-> PParamUpdate era EpochInterval
-> Maybe (PParamUpdate era EpochInterval)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
-> PParamUpdate era EpochInterval
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
32 (StrictMaybe EpochInterval -> f (StrictMaybe EpochInterval))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
ppuDRepActivityL
}
ppMinFeeRefScriptCostPerByte :: ConwayEraPParams era => PParam era
ppMinFeeRefScriptCostPerByte :: forall era. ConwayEraPParams era => PParam era
ppMinFeeRefScriptCostPerByte =
PParam
{ ppName :: Text
ppName = Text
"minFeeRefScriptCostPerByte"
, ppLens :: Lens' (PParams era) NonNegativeInterval
ppLens = (NonNegativeInterval -> f NonNegativeInterval)
-> PParams era -> f (PParams era)
forall era.
ConwayEraPParams era =>
Lens' (PParams era) NonNegativeInterval
Lens' (PParams era) NonNegativeInterval
ppMinFeeRefScriptCostPerByteL
, ppUpdate :: Maybe (PParamUpdate era NonNegativeInterval)
ppUpdate = PParamUpdate era NonNegativeInterval
-> Maybe (PParamUpdate era NonNegativeInterval)
forall a. a -> Maybe a
Just (PParamUpdate era NonNegativeInterval
-> Maybe (PParamUpdate era NonNegativeInterval))
-> PParamUpdate era NonNegativeInterval
-> Maybe (PParamUpdate era NonNegativeInterval)
forall a b. (a -> b) -> a -> b
$ Word
-> Lens' (PParamsUpdate era) (StrictMaybe NonNegativeInterval)
-> PParamUpdate era NonNegativeInterval
forall era t.
Word
-> Lens' (PParamsUpdate era) (StrictMaybe t) -> PParamUpdate era t
PParamUpdate Word
33 (StrictMaybe NonNegativeInterval
-> f (StrictMaybe NonNegativeInterval))
-> PParamsUpdate era -> f (PParamsUpdate era)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe NonNegativeInterval)
Lens' (PParamsUpdate era) (StrictMaybe NonNegativeInterval)
ppuMinFeeRefScriptCostPerByteL
}
ppGovProtocolVersion :: ConwayEraPParams era => PParam era
ppGovProtocolVersion :: forall era. ConwayEraPParams era => PParam era
ppGovProtocolVersion =
PParam
{ ppName :: Text
ppName = Text
"protocolVersion"
, ppLens :: Lens' (PParams era) ProtVer
ppLens = (ProtVer -> f ProtVer) -> PParams era -> f (PParams era)
forall era. EraPParams era => Lens' (PParams era) ProtVer
Lens' (PParams era) ProtVer
ppProtocolVersionL
, ppUpdate :: Maybe (PParamUpdate era ProtVer)
ppUpdate = Maybe (PParamUpdate era ProtVer)
forall a. Maybe a
Nothing
}