{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Dijkstra.PParams (
  DijkstraPParams (..),
  DijkstraEraPParams (..),
  UpgradeDijkstraPParams (..),
  -- Lenses
  ppRefScriptCostMultiplierL,
  ppRefScriptCostStrideL,
  ppMaxRefScriptSizePerTxL,
  ppMaxRefScriptSizePerBlockL,
  ppuRefScriptCostMultiplierL,
  ppuRefScriptCostStrideL,
  ppuMaxRefScriptSizePerTxL,
  ppuMaxRefScriptSizePerBlockL,
) where

import Cardano.Ledger.Alonzo.PParams
import Cardano.Ledger.Babbage.PParams
import Cardano.Ledger.BaseTypes (
  EpochInterval (..),
  NonNegativeInterval,
  NonZero,
  PositiveInterval,
  ProtVer (..),
  StrictMaybe (..),
  ToKeyValuePairs (..),
  UnitInterval,
  knownNonZeroBounded,
 )
import Cardano.Ledger.Binary (DecCBOR (..), EncCBOR (..))
import Cardano.Ledger.Binary.Coders (Decode (..), Encode (..), decode, encode, (!>), (<!))
import Cardano.Ledger.Coin (Coin (..), CompactForm (..))
import Cardano.Ledger.Conway (ConwayEra)
import Cardano.Ledger.Conway.PParams
import Cardano.Ledger.Core
import Cardano.Ledger.Dijkstra.Era (DijkstraEra)
import Cardano.Ledger.HKD (HKDFunctor (..), HKDNoUpdate, NoUpdate (..))
import Cardano.Ledger.Plutus (
  CostModels,
  ExUnits (..),
  Prices (..),
  emptyCostModels,
  updateCostModels,
 )
import Cardano.Ledger.Shelley.PParams
import Cardano.Ledger.Val (Val (..))
import Control.DeepSeq (NFData)
import Data.Aeson (FromJSON, Key, ToJSON (..), withObject, (.:), (.=))
import qualified Data.Aeson as Aeson
import Data.Data (Proxy (..))
import Data.Default (Default (..))
import Data.Functor.Identity (Identity)
import Data.Word (Word16, Word32)
import GHC.Generics (Generic)
import Lens.Micro (Lens', lens, to, (^.))
import NoThunks.Class (NoThunks)
import Numeric.Natural (Natural)

-- | Dijkstra Protocol parameters. The following parameters have been added since Dijkstra:
-- * @maxRefScriptSizePerBlock@
-- * @maxRefScriptSizePerTx@
-- * @refScriptCostStride@
-- * @refScriptCostMultiplier@
data DijkstraPParams f era = DijkstraPParams
  { forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeA :: !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
  -- ^ The linear factor for the minimum fee calculation
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB :: !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
  -- ^ The constant factor for the minimum fee calculation
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBBSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
  -- ^ Maximal block body size
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
  -- ^ Maximal transaction size
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppMaxBHSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16)
  -- ^ Maximal block header size
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppKeyDeposit :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
  -- ^ The amount of a key registration deposit
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppPoolDeposit :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin))
  -- ^ The amount of a pool registration deposit
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppEMax :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval)
  -- ^ Maximum number of epochs in the future a pool retirement is allowed to
  -- be scheduled for.
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppNOpt :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
  -- ^ Desired number of pools
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppA0 :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval)
  -- ^ Pool influence
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppRho :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
  -- ^ Monetary expansion
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
  -- ^ Treasury expansion
  , forall (f :: * -> *) era.
DijkstraPParams f era -> HKDNoUpdate f ProtVer
dppProtocolVersion :: !(HKDNoUpdate f ProtVer)
  -- ^ Protocol version
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppMinPoolCost :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
  -- ^ Minimum Stake Pool Cost
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCoinsPerUTxOByte :: !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte)
  -- ^ Cost in lovelace per byte of UTxO storage
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels)
  -- ^ Cost models for non-native script languages
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppPrices :: !(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices)
  -- ^ Prices of execution units (for non-native script languages)
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxTxExUnits :: !(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits)
  -- ^ Max total script execution resources units allowed per tx
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxBlockExUnits :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits)
  -- ^ Max total script execution resources units allowed per block
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxValSize :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
  -- ^ Max size of a Value in an output
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppCollateralPercentage :: !(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
  -- ^ Percentage of the txfee which must be provided as collateral when
  -- including non-native scripts.
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs :: !(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16)
  -- ^ Maximum number of collateral inputs allowed in a transaction
  , -- New ones for Dijkstra:
    forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppPoolVotingThresholds :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds)
  -- ^ Thresholds for SPO votes
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppDRepVotingThresholds :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds)
  -- ^ Thresholds for DRep votes
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMinSize :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16)
  -- ^ Minimum size of the Constitutional Committee
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppCommitteeMaxTermLength :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
  -- ^ The Constitutional Committee Term limit in number of Slots
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
  -- ^ Gov action lifetime in number of Epochs
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppGovActionDeposit :: !(THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin)
  -- ^ The amount of the Gov Action deposit
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepDeposit :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin))
  -- ^ The amount of a DRep registration deposit
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppDRepActivity :: !(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
  -- ^ The number of Epochs that a DRep can perform no activity without losing their @Active@ status.
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMinFeeRefScriptCostPerByte ::
      !(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval)
  -- ^ Reference scripts fee for the minimum fee calculation
  -- TODO ensure that the groups here make sense
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerBlock :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
  -- ^ Limit on the total number of bytes of all reference scripts combined from
  -- all transactions within a block.
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerTx :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
  -- ^ Limit on the total number of bytes of reference scripts that a transaction can use.
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
dppRefScriptCostStride :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32))
  , forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
dppRefScriptCostMultiplier :: !(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval)
  }
  deriving ((forall x. DijkstraPParams f era -> Rep (DijkstraPParams f era) x)
-> (forall x.
    Rep (DijkstraPParams f era) x -> DijkstraPParams f era)
-> Generic (DijkstraPParams f era)
forall x. Rep (DijkstraPParams f era) x -> DijkstraPParams f era
forall x. DijkstraPParams f era -> Rep (DijkstraPParams f era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) era x.
Rep (DijkstraPParams f era) x -> DijkstraPParams f era
forall (f :: * -> *) era x.
DijkstraPParams f era -> Rep (DijkstraPParams f era) x
$cfrom :: forall (f :: * -> *) era x.
DijkstraPParams f era -> Rep (DijkstraPParams f era) x
from :: forall x. DijkstraPParams f era -> Rep (DijkstraPParams f era) x
$cto :: forall (f :: * -> *) era x.
Rep (DijkstraPParams f era) x -> DijkstraPParams f era
to :: forall x. Rep (DijkstraPParams f era) x -> DijkstraPParams f era
Generic)

dijkstraApplyPPUpdates ::
  forall era.
  DijkstraPParams Identity era ->
  DijkstraPParams StrictMaybe era ->
  DijkstraPParams Identity era
dijkstraApplyPPUpdates :: forall era.
DijkstraPParams Identity era
-> DijkstraPParams StrictMaybe era -> DijkstraPParams Identity era
dijkstraApplyPPUpdates DijkstraPParams Identity era
pp DijkstraPParams StrictMaybe era
ppu = do
  DijkstraPParams
    { dppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
dppMinFeeA = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeA
    , dppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
dppMinFeeB = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB
    , dppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxBBSize = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBBSize
    , dppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxTxSize = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize
    , dppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
dppMaxBHSize = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppMaxBHSize
    , dppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
dppKeyDeposit = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppKeyDeposit
    , dppPoolDeposit :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
  Identity
  (CompactForm Coin)
dppPoolDeposit = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin))
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
     Identity
     (CompactForm Coin)
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppPoolDeposit
    , dppEMax :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  Identity
  EpochInterval
dppEMax = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval)
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
     Identity
     EpochInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppEMax
    , dppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
dppNOpt = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppNOpt
    , dppA0 :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  Identity
  NonNegativeInterval
dppA0 = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
      f
      NonNegativeInterval)
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
     Identity
     NonNegativeInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppA0
    , dppRho :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
dppRho = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppRho
    , dppTau :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
dppTau = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau
    , dppProtocolVersion :: HKDNoUpdate Identity ProtVer
dppProtocolVersion = DijkstraPParams Identity era -> HKDNoUpdate Identity ProtVer
forall (f :: * -> *) era.
DijkstraPParams f era -> HKDNoUpdate f ProtVer
dppProtocolVersion DijkstraPParams Identity era
pp
    , dppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
dppMinPoolCost = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppMinPoolCost
    , dppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
dppCoinsPerUTxOByte = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte)
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCoinsPerUTxOByte
    , dppCostModels :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
dppCostModels =
        case DijkstraPParams StrictMaybe era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
     StrictMaybe
     CostModels
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels DijkstraPParams StrictMaybe era
ppu of
          THKD StrictMaybe CostModels
HKD StrictMaybe CostModels
SNothing -> DijkstraPParams Identity era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels DijkstraPParams Identity era
pp
          THKD (SJust CostModels
costModelUpdate) ->
            HKD Identity CostModels
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (HKD Identity CostModels
 -> THKD
      ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels)
-> HKD Identity CostModels
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall a b. (a -> b) -> a -> b
$ CostModels -> CostModels -> CostModels
updateCostModels (THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> HKD Identity CostModels
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (DijkstraPParams Identity era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels DijkstraPParams Identity era
pp)) CostModels
costModelUpdate
    , dppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
dppPrices = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices)
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppPrices
    , dppMaxTxExUnits :: THKD
  ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
dppMaxTxExUnits = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits)
-> THKD
     ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxTxExUnits
    , dppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
dppMaxBlockExUnits = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits)
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxBlockExUnits
    , dppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxValSize = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxValSize
    , dppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
dppCollateralPercentage = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppCollateralPercentage
    , dppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
dppMaxCollateralInputs = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16)
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs
    , dppPoolVotingThresholds :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  Identity
  PoolVotingThresholds
dppPoolVotingThresholds = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup)
     Identity
     PoolVotingThresholds
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppPoolVotingThresholds
    , dppDRepVotingThresholds :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  Identity
  DRepVotingThresholds
dppDRepVotingThresholds = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup)
     Identity
     DRepVotingThresholds
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppDRepVotingThresholds
    , dppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
dppCommitteeMinSize = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16)
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMinSize
    , dppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
dppCommitteeMaxTermLength = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppCommitteeMaxTermLength
    , dppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
dppGovActionLifetime = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime
    , dppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
dppGovActionDeposit = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin)
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppGovActionDeposit
    , dppDRepDeposit :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity (CompactForm Coin)
dppDRepDeposit = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin))
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity (CompactForm Coin)
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepDeposit
    , dppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
dppDRepActivity = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppDRepActivity
    , dppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup)
  Identity
  NonNegativeInterval
dppMinFeeRefScriptCostPerByte = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval)
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup)
     Identity
     NonNegativeInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMinFeeRefScriptCostPerByte
    , dppMaxRefScriptSizePerBlock :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxRefScriptSizePerBlock = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerBlock
    , dppMaxRefScriptSizePerTx :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxRefScriptSizePerTx = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerTx
    , dppRefScriptCostStride :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup) Identity (NonZero Word32)
dppRefScriptCostStride = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32))
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup) Identity (NonZero Word32)
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
dppRefScriptCostStride
    , dppRefScriptCostMultiplier :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup) Identity PositiveInterval
dppRefScriptCostMultiplier = (forall (f :: * -> *).
 DijkstraPParams f era
 -> THKD
      ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval)
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup) Identity PositiveInterval
forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
forall (f :: * -> *).
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
dppRefScriptCostMultiplier
    }
  where
    ppApplyUpdate :: (forall f. DijkstraPParams f era -> THKD g f a) -> THKD g Identity a
    ppApplyUpdate :: forall (g :: PPGroups) a.
(forall (f :: * -> *). DijkstraPParams f era -> THKD g f a)
-> THKD g Identity a
ppApplyUpdate forall (f :: * -> *). DijkstraPParams f era -> THKD g f a
dppGet =
      case DijkstraPParams StrictMaybe era -> THKD g StrictMaybe a
forall (f :: * -> *). DijkstraPParams f era -> THKD g f a
dppGet DijkstraPParams StrictMaybe era
ppu of
        THKD StrictMaybe a
HKD StrictMaybe a
SNothing -> DijkstraPParams Identity era -> THKD g Identity a
forall (f :: * -> *). DijkstraPParams f era -> THKD g f a
dppGet DijkstraPParams Identity era
pp
        THKD (SJust a
ppNewValue) -> HKD Identity a -> THKD g Identity a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD a
HKD Identity a
ppNewValue

deriving instance Eq (DijkstraPParams Identity era)

deriving instance Ord (DijkstraPParams Identity era)

deriving instance Show (DijkstraPParams Identity era)

instance NoThunks (DijkstraPParams Identity era)

instance NFData (DijkstraPParams Identity era)

deriving instance Eq (DijkstraPParams StrictMaybe era)

deriving instance Ord (DijkstraPParams StrictMaybe era)

deriving instance Show (DijkstraPParams StrictMaybe era)

instance NoThunks (DijkstraPParams StrictMaybe era)

instance NFData (DijkstraPParams StrictMaybe era)

data UpgradeDijkstraPParams f era = UpgradeDijkstraPParams
  { forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppMaxRefScriptSizePerBlock :: !(HKD f Word32)
  , forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppMaxRefScriptSizePerTx :: !(HKD f Word32)
  , forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f (NonZero Word32)
udppRefScriptCostStride :: !(HKD f (NonZero Word32))
  , forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f PositiveInterval
udppRefScriptCostMultiplier :: !(HKD f PositiveInterval)
  }
  deriving ((forall x.
 UpgradeDijkstraPParams f era
 -> Rep (UpgradeDijkstraPParams f era) x)
-> (forall x.
    Rep (UpgradeDijkstraPParams f era) x
    -> UpgradeDijkstraPParams f era)
-> Generic (UpgradeDijkstraPParams f era)
forall x.
Rep (UpgradeDijkstraPParams f era) x
-> UpgradeDijkstraPParams f era
forall x.
UpgradeDijkstraPParams f era
-> Rep (UpgradeDijkstraPParams f era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (f :: * -> *) era x.
Rep (UpgradeDijkstraPParams f era) x
-> UpgradeDijkstraPParams f era
forall (f :: * -> *) era x.
UpgradeDijkstraPParams f era
-> Rep (UpgradeDijkstraPParams f era) x
$cfrom :: forall (f :: * -> *) era x.
UpgradeDijkstraPParams f era
-> Rep (UpgradeDijkstraPParams f era) x
from :: forall x.
UpgradeDijkstraPParams f era
-> Rep (UpgradeDijkstraPParams f era) x
$cto :: forall (f :: * -> *) era x.
Rep (UpgradeDijkstraPParams f era) x
-> UpgradeDijkstraPParams f era
to :: forall x.
Rep (UpgradeDijkstraPParams f era) x
-> UpgradeDijkstraPParams f era
Generic)

deriving instance Eq (UpgradeDijkstraPParams Identity era)

deriving instance Show (UpgradeDijkstraPParams Identity era)

instance FromJSON (UpgradeDijkstraPParams Identity era) where
  parseJSON :: Value -> Parser (UpgradeDijkstraPParams Identity era)
parseJSON = String
-> (Object -> Parser (UpgradeDijkstraPParams Identity era))
-> Value
-> Parser (UpgradeDijkstraPParams Identity era)
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"UpgradeDijkstraPParams" ((Object -> Parser (UpgradeDijkstraPParams Identity era))
 -> Value -> Parser (UpgradeDijkstraPParams Identity era))
-> (Object -> Parser (UpgradeDijkstraPParams Identity era))
-> Value
-> Parser (UpgradeDijkstraPParams Identity era)
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Word32
-> Word32
-> NonZero Word32
-> PositiveInterval
-> UpgradeDijkstraPParams Identity era
HKD Identity Word32
-> HKD Identity Word32
-> HKD Identity (NonZero Word32)
-> HKD Identity PositiveInterval
-> UpgradeDijkstraPParams Identity era
forall (f :: * -> *) era.
HKD f Word32
-> HKD f Word32
-> HKD f (NonZero Word32)
-> HKD f PositiveInterval
-> UpgradeDijkstraPParams f era
UpgradeDijkstraPParams
      (Word32
 -> Word32
 -> NonZero Word32
 -> PositiveInterval
 -> UpgradeDijkstraPParams Identity era)
-> Parser Word32
-> Parser
     (Word32
      -> NonZero Word32
      -> PositiveInterval
      -> UpgradeDijkstraPParams Identity era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Key -> Parser Word32
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"maxRefScriptSizePerBlock"
      Parser
  (Word32
   -> NonZero Word32
   -> PositiveInterval
   -> UpgradeDijkstraPParams Identity era)
-> Parser Word32
-> Parser
     (NonZero Word32
      -> PositiveInterval -> UpgradeDijkstraPParams Identity era)
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 Word32
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"maxRefScriptSizePerTx"
      Parser
  (NonZero Word32
   -> PositiveInterval -> UpgradeDijkstraPParams Identity era)
-> Parser (NonZero Word32)
-> Parser (PositiveInterval -> UpgradeDijkstraPParams Identity era)
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 (NonZero Word32)
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"refScriptCostStride"
      Parser (PositiveInterval -> UpgradeDijkstraPParams Identity era)
-> Parser PositiveInterval
-> Parser (UpgradeDijkstraPParams Identity era)
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 PositiveInterval
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"refScriptCostMultiplier"

instance NoThunks (UpgradeDijkstraPParams Identity era)

instance Era era => DecCBOR (UpgradeDijkstraPParams Identity era) where
  decCBOR :: forall s. Decoder s (UpgradeDijkstraPParams Identity era)
decCBOR =
    Decode ('Closed 'Dense) (UpgradeDijkstraPParams Identity era)
-> Decoder s (UpgradeDijkstraPParams Identity era)
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode ('Closed 'Dense) (UpgradeDijkstraPParams Identity era)
 -> Decoder s (UpgradeDijkstraPParams Identity era))
-> Decode ('Closed 'Dense) (UpgradeDijkstraPParams Identity era)
-> Decoder s (UpgradeDijkstraPParams Identity era)
forall a b. (a -> b) -> a -> b
$
      (Word32
 -> Word32
 -> NonZero Word32
 -> PositiveInterval
 -> UpgradeDijkstraPParams Identity era)
-> Decode
     ('Closed 'Dense)
     (Word32
      -> Word32
      -> NonZero Word32
      -> PositiveInterval
      -> UpgradeDijkstraPParams Identity era)
forall t. t -> Decode ('Closed 'Dense) t
RecD Word32
-> Word32
-> NonZero Word32
-> PositiveInterval
-> UpgradeDijkstraPParams Identity era
HKD Identity Word32
-> HKD Identity Word32
-> HKD Identity (NonZero Word32)
-> HKD Identity PositiveInterval
-> UpgradeDijkstraPParams Identity era
forall (f :: * -> *) era.
HKD f Word32
-> HKD f Word32
-> HKD f (NonZero Word32)
-> HKD f PositiveInterval
-> UpgradeDijkstraPParams f era
UpgradeDijkstraPParams
        Decode
  ('Closed 'Dense)
  (Word32
   -> Word32
   -> NonZero Word32
   -> PositiveInterval
   -> UpgradeDijkstraPParams Identity era)
-> Decode ('Closed Any) Word32
-> Decode
     ('Closed 'Dense)
     (Word32
      -> NonZero Word32
      -> PositiveInterval
      -> UpgradeDijkstraPParams Identity era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) Word32
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
        Decode
  ('Closed 'Dense)
  (Word32
   -> NonZero Word32
   -> PositiveInterval
   -> UpgradeDijkstraPParams Identity era)
-> Decode ('Closed Any) Word32
-> Decode
     ('Closed 'Dense)
     (NonZero Word32
      -> PositiveInterval -> UpgradeDijkstraPParams Identity era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) Word32
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
        Decode
  ('Closed 'Dense)
  (NonZero Word32
   -> PositiveInterval -> UpgradeDijkstraPParams Identity era)
-> Decode ('Closed Any) (NonZero Word32)
-> Decode
     ('Closed 'Dense)
     (PositiveInterval -> UpgradeDijkstraPParams Identity era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) (NonZero Word32)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
        Decode
  ('Closed 'Dense)
  (PositiveInterval -> UpgradeDijkstraPParams Identity era)
-> Decode ('Closed Any) PositiveInterval
-> Decode ('Closed 'Dense) (UpgradeDijkstraPParams Identity era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode ('Closed w) a -> Decode w1 t
<! Decode ('Closed Any) PositiveInterval
forall t (w :: Wrapped). DecCBOR t => Decode w t
From

instance Era era => EncCBOR (UpgradeDijkstraPParams Identity era) where
  encCBOR :: UpgradeDijkstraPParams Identity era -> Encoding
encCBOR UpgradeDijkstraPParams {HKD Identity Word32
HKD Identity (NonZero Word32)
HKD Identity PositiveInterval
udppMaxRefScriptSizePerBlock :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppMaxRefScriptSizePerTx :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppRefScriptCostStride :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f (NonZero Word32)
udppRefScriptCostMultiplier :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f PositiveInterval
udppMaxRefScriptSizePerBlock :: HKD Identity Word32
udppMaxRefScriptSizePerTx :: HKD Identity Word32
udppRefScriptCostStride :: HKD Identity (NonZero Word32)
udppRefScriptCostMultiplier :: HKD Identity PositiveInterval
..} =
    Encode ('Closed 'Dense) (UpgradeDijkstraPParams Identity Any)
-> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode ('Closed 'Dense) (UpgradeDijkstraPParams Identity Any)
 -> Encoding)
-> Encode ('Closed 'Dense) (UpgradeDijkstraPParams Identity Any)
-> Encoding
forall a b. (a -> b) -> a -> b
$
      (Word32
 -> Word32
 -> NonZero Word32
 -> PositiveInterval
 -> UpgradeDijkstraPParams Identity Any)
-> Encode
     ('Closed 'Dense)
     (Word32
      -> Word32
      -> NonZero Word32
      -> PositiveInterval
      -> UpgradeDijkstraPParams Identity Any)
forall t. t -> Encode ('Closed 'Dense) t
Rec (forall (f :: * -> *) era.
HKD f Word32
-> HKD f Word32
-> HKD f (NonZero Word32)
-> HKD f PositiveInterval
-> UpgradeDijkstraPParams f era
UpgradeDijkstraPParams @Identity)
        Encode
  ('Closed 'Dense)
  (Word32
   -> Word32
   -> NonZero Word32
   -> PositiveInterval
   -> UpgradeDijkstraPParams Identity Any)
-> Encode ('Closed 'Dense) Word32
-> Encode
     ('Closed 'Dense)
     (Word32
      -> NonZero Word32
      -> PositiveInterval
      -> UpgradeDijkstraPParams Identity Any)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> Word32 -> Encode ('Closed 'Dense) Word32
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To Word32
HKD Identity Word32
udppMaxRefScriptSizePerBlock
        Encode
  ('Closed 'Dense)
  (Word32
   -> NonZero Word32
   -> PositiveInterval
   -> UpgradeDijkstraPParams Identity Any)
-> Encode ('Closed 'Dense) Word32
-> Encode
     ('Closed 'Dense)
     (NonZero Word32
      -> PositiveInterval -> UpgradeDijkstraPParams Identity Any)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> Word32 -> Encode ('Closed 'Dense) Word32
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To Word32
HKD Identity Word32
udppMaxRefScriptSizePerTx
        Encode
  ('Closed 'Dense)
  (NonZero Word32
   -> PositiveInterval -> UpgradeDijkstraPParams Identity Any)
-> Encode ('Closed 'Dense) (NonZero Word32)
-> Encode
     ('Closed 'Dense)
     (PositiveInterval -> UpgradeDijkstraPParams Identity Any)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> NonZero Word32 -> Encode ('Closed 'Dense) (NonZero Word32)
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To NonZero Word32
HKD Identity (NonZero Word32)
udppRefScriptCostStride
        Encode
  ('Closed 'Dense)
  (PositiveInterval -> UpgradeDijkstraPParams Identity Any)
-> Encode ('Closed 'Dense) PositiveInterval
-> Encode ('Closed 'Dense) (UpgradeDijkstraPParams Identity Any)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode ('Closed r) a -> Encode w t
!> PositiveInterval -> Encode ('Closed 'Dense) PositiveInterval
forall t. EncCBOR t => t -> Encode ('Closed 'Dense) t
To HKD Identity PositiveInterval
PositiveInterval
udppRefScriptCostMultiplier

upgradeDijkstraPParamsHKDPairs :: UpgradeDijkstraPParams Identity era -> [(Key, Aeson.Value)]
upgradeDijkstraPParamsHKDPairs :: forall era. UpgradeDijkstraPParams Identity era -> [(Key, Value)]
upgradeDijkstraPParamsHKDPairs UpgradeDijkstraPParams {HKD Identity Word32
HKD Identity (NonZero Word32)
HKD Identity PositiveInterval
udppMaxRefScriptSizePerBlock :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppMaxRefScriptSizePerTx :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppRefScriptCostStride :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f (NonZero Word32)
udppRefScriptCostMultiplier :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f PositiveInterval
udppMaxRefScriptSizePerBlock :: HKD Identity Word32
udppMaxRefScriptSizePerTx :: HKD Identity Word32
udppRefScriptCostStride :: HKD Identity (NonZero Word32)
udppRefScriptCostMultiplier :: HKD Identity PositiveInterval
..} =
  [ (Key
"maxRefScriptSizePerBlock", Word32 -> Value
forall a. ToJSON a => a -> Value
toJSON Word32
HKD Identity Word32
udppMaxRefScriptSizePerBlock)
  , (Key
"maxRefScriptSizePerTx", Word32 -> Value
forall a. ToJSON a => a -> Value
toJSON Word32
HKD Identity Word32
udppMaxRefScriptSizePerTx)
  , (Key
"refScriptCostStride", NonZero Word32 -> Value
forall a. ToJSON a => a -> Value
toJSON NonZero Word32
HKD Identity (NonZero Word32)
udppRefScriptCostStride)
  , (Key
"refScriptCostMultiplier", PositiveInterval -> Value
forall a. ToJSON a => a -> Value
toJSON HKD Identity PositiveInterval
PositiveInterval
udppRefScriptCostMultiplier)
  ]

instance ToKeyValuePairs (UpgradeDijkstraPParams Identity era) where
  toKeyValuePairs :: forall e kv.
KeyValue e kv =>
UpgradeDijkstraPParams Identity era -> [kv]
toKeyValuePairs UpgradeDijkstraPParams Identity era
upp = (Key -> Value -> kv) -> (Key, Value) -> kv
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Key -> Value -> kv
forall v. ToJSON v => Key -> v -> kv
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(.=) ((Key, Value) -> kv) -> [(Key, Value)] -> [kv]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> UpgradeDijkstraPParams Identity era -> [(Key, Value)]
forall era. UpgradeDijkstraPParams Identity era -> [(Key, Value)]
upgradeDijkstraPParamsHKDPairs UpgradeDijkstraPParams Identity era
upp

emptyDijkstraUpgradePParamsUpdate :: UpgradeDijkstraPParams StrictMaybe era
emptyDijkstraUpgradePParamsUpdate :: forall era. UpgradeDijkstraPParams StrictMaybe era
emptyDijkstraUpgradePParamsUpdate = HKD StrictMaybe Word32
-> HKD StrictMaybe Word32
-> HKD StrictMaybe (NonZero Word32)
-> HKD StrictMaybe PositiveInterval
-> UpgradeDijkstraPParams StrictMaybe era
forall (f :: * -> *) era.
HKD f Word32
-> HKD f Word32
-> HKD f (NonZero Word32)
-> HKD f PositiveInterval
-> UpgradeDijkstraPParams f era
UpgradeDijkstraPParams StrictMaybe Word32
HKD StrictMaybe Word32
forall a. StrictMaybe a
SNothing StrictMaybe Word32
HKD StrictMaybe Word32
forall a. StrictMaybe a
SNothing StrictMaybe (NonZero Word32)
HKD StrictMaybe (NonZero Word32)
forall a. StrictMaybe a
SNothing StrictMaybe PositiveInterval
HKD StrictMaybe PositiveInterval
forall a. StrictMaybe a
SNothing

upgradeDijkstraPParams ::
  UpgradeDijkstraPParams f DijkstraEra ->
  ConwayPParams f ConwayEra ->
  DijkstraPParams f DijkstraEra
upgradeDijkstraPParams :: forall (f :: * -> *).
UpgradeDijkstraPParams f DijkstraEra
-> ConwayPParams f ConwayEra -> DijkstraPParams f DijkstraEra
upgradeDijkstraPParams UpgradeDijkstraPParams {HKD f Word32
HKD f (NonZero Word32)
HKD f PositiveInterval
udppMaxRefScriptSizePerBlock :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppMaxRefScriptSizePerTx :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f Word32
udppRefScriptCostStride :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f (NonZero Word32)
udppRefScriptCostMultiplier :: forall (f :: * -> *) era.
UpgradeDijkstraPParams f era -> HKD f PositiveInterval
udppMaxRefScriptSizePerBlock :: HKD f Word32
udppMaxRefScriptSizePerTx :: HKD f Word32
udppRefScriptCostStride :: HKD f (NonZero Word32)
udppRefScriptCostMultiplier :: HKD f PositiveInterval
..} ConwayPParams {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 Coin
THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
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 DRepVotingThresholds
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
HKDNoUpdate f ProtVer
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 (CompactForm 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 (CompactForm Coin)
cppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
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 (CompactForm 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 (CompactForm 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
..} =
  DijkstraPParams
    { dppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeA = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA
    , dppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB
    , dppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBBSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize
    , dppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize
    , dppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppMaxBHSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize
    , dppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppKeyDeposit = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit
    , dppPoolDeposit :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppPoolDeposit = THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
cppPoolDeposit
    , dppEMax :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppEMax = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax
    , dppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppNOpt = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt
    , dppA0 :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppA0 = THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0
    , dppRho :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppRho = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho
    , dppTau :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau
    , dppProtocolVersion :: HKDNoUpdate f ProtVer
dppProtocolVersion = HKDNoUpdate f ProtVer
cppProtocolVersion
    , dppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppMinPoolCost = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost
    , dppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCoinsPerUTxOByte = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte
    , dppCostModels :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels
    , dppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppPrices = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices
    , dppMaxTxExUnits :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxTxExUnits = THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits
    , dppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxBlockExUnits = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits
    , dppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxValSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize
    , dppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppCollateralPercentage = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage
    , dppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs = THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs
    , dppPoolVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppPoolVotingThresholds = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds
    , dppDRepVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppDRepVotingThresholds = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds
    , dppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMinSize = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize
    , dppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppCommitteeMaxTermLength = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength
    , dppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime
    , dppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppGovActionDeposit = THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit
    , dppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepDeposit = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
cppDRepDeposit
    , dppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppDRepActivity = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity
    , dppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMinFeeRefScriptCostPerByte = THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte
    , dppMaxRefScriptSizePerBlock :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerBlock = 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
udppMaxRefScriptSizePerBlock
    , dppMaxRefScriptSizePerTx :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerTx = 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
udppMaxRefScriptSizePerTx
    , dppRefScriptCostStride :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
dppRefScriptCostStride = HKD f (NonZero Word32)
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f (NonZero Word32)
udppRefScriptCostStride
    , dppRefScriptCostMultiplier :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
dppRefScriptCostMultiplier = HKD f PositiveInterval
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD f PositiveInterval
udppRefScriptCostMultiplier
    }

downgradeDijkstraPParams :: DijkstraPParams f DijkstraEra -> ConwayPParams f ConwayEra
downgradeDijkstraPParams :: forall (f :: * -> *).
DijkstraPParams f DijkstraEra -> ConwayPParams f ConwayEra
downgradeDijkstraPParams DijkstraPParams {THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
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 DRepVotingThresholds
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
HKDNoUpdate f ProtVer
dppMinFeeA :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMaxBBSize :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBHSize :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppKeyDeposit :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppPoolDeposit :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppEMax :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppNOpt :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppA0 :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppRho :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppProtocolVersion :: forall (f :: * -> *) era.
DijkstraPParams f era -> HKDNoUpdate f ProtVer
dppMinPoolCost :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppCoinsPerUTxOByte :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCostModels :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppPrices :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppMaxTxExUnits :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxBlockExUnits :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxValSize :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppCollateralPercentage :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppPoolVotingThresholds :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppDRepVotingThresholds :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppCommitteeMinSize :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMaxTermLength :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionDeposit :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppDRepDeposit :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepActivity :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppMinFeeRefScriptCostPerByte :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMaxRefScriptSizePerBlock :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerTx :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppRefScriptCostStride :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
dppRefScriptCostMultiplier :: forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
dppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppPoolDeposit :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppEMax :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppA0 :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppRho :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppProtocolVersion :: HKDNoUpdate f ProtVer
dppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCostModels :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppMaxTxExUnits :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppPoolVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppDRepVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMaxRefScriptSizePerBlock :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerTx :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppRefScriptCostStride :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
dppRefScriptCostMultiplier :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
..} =
  ConwayPParams
    { cppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeA = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeA
    , cppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
cppMinFeeB = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB
    , cppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxBBSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBBSize
    , cppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxTxSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize
    , cppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
cppMaxBHSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppMaxBHSize
    , cppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppKeyDeposit = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppKeyDeposit
    , cppPoolDeposit :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
cppPoolDeposit = THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppPoolDeposit
    , cppEMax :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
cppEMax = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppEMax
    , cppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppNOpt = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppNOpt
    , cppA0 :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
cppA0 = THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppA0
    , cppRho :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppRho = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppRho
    , cppTau :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
cppTau = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau
    , cppProtocolVersion :: HKDNoUpdate f ProtVer
cppProtocolVersion = HKDNoUpdate f ProtVer
dppProtocolVersion
    , cppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
cppMinPoolCost = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppMinPoolCost
    , cppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
cppCoinsPerUTxOByte = THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCoinsPerUTxOByte
    , cppCostModels :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
cppCostModels = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels
    , cppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
cppPrices = THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppPrices
    , cppMaxTxExUnits :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
cppMaxTxExUnits = THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxTxExUnits
    , cppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
cppMaxBlockExUnits = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxBlockExUnits
    , cppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
cppMaxValSize = THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxValSize
    , cppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
cppCollateralPercentage = THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppCollateralPercentage
    , cppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
cppMaxCollateralInputs = THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs
    , cppPoolVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
cppPoolVotingThresholds = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppPoolVotingThresholds
    , cppDRepVotingThresholds :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
cppDRepVotingThresholds = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppDRepVotingThresholds
    , cppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
cppCommitteeMinSize = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMinSize
    , cppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppCommitteeMaxTermLength = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppCommitteeMaxTermLength
    , cppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppGovActionLifetime = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime
    , cppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
cppGovActionDeposit = THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppGovActionDeposit
    , cppDRepDeposit :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
cppDRepDeposit = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepDeposit
    , cppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
cppDRepActivity = THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppDRepActivity
    , cppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
cppMinFeeRefScriptCostPerByte = THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMinFeeRefScriptCostPerByte
    }

instance EraPParams DijkstraEra where
  type PParamsHKD f DijkstraEra = DijkstraPParams f DijkstraEra
  type UpgradePParams f DijkstraEra = UpgradeDijkstraPParams f DijkstraEra
  type DowngradePParams f DijkstraEra = ()

  emptyPParamsIdentity :: PParamsHKD Identity DijkstraEra
emptyPParamsIdentity = PParamsHKD Identity DijkstraEra
DijkstraPParams Identity DijkstraEra
forall era. Era era => DijkstraPParams Identity era
emptyDijkstraPParams
  emptyPParamsStrictMaybe :: PParamsHKD StrictMaybe DijkstraEra
emptyPParamsStrictMaybe = PParamsHKD StrictMaybe DijkstraEra
DijkstraPParams StrictMaybe DijkstraEra
forall era. DijkstraPParams StrictMaybe era
emptyDijkstraPParamsUpdate

  applyPPUpdates :: PParams DijkstraEra
-> PParamsUpdate DijkstraEra -> PParams DijkstraEra
applyPPUpdates (PParams PParamsHKD Identity DijkstraEra
pp) (PParamsUpdate PParamsHKD StrictMaybe DijkstraEra
ppu) =
    PParamsHKD Identity DijkstraEra -> PParams DijkstraEra
forall era. PParamsHKD Identity era -> PParams era
PParams (PParamsHKD Identity DijkstraEra -> PParams DijkstraEra)
-> PParamsHKD Identity DijkstraEra -> PParams DijkstraEra
forall a b. (a -> b) -> a -> b
$ DijkstraPParams Identity DijkstraEra
-> DijkstraPParams StrictMaybe DijkstraEra
-> DijkstraPParams Identity DijkstraEra
forall era.
DijkstraPParams Identity era
-> DijkstraPParams StrictMaybe era -> DijkstraPParams Identity era
dijkstraApplyPPUpdates PParamsHKD Identity DijkstraEra
DijkstraPParams Identity DijkstraEra
pp PParamsHKD StrictMaybe DijkstraEra
DijkstraPParams StrictMaybe DijkstraEra
ppu

  upgradePParamsHKD :: forall (f :: * -> *).
(HKDApplicative f, EraPParams (PreviousEra DijkstraEra)) =>
UpgradePParams f DijkstraEra
-> PParamsHKD f (PreviousEra DijkstraEra)
-> PParamsHKD f DijkstraEra
upgradePParamsHKD = UpgradePParams f DijkstraEra
-> PParamsHKD f (PreviousEra DijkstraEra)
-> PParamsHKD f DijkstraEra
UpgradeDijkstraPParams f DijkstraEra
-> ConwayPParams f ConwayEra -> DijkstraPParams f DijkstraEra
forall (f :: * -> *).
UpgradeDijkstraPParams f DijkstraEra
-> ConwayPParams f ConwayEra -> DijkstraPParams f DijkstraEra
upgradeDijkstraPParams
  downgradePParamsHKD :: forall (f :: * -> *).
(HKDFunctor f, EraPParams (PreviousEra DijkstraEra)) =>
DowngradePParams f DijkstraEra
-> PParamsHKD f DijkstraEra
-> PParamsHKD f (PreviousEra DijkstraEra)
downgradePParamsHKD DowngradePParams f DijkstraEra
_ = PParamsHKD f DijkstraEra -> PParamsHKD f (PreviousEra DijkstraEra)
DijkstraPParams f DijkstraEra -> ConwayPParams f ConwayEra
forall (f :: * -> *).
DijkstraPParams f DijkstraEra -> ConwayPParams f ConwayEra
downgradeDijkstraPParams
  emptyUpgradePParamsUpdate :: UpgradePParams StrictMaybe DijkstraEra
emptyUpgradePParamsUpdate = UpgradePParams StrictMaybe DijkstraEra
UpgradeDijkstraPParams StrictMaybe DijkstraEra
forall era. UpgradeDijkstraPParams StrictMaybe era
emptyDijkstraUpgradePParamsUpdate

  hkdMinFeeAL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Coin)
hkdMinFeeAL = (PParamsHKD f DijkstraEra -> HKD f Coin)
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
-> DijkstraPParams f DijkstraEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeA) ((PParamsHKD f DijkstraEra
  -> HKD f Coin -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Coin -> f (HKD f Coin))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Coin
x -> PParamsHKD f DijkstraEra
pp {dppMinFeeA = THKD x}
  hkdMinFeeBL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Coin)
hkdMinFeeBL = (PParamsHKD f DijkstraEra -> HKD f Coin)
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin)
-> DijkstraPParams f DijkstraEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
dppMinFeeB) ((PParamsHKD f DijkstraEra
  -> HKD f Coin -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Coin -> f (HKD f Coin))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Coin
x -> PParamsHKD f DijkstraEra
pp {dppMinFeeB = THKD x}
  hkdMaxBBSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Word32)
hkdMaxBBSizeL = (PParamsHKD f DijkstraEra -> HKD f Word32)
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> DijkstraPParams f DijkstraEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxBBSize) ((PParamsHKD f DijkstraEra
  -> HKD f Word32 -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Word32 -> f (HKD f Word32))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Word32
x -> PParamsHKD f DijkstraEra
pp {dppMaxBBSize = THKD x}
  hkdMaxTxSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Word32)
hkdMaxTxSizeL = (PParamsHKD f DijkstraEra -> HKD f Word32)
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> DijkstraPParams f DijkstraEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxTxSize) ((PParamsHKD f DijkstraEra
  -> HKD f Word32 -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Word32 -> f (HKD f Word32))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Word32
x -> PParamsHKD f DijkstraEra
pp {dppMaxTxSize = THKD x}
  hkdMaxBHSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Word16)
hkdMaxBHSizeL = (PParamsHKD f DijkstraEra -> HKD f Word16)
-> (PParamsHKD f DijkstraEra
    -> HKD f Word16 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word16 -> f (HKD f Word16))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16)
-> DijkstraPParams f DijkstraEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
dppMaxBHSize) ((PParamsHKD f DijkstraEra
  -> HKD f Word16 -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Word16 -> f (HKD f Word16))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Word16 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word16 -> f (HKD f Word16))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Word16
x -> PParamsHKD f DijkstraEra
pp {dppMaxBHSize = THKD x}
  hkdKeyDepositL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Coin)
hkdKeyDepositL = (PParamsHKD f DijkstraEra -> HKD f Coin)
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> DijkstraPParams f DijkstraEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppKeyDeposit) ((PParamsHKD f DijkstraEra
  -> HKD f Coin -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Coin -> f (HKD f Coin))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Coin
x -> PParamsHKD f DijkstraEra
pp {dppKeyDeposit = THKD x}
  hkdPoolDepositCompactL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f (CompactForm Coin))
hkdPoolDepositCompactL = (PParamsHKD f DijkstraEra -> HKD f (CompactForm Coin))
-> (PParamsHKD f DijkstraEra
    -> HKD f (CompactForm Coin) -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f (CompactForm Coin) -> f (HKD f (CompactForm Coin)))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
-> HKD f (CompactForm Coin)
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD
   ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
 -> HKD f (CompactForm Coin))
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin))
-> DijkstraPParams f DijkstraEra
-> HKD f (CompactForm Coin)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppPoolDeposit) ((PParamsHKD f DijkstraEra
  -> HKD f (CompactForm Coin) -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f (CompactForm Coin) -> f (HKD f (CompactForm Coin)))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f (CompactForm Coin) -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f (CompactForm Coin) -> f (HKD f (CompactForm Coin)))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f (CompactForm Coin)
x -> PParamsHKD f DijkstraEra
pp {dppPoolDeposit = THKD x}
  hkdEMaxL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f EpochInterval)
hkdEMaxL = (PParamsHKD f DijkstraEra -> HKD f EpochInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
dppEMax) ((PParamsHKD f DijkstraEra
  -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f EpochInterval -> f (HKD f EpochInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f EpochInterval
x -> PParamsHKD f DijkstraEra
pp {dppEMax = THKD x}
  hkdNOptL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Word16)
hkdNOptL = (PParamsHKD f DijkstraEra -> HKD f Word16)
-> (PParamsHKD f DijkstraEra
    -> HKD f Word16 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word16 -> f (HKD f Word16))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
-> DijkstraPParams f DijkstraEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppNOpt) ((PParamsHKD f DijkstraEra
  -> HKD f Word16 -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Word16 -> f (HKD f Word16))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Word16 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word16 -> f (HKD f Word16))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Word16
x -> PParamsHKD f DijkstraEra
pp {dppNOpt = THKD x}
  hkdA0L :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f NonNegativeInterval)
hkdA0L = (PParamsHKD f DijkstraEra -> HKD f NonNegativeInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f NonNegativeInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
         f
         NonNegativeInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f NonNegativeInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
dppA0) ((PParamsHKD f DijkstraEra
  -> HKD f NonNegativeInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f NonNegativeInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f NonNegativeInterval
x -> PParamsHKD f DijkstraEra
pp {dppA0 = THKD x}
  hkdRhoL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f UnitInterval)
hkdRhoL = (PParamsHKD f DijkstraEra -> HKD f UnitInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f UnitInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f UnitInterval -> f (HKD f UnitInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f UnitInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppRho) ((PParamsHKD f DijkstraEra
  -> HKD f UnitInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f UnitInterval -> f (HKD f UnitInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f UnitInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f UnitInterval -> f (HKD f UnitInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f UnitInterval
x -> PParamsHKD f DijkstraEra
pp {dppRho = THKD x}
  hkdTauL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f UnitInterval)
hkdTauL = (PParamsHKD f DijkstraEra -> HKD f UnitInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f UnitInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f UnitInterval -> f (HKD f UnitInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f UnitInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
dppTau) ((PParamsHKD f DijkstraEra
  -> HKD f UnitInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f UnitInterval -> f (HKD f UnitInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f UnitInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f UnitInterval -> f (HKD f UnitInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f UnitInterval
x -> PParamsHKD f DijkstraEra
pp {dppTau = THKD x}
  hkdProtocolVersionL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost DijkstraEra 8) =>
Lens' (PParamsHKD f DijkstraEra) (HKD f ProtVer)
hkdProtocolVersionL = (HKD f ProtVer -> f (HKD f ProtVer))
-> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
(HKD f ProtVer -> f (HKD f ProtVer))
-> DijkstraPParams f DijkstraEra
-> f (DijkstraPParams f DijkstraEra)
forall a b. HasCallStack => Lens' a b
Lens' (DijkstraPParams f DijkstraEra) (HKD f ProtVer)
notSupportedInThisEraL
  hkdMinPoolCostL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Coin)
hkdMinPoolCostL = (PParamsHKD f DijkstraEra -> HKD f Coin)
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin)
-> DijkstraPParams f DijkstraEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
dppMinPoolCost) ((PParamsHKD f DijkstraEra
  -> HKD f Coin -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Coin -> f (HKD f Coin))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Coin
x -> PParamsHKD f DijkstraEra
pp {dppMinPoolCost = THKD x}
  ppProtocolVersionL :: Lens' (PParams DijkstraEra) ProtVer
ppProtocolVersionL = (PParamsHKD Identity DijkstraEra
 -> f (PParamsHKD Identity DijkstraEra))
-> PParams DijkstraEra -> f (PParams DijkstraEra)
(DijkstraPParams Identity DijkstraEra
 -> f (DijkstraPParams Identity DijkstraEra))
-> PParams DijkstraEra -> f (PParams DijkstraEra)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((DijkstraPParams Identity DijkstraEra
  -> f (DijkstraPParams Identity DijkstraEra))
 -> PParams DijkstraEra -> f (PParams DijkstraEra))
-> ((ProtVer -> f ProtVer)
    -> DijkstraPParams Identity DijkstraEra
    -> f (DijkstraPParams Identity DijkstraEra))
-> (ProtVer -> f ProtVer)
-> PParams DijkstraEra
-> f (PParams DijkstraEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (DijkstraPParams Identity DijkstraEra -> ProtVer)
-> (DijkstraPParams Identity DijkstraEra
    -> ProtVer -> DijkstraPParams Identity DijkstraEra)
-> Lens
     (DijkstraPParams Identity DijkstraEra)
     (DijkstraPParams Identity DijkstraEra)
     ProtVer
     ProtVer
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraPParams Identity DijkstraEra
-> HKDNoUpdate Identity ProtVer
DijkstraPParams Identity DijkstraEra -> ProtVer
forall (f :: * -> *) era.
DijkstraPParams f era -> HKDNoUpdate f ProtVer
dppProtocolVersion (\DijkstraPParams Identity DijkstraEra
pp ProtVer
x -> DijkstraPParams Identity DijkstraEra
pp {dppProtocolVersion = x})

  ppDG :: SimpleGetter (PParams DijkstraEra) UnitInterval
ppDG = (PParams DijkstraEra -> UnitInterval)
-> SimpleGetter (PParams DijkstraEra) UnitInterval
forall s a. (s -> a) -> SimpleGetter s a
to (UnitInterval -> PParams DijkstraEra -> UnitInterval
forall a b. a -> b -> a
const UnitInterval
forall a. Bounded a => a
minBound)
  ppuProtocolVersionL :: ProtVerAtMost DijkstraEra 8 =>
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe ProtVer)
ppuProtocolVersionL = (StrictMaybe ProtVer -> f (StrictMaybe ProtVer))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall a b. HasCallStack => Lens' a b
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe ProtVer)
notSupportedInThisEraL
  hkdDL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost DijkstraEra 6) =>
Lens' (PParamsHKD f DijkstraEra) (HKD f UnitInterval)
hkdDL = (HKD f UnitInterval -> f (HKD f UnitInterval))
-> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
(HKD f UnitInterval -> f (HKD f UnitInterval))
-> DijkstraPParams f DijkstraEra
-> f (DijkstraPParams f DijkstraEra)
forall a b. HasCallStack => Lens' a b
Lens' (DijkstraPParams f DijkstraEra) (HKD f UnitInterval)
notSupportedInThisEraL
  hkdExtraEntropyL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost DijkstraEra 6) =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Nonce)
hkdExtraEntropyL = (HKD f Nonce -> f (HKD f Nonce))
-> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
(HKD f Nonce -> f (HKD f Nonce))
-> DijkstraPParams f DijkstraEra
-> f (DijkstraPParams f DijkstraEra)
forall a b. HasCallStack => Lens' a b
Lens' (DijkstraPParams f DijkstraEra) (HKD f Nonce)
notSupportedInThisEraL
  hkdMinUTxOValueL :: forall (f :: * -> *).
(HKDFunctor f, ProtVerAtMost DijkstraEra 4) =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Coin)
hkdMinUTxOValueL = (HKD f Coin -> f (HKD f Coin))
-> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
(HKD f Coin -> f (HKD f Coin))
-> DijkstraPParams f DijkstraEra
-> f (DijkstraPParams f DijkstraEra)
forall a b. HasCallStack => Lens' a b
Lens' (DijkstraPParams f DijkstraEra) (HKD f Coin)
notSupportedInThisEraL
  eraPParams :: [PParam DijkstraEra]
eraPParams =
    [ PParam DijkstraEra
forall era. EraPParams era => PParam era
ppMinFeeA
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppMinFeeB
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppMaxBBSize
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppMaxTxSize
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppMaxBHSize
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppKeyDeposit
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppPoolDeposit
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppEMax
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppNOpt
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppA0
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppRho
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppTau
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppGovProtocolVersion
    , PParam DijkstraEra
forall era. EraPParams era => PParam era
ppMinPoolCost
    , PParam DijkstraEra
forall era. BabbageEraPParams era => PParam era
ppCoinsPerUTxOByte
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppCostModels
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppPrices
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppMaxTxExUnits
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppMaxBlockExUnits
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppMaxValSize
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppCollateralPercentage
    , PParam DijkstraEra
forall era. AlonzoEraPParams era => PParam era
ppMaxCollateralInputs
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppPoolVotingThresholds
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppDRepVotingThresholds
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppCommitteeMinSize
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppCommitteeMaxTermLength
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppGovActionLifetime
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppGovActionDeposit
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppDRepDeposit
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppDRepActivity
    , PParam DijkstraEra
forall era. ConwayEraPParams era => PParam era
ppMinFeeRefScriptCostPerByte
    , PParam DijkstraEra
ppMaxRefScriptSizePerBlock
    , PParam DijkstraEra
ppMaxRefScriptSizePerTx
    , PParam DijkstraEra
ppRefScriptCostStride
    , PParam DijkstraEra
ppRefScriptCostMultiplier
    ]

ppMaxRefScriptSizePerBlock :: PParam DijkstraEra
ppMaxRefScriptSizePerBlock :: PParam DijkstraEra
ppMaxRefScriptSizePerBlock =
  PParam
    { ppName :: Text
ppName = Text
"maxRefScriptSizePerBlock"
    , ppLens :: Lens' (PParams DijkstraEra) Word32
ppLens = (Word32 -> f Word32)
-> PParams DijkstraEra -> f (PParams DijkstraEra)
forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
Lens' (PParams DijkstraEra) Word32
ppMaxRefScriptSizePerBlockL
    , ppUpdate :: Maybe (PParamUpdate DijkstraEra Word32)
ppUpdate =
        PParamUpdate DijkstraEra Word32
-> Maybe (PParamUpdate DijkstraEra Word32)
forall a. a -> Maybe a
Just
          PParamUpdate
            { ppuTag :: Word
ppuTag = Word
34
            , ppuLens :: Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32)
ppuLens = (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32)
ppuMaxRefScriptSizePerBlockL
            }
    }

ppMaxRefScriptSizePerTx :: PParam DijkstraEra
ppMaxRefScriptSizePerTx :: PParam DijkstraEra
ppMaxRefScriptSizePerTx =
  PParam
    { ppName :: Text
ppName = Text
"maxRefScriptSizePerTx"
    , ppLens :: Lens' (PParams DijkstraEra) Word32
ppLens = (Word32 -> f Word32)
-> PParams DijkstraEra -> f (PParams DijkstraEra)
forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
Lens' (PParams DijkstraEra) Word32
ppMaxRefScriptSizePerTxL
    , ppUpdate :: Maybe (PParamUpdate DijkstraEra Word32)
ppUpdate =
        PParamUpdate DijkstraEra Word32
-> Maybe (PParamUpdate DijkstraEra Word32)
forall a. a -> Maybe a
Just
          PParamUpdate
            { ppuTag :: Word
ppuTag = Word
35
            , ppuLens :: Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32)
ppuLens = (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32)
ppuMaxRefScriptSizePerTxL
            }
    }

ppRefScriptCostStride :: PParam DijkstraEra
ppRefScriptCostStride :: PParam DijkstraEra
ppRefScriptCostStride =
  PParam
    { ppName :: Text
ppName = Text
"refScriptCostStride"
    , ppLens :: Lens' (PParams DijkstraEra) (NonZero Word32)
ppLens = (NonZero Word32 -> f (NonZero Word32))
-> PParams DijkstraEra -> f (PParams DijkstraEra)
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) (NonZero Word32)
Lens' (PParams DijkstraEra) (NonZero Word32)
ppRefScriptCostStrideL
    , ppUpdate :: Maybe (PParamUpdate DijkstraEra (NonZero Word32))
ppUpdate =
        PParamUpdate DijkstraEra (NonZero Word32)
-> Maybe (PParamUpdate DijkstraEra (NonZero Word32))
forall a. a -> Maybe a
Just
          PParamUpdate
            { ppuTag :: Word
ppuTag = Word
36
            , ppuLens :: Lens' (PParamsUpdate DijkstraEra) (StrictMaybe (NonZero Word32))
ppuLens = (StrictMaybe (NonZero Word32) -> f (StrictMaybe (NonZero Word32)))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe (NonZero Word32))
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe (NonZero Word32))
ppuRefScriptCostStrideL
            }
    }

ppRefScriptCostMultiplier :: PParam DijkstraEra
ppRefScriptCostMultiplier :: PParam DijkstraEra
ppRefScriptCostMultiplier =
  PParam
    { ppName :: Text
ppName = Text
"refScriptCostMultiplier"
    , ppLens :: Lens' (PParams DijkstraEra) PositiveInterval
ppLens = (PositiveInterval -> f PositiveInterval)
-> PParams DijkstraEra -> f (PParams DijkstraEra)
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) PositiveInterval
Lens' (PParams DijkstraEra) PositiveInterval
ppRefScriptCostMultiplierL
    , ppUpdate :: Maybe (PParamUpdate DijkstraEra PositiveInterval)
ppUpdate =
        PParamUpdate DijkstraEra PositiveInterval
-> Maybe (PParamUpdate DijkstraEra PositiveInterval)
forall a. a -> Maybe a
Just
          PParamUpdate
            { ppuTag :: Word
ppuTag = Word
37
            , ppuLens :: Lens' (PParamsUpdate DijkstraEra) (StrictMaybe PositiveInterval)
ppuLens = (StrictMaybe PositiveInterval -> f (StrictMaybe PositiveInterval))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe PositiveInterval)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe PositiveInterval)
ppuRefScriptCostMultiplierL
            }
    }

instance AlonzoEraPParams DijkstraEra where
  hkdCoinsPerUTxOWordL :: forall (f :: * -> *).
(HKDFunctor f, ExactEra AlonzoEra DijkstraEra) =>
Lens' (PParamsHKD f DijkstraEra) (HKD f CoinPerWord)
hkdCoinsPerUTxOWordL = (HKD f CoinPerWord -> f (HKD f CoinPerWord))
-> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
(HKD f CoinPerWord -> f (HKD f CoinPerWord))
-> DijkstraPParams f DijkstraEra
-> f (DijkstraPParams f DijkstraEra)
forall a b. HasCallStack => Lens' a b
Lens' (DijkstraPParams f DijkstraEra) (HKD f CoinPerWord)
notSupportedInThisEraL
  hkdCostModelsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f CostModels)
hkdCostModelsL = (PParamsHKD f DijkstraEra -> HKD f CostModels)
-> (PParamsHKD f DijkstraEra
    -> HKD f CostModels -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f CostModels -> f (HKD f CostModels))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels)
-> DijkstraPParams f DijkstraEra
-> HKD f CostModels
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
dppCostModels) ((PParamsHKD f DijkstraEra
  -> HKD f CostModels -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f CostModels -> f (HKD f CostModels))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f CostModels -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f CostModels -> f (HKD f CostModels))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f CostModels
x -> PParamsHKD f DijkstraEra
pp {dppCostModels = THKD x}
  hkdPricesL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Prices)
hkdPricesL = (PParamsHKD f DijkstraEra -> HKD f Prices)
-> (PParamsHKD f DijkstraEra
    -> HKD f Prices -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Prices -> f (HKD f Prices))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices)
-> DijkstraPParams f DijkstraEra
-> HKD f Prices
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
dppPrices) ((PParamsHKD f DijkstraEra
  -> HKD f Prices -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Prices -> f (HKD f Prices))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Prices -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Prices -> f (HKD f Prices))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Prices
x -> PParamsHKD f DijkstraEra
pp {dppPrices = THKD x}

  hkdMaxTxExUnitsL :: forall f. HKDFunctor f => Lens' (PParamsHKD f DijkstraEra) (HKD f ExUnits)
  hkdMaxTxExUnitsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f ExUnits)
hkdMaxTxExUnitsL =
    (PParamsHKD f DijkstraEra -> HKD f ExUnits)
-> (PParamsHKD f DijkstraEra
    -> HKD f ExUnits -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f ExUnits -> f (HKD f ExUnits))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra -> HKD f OrdExUnits)
-> DijkstraPParams f DijkstraEra
-> 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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits)
-> DijkstraPParams f DijkstraEra
-> HKD f OrdExUnits
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
dppMaxTxExUnits) ((PParamsHKD f DijkstraEra
  -> HKD f ExUnits -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f ExUnits -> f (HKD f ExUnits))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f ExUnits -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f ExUnits -> f (HKD f ExUnits))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f ExUnits
x ->
      PParamsHKD f DijkstraEra
pp {dppMaxTxExUnits = THKD $ hkdMap (Proxy @f) OrdExUnits x}
  hkdMaxBlockExUnitsL :: forall f. HKDFunctor f => Lens' (PParamsHKD f DijkstraEra) (HKD f ExUnits)
  hkdMaxBlockExUnitsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f ExUnits)
hkdMaxBlockExUnitsL =
    (PParamsHKD f DijkstraEra -> HKD f ExUnits)
-> (PParamsHKD f DijkstraEra
    -> HKD f ExUnits -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f ExUnits -> f (HKD f ExUnits))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra -> HKD f OrdExUnits)
-> DijkstraPParams f DijkstraEra
-> 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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits)
-> DijkstraPParams f DijkstraEra
-> HKD f OrdExUnits
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
dppMaxBlockExUnits) ((PParamsHKD f DijkstraEra
  -> HKD f ExUnits -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f ExUnits -> f (HKD f ExUnits))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f ExUnits -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f ExUnits -> f (HKD f ExUnits))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f ExUnits
x ->
      PParamsHKD f DijkstraEra
pp {dppMaxBlockExUnits = THKD $ hkdMap (Proxy @f) OrdExUnits x}
  hkdMaxValSizeL :: forall f. HKDFunctor f => Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
  hkdMaxValSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
hkdMaxValSizeL =
    (PParamsHKD f DijkstraEra -> HKD f Natural)
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra -> HKD f Word32)
-> DijkstraPParams f DijkstraEra
-> 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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> DijkstraPParams f DijkstraEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxValSize)) ((PParamsHKD f DijkstraEra
  -> HKD f Natural -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Natural -> f (HKD f Natural))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$
      \PParamsHKD f DijkstraEra
pp HKD f Natural
x -> PParamsHKD f DijkstraEra
pp {dppMaxValSize = THKD (asBoundedIntegralHKD @f @Natural @Word32 x)}
  hkdCollateralPercentageL ::
    forall f. HKDFunctor f => Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
  hkdCollateralPercentageL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
hkdCollateralPercentageL =
    (PParamsHKD f DijkstraEra -> HKD f Natural)
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra -> HKD f Word16)
-> DijkstraPParams f DijkstraEra
-> 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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16)
-> DijkstraPParams f DijkstraEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
dppCollateralPercentage)) ((PParamsHKD f DijkstraEra
  -> HKD f Natural -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Natural -> f (HKD f Natural))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$
      \PParamsHKD f DijkstraEra
pp HKD f Natural
x -> PParamsHKD f DijkstraEra
pp {dppCollateralPercentage = THKD (asBoundedIntegralHKD @f @Natural @Word16 x)}
  hkdMaxCollateralInputsL ::
    forall f. HKDFunctor f => Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
  hkdMaxCollateralInputsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
hkdMaxCollateralInputsL =
    (PParamsHKD f DijkstraEra -> HKD f Natural)
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra -> HKD f Word16)
-> DijkstraPParams f DijkstraEra
-> 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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16)
-> DijkstraPParams f DijkstraEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
dppMaxCollateralInputs)) ((PParamsHKD f DijkstraEra
  -> HKD f Natural -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Natural -> f (HKD f Natural))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$
      \PParamsHKD f DijkstraEra
pp HKD f Natural
x -> PParamsHKD f DijkstraEra
pp {dppMaxCollateralInputs = THKD (asBoundedIntegralHKD @f @Natural @Word16 x)}

instance BabbageEraPParams DijkstraEra where
  hkdCoinsPerUTxOByteL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f CoinPerByte)
hkdCoinsPerUTxOByteL =
    (PParamsHKD f DijkstraEra -> HKD f CoinPerByte)
-> (PParamsHKD f DijkstraEra
    -> HKD f CoinPerByte -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f CoinPerByte -> f (HKD f CoinPerByte))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte)
-> DijkstraPParams f DijkstraEra
-> HKD f CoinPerByte
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
dppCoinsPerUTxOByte) ((PParamsHKD f DijkstraEra
  -> HKD f CoinPerByte -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f CoinPerByte -> f (HKD f CoinPerByte))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f CoinPerByte -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f CoinPerByte -> f (HKD f CoinPerByte))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f CoinPerByte
x -> PParamsHKD f DijkstraEra
pp {dppCoinsPerUTxOByte = THKD x}

instance ConwayEraPParams DijkstraEra where
  ppuWellFormed :: ProtVer -> PParamsUpdate DijkstraEra -> Bool
ppuWellFormed ProtVer
_pv PParamsUpdate DijkstraEra
ppu =
    [Bool] -> Bool
forall (t :: * -> *). Foldable t => t Bool -> Bool
and
      [ -- Numbers
        (Word32 -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid (Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
/= Word32
0) (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32)
ppuMaxBBSizeL
      , (Word32 -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid (Word32 -> Word32 -> Bool
forall a. Eq a => a -> a -> Bool
/= Word32
0) (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word32)
ppuMaxTxSizeL
      , (Word16 -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word16) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid (Word16 -> Word16 -> Bool
forall a. Eq a => a -> a -> Bool
/= Word16
0) (StrictMaybe Word16 -> f (StrictMaybe Word16))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
EraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word16)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Word16)
ppuMaxBHSizeL
      , (Natural -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Natural) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid (Natural -> Natural -> Bool
forall a. Eq a => a -> a -> Bool
/= Natural
0) (StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
AlonzoEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Natural)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Natural)
ppuMaxValSizeL
      , (Natural -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Natural) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid (Natural -> Natural -> Bool
forall a. Eq a => a -> a -> Bool
/= Natural
0) (StrictMaybe Natural -> f (StrictMaybe Natural))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
AlonzoEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Natural)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Natural)
ppuCollateralPercentageL
      , (EpochInterval -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe EpochInterval)
-> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (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 DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe EpochInterval)
ppuCommitteeMaxTermLengthL
      , (EpochInterval -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe EpochInterval)
-> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (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 DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe EpochInterval)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe EpochInterval)
ppuGovActionLifetimeL
      , -- Coins
        (Coin -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Coin) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid (Coin -> Coin -> Bool
forall a. Eq a => a -> a -> Bool
/= Coin
forall a. Monoid a => a
mempty) (StrictMaybe Coin -> f (StrictMaybe Coin))
-> PParamsUpdate DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
(EraPParams era, HasCallStack) =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Coin)
ppuPoolDepositL
      , (Coin -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Coin) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (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 DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Coin)
ppuGovActionDepositL
      , (Coin -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Coin) -> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (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 DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
ConwayEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Coin)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe Coin)
ppuDRepDepositL
      , (CoinPerByte -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe CoinPerByte)
-> Bool
forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (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 DijkstraEra -> f (PParamsUpdate DijkstraEra)
forall era.
BabbageEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe CoinPerByte)
Lens' (PParamsUpdate DijkstraEra) (StrictMaybe CoinPerByte)
ppuCoinsPerUTxOByteL
      , PParamsUpdate DijkstraEra
ppu PParamsUpdate DijkstraEra -> PParamsUpdate DijkstraEra -> Bool
forall a. Eq a => a -> a -> Bool
/= PParamsUpdate DijkstraEra
forall era. EraPParams era => PParamsUpdate era
emptyPParamsUpdate
      ]
    where
      isValid ::
        (t -> Bool) ->
        Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) ->
        Bool
      isValid :: forall t.
(t -> Bool)
-> Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t) -> Bool
isValid t -> Bool
p Lens' (PParamsUpdate DijkstraEra) (StrictMaybe t)
l = case PParamsUpdate DijkstraEra
ppu PParamsUpdate DijkstraEra
-> Getting
     (StrictMaybe t) (PParamsUpdate DijkstraEra) (StrictMaybe t)
-> StrictMaybe t
forall s a. s -> Getting a s a -> a
^. Getting (StrictMaybe t) (PParamsUpdate DijkstraEra) (StrictMaybe t)
Lens' (PParamsUpdate DijkstraEra) (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 DijkstraEra) (HKD f PoolVotingThresholds)
hkdPoolVotingThresholdsL =
    (PParamsHKD f DijkstraEra -> HKD f PoolVotingThresholds)
-> (PParamsHKD f DijkstraEra
    -> HKD f PoolVotingThresholds -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f PoolVotingThresholds -> f (HKD f PoolVotingThresholds))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds)
-> DijkstraPParams f DijkstraEra
-> HKD f PoolVotingThresholds
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
dppPoolVotingThresholds) ((PParamsHKD f DijkstraEra
  -> HKD f PoolVotingThresholds -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f PoolVotingThresholds -> f (HKD f PoolVotingThresholds))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f PoolVotingThresholds -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f PoolVotingThresholds -> f (HKD f PoolVotingThresholds))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f PoolVotingThresholds
x -> PParamsHKD f DijkstraEra
pp {dppPoolVotingThresholds = THKD x}
  hkdDRepVotingThresholdsL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f DRepVotingThresholds)
hkdDRepVotingThresholdsL =
    (PParamsHKD f DijkstraEra -> HKD f DRepVotingThresholds)
-> (PParamsHKD f DijkstraEra
    -> HKD f DRepVotingThresholds -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f DRepVotingThresholds -> f (HKD f DRepVotingThresholds))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds)
-> DijkstraPParams f DijkstraEra
-> HKD f DRepVotingThresholds
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
dppDRepVotingThresholds) ((PParamsHKD f DijkstraEra
  -> HKD f DRepVotingThresholds -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f DRepVotingThresholds -> f (HKD f DRepVotingThresholds))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f DRepVotingThresholds -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f DRepVotingThresholds -> f (HKD f DRepVotingThresholds))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f DRepVotingThresholds
x -> PParamsHKD f DijkstraEra
pp {dppDRepVotingThresholds = THKD x}
  hkdCommitteeMinSizeL :: forall f. HKDFunctor f => Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
  hkdCommitteeMinSizeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Natural)
hkdCommitteeMinSizeL =
    (PParamsHKD f DijkstraEra -> HKD f Natural)
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra -> HKD f Word16)
-> DijkstraPParams f DijkstraEra
-> 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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16)
-> DijkstraPParams f DijkstraEra
-> HKD f Word16
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
dppCommitteeMinSize)) ((PParamsHKD f DijkstraEra
  -> HKD f Natural -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Natural -> f (HKD f Natural))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Natural -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Natural -> f (HKD f Natural))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$
      \PParamsHKD f DijkstraEra
pp HKD f Natural
x -> PParamsHKD f DijkstraEra
pp {dppCommitteeMinSize = THKD (asBoundedIntegralHKD @f @Natural @Word16 x)}
  hkdCommitteeMaxTermLengthL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f EpochInterval)
hkdCommitteeMaxTermLengthL =
    (PParamsHKD f DijkstraEra -> HKD f EpochInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppCommitteeMaxTermLength) ((PParamsHKD f DijkstraEra
  -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f EpochInterval -> f (HKD f EpochInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f EpochInterval
x -> PParamsHKD f DijkstraEra
pp {dppCommitteeMaxTermLength = THKD x}
  hkdGovActionLifetimeL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f EpochInterval)
hkdGovActionLifetimeL =
    (PParamsHKD f DijkstraEra -> HKD f EpochInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppGovActionLifetime) ((PParamsHKD f DijkstraEra
  -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f EpochInterval -> f (HKD f EpochInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f EpochInterval
x -> PParamsHKD f DijkstraEra
pp {dppGovActionLifetime = THKD x}
  hkdGovActionDepositL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f Coin)
hkdGovActionDepositL =
    (PParamsHKD f DijkstraEra -> HKD f Coin)
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin)
-> DijkstraPParams f DijkstraEra
-> HKD f Coin
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
dppGovActionDeposit) ((PParamsHKD f DijkstraEra
  -> HKD f Coin -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Coin -> f (HKD f Coin))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Coin -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Coin -> f (HKD f Coin))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Coin
x -> PParamsHKD f DijkstraEra
pp {dppGovActionDeposit = THKD x}
  hkdDRepDepositCompactL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f (CompactForm Coin))
hkdDRepDepositCompactL =
    (PParamsHKD f DijkstraEra -> HKD f (CompactForm Coin))
-> (PParamsHKD f DijkstraEra
    -> HKD f (CompactForm Coin) -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f (CompactForm Coin) -> f (HKD f (CompactForm Coin)))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
-> HKD f (CompactForm Coin)
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
 -> HKD f (CompactForm Coin))
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin))
-> DijkstraPParams f DijkstraEra
-> HKD f (CompactForm Coin)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) f (CompactForm Coin)
dppDRepDeposit) ((PParamsHKD f DijkstraEra
  -> HKD f (CompactForm Coin) -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f (CompactForm Coin) -> f (HKD f (CompactForm Coin)))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f (CompactForm Coin) -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f (CompactForm Coin) -> f (HKD f (CompactForm Coin)))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f (CompactForm Coin)
x -> PParamsHKD f DijkstraEra
pp {dppDRepDeposit = THKD x}
  hkdDRepActivityL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f EpochInterval)
hkdDRepActivityL =
    (PParamsHKD f DijkstraEra -> HKD f EpochInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f EpochInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
dppDRepActivity) ((PParamsHKD f DijkstraEra
  -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f EpochInterval -> f (HKD f EpochInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f EpochInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f EpochInterval -> f (HKD f EpochInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f EpochInterval
x -> PParamsHKD f DijkstraEra
pp {dppDRepActivity = THKD x}
  hkdMinFeeRefScriptCostPerByteL :: forall (f :: * -> *).
HKDFunctor f =>
Lens' (PParamsHKD f DijkstraEra) (HKD f NonNegativeInterval)
hkdMinFeeRefScriptCostPerByteL =
    (PParamsHKD f DijkstraEra -> HKD f NonNegativeInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f NonNegativeInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f NonNegativeInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD
     ('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
dppMinFeeRefScriptCostPerByte) ((PParamsHKD f DijkstraEra
  -> HKD f NonNegativeInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f NonNegativeInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f NonNegativeInterval -> f (HKD f NonNegativeInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f NonNegativeInterval
x -> PParamsHKD f DijkstraEra
pp {dppMinFeeRefScriptCostPerByte = THKD x}
  ppMaxRefScriptSizePerTxG :: SimpleGetter (PParams DijkstraEra) Word32
ppMaxRefScriptSizePerTxG = (PParamsHKD Identity DijkstraEra
 -> Const r (PParamsHKD Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
(DijkstraPParams Identity DijkstraEra
 -> Const r (DijkstraPParams Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((DijkstraPParams Identity DijkstraEra
  -> Const r (DijkstraPParams Identity DijkstraEra))
 -> PParams DijkstraEra -> Const r (PParams DijkstraEra))
-> ((Word32 -> Const r Word32)
    -> DijkstraPParams Identity DijkstraEra
    -> Const r (DijkstraPParams Identity DijkstraEra))
-> (Word32 -> Const r Word32)
-> PParams DijkstraEra
-> Const r (PParams DijkstraEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Word32 -> Const r Word32)
-> DijkstraPParams Identity DijkstraEra
-> Const r (DijkstraPParams Identity DijkstraEra)
(HKD Identity Word32 -> Const r (HKD Identity Word32))
-> PParamsHKD Identity DijkstraEra
-> Const r (PParamsHKD Identity DijkstraEra)
forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f Word32)
forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f Word32)
hkdMaxRefScriptSizePerTxL
  ppMaxRefScriptSizePerBlockG :: SimpleGetter (PParams DijkstraEra) Word32
ppMaxRefScriptSizePerBlockG = (PParamsHKD Identity DijkstraEra
 -> Const r (PParamsHKD Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
(DijkstraPParams Identity DijkstraEra
 -> Const r (DijkstraPParams Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((DijkstraPParams Identity DijkstraEra
  -> Const r (DijkstraPParams Identity DijkstraEra))
 -> PParams DijkstraEra -> Const r (PParams DijkstraEra))
-> ((Word32 -> Const r Word32)
    -> DijkstraPParams Identity DijkstraEra
    -> Const r (DijkstraPParams Identity DijkstraEra))
-> (Word32 -> Const r Word32)
-> PParams DijkstraEra
-> Const r (PParams DijkstraEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Word32 -> Const r Word32)
-> DijkstraPParams Identity DijkstraEra
-> Const r (DijkstraPParams Identity DijkstraEra)
(HKD Identity Word32 -> Const r (HKD Identity Word32))
-> PParamsHKD Identity DijkstraEra
-> Const r (PParamsHKD Identity DijkstraEra)
forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f Word32)
forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f Word32)
hkdMaxRefScriptSizePerBlockL
  ppRefScriptCostMultiplierG :: SimpleGetter (PParams DijkstraEra) PositiveInterval
ppRefScriptCostMultiplierG = (PParamsHKD Identity DijkstraEra
 -> Const r (PParamsHKD Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
(DijkstraPParams Identity DijkstraEra
 -> Const r (DijkstraPParams Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((DijkstraPParams Identity DijkstraEra
  -> Const r (DijkstraPParams Identity DijkstraEra))
 -> PParams DijkstraEra -> Const r (PParams DijkstraEra))
-> ((PositiveInterval -> Const r PositiveInterval)
    -> DijkstraPParams Identity DijkstraEra
    -> Const r (DijkstraPParams Identity DijkstraEra))
-> (PositiveInterval -> Const r PositiveInterval)
-> PParams DijkstraEra
-> Const r (PParams DijkstraEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (HKD Identity PositiveInterval
 -> Const r (HKD Identity PositiveInterval))
-> PParamsHKD Identity DijkstraEra
-> Const r (PParamsHKD Identity DijkstraEra)
(PositiveInterval -> Const r PositiveInterval)
-> DijkstraPParams Identity DijkstraEra
-> Const r (DijkstraPParams Identity DijkstraEra)
forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f PositiveInterval)
forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f PositiveInterval)
hkdRefScriptCostMultiplierL
  ppRefScriptCostStrideG :: SimpleGetter (PParams DijkstraEra) (NonZero Word32)
ppRefScriptCostStrideG = (PParamsHKD Identity DijkstraEra
 -> Const r (PParamsHKD Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
(DijkstraPParams Identity DijkstraEra
 -> Const r (DijkstraPParams Identity DijkstraEra))
-> PParams DijkstraEra -> Const r (PParams DijkstraEra)
forall era (f :: * -> *).
Functor f =>
(PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> PParams era -> f (PParams era)
ppLensHKD ((DijkstraPParams Identity DijkstraEra
  -> Const r (DijkstraPParams Identity DijkstraEra))
 -> PParams DijkstraEra -> Const r (PParams DijkstraEra))
-> ((NonZero Word32 -> Const r (NonZero Word32))
    -> DijkstraPParams Identity DijkstraEra
    -> Const r (DijkstraPParams Identity DijkstraEra))
-> (NonZero Word32 -> Const r (NonZero Word32))
-> PParams DijkstraEra
-> Const r (PParams DijkstraEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (NonZero Word32 -> Const r (NonZero Word32))
-> DijkstraPParams Identity DijkstraEra
-> Const r (DijkstraPParams Identity DijkstraEra)
(HKD Identity (NonZero Word32)
 -> Const r (HKD Identity (NonZero Word32)))
-> PParamsHKD Identity DijkstraEra
-> Const r (PParamsHKD Identity DijkstraEra)
forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f (NonZero Word32))
forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f (NonZero Word32))
hkdRefScriptCostStrideL

-- | Returns a basic "empty" `PParams` structure with all zero values.
emptyDijkstraPParams :: forall era. Era era => DijkstraPParams Identity era
emptyDijkstraPParams :: forall era. Era era => DijkstraPParams Identity era
emptyDijkstraPParams =
  DijkstraPParams
    { dppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
dppMinFeeA = 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)
    , dppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
dppMinFeeB = 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)
    , dppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxBBSize = 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
    , dppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxTxSize = 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
    , dppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
dppMaxBHSize = 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
    , dppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
dppKeyDeposit = 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)
    , dppPoolDeposit :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
  Identity
  (CompactForm Coin)
dppPoolDeposit = HKD Identity (CompactForm Coin)
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
     Identity
     (CompactForm Coin)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Word64 -> CompactForm Coin
CompactCoin Word64
0)
    , dppEMax :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  Identity
  EpochInterval
dppEMax = 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)
    , dppNOpt :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
dppNOpt = 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
    , dppA0 :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  Identity
  NonNegativeInterval
dppA0 = 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
    , dppRho :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
dppRho = 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
    , dppTau :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
dppTau = 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
    , dppProtocolVersion :: HKDNoUpdate Identity ProtVer
dppProtocolVersion = Version -> Natural -> ProtVer
ProtVer (forall era. Era era => Version
eraProtVerLow @era) Natural
0
    , dppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
dppMinPoolCost = HKD Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD Coin
HKD Identity Coin
forall a. Monoid a => a
mempty
    , dppCoinsPerUTxOByte :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
dppCoinsPerUTxOByte = 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)
    , dppCostModels :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
dppCostModels = 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
    , dppPrices :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
dppPrices = 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)
    , dppMaxTxExUnits :: THKD
  ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
dppMaxTxExUnits = 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)
    , dppMaxBlockExUnits :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
dppMaxBlockExUnits = 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)
    , dppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxValSize = 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
    , dppCollateralPercentage :: THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
dppCollateralPercentage = 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
    , dppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
dppMaxCollateralInputs = 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
    , dppPoolVotingThresholds :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  Identity
  PoolVotingThresholds
dppPoolVotingThresholds = HKD Identity PoolVotingThresholds
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup)
     Identity
     PoolVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD PoolVotingThresholds
HKD Identity PoolVotingThresholds
forall a. Default a => a
def
    , dppDRepVotingThresholds :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  Identity
  DRepVotingThresholds
dppDRepVotingThresholds = HKD Identity DRepVotingThresholds
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup)
     Identity
     DRepVotingThresholds
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD DRepVotingThresholds
HKD Identity DRepVotingThresholds
forall a. Default a => a
def
    , dppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
dppCommitteeMinSize = 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
    , dppCommitteeMaxTermLength :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
dppCommitteeMaxTermLength = 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)
    , dppGovActionLifetime :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
dppGovActionLifetime = 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)
    , dppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
dppGovActionDeposit = 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)
    , dppDRepDeposit :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity (CompactForm Coin)
dppDRepDeposit = HKD Identity (CompactForm Coin)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity (CompactForm Coin)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (Word64 -> CompactForm Coin
CompactCoin Word64
0)
    , dppDRepActivity :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
dppDRepActivity = 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)
    , dppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup)
  Identity
  NonNegativeInterval
dppMinFeeRefScriptCostPerByte = 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
    , dppMaxRefScriptSizePerBlock :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxRefScriptSizePerBlock = 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
    , dppMaxRefScriptSizePerTx :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
dppMaxRefScriptSizePerTx = 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
    , dppRefScriptCostStride :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup) Identity (NonZero Word32)
dppRefScriptCostStride = HKD Identity (NonZero Word32)
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup) Identity (NonZero Word32)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (HKD Identity (NonZero Word32)
 -> THKD
      ('PPGroups 'NetworkGroup 'SecurityGroup) Identity (NonZero Word32))
-> HKD Identity (NonZero Word32)
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup) Identity (NonZero Word32)
forall a b. (a -> b) -> a -> b
$ forall (n :: Natural) a.
(KnownNat n, 1 <= n, WithinBounds n a, Num a) =>
NonZero a
knownNonZeroBounded @1
    , dppRefScriptCostMultiplier :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup) Identity PositiveInterval
dppRefScriptCostMultiplier = HKD Identity PositiveInterval
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup) Identity PositiveInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD HKD Identity PositiveInterval
PositiveInterval
forall a. Bounded a => a
minBound
    }

emptyDijkstraPParamsUpdate :: DijkstraPParams StrictMaybe era
emptyDijkstraPParamsUpdate :: forall era. DijkstraPParams StrictMaybe era
emptyDijkstraPParamsUpdate =
  DijkstraPParams
    { dppMinFeeA :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
dppMinFeeA = 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
    , dppMinFeeB :: THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
dppMinFeeB = 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
    , dppMaxBBSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
dppMaxBBSize = 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
    , dppMaxTxSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
dppMaxTxSize = 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
    , dppMaxBHSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
dppMaxBHSize = 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
    , dppKeyDeposit :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
dppKeyDeposit = 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
    , dppPoolDeposit :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
  StrictMaybe
  (CompactForm Coin)
dppPoolDeposit = HKD StrictMaybe (CompactForm Coin)
-> THKD
     ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
     StrictMaybe
     (CompactForm Coin)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe (CompactForm Coin)
HKD StrictMaybe (CompactForm Coin)
forall a. StrictMaybe a
SNothing
    , dppEMax :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  StrictMaybe
  EpochInterval
dppEMax = 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
    , dppNOpt :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
dppNOpt = 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
    , dppA0 :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  StrictMaybe
  NonNegativeInterval
dppA0 = 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
    , dppRho :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
  StrictMaybe
  UnitInterval
dppRho = 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
    , dppTau :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup)
  StrictMaybe
  UnitInterval
dppTau = 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
    , dppProtocolVersion :: HKDNoUpdate StrictMaybe ProtVer
dppProtocolVersion = HKDNoUpdate StrictMaybe ProtVer
NoUpdate ProtVer
forall a. NoUpdate a
NoUpdate
    , dppMinPoolCost :: THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
dppMinPoolCost = 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
    , dppCoinsPerUTxOByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
dppCoinsPerUTxOByte = 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
    , dppCostModels :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
  StrictMaybe
  CostModels
dppCostModels = 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
    , dppPrices :: THKD
  ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
dppPrices = 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
    , dppMaxTxExUnits :: THKD
  ('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
dppMaxTxExUnits = 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
    , dppMaxBlockExUnits :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
dppMaxBlockExUnits = 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
    , dppMaxValSize :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
dppMaxValSize = 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
    , dppCollateralPercentage :: THKD
  ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
dppCollateralPercentage = 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
    , dppMaxCollateralInputs :: THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
dppMaxCollateralInputs = 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
    , dppPoolVotingThresholds :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  StrictMaybe
  PoolVotingThresholds
dppPoolVotingThresholds = 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
    , dppDRepVotingThresholds :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  StrictMaybe
  DRepVotingThresholds
dppDRepVotingThresholds = 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
    , dppCommitteeMinSize :: THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
dppCommitteeMinSize = 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
    , dppCommitteeMaxTermLength :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
dppCommitteeMaxTermLength = 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
    , dppGovActionLifetime :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
dppGovActionLifetime = 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
    , dppGovActionDeposit :: THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
dppGovActionDeposit = 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
    , dppDRepDeposit :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup)
  StrictMaybe
  (CompactForm Coin)
dppDRepDeposit = HKD StrictMaybe (CompactForm Coin)
-> THKD
     ('PPGroups 'GovGroup 'NoStakePoolGroup)
     StrictMaybe
     (CompactForm Coin)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe (CompactForm Coin)
HKD StrictMaybe (CompactForm Coin)
forall a. StrictMaybe a
SNothing
    , dppDRepActivity :: THKD
  ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
dppDRepActivity = 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
    , dppMinFeeRefScriptCostPerByte :: THKD
  ('PPGroups 'EconomicGroup 'SecurityGroup)
  StrictMaybe
  NonNegativeInterval
dppMinFeeRefScriptCostPerByte = 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
    , dppMaxRefScriptSizePerBlock :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
dppMaxRefScriptSizePerBlock = 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
    , dppMaxRefScriptSizePerTx :: THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
dppMaxRefScriptSizePerTx = 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
    , dppRefScriptCostStride :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup)
  StrictMaybe
  (NonZero Word32)
dppRefScriptCostStride = HKD StrictMaybe (NonZero Word32)
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup)
     StrictMaybe
     (NonZero Word32)
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe (NonZero Word32)
HKD StrictMaybe (NonZero Word32)
forall a. StrictMaybe a
SNothing
    , dppRefScriptCostMultiplier :: THKD
  ('PPGroups 'NetworkGroup 'SecurityGroup)
  StrictMaybe
  PositiveInterval
dppRefScriptCostMultiplier = HKD StrictMaybe PositiveInterval
-> THKD
     ('PPGroups 'NetworkGroup 'SecurityGroup)
     StrictMaybe
     PositiveInterval
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD StrictMaybe PositiveInterval
HKD StrictMaybe PositiveInterval
forall a. StrictMaybe a
SNothing
    }

class DijkstraEraPParams era => DijkstraEraPParams era where
  hkdMaxRefScriptSizePerBlockL :: Lens' (PParamsHKD f era) (HKD f Word32)
  hkdMaxRefScriptSizePerTxL :: Lens' (PParamsHKD f era) (HKD f Word32)
  hkdRefScriptCostStrideL :: Lens' (PParamsHKD f era) (HKD f (NonZero Word32))
  hkdRefScriptCostMultiplierL :: Lens' (PParamsHKD f era) (HKD f PositiveInterval)

instance DijkstraEraPParams DijkstraEra where
  hkdMaxRefScriptSizePerBlockL :: forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f Word32)
hkdMaxRefScriptSizePerBlockL = (PParamsHKD f DijkstraEra -> HKD f Word32)
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> DijkstraPParams f DijkstraEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerBlock) ((PParamsHKD f DijkstraEra
  -> HKD f Word32 -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Word32 -> f (HKD f Word32))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Word32
x -> PParamsHKD f DijkstraEra
pp {dppMaxRefScriptSizePerBlock = THKD x}
  hkdMaxRefScriptSizePerTxL :: forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f Word32)
hkdMaxRefScriptSizePerTxL = (PParamsHKD f DijkstraEra -> HKD f Word32)
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
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)
-> (DijkstraPParams f DijkstraEra
    -> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32)
-> DijkstraPParams f DijkstraEra
-> HKD f Word32
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
dppMaxRefScriptSizePerTx) ((PParamsHKD f DijkstraEra
  -> HKD f Word32 -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f Word32 -> f (HKD f Word32))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f Word32 -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f Word32 -> f (HKD f Word32))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f Word32
x -> PParamsHKD f DijkstraEra
pp {dppMaxRefScriptSizePerTx = THKD x}
  hkdRefScriptCostStrideL :: forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f (NonZero Word32))
hkdRefScriptCostStrideL = (PParamsHKD f DijkstraEra -> HKD f (NonZero Word32))
-> (PParamsHKD f DijkstraEra
    -> HKD f (NonZero Word32) -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f (NonZero Word32) -> f (HKD f (NonZero Word32)))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
-> HKD f (NonZero Word32)
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
 -> HKD f (NonZero Word32))
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32))
-> DijkstraPParams f DijkstraEra
-> HKD f (NonZero Word32)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f (NonZero Word32)
dppRefScriptCostStride) ((PParamsHKD f DijkstraEra
  -> HKD f (NonZero Word32) -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f (NonZero Word32) -> f (HKD f (NonZero Word32)))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f (NonZero Word32) -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f (NonZero Word32) -> f (HKD f (NonZero Word32)))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f (NonZero Word32)
x -> PParamsHKD f DijkstraEra
pp {dppRefScriptCostStride = THKD x}
  hkdRefScriptCostMultiplierL :: forall (f :: * -> *).
Lens' (PParamsHKD f DijkstraEra) (HKD f PositiveInterval)
hkdRefScriptCostMultiplierL = (PParamsHKD f DijkstraEra -> HKD f PositiveInterval)
-> (PParamsHKD f DijkstraEra
    -> HKD f PositiveInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f PositiveInterval -> f (HKD f PositiveInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
-> HKD f PositiveInterval
forall (t :: PPGroups) (f :: * -> *) a. THKD t f a -> HKD f a
unTHKD (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
 -> HKD f PositiveInterval)
-> (DijkstraPParams f DijkstraEra
    -> THKD
         ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval)
-> DijkstraPParams f DijkstraEra
-> HKD f PositiveInterval
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraPParams f DijkstraEra
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
forall (f :: * -> *) era.
DijkstraPParams f era
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f PositiveInterval
dppRefScriptCostMultiplier) ((PParamsHKD f DijkstraEra
  -> HKD f PositiveInterval -> PParamsHKD f DijkstraEra)
 -> forall {f :: * -> *}.
    Functor f =>
    (HKD f PositiveInterval -> f (HKD f PositiveInterval))
    -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra))
-> (PParamsHKD f DijkstraEra
    -> HKD f PositiveInterval -> PParamsHKD f DijkstraEra)
-> forall {f :: * -> *}.
   Functor f =>
   (HKD f PositiveInterval -> f (HKD f PositiveInterval))
   -> PParamsHKD f DijkstraEra -> f (PParamsHKD f DijkstraEra)
forall a b. (a -> b) -> a -> b
$ \PParamsHKD f DijkstraEra
pp HKD f PositiveInterval
x -> PParamsHKD f DijkstraEra
pp {dppRefScriptCostMultiplier = THKD x}

ppMaxRefScriptSizePerBlockL :: DijkstraEraPParams era => Lens' (PParams era) Word32
ppMaxRefScriptSizePerBlockL :: forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
ppMaxRefScriptSizePerBlockL = (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))
-> ((Word32 -> f Word32)
    -> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (Word32 -> f Word32)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f Word32)
hkdMaxRefScriptSizePerBlockL @_ @Identity

ppMaxRefScriptSizePerTxL :: DijkstraEraPParams era => Lens' (PParams era) Word32
ppMaxRefScriptSizePerTxL :: forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
ppMaxRefScriptSizePerTxL = (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))
-> ((Word32 -> f Word32)
    -> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (Word32 -> f Word32)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f Word32)
hkdMaxRefScriptSizePerTxL @_ @Identity

ppRefScriptCostStrideL :: DijkstraEraPParams era => Lens' (PParams era) (NonZero Word32)
ppRefScriptCostStrideL :: forall era.
DijkstraEraPParams era =>
Lens' (PParams era) (NonZero Word32)
ppRefScriptCostStrideL = (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))
-> ((NonZero Word32 -> f (NonZero Word32))
    -> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (NonZero Word32 -> f (NonZero Word32))
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f (NonZero Word32))
hkdRefScriptCostStrideL @_ @Identity

ppRefScriptCostMultiplierL :: DijkstraEraPParams era => Lens' (PParams era) PositiveInterval
ppRefScriptCostMultiplierL :: forall era.
DijkstraEraPParams era =>
Lens' (PParams era) PositiveInterval
ppRefScriptCostMultiplierL = (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))
-> ((PositiveInterval -> f PositiveInterval)
    -> PParamsHKD Identity era -> f (PParamsHKD Identity era))
-> (PositiveInterval -> f PositiveInterval)
-> PParams era
-> f (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f PositiveInterval)
hkdRefScriptCostMultiplierL @_ @Identity

ppuMaxRefScriptSizePerBlockL ::
  DijkstraEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe Word32)
ppuMaxRefScriptSizePerBlockL :: forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
ppuMaxRefScriptSizePerBlockL = (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 Word32 -> f (StrictMaybe Word32))
    -> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f Word32)
hkdMaxRefScriptSizePerBlockL @_ @StrictMaybe

ppuMaxRefScriptSizePerTxL ::
  DijkstraEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe Word32)
ppuMaxRefScriptSizePerTxL :: forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe Word32)
ppuMaxRefScriptSizePerTxL = (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 Word32 -> f (StrictMaybe Word32))
    -> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f Word32)
hkdMaxRefScriptSizePerTxL @_ @StrictMaybe

ppuRefScriptCostStrideL ::
  DijkstraEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe (NonZero Word32))
ppuRefScriptCostStrideL :: forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe (NonZero Word32))
ppuRefScriptCostStrideL = (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 (NonZero Word32)
     -> f (StrictMaybe (NonZero Word32)))
    -> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe (NonZero Word32)
    -> f (StrictMaybe (NonZero Word32)))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f (NonZero Word32))
hkdRefScriptCostStrideL @_ @StrictMaybe

ppuRefScriptCostMultiplierL ::
  DijkstraEraPParams era => Lens' (PParamsUpdate era) (StrictMaybe PositiveInterval)
ppuRefScriptCostMultiplierL :: forall era.
DijkstraEraPParams era =>
Lens' (PParamsUpdate era) (StrictMaybe PositiveInterval)
ppuRefScriptCostMultiplierL = (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 PositiveInterval
     -> f (StrictMaybe PositiveInterval))
    -> PParamsHKD StrictMaybe era -> f (PParamsHKD StrictMaybe era))
-> (StrictMaybe PositiveInterval
    -> f (StrictMaybe PositiveInterval))
-> PParamsUpdate era
-> f (PParamsUpdate era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall era (f :: * -> *).
DijkstraEraPParams era =>
Lens' (PParamsHKD f era) (HKD f PositiveInterval)
hkdRefScriptCostMultiplierL @_ @StrictMaybe