ouroboros-consensus-byron-0.1.0.1: Byron ledger integration in the Ouroboros consensus layer
Safe Haskell None
Language Haskell2010

Ouroboros.Consensus.Byron.Ledger.Config

Synopsis

Block config

data family BlockConfig blk Source #

Static configuration required to work with this type of blocks

Instances

Instances details
Generic ( BlockConfig ByronBlock ) Source #
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

NoThunks ( BlockConfig ByronBlock ) Source #
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

data BlockConfig ByronBlock Source #

Extended configuration we need for Byron

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep ( BlockConfig ByronBlock ) Source #
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep ( BlockConfig ByronBlock ) = D1 (' MetaData "BlockConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-byron-0.1.0.1-1xx7v4AzrF0A75LZoaNMal" ' False ) ( C1 (' MetaCons "ByronConfig" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "byronGenesisConfig") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 Config ) :*: ( S1 (' MetaSel (' Just "byronProtocolVersion") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ProtocolVersion ) :*: S1 (' MetaSel (' Just "byronSoftwareVersion") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 SoftwareVersion ))))

Codec config

data family CodecConfig blk Source #

Static configuration required for serialisation and deserialisation of types pertaining to this type of block.

Data family instead of type family to get better type inference.

Storage config

data family StorageConfig blk Source #

Config needed for the NodeInitStorage class. Defined here to avoid circular dependencies.

Compact genesis config

compactGenesisConfig :: Config -> Config Source #

Byron's genesis config contains the AVVM balances, of which there are +14k in mainnet's genesis config. These balances are only used to create the initial ledger state, there is no reason to keep them in memory afterwards.

This function empties the gdAvvmDistr field in the genesis config. As we keep Byron's genesis config in memory (even in later eras), this can save us a bit of memory.

Orphan instances

Generic ( BlockConfig ByronBlock ) Source #
Instance details

Generic ( CodecConfig ByronBlock ) Source #
Instance details

Generic ( StorageConfig ByronBlock ) Source #
Instance details

NoThunks ( BlockConfig ByronBlock ) Source #
Instance details

NoThunks ( CodecConfig ByronBlock ) Source #
Instance details

NoThunks ( StorageConfig ByronBlock ) Source #
Instance details