ouroboros-consensus:protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Protocol.Praos.Views

Synopsis

Documentation

data PolyPraosLedgerView proto Source #

View of the ledger required by the Praos protocol.

Constructors

PraosLedgerView 

Fields

Instances

Instances details
Show (WhenLeios proto LeiosLedgerView) ⇒ Show (PolyPraosLedgerView proto) Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Views

data PolyPraosValidateView proto crypto Source #

View of the block header required by the Praos protocol.

Constructors

HeaderView 

Fields

class ForecastToPolyPraosLedgerView proto era where Source #

How a protocol reads an era's forecast.

A method rather than one shared function because only the protocols with Leios may demand more of their era than EraForecast, and knowing proto alone cannot supply that era dictionary.

TODO Indexing on era leaks a ledger-era, hence ShelleyBlock-level, concept into this protocol-level module: a protocol should not need to know which era it runs in. It is a compromise, since the forecast it reads is itself indexed by era. We might instead move this class, and any like it, down into the ShelleyBlock layer, where protocol and era are paired anyway.