| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Node.Genesis
Contents
Synopsis
- data GenesisConfig = GenesisConfig {}
- data GenesisConfigFlags = GenesisConfigFlags {}
- data LoEAndGDDConfig a
- defaultGenesisConfigFlags ∷ GenesisConfigFlags
- disableGenesisConfig ∷ GenesisConfig
- enableGenesisConfigDefault ∷ GenesisConfig
- mkGenesisConfig ∷ Maybe GenesisConfigFlags → GenesisConfig
- data GenesisNodeKernelArgs (m ∷ Type → Type) blk = GenesisNodeKernelArgs {
- gnkaLoEAndGDDArgs ∷ !(LoEAndGDDConfig (LoEAndGDDNodeKernelArgs m blk))
- data LoEAndGDDNodeKernelArgs (m ∷ Type → Type) blk = LoEAndGDDNodeKernelArgs {
- lgnkaLoEFragmentTVar ∷ !(StrictTVar m (GetLoEFragment m blk))
- lgnkaGDDRateLimit ∷ DiffTime
- mkGenesisNodeKernelArgs ∷ (IOLike m, GetHeader blk, Typeable blk) ⇒ GenesisConfig → m (GenesisNodeKernelArgs m blk, Complete ChainDbArgs m blk → Complete ChainDbArgs m blk)
- setGetLoEFragment ∷ (IOLike m, GetHeader blk, Typeable blk) ⇒ STM m GsmState → STM m (AnchoredFragment (HeaderWithTime blk)) → StrictTVar m (GetLoEFragment m blk) → m ()
GenesisConfig
data GenesisConfig Source #
Aggregating the various configs for Genesis-related subcomponents.
Usually, enableGenesisConfigDefault or disableGenesisConfig can be used.
See the haddocks of the types of the individual fields for details.
Constructors
| GenesisConfig | |
Fields | |
Instances
| Generic GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Associated Types
| |||||
| Show GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods showsPrec ∷ Int → GenesisConfig → ShowS # show ∷ GenesisConfig → String # showList ∷ [GenesisConfig] → ShowS # | |||||
| Eq GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis | |||||
| type Rep GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis | |||||
data GenesisConfigFlags Source #
Genesis configuration flags and low-level args, as parsed from config file or CLI
Constructors
| GenesisConfigFlags | |
Instances
data LoEAndGDDConfig a Source #
Whether to en-/disable the Limit on Eagerness and the Genesis Density Disconnector.
Constructors
| LoEAndGDDEnabled !a | |
| LoEAndGDDDisabled |
Instances
| Functor LoEAndGDDConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods fmap ∷ (a → b) → LoEAndGDDConfig a → LoEAndGDDConfig b # (<$) ∷ a → LoEAndGDDConfig b → LoEAndGDDConfig a # | |||||
| Foldable LoEAndGDDConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods fold ∷ Monoid m ⇒ LoEAndGDDConfig m → m # foldMap ∷ Monoid 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 # toList ∷ LoEAndGDDConfig a → [a] # null ∷ LoEAndGDDConfig a → Bool # length ∷ LoEAndGDDConfig a → Int # elem ∷ Eq a ⇒ a → LoEAndGDDConfig a → Bool # maximum ∷ Ord a ⇒ LoEAndGDDConfig a → a # minimum ∷ Ord a ⇒ LoEAndGDDConfig a → a # sum ∷ Num a ⇒ LoEAndGDDConfig a → a # product ∷ Num a ⇒ LoEAndGDDConfig a → a # | |||||
| Traversable LoEAndGDDConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods traverse ∷ Applicative f ⇒ (a → f b) → LoEAndGDDConfig a → f (LoEAndGDDConfig b) # sequenceA ∷ Applicative f ⇒ LoEAndGDDConfig (f a) → f (LoEAndGDDConfig a) # mapM ∷ Monad m ⇒ (a → m b) → LoEAndGDDConfig a → m (LoEAndGDDConfig b) # sequence ∷ Monad m ⇒ LoEAndGDDConfig (m a) → m (LoEAndGDDConfig a) # | |||||
| Generic (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Associated Types
Methods from ∷ LoEAndGDDConfig a → Rep (LoEAndGDDConfig a) x # to ∷ Rep (LoEAndGDDConfig a) x → LoEAndGDDConfig a # | |||||
| Show a ⇒ Show (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods showsPrec ∷ Int → LoEAndGDDConfig a → ShowS # show ∷ LoEAndGDDConfig a → String # showList ∷ [LoEAndGDDConfig a] → ShowS # | |||||
| Eq a ⇒ Eq (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods (==) ∷ LoEAndGDDConfig a → LoEAndGDDConfig a → Bool # (/=) ∷ LoEAndGDDConfig a → LoEAndGDDConfig a → Bool # | |||||
| type Rep (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis type Rep (LoEAndGDDConfig a) = D1 ('MetaData "LoEAndGDDConfig" "Ouroboros.Consensus.Node.Genesis" "ouroboros-consensus-diffusion-0.24.0.0-inplace" 'False) (C1 ('MetaCons "LoEAndGDDEnabled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: C1 ('MetaCons "LoEAndGDDDisabled" 'PrefixI 'False) (U1 ∷ Type → Type)) | |||||
disableGenesisConfig ∷ GenesisConfig Source #
Disable all Genesis components, yielding Praos behavior.
NodeKernel helpers
data GenesisNodeKernelArgs (m ∷ Type → Type) blk Source #
Genesis-related arguments needed by the NodeKernel initialization logic.
Constructors
| GenesisNodeKernelArgs | |
Fields
| |
data LoEAndGDDNodeKernelArgs (m ∷ Type → Type) blk Source #
Constructors
| LoEAndGDDNodeKernelArgs | |
Fields
| |
mkGenesisNodeKernelArgs ∷ (IOLike m, GetHeader blk, Typeable 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.
Arguments
| ∷ (IOLike m, GetHeader blk, Typeable blk) | |
| ⇒ STM m GsmState | |
| → STM m (AnchoredFragment (HeaderWithTime blk)) | The LoE fragment. |
| → StrictTVar m (GetLoEFragment m blk) | |
| → m () |
Set gnkaGetLoEFragment to the actual logic for determining the current
LoE fragment.