Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype HardForkSelectView xs = HardForkSelectView {}
- type HardForkCanBeLeader xs = SomeErasCanBeLeader xs
- type HardForkChainDepState xs = HardForkState WrapChainDepState xs
- type HardForkIsLeader xs = OneEraIsLeader xs
- data HardForkValidationErr xs
- type HardForkLedgerView = HardForkLedgerView_ WrapLedgerView
- data HardForkLedgerView_ f xs = HardForkLedgerView {}
- data family Ticked st ∷ Type
Documentation
newtype HardForkSelectView xs Source #
Instances
Re-exports to keep State
an internal module
type HardForkCanBeLeader xs = SomeErasCanBeLeader xs Source #
We have one or more BlockForging
s, and thus CanBeLeader
proofs, for
each era in which we can forge blocks.
type HardForkChainDepState xs = HardForkState WrapChainDepState xs Source #
type HardForkIsLeader xs = OneEraIsLeader xs Source #
We are a leader if we have a proof from one of the eras
data HardForkValidationErr xs Source #
HardForkValidationErrFromEra (OneEraValidationErr xs) | Validation error from one of the eras |
HardForkValidationErrWrongEra (MismatchEraInfo xs) | We tried to apply a block from the wrong era |
Instances
Re-exports to keep LedgerView
an internal module
data HardForkLedgerView_ f xs Source #
HardForkLedgerView | |
|
Instances
CanHardFork xs ⇒ Show (HardForkLedgerView_ WrapLedgerView xs) Source # | |
(SListI xs, Show a) ⇒ Show (HardForkLedgerView_ (K a ∷ Type → Type) xs) Source # | |
Type family instances
data family Ticked st ∷ Type Source #
" Ticked " piece of state, either LedgerState
or ChainDepState
Ticking refers to the passage of time (the ticking of the clock). When a
piece of state is marked as ticked, it means that time-related changes have
been applied to the state. There are exactly two methods in the interface
that do that: tickChainDepState
and
applyChainTickLedgerResult
.
Also note that a successful forecast
must equal
forecastFor
(ledgerViewForecastAt
cfg st)
slot
. Thus a
protocolLedgerView
cfg
(applyChainTick
cfg slot st)LedgerView
can only be projected
from a Ticked
state, but cannot itself be ticked.
Some examples of time related changes:
- Scheduled delegations might have been applied in Byron
- New leader schedule computed for Shelley
- Transition from Byron to Shelley activated in the hard fork combinator.
- Nonces switched out at the start of a new epoch.