Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.HardFork.Combinator.Forging
Synopsis
- type HardForkCannotForge xs = OneEraCannotForge xs
-
data
HardForkForgeStateInfo
xs
where
- CurrentEraLacksBlockForging :: EraIndex (x ': (y ': xs)) -> HardForkForgeStateInfo (x ': (y ': xs))
- CurrentEraForgeStateUpdated :: OneEraForgeStateInfo xs -> HardForkForgeStateInfo xs
- type HardForkForgeStateUpdateError xs = OneEraForgeStateUpdateError xs
- hardForkBlockForging :: forall m xs. ( CanHardFork xs, Monad m) => Text -> NonEmptyOptNP ( BlockForging m) xs -> BlockForging m ( HardForkBlock xs)
Documentation
type HardForkCannotForge xs = OneEraCannotForge xs Source #
If we cannot forge, it's because the current era could not forge
data HardForkForgeStateInfo xs where Source #
For each era in which we want to forge blocks, we have a
BlockForging
,
and thus
ForgeStateInfo
.
When we update the hard fork forge state, we only update the forge state of
the current era. However, the current era
might not
have a forge state as
it lacks a
BlockForging
.
TODO #2766: expire past
ForgeState
Constructors
CurrentEraLacksBlockForging :: EraIndex (x ': (y ': xs)) -> HardForkForgeStateInfo (x ': (y ': xs)) |
There is no
|
CurrentEraForgeStateUpdated :: OneEraForgeStateInfo xs -> HardForkForgeStateInfo xs |
The
|
Instances
CanHardFork xs => Show ( HardForkForgeStateInfo xs) Source # | |
|
type HardForkForgeStateUpdateError xs = OneEraForgeStateUpdateError xs Source #
For each era in which we want to forge blocks, we have a
BlockForging
,
and thus
ForgeStateUpdateError
.
Arguments
:: forall m xs. ( CanHardFork xs, Monad m) | |
=> Text |
Used as the
|
-> NonEmptyOptNP ( BlockForging m) xs | |
-> BlockForging m ( HardForkBlock xs) |