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

Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Synopsis

Value for each era

Values for some eras

Value for one era

newtype OneEraGenTxId xs Source #

Instances

Instances details
CanHardFork xs => Eq ( OneEraGenTxId xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs => Ord ( OneEraGenTxId xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs => Show ( OneEraGenTxId xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs => NoThunks ( OneEraGenTxId xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

newtype OneEraHash (xs :: [k]) Source #

The hash for an era

This type is special: we don't use an NS here, because the hash by itself should not allow us to differentiate between eras. If it did, the size of the hash would necessarily have to increase, and that leads to trouble. So, the type parameter xs here is merely a phantom one, and we just store the underlying raw hash.

Instances

Instances details
Eq ( OneEraHash xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Ord ( OneEraHash xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Show ( OneEraHash xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

NoThunks ( OneEraHash xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Serialise ( OneEraHash xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Condense ( OneEraHash xs) Source #
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Value for two different eras

data EraMismatch Source #

Extra info for errors caused by applying a block, header, transaction, or query from one era to a ledger from a different era.

Constructors

EraMismatch

Fields

mismatchFutureEra :: SListI xs => MismatchEraInfo (x ': xs) -> NS SingleEraInfo xs Source #

A mismatch _must_ involve a future era

mkEraMismatch :: SListI xs => MismatchEraInfo xs -> EraMismatch Source #

When a transaction or block from a certain era was applied to a ledger from another era, we get a MismatchEraInfo .

Given such a MismatchEraInfo , return the name of the era of the transaction/block and the name of the era of the ledger.

Utility