ouroboros-consensus-diffusion-0.18.0.0: Integration for the Ouroboros Network layer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Node.Genesis

Synopsis

GenesisConfig

data GenesisConfig Source #

Aggregating the various configs for Genesis-related subcomponents.

data LoEAndGDDConfig a Source #

Whether to en-/disable the Limit on Eagerness and the Genesis Density Disconnector.

Instances

Instances details
Foldable LoEAndGDDConfig Source # 
Instance details

Defined in Ouroboros.Consensus.Node.Genesis

Methods

foldMonoid m ⇒ LoEAndGDDConfig m → m #

foldMapMonoid m ⇒ (a → m) → LoEAndGDDConfig a → m #

foldMap'Monoid m ⇒ (a → m) → LoEAndGDDConfig a → m #

foldr ∷ (a → b → b) → b → LoEAndGDDConfig a → b #

foldr' ∷ (a → b → b) → b → LoEAndGDDConfig a → b #

foldl ∷ (b → a → b) → b → LoEAndGDDConfig a → b #

foldl' ∷ (b → a → b) → b → LoEAndGDDConfig a → b #

foldr1 ∷ (a → a → a) → LoEAndGDDConfig a → a #

foldl1 ∷ (a → a → a) → LoEAndGDDConfig a → a #

toListLoEAndGDDConfig a → [a] #

nullLoEAndGDDConfig a → Bool #

lengthLoEAndGDDConfig a → Int #

elemEq a ⇒ a → LoEAndGDDConfig a → Bool #

maximumOrd a ⇒ LoEAndGDDConfig a → a #

minimumOrd a ⇒ LoEAndGDDConfig a → a #

sumNum a ⇒ LoEAndGDDConfig a → a #

productNum a ⇒ LoEAndGDDConfig a → a #

Traversable LoEAndGDDConfig Source # 
Instance details

Defined in Ouroboros.Consensus.Node.Genesis

Methods

traverseApplicative f ⇒ (a → f b) → LoEAndGDDConfig a → f (LoEAndGDDConfig b) #

sequenceAApplicative f ⇒ LoEAndGDDConfig (f a) → f (LoEAndGDDConfig a) #

mapMMonad m ⇒ (a → m b) → LoEAndGDDConfig a → m (LoEAndGDDConfig b) #

sequenceMonad m ⇒ LoEAndGDDConfig (m a) → m (LoEAndGDDConfig a) #

Functor LoEAndGDDConfig Source # 
Instance details

Defined in Ouroboros.Consensus.Node.Genesis

Methods

fmap ∷ (a → b) → LoEAndGDDConfig a → LoEAndGDDConfig b #

(<$) ∷ a → LoEAndGDDConfig b → LoEAndGDDConfig a #

Show a ⇒ Show (LoEAndGDDConfig a) Source # 
Instance details

Defined in Ouroboros.Consensus.Node.Genesis

disableGenesisConfigGenesisConfig Source #

Disable all Genesis components, yielding Praos behavior.

NodeKernel helpers

data GenesisNodeKernelArgs m blk Source #

Genesis-related arguments needed by the NodeKernel initialization logic.

Constructors

GenesisNodeKernelArgs 

Fields

mkGenesisNodeKernelArgs ∷ ∀ m blk. (IOLike m, GetHeader blk) ⇒ GenesisConfig → m (GenesisNodeKernelArgs m blk, Complete ChainDbArgs m blk → Complete ChainDbArgs m blk) Source #

Create the initial 'GenesisNodeKernelArgs" (with a temporary GetLoEFragment that will be replaced via setGetLoEFragment) and a function to update the ChainDbArgs accordingly.

setGetLoEFragment Source #

Arguments

∷ ∀ m blk. (IOLike m, GetHeader blk) 
STM m GsmState 
STM m (AnchoredFragment (Header blk))

The LoE fragment.

StrictTVar m (GetLoEFragment m blk) 
→ m () 

Set gnkaGetLoEFragment to the actual logic for determining the current LoE fragment.