cardano-ledger-dijkstra-0.5.0.0: Cardano ledger with nested transactions
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Dijkstra.Forecast

Synopsis

Documentation

data DijkstraForecast (t ∷ Timeline) era Source #

Forecast data for Dijkstra era onward.

This includes: * Praos fields * Leios protocol parameters and the epoch's voting committee * Peras protocol parameters

NOTE: The Leios fields are fixed at an epoch boundary. The committee is seated on the stake snapshot by the SNAP rule, the rest are protocol parameters. They are forecastable for the same reason the Praos fields are.

Instances

Instances details
NFData (DijkstraForecast t era) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

Methods

rnf ∷ DijkstraForecast t era → () #

Generic (DijkstraForecast t era) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

Associated Types

type Rep (DijkstraForecast t era) 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

type Rep (DijkstraForecast t era) = D1 ('MetaData "DijkstraForecast" "Cardano.Ledger.Dijkstra.Forecast" "cardano-ledger-dijkstra-0.5.0.0-inplace" 'False) (C1 ('MetaCons "DijkstraForecast" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "dfPoolDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PoolDistr) :*: S1 ('MetaSel ('Just "dfMaxBlockHeaderSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :*: (S1 ('MetaSel ('Just "dfMaxBlockBodySize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "dfProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer) :*: S1 ('MetaSel ('Just "dfLeiosCommittee") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LeiosCommittee)))) :*: ((S1 ('MetaSel ('Just "dfLeiosCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16) :*: S1 ('MetaSel ('Just "dfLeiosQuorumStakeThreshold") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UnitInterval)) :*: (S1 ('MetaSel ('Just "dfLeiosAnnouncementPeriodLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Milliseconds32) :*: (S1 ('MetaSel ('Just "dfLeiosVotePeriodLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Milliseconds32) :*: S1 ('MetaSel ('Just "dfLeiosDiffusionPeriodLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Milliseconds32))))) :*: (((S1 ('MetaSel ('Just "dfMaxEndorserBlockReferencesSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "dfMaxEndorserBlockTxsSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "dfMaxEndorserBlockExUnits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OrdExUnits) :*: (S1 ('MetaSel ('Just "dfMaxRefScriptSizePerEndorserBlock") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "dfPerasMinCandidateBlockAge") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotInterval)))) :*: ((S1 ('MetaSel ('Just "dfPerasHealingFactor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PositiveInterval) :*: S1 ('MetaSel ('Just "dfPerasCertBoost") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :*: (S1 ('MetaSel ('Just "dfPerasTargetCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16) :*: (S1 ('MetaSel ('Just "dfPerasBootstrapRound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe Word32)) :*: S1 ('MetaSel ('Just "dfPerasQuorumThresholdSafetyMargin") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UnitInterval)))))))

Methods

from ∷ DijkstraForecast t era → Rep (DijkstraForecast t era) x #

to ∷ Rep (DijkstraForecast t era) x → DijkstraForecast t era #

Show (DijkstraForecast t era) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

Methods

showsPrec ∷ Int → DijkstraForecast t era → ShowS #

show ∷ DijkstraForecast t era → String #

showList ∷ [DijkstraForecast t era] → ShowS #

Eq (DijkstraForecast t era) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

Methods

(==) ∷ DijkstraForecast t era → DijkstraForecast t era → Bool #

(/=) ∷ DijkstraForecast t era → DijkstraForecast t era → Bool #

NoThunks (DijkstraForecast t era) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

type Rep (DijkstraForecast t era) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

type Rep (DijkstraForecast t era) = D1 ('MetaData "DijkstraForecast" "Cardano.Ledger.Dijkstra.Forecast" "cardano-ledger-dijkstra-0.5.0.0-inplace" 'False) (C1 ('MetaCons "DijkstraForecast" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "dfPoolDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PoolDistr) :*: S1 ('MetaSel ('Just "dfMaxBlockHeaderSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :*: (S1 ('MetaSel ('Just "dfMaxBlockBodySize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "dfProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer) :*: S1 ('MetaSel ('Just "dfLeiosCommittee") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LeiosCommittee)))) :*: ((S1 ('MetaSel ('Just "dfLeiosCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16) :*: S1 ('MetaSel ('Just "dfLeiosQuorumStakeThreshold") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UnitInterval)) :*: (S1 ('MetaSel ('Just "dfLeiosAnnouncementPeriodLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Milliseconds32) :*: (S1 ('MetaSel ('Just "dfLeiosVotePeriodLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Milliseconds32) :*: S1 ('MetaSel ('Just "dfLeiosDiffusionPeriodLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Milliseconds32))))) :*: (((S1 ('MetaSel ('Just "dfMaxEndorserBlockReferencesSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "dfMaxEndorserBlockTxsSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "dfMaxEndorserBlockExUnits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OrdExUnits) :*: (S1 ('MetaSel ('Just "dfMaxRefScriptSizePerEndorserBlock") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "dfPerasMinCandidateBlockAge") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotInterval)))) :*: ((S1 ('MetaSel ('Just "dfPerasHealingFactor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PositiveInterval) :*: S1 ('MetaSel ('Just "dfPerasCertBoost") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :*: (S1 ('MetaSel ('Just "dfPerasTargetCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16) :*: (S1 ('MetaSel ('Just "dfPerasBootstrapRound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe Word32)) :*: S1 ('MetaSel ('Just "dfPerasQuorumThresholdSafetyMargin") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UnitInterval)))))))

class EraForecast era ⇒ DijkstraEraForecast era where Source #

Additional forecast fields available only in Leios eras.

Methods

leiosCommitteeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) LeiosCommittee Source #

leiosCommitteeSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Word16 Source #

leiosQuorumStakeThresholdForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) UnitInterval Source #

leiosAnnouncementPeriodLengthForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Milliseconds32 Source #

leiosVotePeriodLengthForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Milliseconds32 Source #

leiosDiffusionPeriodLengthForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Milliseconds32 Source #

maxEndorserBlockReferencesSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Word32 Source #

maxEndorserBlockTxsSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Word32 Source #

maxEndorserBlockExUnitsForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) OrdExUnits Source #

maxRefScriptSizePerEndorserBlockForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Word32 Source #

perasMinCandidateBlockAgeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) SlotInterval Source #

perasHealingFactorForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) PositiveInterval Source #

perasCertBoostForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Word16 Source #

perasTargetCommitteeSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) Word16 Source #

perasBootstrapRoundForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) (StrictMaybe Word32) Source #

perasQuorumThresholdSafetyMarginForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t era) UnitInterval Source #

Instances

Instances details
DijkstraEraForecast DijkstraEra Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra.Forecast

Methods

leiosCommitteeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) LeiosCommittee Source #

leiosCommitteeSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Word16 Source #

leiosQuorumStakeThresholdForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) UnitInterval Source #

leiosAnnouncementPeriodLengthForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Milliseconds32 Source #

leiosVotePeriodLengthForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Milliseconds32 Source #

leiosDiffusionPeriodLengthForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Milliseconds32 Source #

maxEndorserBlockReferencesSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Word32 Source #

maxEndorserBlockTxsSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Word32 Source #

maxEndorserBlockExUnitsForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) OrdExUnits Source #

maxRefScriptSizePerEndorserBlockForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Word32 Source #

perasMinCandidateBlockAgeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) SlotInterval Source #

perasHealingFactorForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) PositiveInterval Source #

perasCertBoostForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Word16 Source #

perasTargetCommitteeSizeForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) Word16 Source #

perasBootstrapRoundForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) (StrictMaybe Word32) Source #

perasQuorumThresholdSafetyMarginForecastL ∷ ∀ (t ∷ Timeline). Lens' (Forecast t DijkstraEra) UnitInterval Source #

Orphan instances