ouroboros-consensus-0.26.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.HardFork.Combinator.State.Infra

Synopsis

Initialization

initHardForkState ∷ ∀ f x (xs ∷ [Type]). f x → HardForkState f (x ': xs) Source #

Lifting Telescope operations

fromTZHardForkState f '[blk] → f blk Source #

match ∷ ∀ (xs ∷ [Type]) (h ∷ TypeType) (f ∷ TypeType). SListI xs ⇒ NS h xs → HardForkState f xs → Either (Mismatch h (Current f) xs) (HardForkState (Product h f) xs) Source #

sequence ∷ ∀ (f ∷ TypeType) m (xs ∷ [Type]). (SListI xs, Functor m) ⇒ HardForkState (m :.: f) xs → m (HardForkState f xs) Source #

tip ∷ ∀ (xs ∷ [Type]) (f ∷ TypeType). SListI xs ⇒ HardForkState f xs → NS f xs Source #

Situated

data Situated (h ∷ TypeType) (f ∷ TypeType) (xs ∷ [Type]) where Source #

A h situated in time

Constructors

SituatedCurrent ∷ ∀ (f ∷ TypeType) x (h ∷ TypeType) (xs1 ∷ [Type]). Current f x → h x → Situated h f (x ': xs1) 
SituatedNext ∷ ∀ (f ∷ TypeType) x (h ∷ TypeType) y (xs1 ∷ [Type]). Current f x → h y → Situated h f (x ': (y ': xs1)) 
SituatedFuture ∷ ∀ (f ∷ TypeType) x (h ∷ TypeType) (xs1 ∷ [Type]) y. Current f x → NS h xs1 → Situated h f (x ': (y ': xs1)) 
SituatedPast ∷ ∀ x (h ∷ TypeType) (f ∷ TypeType) (xs1 ∷ [Type]). K Past x → h x → Situated h f (x ': xs1) 
SituatedShift ∷ ∀ (h ∷ TypeType) (f ∷ TypeType) (xs1 ∷ [Type]) x. Situated h f xs1 → Situated h f (x ': xs1) 

situate ∷ ∀ (h ∷ TypeType) (xs ∷ [Type]) (f ∷ TypeType). NS h xs → HardForkState f xs → Situated h f xs Source #

Aligning

align Source #

Arguments

∷ ∀ (xs ∷ [Type]) (f ∷ TypeType) (f' ∷ TypeType) (f'' ∷ TypeType). All SingleEraBlock xs 
InPairs (Translate f) xs 
NP (f' -.-> (f -.-> f'')) xs 
HardForkState f' xs

State we are aligning with

HardForkState f xs

State we are aligning

HardForkState f'' xs 

EpochInfo/Summary

reconstructSummary Source #

Arguments

∷ ∀ (xs ∷ [Type]) (f ∷ TypeType). Shape xs 
TransitionInfo

At the tip

HardForkState f xs 
Summary xs