ouroboros-consensus-0.21.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Config

Synopsis

The top-level node configuration

data TopLevelConfig blk Source #

The top-level node configuration

Instances

Instances details
Isomorphic TopLevelConfig Source #

Projection/injection for TopLevelConfig

NOTE: We do not define one for LedgerConfig or ConsensusConfig, since we need the EraParams for their injections, which we can only derive if we have the top-level config.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

Generic (TopLevelConfig blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

Associated Types

type Rep (TopLevelConfig blk) ∷ TypeType #

Methods

fromTopLevelConfig blk → Rep (TopLevelConfig blk) x #

toRep (TopLevelConfig blk) x → TopLevelConfig blk #

(ConsensusProtocol (BlockProtocol blk), NoThunks (LedgerConfig blk), NoThunks (BlockConfig blk), NoThunks (CodecConfig blk), NoThunks (StorageConfig blk), NoThunks (HeaderHash blk)) ⇒ NoThunks (TopLevelConfig blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

type Rep (TopLevelConfig blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

type Rep (TopLevelConfig blk) = D1 ('MetaData "TopLevelConfig" "Ouroboros.Consensus.Config" "ouroboros-consensus-0.21.0.0-inplace" 'False) (C1 ('MetaCons "TopLevelConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "topLevelConfigProtocol") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConsensusConfig (BlockProtocol blk))) :*: (S1 ('MetaSel ('Just "topLevelConfigLedger") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerConfig blk)) :*: S1 ('MetaSel ('Just "topLevelConfigBlock") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BlockConfig blk)))) :*: (S1 ('MetaSel ('Just "topLevelConfigCodec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CodecConfig blk)) :*: (S1 ('MetaSel ('Just "topLevelConfigStorage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StorageConfig blk)) :*: S1 ('MetaSel ('Just "topLevelConfigCheckpoints") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CheckpointsMap blk))))))

Checkpoints map

newtype CheckpointsMap blk Source #

Checkpoints are block hashes that are expected to be present in the honest historical chain.

Each checkpoint is associated with a BlockNo, and any block with a BlockNo in the checkpoints map is expected to have the corresponding hash.

Constructors

CheckpointsMap 

Instances

Instances details
Monoid (CheckpointsMap blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

Semigroup (CheckpointsMap blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

Generic (CheckpointsMap blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

Associated Types

type Rep (CheckpointsMap blk) ∷ TypeType #

Methods

fromCheckpointsMap blk → Rep (CheckpointsMap blk) x #

toRep (CheckpointsMap blk) x → CheckpointsMap blk #

NoThunks (HeaderHash blk) ⇒ NoThunks (CheckpointsMap blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

type Rep (CheckpointsMap blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

type Rep (CheckpointsMap blk) = D1 ('MetaData "CheckpointsMap" "Ouroboros.Consensus.Config" "ouroboros-consensus-0.21.0.0-inplace" 'True) (C1 ('MetaCons "CheckpointsMap" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCheckpointsMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map BlockNo (HeaderHash blk)))))

data DiffusionPipeliningSupport Source #

Configure consensus layer how to handle some cases of invalid data when processing mini protocol communication in the presence of diffusion pipelining. See also BlockSupportsDiffusionPipelining

Derived extraction functions

Additional convenience functions

Re-exports