ouroboros-consensus-0.26.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.HardFork.Combinator.Abstract.CanHardFork

Documentation

class (All SingleEraBlock xs, All (Compose HasLedgerTables LedgerState) xs, All (Compose HasTickedLedgerTables LedgerState) xs, Typeable xs, IsNonEmpty xs, Measure (HardForkTxMeasure xs), HasByteSize (HardForkTxMeasure xs), NoThunks (HardForkTxMeasure xs), Show (HardForkTxMeasure xs), TxMeasureMetrics (HardForkTxMeasure xs)) ⇒ CanHardFork (xs ∷ [Type]) where Source #

Associated Types

type HardForkTxMeasure (xs ∷ [Type]) Source #

A measure that can accurately represent the TxMeasure of any era.

Usually, this can simply be the union of the sets of components of each individual era's TxMeasure. (Which is too awkward of a type to express in Haskell.)

Methods

hardForkEraTranslationEraTranslation xs Source #

hardForkChainSelTails AcrossEraSelection xs Source #

hardForkInjectTxsInPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) xs Source #

hardForkInjTxMeasureNS WrapTxMeasure xs → HardForkTxMeasure xs Source #

This is ideally exact.

If that's not possible, the result must not be too small, since this is relied upon to determine which prefix of the mempool's txs will fit in a valid block.