Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data GenesisConfig = GenesisConfig {}
- data LoEAndGDDConfig a
- disableGenesisConfig ∷ GenesisConfig
- enableGenesisConfigDefault ∷ GenesisConfig
- data GenesisNodeKernelArgs m blk = GenesisNodeKernelArgs {
- gnkaGetLoEFragment ∷ !(LoEAndGDDConfig (StrictTVar m (GetLoEFragment m blk)))
- mkGenesisNodeKernelArgs ∷ ∀ m blk. (IOLike m, GetHeader blk) ⇒ GenesisConfig → m (GenesisNodeKernelArgs m blk, Complete ChainDbArgs m blk → Complete ChainDbArgs m blk)
- setGetLoEFragment ∷ ∀ m blk. (IOLike m, GetHeader blk) ⇒ STM m GsmState → STM m (AnchoredFragment (Header blk)) → StrictTVar m (GetLoEFragment m blk) → m ()
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
disableGenesisConfig ∷ GenesisConfig Source #
Disable all Genesis components, yielding Praos behavior.
NodeKernel helpers
data GenesisNodeKernelArgs m blk Source #
Genesis-related arguments needed by the NodeKernel initialization logic.
GenesisNodeKernelArgs | |
|
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.
∷ ∀ 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.