{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE RoleAnnotations #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Dijkstra.Forecast (
DijkstraForecast (..),
DijkstraEraForecast (..),
) where
import Cardano.Ledger.BaseTypes (Milliseconds32, PositiveInterval, ProtVer, UnitInterval)
import Cardano.Ledger.Conway.Rules ()
import Cardano.Ledger.Core
import Cardano.Ledger.Dijkstra.Era (DijkstraEra)
import Cardano.Ledger.Dijkstra.Governance ()
import Cardano.Ledger.Dijkstra.PParams (
DijkstraEraPParams,
ppLeiosAnnouncementPeriodLengthL,
ppLeiosCommitteeSizeL,
ppLeiosDiffusionPeriodLengthL,
ppLeiosQuorumStakeThresholdL,
ppLeiosVotePeriodLengthL,
ppMaxEndorserBlockExUnitsL,
ppMaxEndorserBlockReferencesSizeL,
ppMaxEndorserBlockTxsSizeL,
ppMaxRefScriptSizePerEndorserBlockL,
ppPerasBootstrapRoundL,
ppPerasCertBoostL,
ppPerasHealingFactorL,
ppPerasMinCandidateBlockAgeL,
ppPerasQuorumThresholdSafetyMarginL,
ppPerasTargetCommitteeSizeL,
)
import Cardano.Ledger.Dijkstra.Rules.Snap ()
import Cardano.Ledger.Dijkstra.State.CertState ()
import Cardano.Ledger.Plutus.ExUnits (OrdExUnits)
import Cardano.Ledger.Shelley.API.Forecast (
EraForecast (..),
Timeline (..),
)
import Cardano.Ledger.Shelley.LedgerState (
NewEpochState (..),
curPParamsEpochStateL,
esSnapshotsL,
nesEsL,
nesStakePoolDistrG,
)
import Cardano.Ledger.State (
EraGov,
LeiosCommittee,
PoolDistr (..),
ssLeiosCommitteeL,
ssStakeSetL,
)
import Cardano.Slotting.Slot (SlotInterval)
import Control.DeepSeq (NFData)
import Data.Maybe.Strict (StrictMaybe)
import Data.Word (Word16, Word32)
import GHC.Generics (Generic)
import Lens.Micro (Lens', lens, (^.))
import NoThunks.Class (NoThunks (..))
data DijkstraForecast (t :: Timeline) era = DijkstraForecast
{ forall (t :: Timeline) era. DijkstraForecast t era -> PoolDistr
dfPoolDistr :: !PoolDistr
, :: !Word16
, forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxBlockBodySize :: !Word32
, forall (t :: Timeline) era. DijkstraForecast t era -> ProtVer
dfProtocolVersion :: !ProtVer
, forall (t :: Timeline) era.
DijkstraForecast t era -> LeiosCommittee
dfLeiosCommittee :: !LeiosCommittee
, forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfLeiosCommitteeSize :: !Word16
, forall (t :: Timeline) era. DijkstraForecast t era -> UnitInterval
dfLeiosQuorumStakeThreshold :: !UnitInterval
, forall (t :: Timeline) era.
DijkstraForecast t era -> Milliseconds32
dfLeiosAnnouncementPeriodLength :: !Milliseconds32
, forall (t :: Timeline) era.
DijkstraForecast t era -> Milliseconds32
dfLeiosVotePeriodLength :: !Milliseconds32
, forall (t :: Timeline) era.
DijkstraForecast t era -> Milliseconds32
dfLeiosDiffusionPeriodLength :: !Milliseconds32
, forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxEndorserBlockReferencesSize :: !Word32
, forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxEndorserBlockTxsSize :: !Word32
, forall (t :: Timeline) era. DijkstraForecast t era -> OrdExUnits
dfMaxEndorserBlockExUnits :: !OrdExUnits
, forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxRefScriptSizePerEndorserBlock :: !Word32
, forall (t :: Timeline) era. DijkstraForecast t era -> SlotInterval
dfPerasMinCandidateBlockAge :: !SlotInterval
, forall (t :: Timeline) era.
DijkstraForecast t era -> PositiveInterval
dfPerasHealingFactor :: !PositiveInterval
, forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfPerasCertBoost :: !Word16
, forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfPerasTargetCommitteeSize :: !Word16
, forall (t :: Timeline) era.
DijkstraForecast t era -> StrictMaybe Word32
dfPerasBootstrapRound :: !(StrictMaybe Word32)
, forall (t :: Timeline) era. DijkstraForecast t era -> UnitInterval
dfPerasQuorumThresholdSafetyMargin :: !UnitInterval
}
deriving (DijkstraForecast t era -> DijkstraForecast t era -> Bool
(DijkstraForecast t era -> DijkstraForecast t era -> Bool)
-> (DijkstraForecast t era -> DijkstraForecast t era -> Bool)
-> Eq (DijkstraForecast t era)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (t :: Timeline) era.
DijkstraForecast t era -> DijkstraForecast t era -> Bool
$c== :: forall (t :: Timeline) era.
DijkstraForecast t era -> DijkstraForecast t era -> Bool
== :: DijkstraForecast t era -> DijkstraForecast t era -> Bool
$c/= :: forall (t :: Timeline) era.
DijkstraForecast t era -> DijkstraForecast t era -> Bool
/= :: DijkstraForecast t era -> DijkstraForecast t era -> Bool
Eq, Int -> DijkstraForecast t era -> ShowS
[DijkstraForecast t era] -> ShowS
DijkstraForecast t era -> String
(Int -> DijkstraForecast t era -> ShowS)
-> (DijkstraForecast t era -> String)
-> ([DijkstraForecast t era] -> ShowS)
-> Show (DijkstraForecast t era)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (t :: Timeline) era. Int -> DijkstraForecast t era -> ShowS
forall (t :: Timeline) era. [DijkstraForecast t era] -> ShowS
forall (t :: Timeline) era. DijkstraForecast t era -> String
$cshowsPrec :: forall (t :: Timeline) era. Int -> DijkstraForecast t era -> ShowS
showsPrec :: Int -> DijkstraForecast t era -> ShowS
$cshow :: forall (t :: Timeline) era. DijkstraForecast t era -> String
show :: DijkstraForecast t era -> String
$cshowList :: forall (t :: Timeline) era. [DijkstraForecast t era] -> ShowS
showList :: [DijkstraForecast t era] -> ShowS
Show, (forall x.
DijkstraForecast t era -> Rep (DijkstraForecast t era) x)
-> (forall x.
Rep (DijkstraForecast t era) x -> DijkstraForecast t era)
-> Generic (DijkstraForecast t era)
forall x. Rep (DijkstraForecast t era) x -> DijkstraForecast t era
forall x. DijkstraForecast t era -> Rep (DijkstraForecast t era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (t :: Timeline) era x.
Rep (DijkstraForecast t era) x -> DijkstraForecast t era
forall (t :: Timeline) era x.
DijkstraForecast t era -> Rep (DijkstraForecast t era) x
$cfrom :: forall (t :: Timeline) era x.
DijkstraForecast t era -> Rep (DijkstraForecast t era) x
from :: forall x. DijkstraForecast t era -> Rep (DijkstraForecast t era) x
$cto :: forall (t :: Timeline) era x.
Rep (DijkstraForecast t era) x -> DijkstraForecast t era
to :: forall x. Rep (DijkstraForecast t era) x -> DijkstraForecast t era
Generic)
type role DijkstraForecast phantom phantom
instance NFData (DijkstraForecast t era)
instance NoThunks (DijkstraForecast t era)
class EraForecast era => DijkstraEraForecast era where
leiosCommitteeForecastL :: Lens' (Forecast t era) LeiosCommittee
leiosCommitteeSizeForecastL :: Lens' (Forecast t era) Word16
leiosQuorumStakeThresholdForecastL :: Lens' (Forecast t era) UnitInterval
leiosAnnouncementPeriodLengthForecastL :: Lens' (Forecast t era) Milliseconds32
leiosVotePeriodLengthForecastL :: Lens' (Forecast t era) Milliseconds32
leiosDiffusionPeriodLengthForecastL :: Lens' (Forecast t era) Milliseconds32
maxEndorserBlockReferencesSizeForecastL :: Lens' (Forecast t era) Word32
maxEndorserBlockTxsSizeForecastL :: Lens' (Forecast t era) Word32
maxEndorserBlockExUnitsForecastL :: Lens' (Forecast t era) OrdExUnits
maxRefScriptSizePerEndorserBlockForecastL :: Lens' (Forecast t era) Word32
perasMinCandidateBlockAgeForecastL :: Lens' (Forecast t era) SlotInterval
perasHealingFactorForecastL :: Lens' (Forecast t era) PositiveInterval
perasCertBoostForecastL :: Lens' (Forecast t era) Word16
perasTargetCommitteeSizeForecastL :: Lens' (Forecast t era) Word16
perasBootstrapRoundForecastL :: Lens' (Forecast t era) (StrictMaybe Word32)
perasQuorumThresholdSafetyMarginForecastL :: Lens' (Forecast t era) UnitInterval
mkDijkstraForecast ::
(DijkstraEraPParams era, EraGov era) =>
NewEpochState era ->
DijkstraForecast t era
mkDijkstraForecast :: forall era (t :: Timeline).
(DijkstraEraPParams era, EraGov era) =>
NewEpochState era -> DijkstraForecast t era
mkDijkstraForecast NewEpochState era
nes =
DijkstraForecast
{ dfPoolDistr :: PoolDistr
dfPoolDistr = NewEpochState era
nes NewEpochState era
-> Getting PoolDistr (NewEpochState era) PoolDistr -> PoolDistr
forall s a. s -> Getting a s a -> a
^. Getting PoolDistr (NewEpochState era) PoolDistr
forall era r. Getting r (NewEpochState era) PoolDistr
nesStakePoolDistrG
, dfMaxBlockHeaderSize :: Word16
dfMaxBlockHeaderSize = PParams era
pp PParams era -> Getting Word16 (PParams era) Word16 -> Word16
forall s a. s -> Getting a s a -> a
^. Getting Word16 (PParams era) Word16
forall era. EraPParams era => Lens' (PParams era) Word16
Lens' (PParams era) Word16
ppMaxBHSizeL
, dfMaxBlockBodySize :: Word32
dfMaxBlockBodySize = PParams era
pp PParams era -> Getting Word32 (PParams era) Word32 -> Word32
forall s a. s -> Getting a s a -> a
^. Getting Word32 (PParams era) Word32
forall era. EraPParams era => Lens' (PParams era) Word32
Lens' (PParams era) Word32
ppMaxBBSizeL
, dfProtocolVersion :: ProtVer
dfProtocolVersion = PParams era
pp PParams era -> Getting ProtVer (PParams era) ProtVer -> ProtVer
forall s a. s -> Getting a s a -> a
^. Getting ProtVer (PParams era) ProtVer
forall era. EraPParams era => Lens' (PParams era) ProtVer
Lens' (PParams era) ProtVer
ppProtocolVersionL
, dfLeiosCommittee :: LeiosCommittee
dfLeiosCommittee = NewEpochState era
nes NewEpochState era
-> Getting LeiosCommittee (NewEpochState era) LeiosCommittee
-> LeiosCommittee
forall s a. s -> Getting a s a -> a
^. (EpochState era -> Const LeiosCommittee (EpochState era))
-> NewEpochState era -> Const LeiosCommittee (NewEpochState era)
forall era (f :: * -> *).
Functor f =>
(EpochState era -> f (EpochState era))
-> NewEpochState era -> f (NewEpochState era)
nesEsL ((EpochState era -> Const LeiosCommittee (EpochState era))
-> NewEpochState era -> Const LeiosCommittee (NewEpochState era))
-> ((LeiosCommittee -> Const LeiosCommittee LeiosCommittee)
-> EpochState era -> Const LeiosCommittee (EpochState era))
-> Getting LeiosCommittee (NewEpochState era) LeiosCommittee
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SnapShots era -> Const LeiosCommittee (SnapShots era))
-> EpochState era -> Const LeiosCommittee (EpochState era)
forall era (f :: * -> *).
Functor f =>
(SnapShots era -> f (SnapShots era))
-> EpochState era -> f (EpochState era)
esSnapshotsL ((SnapShots era -> Const LeiosCommittee (SnapShots era))
-> EpochState era -> Const LeiosCommittee (EpochState era))
-> ((LeiosCommittee -> Const LeiosCommittee LeiosCommittee)
-> SnapShots era -> Const LeiosCommittee (SnapShots era))
-> (LeiosCommittee -> Const LeiosCommittee LeiosCommittee)
-> EpochState era
-> Const LeiosCommittee (EpochState era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SetSnapShot -> Const LeiosCommittee SetSnapShot)
-> SnapShots era -> Const LeiosCommittee (SnapShots era)
forall era (f :: * -> *).
Functor f =>
(SetSnapShot -> f SetSnapShot)
-> SnapShots era -> f (SnapShots era)
ssStakeSetL ((SetSnapShot -> Const LeiosCommittee SetSnapShot)
-> SnapShots era -> Const LeiosCommittee (SnapShots era))
-> ((LeiosCommittee -> Const LeiosCommittee LeiosCommittee)
-> SetSnapShot -> Const LeiosCommittee SetSnapShot)
-> (LeiosCommittee -> Const LeiosCommittee LeiosCommittee)
-> SnapShots era
-> Const LeiosCommittee (SnapShots era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (LeiosCommittee -> Const LeiosCommittee LeiosCommittee)
-> SetSnapShot -> Const LeiosCommittee SetSnapShot
Lens' SetSnapShot LeiosCommittee
ssLeiosCommitteeL
, dfLeiosCommitteeSize :: Word16
dfLeiosCommitteeSize = PParams era
pp PParams era -> Getting Word16 (PParams era) Word16 -> Word16
forall s a. s -> Getting a s a -> a
^. Getting Word16 (PParams era) Word16
forall era. DijkstraEraPParams era => Lens' (PParams era) Word16
Lens' (PParams era) Word16
ppLeiosCommitteeSizeL
, dfLeiosQuorumStakeThreshold :: UnitInterval
dfLeiosQuorumStakeThreshold = PParams era
pp PParams era
-> Getting UnitInterval (PParams era) UnitInterval -> UnitInterval
forall s a. s -> Getting a s a -> a
^. Getting UnitInterval (PParams era) UnitInterval
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) UnitInterval
Lens' (PParams era) UnitInterval
ppLeiosQuorumStakeThresholdL
, dfLeiosAnnouncementPeriodLength :: Milliseconds32
dfLeiosAnnouncementPeriodLength = PParams era
pp PParams era
-> Getting Milliseconds32 (PParams era) Milliseconds32
-> Milliseconds32
forall s a. s -> Getting a s a -> a
^. Getting Milliseconds32 (PParams era) Milliseconds32
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) Milliseconds32
Lens' (PParams era) Milliseconds32
ppLeiosAnnouncementPeriodLengthL
, dfLeiosVotePeriodLength :: Milliseconds32
dfLeiosVotePeriodLength = PParams era
pp PParams era
-> Getting Milliseconds32 (PParams era) Milliseconds32
-> Milliseconds32
forall s a. s -> Getting a s a -> a
^. Getting Milliseconds32 (PParams era) Milliseconds32
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) Milliseconds32
Lens' (PParams era) Milliseconds32
ppLeiosVotePeriodLengthL
, dfLeiosDiffusionPeriodLength :: Milliseconds32
dfLeiosDiffusionPeriodLength = PParams era
pp PParams era
-> Getting Milliseconds32 (PParams era) Milliseconds32
-> Milliseconds32
forall s a. s -> Getting a s a -> a
^. Getting Milliseconds32 (PParams era) Milliseconds32
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) Milliseconds32
Lens' (PParams era) Milliseconds32
ppLeiosDiffusionPeriodLengthL
, dfMaxEndorserBlockReferencesSize :: Word32
dfMaxEndorserBlockReferencesSize = PParams era
pp PParams era -> Getting Word32 (PParams era) Word32 -> Word32
forall s a. s -> Getting a s a -> a
^. Getting Word32 (PParams era) Word32
forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
Lens' (PParams era) Word32
ppMaxEndorserBlockReferencesSizeL
, dfMaxEndorserBlockTxsSize :: Word32
dfMaxEndorserBlockTxsSize = PParams era
pp PParams era -> Getting Word32 (PParams era) Word32 -> Word32
forall s a. s -> Getting a s a -> a
^. Getting Word32 (PParams era) Word32
forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
Lens' (PParams era) Word32
ppMaxEndorserBlockTxsSizeL
, dfMaxEndorserBlockExUnits :: OrdExUnits
dfMaxEndorserBlockExUnits = PParams era
pp PParams era
-> Getting OrdExUnits (PParams era) OrdExUnits -> OrdExUnits
forall s a. s -> Getting a s a -> a
^. Getting OrdExUnits (PParams era) OrdExUnits
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) OrdExUnits
Lens' (PParams era) OrdExUnits
ppMaxEndorserBlockExUnitsL
, dfMaxRefScriptSizePerEndorserBlock :: Word32
dfMaxRefScriptSizePerEndorserBlock = PParams era
pp PParams era -> Getting Word32 (PParams era) Word32 -> Word32
forall s a. s -> Getting a s a -> a
^. Getting Word32 (PParams era) Word32
forall era. DijkstraEraPParams era => Lens' (PParams era) Word32
Lens' (PParams era) Word32
ppMaxRefScriptSizePerEndorserBlockL
, dfPerasMinCandidateBlockAge :: SlotInterval
dfPerasMinCandidateBlockAge = PParams era
pp PParams era
-> Getting SlotInterval (PParams era) SlotInterval -> SlotInterval
forall s a. s -> Getting a s a -> a
^. Getting SlotInterval (PParams era) SlotInterval
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) SlotInterval
Lens' (PParams era) SlotInterval
ppPerasMinCandidateBlockAgeL
, dfPerasHealingFactor :: PositiveInterval
dfPerasHealingFactor = PParams era
pp PParams era
-> Getting PositiveInterval (PParams era) PositiveInterval
-> PositiveInterval
forall s a. s -> Getting a s a -> a
^. Getting PositiveInterval (PParams era) PositiveInterval
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) PositiveInterval
Lens' (PParams era) PositiveInterval
ppPerasHealingFactorL
, dfPerasCertBoost :: Word16
dfPerasCertBoost = PParams era
pp PParams era -> Getting Word16 (PParams era) Word16 -> Word16
forall s a. s -> Getting a s a -> a
^. Getting Word16 (PParams era) Word16
forall era. DijkstraEraPParams era => Lens' (PParams era) Word16
Lens' (PParams era) Word16
ppPerasCertBoostL
, dfPerasTargetCommitteeSize :: Word16
dfPerasTargetCommitteeSize = PParams era
pp PParams era -> Getting Word16 (PParams era) Word16 -> Word16
forall s a. s -> Getting a s a -> a
^. Getting Word16 (PParams era) Word16
forall era. DijkstraEraPParams era => Lens' (PParams era) Word16
Lens' (PParams era) Word16
ppPerasTargetCommitteeSizeL
, dfPerasBootstrapRound :: StrictMaybe Word32
dfPerasBootstrapRound = PParams era
pp PParams era
-> Getting (StrictMaybe Word32) (PParams era) (StrictMaybe Word32)
-> StrictMaybe Word32
forall s a. s -> Getting a s a -> a
^. Getting (StrictMaybe Word32) (PParams era) (StrictMaybe Word32)
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) (StrictMaybe Word32)
Lens' (PParams era) (StrictMaybe Word32)
ppPerasBootstrapRoundL
, dfPerasQuorumThresholdSafetyMargin :: UnitInterval
dfPerasQuorumThresholdSafetyMargin = PParams era
pp PParams era
-> Getting UnitInterval (PParams era) UnitInterval -> UnitInterval
forall s a. s -> Getting a s a -> a
^. Getting UnitInterval (PParams era) UnitInterval
forall era.
DijkstraEraPParams era =>
Lens' (PParams era) UnitInterval
Lens' (PParams era) UnitInterval
ppPerasQuorumThresholdSafetyMarginL
}
where
pp :: PParams era
pp = NewEpochState era
nes NewEpochState era
-> Getting (PParams era) (NewEpochState era) (PParams era)
-> PParams era
forall s a. s -> Getting a s a -> a
^. (EpochState era -> Const (PParams era) (EpochState era))
-> NewEpochState era -> Const (PParams era) (NewEpochState era)
forall era (f :: * -> *).
Functor f =>
(EpochState era -> f (EpochState era))
-> NewEpochState era -> f (NewEpochState era)
nesEsL ((EpochState era -> Const (PParams era) (EpochState era))
-> NewEpochState era -> Const (PParams era) (NewEpochState era))
-> ((PParams era -> Const (PParams era) (PParams era))
-> EpochState era -> Const (PParams era) (EpochState era))
-> Getting (PParams era) (NewEpochState era) (PParams era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PParams era -> Const (PParams era) (PParams era))
-> EpochState era -> Const (PParams era) (EpochState era)
forall era. EraGov era => Lens' (EpochState era) (PParams era)
Lens' (EpochState era) (PParams era)
curPParamsEpochStateL
dfPoolDistrL :: Lens' (DijkstraForecast t era) PoolDistr
dfPoolDistrL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(PoolDistr -> f PoolDistr)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPoolDistrL = (DijkstraForecast t era -> PoolDistr)
-> (DijkstraForecast t era -> PoolDistr -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
PoolDistr
PoolDistr
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> PoolDistr
forall (t :: Timeline) era. DijkstraForecast t era -> PoolDistr
dfPoolDistr ((DijkstraForecast t era -> PoolDistr -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
PoolDistr
PoolDistr)
-> (DijkstraForecast t era -> PoolDistr -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
PoolDistr
PoolDistr
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s PoolDistr
x -> DijkstraForecast t era
s {dfPoolDistr = x}
dfMaxBlockHeaderSizeL :: Lens' (DijkstraForecast t era) Word16
= (DijkstraForecast t era -> Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word16
forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfMaxBlockHeaderSize ((DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word16
x -> DijkstraForecast t era
s {dfMaxBlockHeaderSize = x}
dfMaxBlockBodySizeL :: Lens' (DijkstraForecast t era) Word32
dfMaxBlockBodySizeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxBlockBodySizeL = (DijkstraForecast t era -> Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word32
forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxBlockBodySize ((DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word32
x -> DijkstraForecast t era
s {dfMaxBlockBodySize = x}
dfProtocolVersionL :: Lens' (DijkstraForecast t era) ProtVer
dfProtocolVersionL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(ProtVer -> f ProtVer)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfProtocolVersionL = (DijkstraForecast t era -> ProtVer)
-> (DijkstraForecast t era -> ProtVer -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) ProtVer ProtVer
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> ProtVer
forall (t :: Timeline) era. DijkstraForecast t era -> ProtVer
dfProtocolVersion ((DijkstraForecast t era -> ProtVer -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) ProtVer ProtVer)
-> (DijkstraForecast t era -> ProtVer -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) ProtVer ProtVer
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s ProtVer
x -> DijkstraForecast t era
s {dfProtocolVersion = x}
dfLeiosCommitteeL :: Lens' (DijkstraForecast t era) LeiosCommittee
dfLeiosCommitteeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(LeiosCommittee -> f LeiosCommittee)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosCommitteeL = (DijkstraForecast t era -> LeiosCommittee)
-> (DijkstraForecast t era
-> LeiosCommittee -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
LeiosCommittee
LeiosCommittee
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> LeiosCommittee
forall (t :: Timeline) era.
DijkstraForecast t era -> LeiosCommittee
dfLeiosCommittee ((DijkstraForecast t era
-> LeiosCommittee -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
LeiosCommittee
LeiosCommittee)
-> (DijkstraForecast t era
-> LeiosCommittee -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
LeiosCommittee
LeiosCommittee
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s LeiosCommittee
x -> DijkstraForecast t era
s {dfLeiosCommittee = x}
dfLeiosCommitteeSizeL :: Lens' (DijkstraForecast t era) Word16
dfLeiosCommitteeSizeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosCommitteeSizeL = (DijkstraForecast t era -> Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word16
forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfLeiosCommitteeSize ((DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word16
x -> DijkstraForecast t era
s {dfLeiosCommitteeSize = x}
dfLeiosQuorumStakeThresholdL :: Lens' (DijkstraForecast t era) UnitInterval
dfLeiosQuorumStakeThresholdL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(UnitInterval -> f UnitInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosQuorumStakeThresholdL =
(DijkstraForecast t era -> UnitInterval)
-> (DijkstraForecast t era
-> UnitInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
UnitInterval
UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> UnitInterval
forall (t :: Timeline) era. DijkstraForecast t era -> UnitInterval
dfLeiosQuorumStakeThreshold ((DijkstraForecast t era -> UnitInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
UnitInterval
UnitInterval)
-> (DijkstraForecast t era
-> UnitInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
UnitInterval
UnitInterval
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s UnitInterval
x -> DijkstraForecast t era
s {dfLeiosQuorumStakeThreshold = x}
dfLeiosAnnouncementPeriodLengthL :: Lens' (DijkstraForecast t era) Milliseconds32
dfLeiosAnnouncementPeriodLengthL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosAnnouncementPeriodLengthL =
(DijkstraForecast t era -> Milliseconds32)
-> (DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Milliseconds32
forall (t :: Timeline) era.
DijkstraForecast t era -> Milliseconds32
dfLeiosAnnouncementPeriodLength ((DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32)
-> (DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Milliseconds32
x -> DijkstraForecast t era
s {dfLeiosAnnouncementPeriodLength = x}
dfLeiosVotePeriodLengthL :: Lens' (DijkstraForecast t era) Milliseconds32
dfLeiosVotePeriodLengthL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosVotePeriodLengthL =
(DijkstraForecast t era -> Milliseconds32)
-> (DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Milliseconds32
forall (t :: Timeline) era.
DijkstraForecast t era -> Milliseconds32
dfLeiosVotePeriodLength ((DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32)
-> (DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Milliseconds32
x -> DijkstraForecast t era
s {dfLeiosVotePeriodLength = x}
dfLeiosDiffusionPeriodLengthL :: Lens' (DijkstraForecast t era) Milliseconds32
dfLeiosDiffusionPeriodLengthL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosDiffusionPeriodLengthL =
(DijkstraForecast t era -> Milliseconds32)
-> (DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Milliseconds32
forall (t :: Timeline) era.
DijkstraForecast t era -> Milliseconds32
dfLeiosDiffusionPeriodLength ((DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32)
-> (DijkstraForecast t era
-> Milliseconds32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
Milliseconds32
Milliseconds32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Milliseconds32
x -> DijkstraForecast t era
s {dfLeiosDiffusionPeriodLength = x}
dfMaxEndorserBlockReferencesSizeL :: Lens' (DijkstraForecast t era) Word32
dfMaxEndorserBlockReferencesSizeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxEndorserBlockReferencesSizeL =
(DijkstraForecast t era -> Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word32
forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxEndorserBlockReferencesSize ((DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word32
x -> DijkstraForecast t era
s {dfMaxEndorserBlockReferencesSize = x}
dfMaxEndorserBlockTxsSizeL :: Lens' (DijkstraForecast t era) Word32
dfMaxEndorserBlockTxsSizeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxEndorserBlockTxsSizeL =
(DijkstraForecast t era -> Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word32
forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxEndorserBlockTxsSize ((DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word32
x -> DijkstraForecast t era
s {dfMaxEndorserBlockTxsSize = x}
dfMaxEndorserBlockExUnitsL :: Lens' (DijkstraForecast t era) OrdExUnits
dfMaxEndorserBlockExUnitsL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(OrdExUnits -> f OrdExUnits)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxEndorserBlockExUnitsL =
(DijkstraForecast t era -> OrdExUnits)
-> (DijkstraForecast t era -> OrdExUnits -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
OrdExUnits
OrdExUnits
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> OrdExUnits
forall (t :: Timeline) era. DijkstraForecast t era -> OrdExUnits
dfMaxEndorserBlockExUnits ((DijkstraForecast t era -> OrdExUnits -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
OrdExUnits
OrdExUnits)
-> (DijkstraForecast t era -> OrdExUnits -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
OrdExUnits
OrdExUnits
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s OrdExUnits
x -> DijkstraForecast t era
s {dfMaxEndorserBlockExUnits = x}
dfMaxRefScriptSizePerEndorserBlockL :: Lens' (DijkstraForecast t era) Word32
dfMaxRefScriptSizePerEndorserBlockL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxRefScriptSizePerEndorserBlockL =
(DijkstraForecast t era -> Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word32
forall (t :: Timeline) era. DijkstraForecast t era -> Word32
dfMaxRefScriptSizePerEndorserBlock ((DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32)
-> (DijkstraForecast t era -> Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word32 Word32
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word32
x -> DijkstraForecast t era
s {dfMaxRefScriptSizePerEndorserBlock = x}
dfPerasMinCandidateBlockAgeL :: Lens' (DijkstraForecast t era) SlotInterval
dfPerasMinCandidateBlockAgeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(SlotInterval -> f SlotInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasMinCandidateBlockAgeL =
(DijkstraForecast t era -> SlotInterval)
-> (DijkstraForecast t era
-> SlotInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
SlotInterval
SlotInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> SlotInterval
forall (t :: Timeline) era. DijkstraForecast t era -> SlotInterval
dfPerasMinCandidateBlockAge ((DijkstraForecast t era -> SlotInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
SlotInterval
SlotInterval)
-> (DijkstraForecast t era
-> SlotInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
SlotInterval
SlotInterval
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s SlotInterval
x -> DijkstraForecast t era
s {dfPerasMinCandidateBlockAge = x}
dfPerasHealingFactorL :: Lens' (DijkstraForecast t era) PositiveInterval
dfPerasHealingFactorL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(PositiveInterval -> f PositiveInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasHealingFactorL =
(DijkstraForecast t era -> PositiveInterval)
-> (DijkstraForecast t era
-> PositiveInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
PositiveInterval
PositiveInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> PositiveInterval
forall (t :: Timeline) era.
DijkstraForecast t era -> PositiveInterval
dfPerasHealingFactor ((DijkstraForecast t era
-> PositiveInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
PositiveInterval
PositiveInterval)
-> (DijkstraForecast t era
-> PositiveInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
PositiveInterval
PositiveInterval
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s PositiveInterval
x -> DijkstraForecast t era
s {dfPerasHealingFactor = x}
dfPerasCertBoostL :: Lens' (DijkstraForecast t era) Word16
dfPerasCertBoostL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasCertBoostL =
(DijkstraForecast t era -> Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word16
forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfPerasCertBoost ((DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word16
x -> DijkstraForecast t era
s {dfPerasCertBoost = x}
dfPerasTargetCommitteeSizeL :: Lens' (DijkstraForecast t era) Word16
dfPerasTargetCommitteeSizeL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasTargetCommitteeSizeL =
(DijkstraForecast t era -> Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> Word16
forall (t :: Timeline) era. DijkstraForecast t era -> Word16
dfPerasTargetCommitteeSize ((DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16)
-> (DijkstraForecast t era -> Word16 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era) (DijkstraForecast t era) Word16 Word16
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s Word16
x -> DijkstraForecast t era
s {dfPerasTargetCommitteeSize = x}
dfPerasBootstrapRoundL :: Lens' (DijkstraForecast t era) (StrictMaybe Word32)
dfPerasBootstrapRoundL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(StrictMaybe Word32 -> f (StrictMaybe Word32))
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasBootstrapRoundL =
(DijkstraForecast t era -> StrictMaybe Word32)
-> (DijkstraForecast t era
-> StrictMaybe Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
(StrictMaybe Word32)
(StrictMaybe Word32)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> StrictMaybe Word32
forall (t :: Timeline) era.
DijkstraForecast t era -> StrictMaybe Word32
dfPerasBootstrapRound ((DijkstraForecast t era
-> StrictMaybe Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
(StrictMaybe Word32)
(StrictMaybe Word32))
-> (DijkstraForecast t era
-> StrictMaybe Word32 -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
(StrictMaybe Word32)
(StrictMaybe Word32)
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s StrictMaybe Word32
x -> DijkstraForecast t era
s {dfPerasBootstrapRound = x}
dfPerasQuorumThresholdSafetyMarginL :: Lens' (DijkstraForecast t era) UnitInterval
dfPerasQuorumThresholdSafetyMarginL :: forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(UnitInterval -> f UnitInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasQuorumThresholdSafetyMarginL =
(DijkstraForecast t era -> UnitInterval)
-> (DijkstraForecast t era
-> UnitInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
UnitInterval
UnitInterval
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens DijkstraForecast t era -> UnitInterval
forall (t :: Timeline) era. DijkstraForecast t era -> UnitInterval
dfPerasQuorumThresholdSafetyMargin ((DijkstraForecast t era -> UnitInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
UnitInterval
UnitInterval)
-> (DijkstraForecast t era
-> UnitInterval -> DijkstraForecast t era)
-> Lens
(DijkstraForecast t era)
(DijkstraForecast t era)
UnitInterval
UnitInterval
forall a b. (a -> b) -> a -> b
$ \DijkstraForecast t era
s UnitInterval
x -> DijkstraForecast t era
s {dfPerasQuorumThresholdSafetyMargin = x}
instance EraForecast DijkstraEra where
type Forecast t DijkstraEra = DijkstraForecast t DijkstraEra
mkForecast :: forall (t :: Timeline).
NewEpochState DijkstraEra -> Forecast t DijkstraEra
mkForecast = NewEpochState DijkstraEra -> Forecast t DijkstraEra
NewEpochState DijkstraEra -> DijkstraForecast t DijkstraEra
forall era (t :: Timeline).
(DijkstraEraPParams era, EraGov era) =>
NewEpochState era -> DijkstraForecast t era
mkDijkstraForecast
poolDistrForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) PoolDistr
poolDistrForecastL = (PoolDistr -> f PoolDistr)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(PoolDistr -> f PoolDistr)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(PoolDistr -> f PoolDistr)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPoolDistrL
maxBlockHeaderSizeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word16
maxBlockHeaderSizeForecastL = (Word16 -> f Word16)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word16 -> f Word16)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxBlockHeaderSizeL
maxBlockBodySizeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word32
maxBlockBodySizeForecastL = (Word32 -> f Word32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word32 -> f Word32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxBlockBodySizeL
protocolVersionForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) ProtVer
protocolVersionForecastL = (ProtVer -> f ProtVer)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(ProtVer -> f ProtVer)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(ProtVer -> f ProtVer)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfProtocolVersionL
instance DijkstraEraForecast DijkstraEra where
leiosCommitteeForecastL :: forall (t :: Timeline).
Lens' (Forecast t DijkstraEra) LeiosCommittee
leiosCommitteeForecastL = (LeiosCommittee -> f LeiosCommittee)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(LeiosCommittee -> f LeiosCommittee)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(LeiosCommittee -> f LeiosCommittee)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosCommitteeL
leiosCommitteeSizeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word16
leiosCommitteeSizeForecastL = (Word16 -> f Word16)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word16 -> f Word16)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosCommitteeSizeL
leiosQuorumStakeThresholdForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) UnitInterval
leiosQuorumStakeThresholdForecastL = (UnitInterval -> f UnitInterval)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(UnitInterval -> f UnitInterval)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(UnitInterval -> f UnitInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosQuorumStakeThresholdL
leiosAnnouncementPeriodLengthForecastL :: forall (t :: Timeline).
Lens' (Forecast t DijkstraEra) Milliseconds32
leiosAnnouncementPeriodLengthForecastL = (Milliseconds32 -> f Milliseconds32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosAnnouncementPeriodLengthL
leiosVotePeriodLengthForecastL :: forall (t :: Timeline).
Lens' (Forecast t DijkstraEra) Milliseconds32
leiosVotePeriodLengthForecastL = (Milliseconds32 -> f Milliseconds32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosVotePeriodLengthL
leiosDiffusionPeriodLengthForecastL :: forall (t :: Timeline).
Lens' (Forecast t DijkstraEra) Milliseconds32
leiosDiffusionPeriodLengthForecastL = (Milliseconds32 -> f Milliseconds32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Milliseconds32 -> f Milliseconds32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfLeiosDiffusionPeriodLengthL
maxEndorserBlockReferencesSizeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word32
maxEndorserBlockReferencesSizeForecastL = (Word32 -> f Word32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word32 -> f Word32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxEndorserBlockReferencesSizeL
maxEndorserBlockTxsSizeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word32
maxEndorserBlockTxsSizeForecastL = (Word32 -> f Word32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word32 -> f Word32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxEndorserBlockTxsSizeL
maxEndorserBlockExUnitsForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) OrdExUnits
maxEndorserBlockExUnitsForecastL = (OrdExUnits -> f OrdExUnits)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(OrdExUnits -> f OrdExUnits)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(OrdExUnits -> f OrdExUnits)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxEndorserBlockExUnitsL
maxRefScriptSizePerEndorserBlockForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word32
maxRefScriptSizePerEndorserBlockForecastL = (Word32 -> f Word32)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word32 -> f Word32)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word32 -> f Word32)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfMaxRefScriptSizePerEndorserBlockL
perasMinCandidateBlockAgeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) SlotInterval
perasMinCandidateBlockAgeForecastL = (SlotInterval -> f SlotInterval)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(SlotInterval -> f SlotInterval)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(SlotInterval -> f SlotInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasMinCandidateBlockAgeL
perasHealingFactorForecastL :: forall (t :: Timeline).
Lens' (Forecast t DijkstraEra) PositiveInterval
perasHealingFactorForecastL = (PositiveInterval -> f PositiveInterval)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(PositiveInterval -> f PositiveInterval)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(PositiveInterval -> f PositiveInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasHealingFactorL
perasCertBoostForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word16
perasCertBoostForecastL = (Word16 -> f Word16)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word16 -> f Word16)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasCertBoostL
perasTargetCommitteeSizeForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) Word16
perasTargetCommitteeSizeForecastL = (Word16 -> f Word16)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(Word16 -> f Word16)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(Word16 -> f Word16)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasTargetCommitteeSizeL
perasBootstrapRoundForecastL :: forall (t :: Timeline).
Lens' (Forecast t DijkstraEra) (StrictMaybe Word32)
perasBootstrapRoundForecastL = (StrictMaybe Word32 -> f (StrictMaybe Word32))
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(StrictMaybe Word32 -> f (StrictMaybe Word32))
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(StrictMaybe Word32 -> f (StrictMaybe Word32))
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasBootstrapRoundL
perasQuorumThresholdSafetyMarginForecastL :: forall (t :: Timeline). Lens' (Forecast t DijkstraEra) UnitInterval
perasQuorumThresholdSafetyMarginForecastL = (UnitInterval -> f UnitInterval)
-> Forecast t DijkstraEra -> f (Forecast t DijkstraEra)
(UnitInterval -> f UnitInterval)
-> DijkstraForecast t DijkstraEra
-> f (DijkstraForecast t DijkstraEra)
forall (t :: Timeline) era (f :: * -> *).
Functor f =>
(UnitInterval -> f UnitInterval)
-> DijkstraForecast t era -> f (DijkstraForecast t era)
dfPerasQuorumThresholdSafetyMarginL