Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Byron.Ledger.Config
Synopsis
- data family BlockConfig blk
- byronEpochSlots ∷ BlockConfig ByronBlock → EpochSlots
- byronGenesisHash ∷ BlockConfig ByronBlock → GenesisHash
- byronProtocolMagic ∷ BlockConfig ByronBlock → ProtocolMagic
- byronProtocolMagicId ∷ BlockConfig ByronBlock → ProtocolMagicId
- data family CodecConfig blk
- mkByronCodecConfig ∷ Config → CodecConfig ByronBlock
- data family StorageConfig blk
- compactGenesisConfig ∷ Config → Config
Block config
data family BlockConfig blk Source #
Static configuration required to work with this type of blocks
Instances
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.
Instances
Isomorphic CodecConfig | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary Methods project ∷ NoHardForks blk ⇒ CodecConfig (HardForkBlock '[blk]) → CodecConfig blk Source # inject ∷ NoHardForks blk ⇒ CodecConfig blk → CodecConfig (HardForkBlock '[blk]) Source # | |||||
Generic (CodecConfig (DualBlock m a)) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Associated Types
Methods from ∷ CodecConfig (DualBlock m a) → Rep (CodecConfig (DualBlock m a)) x # to ∷ Rep (CodecConfig (DualBlock m a)) x → CodecConfig (DualBlock m a) # | |||||
Generic (CodecConfig ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config Associated Types
Methods from ∷ CodecConfig ByronBlock → Rep (CodecConfig ByronBlock) x # to ∷ Rep (CodecConfig ByronBlock) x → CodecConfig ByronBlock # | |||||
Generic (CodecConfig (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config Associated Types
Methods from ∷ CodecConfig (ShelleyBlock proto era) → Rep (CodecConfig (ShelleyBlock proto era)) x # to ∷ Rep (CodecConfig (ShelleyBlock proto era)) x → CodecConfig (ShelleyBlock proto era) # | |||||
CanHardFork xs ⇒ NoThunks (CodecConfig (HardForkBlock xs)) | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Methods noThunks ∷ Context → CodecConfig (HardForkBlock xs) → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → CodecConfig (HardForkBlock xs) → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (CodecConfig (HardForkBlock xs)) → String Source # | |||||
(NoThunks (CodecConfig m), NoThunks (CodecConfig a)) ⇒ NoThunks (CodecConfig (DualBlock m a)) | |||||
NoThunks (CodecConfig ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config Methods noThunks ∷ Context → CodecConfig ByronBlock → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → CodecConfig ByronBlock → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (CodecConfig ByronBlock) → String Source # | |||||
NoThunks (CodecConfig (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config Methods noThunks ∷ Context → CodecConfig (ShelleyBlock proto era) → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → CodecConfig (ShelleyBlock proto era) → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (CodecConfig (ShelleyBlock proto era)) → String Source # | |||||
newtype CodecConfig ByronBlock Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config | |||||
type Rep (CodecConfig (DualBlock m a)) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual type Rep (CodecConfig (DualBlock m a)) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Ledger.Dual" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "DualCodecConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "dualCodecConfigMain") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CodecConfig m)) :*: S1 ('MetaSel ('Just "dualCodecConfigAux") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CodecConfig a)))) | |||||
type Rep (CodecConfig ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config type Rep (CodecConfig ByronBlock) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.25.0.1-inplace" 'True) (C1 ('MetaCons "ByronCodecConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronEpochSlots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EpochSlots))) | |||||
type Rep (CodecConfig (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config | |||||
newtype CodecConfig (HardForkBlock xs) | |||||
data CodecConfig (DualBlock m a) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual data CodecConfig (DualBlock m a) = DualCodecConfig {
| |||||
data CodecConfig (ShelleyBlock proto era) Source # | No particular codec configuration is needed for Shelley | ||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config |
Storage config
data family StorageConfig blk Source #
Config needed for the
NodeInitStorage
class. Defined here to
avoid circular dependencies.
Instances
Isomorphic StorageConfig | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary Methods project ∷ NoHardForks blk ⇒ StorageConfig (HardForkBlock '[blk]) → StorageConfig blk Source # inject ∷ NoHardForks blk ⇒ StorageConfig blk → StorageConfig (HardForkBlock '[blk]) Source # | |||||
Generic (StorageConfig (DualBlock m a)) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Associated Types
Methods from ∷ StorageConfig (DualBlock m a) → Rep (StorageConfig (DualBlock m a)) x # to ∷ Rep (StorageConfig (DualBlock m a)) x → StorageConfig (DualBlock m a) # | |||||
Generic (StorageConfig ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config Associated Types
Methods from ∷ StorageConfig ByronBlock → Rep (StorageConfig ByronBlock) x # to ∷ Rep (StorageConfig ByronBlock) x → StorageConfig ByronBlock # | |||||
Generic (StorageConfig (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config Associated Types
Methods from ∷ StorageConfig (ShelleyBlock proto era) → Rep (StorageConfig (ShelleyBlock proto era)) x # to ∷ Rep (StorageConfig (ShelleyBlock proto era)) x → StorageConfig (ShelleyBlock proto era) # | |||||
CanHardFork xs ⇒ NoThunks (StorageConfig (HardForkBlock xs)) | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Methods noThunks ∷ Context → StorageConfig (HardForkBlock xs) → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → StorageConfig (HardForkBlock xs) → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (StorageConfig (HardForkBlock xs)) → String Source # | |||||
(NoThunks (StorageConfig m), NoThunks (StorageConfig a)) ⇒ NoThunks (StorageConfig (DualBlock m a)) | |||||
NoThunks (StorageConfig ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config Methods noThunks ∷ Context → StorageConfig ByronBlock → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → StorageConfig ByronBlock → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (StorageConfig ByronBlock) → String Source # | |||||
NoThunks (StorageConfig (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config Methods noThunks ∷ Context → StorageConfig (ShelleyBlock proto era) → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → StorageConfig (ShelleyBlock proto era) → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (StorageConfig (ShelleyBlock proto era)) → String Source # | |||||
newtype StorageConfig ByronBlock Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config | |||||
type Rep (StorageConfig (DualBlock m a)) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual type Rep (StorageConfig (DualBlock m a)) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Ledger.Dual" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "DualStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "dualStorageConfigMain") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StorageConfig m)) :*: S1 ('MetaSel ('Just "dualStorageConfigAux") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StorageConfig a)))) | |||||
type Rep (StorageConfig ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Config type Rep (StorageConfig ByronBlock) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.25.0.1-inplace" 'True) (C1 ('MetaCons "ByronStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronBlockConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BlockConfig ByronBlock)))) | |||||
type Rep (StorageConfig (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config type Rep (StorageConfig (ShelleyBlock proto era)) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-cardano-0.25.0.1-inplace" 'False) (C1 ('MetaCons "ShelleyStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyStorageConfigSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Just "shelleyStorageConfigSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam))) | |||||
newtype StorageConfig (HardForkBlock xs) | |||||
data StorageConfig (DualBlock m a) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
data StorageConfig (ShelleyBlock proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Config |
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 # | |||||
Associated Types
Methods from ∷ BlockConfig ByronBlock → Rep (BlockConfig ByronBlock) x # to ∷ Rep (BlockConfig ByronBlock) x → BlockConfig ByronBlock # | |||||
Generic (CodecConfig ByronBlock) Source # | |||||
Associated Types
Methods from ∷ CodecConfig ByronBlock → Rep (CodecConfig ByronBlock) x # to ∷ Rep (CodecConfig ByronBlock) x → CodecConfig ByronBlock # | |||||
Generic (StorageConfig ByronBlock) Source # | |||||
Associated Types
Methods from ∷ StorageConfig ByronBlock → Rep (StorageConfig ByronBlock) x # to ∷ Rep (StorageConfig ByronBlock) x → StorageConfig ByronBlock # | |||||
NoThunks (BlockConfig ByronBlock) Source # | |||||
Methods noThunks ∷ Context → BlockConfig ByronBlock → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → BlockConfig ByronBlock → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (BlockConfig ByronBlock) → String Source # | |||||
NoThunks (CodecConfig ByronBlock) Source # | |||||
Methods noThunks ∷ Context → CodecConfig ByronBlock → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → CodecConfig ByronBlock → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (CodecConfig ByronBlock) → String Source # | |||||
NoThunks (StorageConfig ByronBlock) Source # | |||||
Methods noThunks ∷ Context → StorageConfig ByronBlock → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → StorageConfig ByronBlock → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (StorageConfig ByronBlock) → String Source # |