ouroboros-consensus-cardano-0.12.1.0: The instantation of the Ouroboros consensus layer used by Cardano
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Byron.Ledger.Config

Synopsis

Block config

data family BlockConfig blk #

Instances

Instances details
Generic (BlockConfig ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Associated Types

type Rep (BlockConfig ByronBlock) :: Type -> Type Source #

Generic (BlockConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Associated Types

type Rep (BlockConfig (ShelleyBlock proto era)) :: Type -> Type Source #

Methods

from :: BlockConfig (ShelleyBlock proto era) -> Rep (BlockConfig (ShelleyBlock proto era)) x Source #

to :: Rep (BlockConfig (ShelleyBlock proto era)) x -> BlockConfig (ShelleyBlock proto era) Source #

ShelleyBasedEra era => Show (BlockConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

CanHardFork xs => NoThunks (BlockConfig (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

Methods

noThunks :: Context -> BlockConfig (HardForkBlock xs) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> BlockConfig (HardForkBlock xs) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (BlockConfig (HardForkBlock xs)) -> String

NoThunks (BlockConfig ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Methods

noThunks :: Context -> BlockConfig ByronBlock -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> BlockConfig ByronBlock -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (BlockConfig ByronBlock) -> String

ShelleyBasedEra era => NoThunks (BlockConfig (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Methods

noThunks :: Context -> BlockConfig (ShelleyBlock proto era) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> BlockConfig (ShelleyBlock proto era) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (BlockConfig (ShelleyBlock proto era)) -> String

data BlockConfig ByronBlock Source #

Extended configuration we need for Byron

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

data BlockConfig ByronBlock = ByronConfig {}
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-cardano-0.12.1.0-B7PPTiiOqdjFK3zhRUwDA9" '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))))
type Rep (BlockConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (BlockConfig (ShelleyBlock proto era)) = D1 ('MetaData "BlockConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-cardano-0.12.1.0-B7PPTiiOqdjFK3zhRUwDA9" 'False) (C1 ('MetaCons "ShelleyConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer) :*: S1 ('MetaSel ('Just "shelleySystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemStart)) :*: (S1 ('MetaSel ('Just "shelleyNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NetworkMagic) :*: S1 ('MetaSel ('Just "shelleyBlockIssuerVKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'BlockIssuer (EraCrypto era)) (VKey 'BlockIssuer (EraCrypto era)))))))
newtype BlockConfig (HardForkBlock xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

data BlockConfig (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

data BlockConfig (ShelleyBlock proto era) = ShelleyConfig {}

Codec config

data family CodecConfig blk #

Instances

Instances details
Generic (CodecConfig ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Associated Types

type Rep (CodecConfig ByronBlock) :: Type -> Type Source #

Generic (CodecConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Associated Types

type Rep (CodecConfig (ShelleyBlock proto era)) :: Type -> Type Source #

Methods

from :: CodecConfig (ShelleyBlock proto era) -> Rep (CodecConfig (ShelleyBlock proto era)) x Source #

to :: Rep (CodecConfig (ShelleyBlock proto era)) x -> CodecConfig (ShelleyBlock proto era) Source #

CanHardFork xs => NoThunks (CodecConfig (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

Methods

noThunks :: Context -> CodecConfig (HardForkBlock xs) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> CodecConfig (HardForkBlock xs) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (CodecConfig (HardForkBlock xs)) -> String

NoThunks (CodecConfig ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Methods

noThunks :: Context -> CodecConfig ByronBlock -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> CodecConfig ByronBlock -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (CodecConfig ByronBlock) -> String

NoThunks (CodecConfig (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Methods

noThunks :: Context -> CodecConfig (ShelleyBlock proto era) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> CodecConfig (ShelleyBlock proto era) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (CodecConfig (ShelleyBlock proto era)) -> String

newtype CodecConfig ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (CodecConfig ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (CodecConfig ByronBlock) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.12.1.0-B7PPTiiOqdjFK3zhRUwDA9" 'True) (C1 ('MetaCons "ByronCodecConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronEpochSlots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EpochSlots)))
type Rep (CodecConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (CodecConfig (ShelleyBlock proto era)) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-cardano-0.12.1.0-B7PPTiiOqdjFK3zhRUwDA9" 'False) (C1 ('MetaCons "ShelleyCodecConfig" 'PrefixI 'False) (U1 :: Type -> Type))
newtype CodecConfig (HardForkBlock xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

data CodecConfig (ShelleyBlock proto era) Source #

No particular codec configuration is needed for Shelley

Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Storage config

data family StorageConfig blk #

Instances

Instances details
Generic (StorageConfig ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Associated Types

type Rep (StorageConfig ByronBlock) :: Type -> Type Source #

Generic (StorageConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Associated Types

type Rep (StorageConfig (ShelleyBlock proto era)) :: Type -> Type Source #

Methods

from :: StorageConfig (ShelleyBlock proto era) -> Rep (StorageConfig (ShelleyBlock proto era)) x Source #

to :: Rep (StorageConfig (ShelleyBlock proto era)) x -> StorageConfig (ShelleyBlock proto era) Source #

CanHardFork xs => NoThunks (StorageConfig (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

Methods

noThunks :: Context -> StorageConfig (HardForkBlock xs) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> StorageConfig (HardForkBlock xs) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (StorageConfig (HardForkBlock xs)) -> String

NoThunks (StorageConfig ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Methods

noThunks :: Context -> StorageConfig ByronBlock -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> StorageConfig ByronBlock -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (StorageConfig ByronBlock) -> String

NoThunks (StorageConfig (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Methods

noThunks :: Context -> StorageConfig (ShelleyBlock proto era) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> StorageConfig (ShelleyBlock proto era) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (StorageConfig (ShelleyBlock proto era)) -> String

newtype StorageConfig ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (StorageConfig ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (StorageConfig ByronBlock) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.12.1.0-B7PPTiiOqdjFK3zhRUwDA9" 'True) (C1 ('MetaCons "ByronStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronBlockConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BlockConfig ByronBlock))))
type Rep (StorageConfig (ShelleyBlock proto era)) Source # 
Instance details

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.12.1.0-B7PPTiiOqdjFK3zhRUwDA9" '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) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

data StorageConfig (ShelleyBlock proto era) Source # 
Instance details

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 # 
Instance details

Associated Types

type Rep (BlockConfig ByronBlock) :: Type -> Type Source #

Generic (CodecConfig ByronBlock) Source # 
Instance details

Associated Types

type Rep (CodecConfig ByronBlock) :: Type -> Type Source #

Generic (StorageConfig ByronBlock) Source # 
Instance details

Associated Types

type Rep (StorageConfig ByronBlock) :: Type -> Type Source #

NoThunks (BlockConfig ByronBlock) Source # 
Instance details

Methods

noThunks :: Context -> BlockConfig ByronBlock -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> BlockConfig ByronBlock -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (BlockConfig ByronBlock) -> String

NoThunks (CodecConfig ByronBlock) Source # 
Instance details

Methods

noThunks :: Context -> CodecConfig ByronBlock -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> CodecConfig ByronBlock -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (CodecConfig ByronBlock) -> String

NoThunks (StorageConfig ByronBlock) Source # 
Instance details

Methods

noThunks :: Context -> StorageConfig ByronBlock -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> StorageConfig ByronBlock -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (StorageConfig ByronBlock) -> String