| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Protocol.Praos.Views
Synopsis
- data PolyPraosLedgerView proto = PraosLedgerView {}
- data PolyPraosValidateView proto crypto = HeaderView {
- hvPrevHash ∷ !PrevHash
- hvVK ∷ !(VKey 'BlockIssuer)
- hvVrfVK ∷ !(VerKeyVRF (VRF crypto))
- hvVrfRes ∷ !(CertifiedVRF (VRF crypto) InputVRF)
- hvOCert ∷ !(OCert crypto)
- hvSlotNo ∷ !SlotNo
- hvLeios ∷ !(WhenLeios proto (Bool, StrictMaybe EbReferencesAnnouncement))
- hvSigned ∷ !(Signed (ShelleyProtocolHeader proto))
- hvSignature ∷ !(SignedKES (KES crypto) (Signed (ShelleyProtocolHeader proto)))
- class ForecastToPolyPraosLedgerView proto era where
- forecastToPolyPraosLedgerView ∷ ∀ (t ∷ Timeline). EraForecast era ⇒ Forecast t era → PolyPraosLedgerView proto
Documentation
data PolyPraosLedgerView proto Source #
View of the ledger required by the Praos protocol.
Constructors
| PraosLedgerView | |
Fields
| |
Instances
| Show (WhenLeios proto LeiosLedgerView) ⇒ Show (PolyPraosLedgerView proto) Source # | |
Defined in Ouroboros.Consensus.Protocol.Praos.Views Methods showsPrec ∷ Int → PolyPraosLedgerView proto → ShowS # show ∷ PolyPraosLedgerView proto → String # showList ∷ [PolyPraosLedgerView proto] → ShowS # | |
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.
Methods
forecastToPolyPraosLedgerView ∷ ∀ (t ∷ Timeline). EraForecast era ⇒ Forecast t era → PolyPraosLedgerView proto Source #
Instances
| ForecastToPolyPraosLedgerView (Praos c) era Source # | |
Defined in Ouroboros.Consensus.Protocol.Praos Methods forecastToPolyPraosLedgerView ∷ ∀ (t ∷ Timeline). EraForecast era ⇒ Forecast t era → PolyPraosLedgerView (Praos c) Source # | |
| DijkstraEraForecast era ⇒ ForecastToPolyPraosLedgerView (Praos2 c) era Source # | |
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods forecastToPolyPraosLedgerView ∷ ∀ (t ∷ Timeline). EraForecast era ⇒ Forecast t era → PolyPraosLedgerView (Praos2 c) Source # | |