ouroboros-consensus-0.1.0.1: Consensus layer for the Ouroboros blockchain protocol
Safe Haskell None
Language Haskell2010

Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Synopsis

Documentation

class Inject f where Source #

Methods

inject Source #

Arguments

:: forall x xs. CanHardFork xs
=> Exactly xs Bound

Start bound of each era

-> Index xs x
-> f x
-> f ( HardForkBlock xs)

Instances

Instances details
Inject I Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject Header Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject LedgerState Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject GenTx Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject HeaderState Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject AnnTip Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject WrapChainDepState Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject WrapHeaderHash Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject WrapGenTxId Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject WrapApplyTxErr Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject SerialisedHeader Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject ExtLedgerState Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Inject ( SomeSecond BlockQuery ) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Defaults

injectHardForkState Source #

Arguments

:: forall f x xs. Exactly xs Bound

Start bound of each era

-> Index xs x
-> f x
-> HardForkState f xs

injectQuery :: forall x xs result. Index xs x -> BlockQuery x result -> QueryIfCurrent xs result Source #

Initial ExtLedgerState

injectInitialExtLedgerState :: forall x xs. CanHardFork (x ': xs) => TopLevelConfig ( HardForkBlock (x ': xs)) -> ExtLedgerState x -> ExtLedgerState ( HardForkBlock (x ': xs)) Source #

Inject the first era's initial ExtLedgerState and trigger any translations that should take place in the very first slot.

Performs any hard forks scheduled via TriggerHardForkAtEpoch .

Note: we can translate across multiple eras when computing the initial ledger state, but we do not support translation across multiple eras in general; extending applyChainTick to translate across more than one era is not problematic, but extending ledgerViewForecastAt is a lot more subtle; see forecastNotFinal .