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

Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Synopsis

Value for each era

newtype PerEraBlockConfig xs Source #

Instances

Instances details
CanHardFork xs ⇒ NoThunks (PerEraBlockConfig xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → PerEraBlockConfig xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → PerEraBlockConfig xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (PerEraBlockConfig xs) → String #

newtype PerEraCodecConfig xs Source #

Instances

Instances details
CanHardFork xs ⇒ NoThunks (PerEraCodecConfig xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → PerEraCodecConfig xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → PerEraCodecConfig xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (PerEraCodecConfig xs) → String #

newtype PerEraConsensusConfig xs Source #

Instances

Instances details
CanHardFork xs ⇒ NoThunks (PerEraConsensusConfig xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → PerEraConsensusConfig xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → PerEraConsensusConfig xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (PerEraConsensusConfig xs) → String #

newtype PerEraLedgerConfig xs Source #

Instances

Instances details
CanHardFork xs ⇒ NoThunks (PerEraLedgerConfig xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → PerEraLedgerConfig xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → PerEraLedgerConfig xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (PerEraLedgerConfig xs) → String #

newtype PerEraStorageConfig xs Source #

Instances

Instances details
CanHardFork xs ⇒ NoThunks (PerEraStorageConfig xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → PerEraStorageConfig xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → PerEraStorageConfig xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (PerEraStorageConfig xs) → String #

Values for some eras

Value for one era

newtype OneEraBlock xs Source #

Constructors

OneEraBlock 

Fields

Instances

Instances details
CanHardFork xs ⇒ Show (OneEraBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

newtype OneEraGenTx xs Source #

Constructors

OneEraGenTx 

Fields

Instances

Instances details
CanHardFork xs ⇒ Eq (OneEraGenTx xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

(==)OneEraGenTx xs → OneEraGenTx xs → Bool Source #

(/=)OneEraGenTx xs → OneEraGenTx xs → Bool Source #

CanHardFork xs ⇒ Show (OneEraGenTx xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ NoThunks (OneEraGenTx xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → OneEraGenTx xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → OneEraGenTx xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (OneEraGenTx xs) → String #

newtype OneEraGenTxId xs Source #

Constructors

OneEraGenTxId 

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

Methods

noThunks ∷ Context → OneEraGenTxId xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → OneEraGenTxId xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (OneEraGenTxId xs) → String #

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.

Constructors

OneEraHash 

Instances

Instances details
Eq (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

(==)OneEraHash xs → OneEraHash xs → Bool Source #

(/=)OneEraHash xs → OneEraHash xs → Bool Source #

Ord (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

compareOneEraHash xs → OneEraHash xs → Ordering Source #

(<)OneEraHash xs → OneEraHash xs → Bool Source #

(<=)OneEraHash xs → OneEraHash xs → Bool Source #

(>)OneEraHash xs → OneEraHash xs → Bool Source #

(>=)OneEraHash xs → OneEraHash xs → Bool Source #

maxOneEraHash xs → OneEraHash xs → OneEraHash xs Source #

minOneEraHash xs → OneEraHash xs → OneEraHash xs Source #

Show (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

Methods

encodeOneEraHash xs → Encoding #

decode ∷ Decoder s (OneEraHash xs) #

encodeList ∷ [OneEraHash xs] → Encoding #

decodeList ∷ Decoder s [OneEraHash xs] #

NoThunks (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → OneEraHash xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → OneEraHash xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (OneEraHash xs) → String #

Condense (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

condenseOneEraHash xs → String Source #

newtype OneEraHeader xs Source #

Constructors

OneEraHeader 

Fields

Instances

Instances details
CanHardFork xs ⇒ Show (OneEraHeader xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ NoThunks (OneEraHeader xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → OneEraHeader xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → OneEraHeader xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (OneEraHeader xs) → String #

newtype OneEraIsLeader xs Source #

Constructors

OneEraIsLeader 

newtype OneEraTipInfo xs Source #

Constructors

OneEraTipInfo 

Instances

Instances details
CanHardFork xs ⇒ Eq (OneEraTipInfo xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ Show (OneEraTipInfo xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ NoThunks (OneEraTipInfo xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → OneEraTipInfo xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → OneEraTipInfo xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (OneEraTipInfo xs) → String #

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

Instances

Instances details
Eq EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Show EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep EraMismatchTypeType Source #

type Rep EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep EraMismatch = D1 ('MetaData "EraMismatch" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-0.1.0.0-inplace" 'False) (C1 ('MetaCons "EraMismatch" 'PrefixI 'True) (S1 ('MetaSel ('Just "ledgerEraName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "otherEraName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))

newtype MismatchEraInfo xs Source #

Constructors

MismatchEraInfo 

Fields

Instances

Instances details
All SingleEraBlock xs ⇒ Eq (MismatchEraInfo xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

All SingleEraBlock xs ⇒ Show (MismatchEraInfo xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ NoThunks (MismatchEraInfo xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks ∷ Context → MismatchEraInfo xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → MismatchEraInfo xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (MismatchEraInfo xs) → String #

mismatchFutureEraSListI xs ⇒ MismatchEraInfo (x ': xs) → NS SingleEraInfo xs Source #

A mismatch _must_ involve a future era

mkEraMismatchSListI 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

getSameValue ∷ ∀ xs a. (IsNonEmpty xs, Eq a, SListI xs, HasCallStack) ⇒ NP (K a) xs → a Source #