ouroboros-consensus
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Synopsis

Value for each era

Values for some eras

Value for one era

newtype OneEraBlock (xs ∷ [Type]) Source #

Constructors

OneEraBlock 

Fields

Instances

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

showsPrec ∷ Int → OneEraBlock xs → ShowS #

show ∷ OneEraBlock xs → String #

showList ∷ [OneEraBlock xs] → ShowS #

newtype OneEraCannotForge (xs ∷ [Type]) Source #

Instances

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

newtype OneEraGenTx (xs ∷ [Type]) Source #

Constructors

OneEraGenTx 

Fields

newtype OneEraGenTxId (xs ∷ [Type]) Source #

Constructors

OneEraGenTxId 

Instances

Instances details
CanHardFork xs ⇒ Eq (OneEraGenTxId xs) Source #

Compare OneEraGenTxIds by their transaction id, ignoring the era.

Two transactions in different eras can therefore have equal TxIds. This should only happen when the transaction format is backwards compatible from one era to the next.

The comparison itself lives in the CanHardFork instance for xs, as hardForkEqGenTxId/hardForkCompareGenTxId. The Cardano instance implements them without allocating; other instances use rawHashNS.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

(==) ∷ OneEraGenTxId xs → OneEraGenTxId xs → Bool #

(/=) ∷ OneEraGenTxId xs → OneEraGenTxId xs → Bool #

CanHardFork xs ⇒ Ord (OneEraGenTxId xs) Source #

See the corresponding Eq instance.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

showsPrec ∷ Int → OneEraGenTxId xs → ShowS #

show ∷ OneEraGenTxId xs → String #

showList ∷ [OneEraGenTxId xs] → ShowS #

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.

Constructors

OneEraHash 

Instances

Instances details
(Typeable k, Typeable xs) ⇒ FromCBOR (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

(Typeable k, Typeable xs) ⇒ ToCBOR (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

toCBOR ∷ OneEraHash xs → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (OneEraHash xs) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [OneEraHash xs] → Size Source #

NFData (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

rnf ∷ OneEraHash xs → () #

Eq (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

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

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

Ord (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

compare ∷ OneEraHash xs → OneEraHash xs → Ordering #

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

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

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

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

max ∷ OneEraHash xs → OneEraHash xs → OneEraHash xs #

min ∷ OneEraHash xs → OneEraHash xs → OneEraHash xs #

Show (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

showsPrec ∷ Int → OneEraHash xs → ShowS #

show ∷ OneEraHash xs → String #

showList ∷ [OneEraHash xs] → ShowS #

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

Methods

condense ∷ OneEraHash xs → String Source #

Serialise (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

newtype OneEraHeader (xs ∷ [Type]) Source #

Constructors

OneEraHeader 

Fields

newtype OneEraIsLeader (xs ∷ [Type]) Source #

Constructors

OneEraIsLeader 

newtype OneEraPerasVote (xs ∷ [Type]) Source #

Instances

Instances details
Typeable xs ⇒ ShowProxy (OneEraPerasVote xs ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

showProxy ∷ Proxy (OneEraPerasVote xs) → String #

CanHardFork xs ⇒ Eq (OneEraPerasVote xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (OneEraPerasVote xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (OneEraPerasVote xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasVote xs) = D1 ('MetaData "OneEraPerasVote" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVote" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVote xs))))

Methods

from ∷ OneEraPerasVote xs → Rep (OneEraPerasVote xs) x #

to ∷ Rep (OneEraPerasVote xs) x → OneEraPerasVote xs #

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

SerialiseHFC xs ⇒ SerialiseNodeToNode (HardForkBlock xs) (OneEraPerasVote xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

(CanHardFork xs, All SingleEraBlock xs) ⇒ IsPerasVote (OneEraPerasVote xs) (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type Rep (OneEraPerasVote xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasVote xs) = D1 ('MetaData "OneEraPerasVote" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVote" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVote xs))))
type BoostedBlock (OneEraPerasVote xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

newtype OneEraPerasCert (xs ∷ [Type]) Source #

Instances

Instances details
Typeable xs ⇒ ShowProxy (OneEraPerasCert xs ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

showProxy ∷ Proxy (OneEraPerasCert xs) → String #

CanHardFork xs ⇒ Eq (OneEraPerasCert xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (OneEraPerasCert xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (OneEraPerasCert xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasCert xs) = D1 ('MetaData "OneEraPerasCert" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasCert" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasCert") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasCert xs))))

Methods

from ∷ OneEraPerasCert xs → Rep (OneEraPerasCert xs) x #

to ∷ Rep (OneEraPerasCert xs) x → OneEraPerasCert xs #

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

SerialiseHFC xs ⇒ SerialiseNodeToNode (HardForkBlock xs) (OneEraPerasCert xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

CanHardFork xs ⇒ IsPerasCert (OneEraPerasCert xs) (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type Rep (OneEraPerasCert xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasCert xs) = D1 ('MetaData "OneEraPerasCert" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasCert" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasCert") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasCert xs))))
type BoostedBlock (OneEraPerasCert xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

newtype OneEraPerasError (xs ∷ [Type]) Source #

Instances

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ Exception (OneEraPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (OneEraPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (OneEraPerasError xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasError xs) = D1 ('MetaData "OneEraPerasError" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasError" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasError") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasError xs))))
CanHardFork xs ⇒ Show (OneEraPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasError xs) = D1 ('MetaData "OneEraPerasError" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasError" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasError") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasError xs))))

data HardForkPerasError (xs ∷ [Type]) Source #

Constructors

HardForkPerasErrorEraMismatch 
HardForkPerasErrorOneEraPerasError (OneEraPerasError xs) 
HardForkPerasErrorConversionError

Should never be produced in practice, since we dispatch to a concrete era before calling any fallible operation.

HardForkPerasErrorQuorumNotReachedError

Should never be produced in practice, since we dispatch to a concrete era before calling any fallible operation.

HardForkPerasErrorCommitteeError

Should never be produced in practice, since we dispatch to a concrete era before calling any fallible operation.

Instances

Instances details
Eq (OneEraPerasError xs) ⇒ Eq (HardForkPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ Exception (HardForkPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (HardForkPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (HardForkPerasError xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (HardForkPerasError xs) = D1 ('MetaData "HardForkPerasError" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'False) ((C1 ('MetaCons "HardForkPerasErrorEraMismatch" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "HardForkPerasErrorOneEraPerasError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraPerasError xs)))) :+: (C1 ('MetaCons "HardForkPerasErrorConversionError" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "HardForkPerasErrorQuorumNotReachedError" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "HardForkPerasErrorCommitteeError" 'PrefixI 'False) (U1 ∷ Type → Type))))
Show (OneEraPerasError xs) ⇒ Show (HardForkPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

NoThunks (OneEraPerasError xs) ⇒ NoThunks (HardForkPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ IsPerasError (HardForkPerasError xs) (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type Rep (HardForkPerasError xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (HardForkPerasError xs) = D1 ('MetaData "HardForkPerasError" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'False) ((C1 ('MetaCons "HardForkPerasErrorEraMismatch" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "HardForkPerasErrorOneEraPerasError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraPerasError xs)))) :+: (C1 ('MetaCons "HardForkPerasErrorConversionError" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "HardForkPerasErrorQuorumNotReachedError" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "HardForkPerasErrorCommitteeError" 'PrefixI 'False) (U1 ∷ Type → Type))))

newtype OneEraPerasCrypto (xs ∷ [Type]) Source #

Instances

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (OneEraPerasCrypto xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (OneEraPerasCrypto xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasCrypto xs) = D1 ('MetaData "OneEraPerasCrypto" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasCrypto" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasCrypto") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasCrypto xs))))
CanHardFork xs ⇒ Show (OneEraPerasCrypto xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ FromCBOR (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source #

Hand-written rather than deriving via SerialiseNS: that derivation needs All (Compose Serialise WrapPerasVotingCommittee) xs, which GHC cannot solve from the CanHardFork xs (i.e. All SingleEraBlock xs) context for an abstract xs. We instead build the per-era codecs with hcpure proxySingle, where each era's Serialise (WrapPerasVotingCommittee blk) is reachable from SingleEraBlock blk via its StateSupportsPerasEpochContext superclass, and feed them to encodeNS and decodeNS, producing the same wire format a SerialiseNS derivation would.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ ToCBOR (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ Eq (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommittee" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommittee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommittee xs))))
CanHardFork xs ⇒ Show (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ NoThunks (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasCrypto xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasCrypto xs) = D1 ('MetaData "OneEraPerasCrypto" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasCrypto" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasCrypto") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasCrypto xs))))
type ElectionId (OneEraPerasCrypto xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type PrivateKey (OneEraPerasCrypto xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type VoteCandidate (OneEraPerasCrypto xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

newtype VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommittee" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommittee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommittee xs))))

newtype OneEraPerasVotingCommitteeScheme (xs ∷ [Type]) Source #

Instances

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (OneEraPerasVotingCommitteeScheme xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (OneEraPerasVotingCommitteeScheme xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasVotingCommitteeScheme xs) = D1 ('MetaData "OneEraPerasVotingCommitteeScheme" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommitteeScheme" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommitteeScheme") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommitteeScheme xs))))
CanHardFork xs ⇒ Show (OneEraPerasVotingCommitteeScheme xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ FromCBOR (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source #

Hand-written rather than deriving via SerialiseNS: that derivation needs All (Compose Serialise WrapPerasVotingCommittee) xs, which GHC cannot solve from the CanHardFork xs (i.e. All SingleEraBlock xs) context for an abstract xs. We instead build the per-era codecs with hcpure proxySingle, where each era's Serialise (WrapPerasVotingCommittee blk) is reachable from SingleEraBlock blk via its StateSupportsPerasEpochContext superclass, and feed them to encodeNS and decodeNS, producing the same wire format a SerialiseNS derivation would.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ ToCBOR (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ Eq (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommittee" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommittee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommittee xs))))
CanHardFork xs ⇒ Show (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

CanHardFork xs ⇒ NoThunks (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasVotingCommitteeScheme xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (OneEraPerasVotingCommitteeScheme xs) = D1 ('MetaData "OneEraPerasVotingCommitteeScheme" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommitteeScheme" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommitteeScheme") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommitteeScheme xs))))
newtype VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommittee" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommittee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommittee xs))))

data family VotingCommittee crypto committee Source #

Structure storing the voting committee context

NOTE: This data family is defined outside of the CryptoSupportsVotingCommittee class so that it can be instantiated for the HFC block without having to provide an instance of the whole class (because for HFC, we dispatch to a concrete era first so none of the methods/types of the class would actually be used).

Instances

Instances details
CanHardFork xs ⇒ FromCBOR (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source #

Hand-written rather than deriving via SerialiseNS: that derivation needs All (Compose Serialise WrapPerasVotingCommittee) xs, which GHC cannot solve from the CanHardFork xs (i.e. All SingleEraBlock xs) context for an abstract xs. We instead build the per-era codecs with hcpure proxySingle, where each era's Serialise (WrapPerasVotingCommittee blk) is reachable from SingleEraBlock blk via its StateSupportsPerasEpochContext superclass, and feed them to encodeNS and decodeNS, producing the same wire format a SerialiseNS derivation would.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Typeable blk ⇒ FromCBOR (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

(Typeable crypto, FromCBOR (PublicKey crypto)) ⇒ FromCBOR (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

(Typeable crypto, FromCBOR (PublicKey crypto)) ⇒ FromCBOR (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

(Typeable crypto, Typeable blk) ⇒ FromCBOR (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

CanHardFork xs ⇒ ToCBOR (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Typeable blk ⇒ ToCBOR (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

(Typeable crypto, ToCBOR (PublicKey crypto)) ⇒ ToCBOR (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

(Typeable crypto, ToCBOR (PublicKey crypto)) ⇒ ToCBOR (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

Methods

toCBOR ∷ VotingCommittee crypto WFALS → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (VotingCommittee crypto WFALS) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [VotingCommittee crypto WFALS] → Size Source #

(Typeable crypto, Typeable blk) ⇒ ToCBOR (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

CanHardFork xs ⇒ Eq (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Eq (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

Eq (PublicKey crypto) ⇒ Eq (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

Eq (PublicKey crypto) ⇒ Eq (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

Methods

(==) ∷ VotingCommittee crypto WFALS → VotingCommittee crypto WFALS → Bool #

(/=) ∷ VotingCommittee crypto WFALS → VotingCommittee crypto WFALS → Bool #

Eq (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

Generic (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommittee" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommittee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommittee xs))))
Generic (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

Generic (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

Associated Types

type Rep (VotingCommittee crypto EveryoneVotes) 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

type Rep (VotingCommittee crypto EveryoneVotes) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.Committee.EveryoneVotes" "ouroboros-consensus-4.0.0.0-inplace" 'False) (C1 ('MetaCons "EveryoneVotesVotingCommittee" 'PrefixI 'True) ((S1 ('MetaSel ('Just "extWFAStakeDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExtWFAStakeDistr (PublicKey crypto))) :*: S1 ('MetaSel ('Just "candidateSeats") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PoolId SeatIndex))) :*: (S1 ('MetaSel ('Just "numActiveVoters") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NumPoolsWithPositiveStake) :*: S1 ('MetaSel ('Just "totalActiveStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TotalStake))))
Generic (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

Associated Types

type Rep (VotingCommittee crypto WFALS) 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

type Rep (VotingCommittee crypto WFALS) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.Committee.WFALS" "ouroboros-consensus-4.0.0.0-inplace" 'False) (C1 ('MetaCons "WFALSVotingCommittee" 'PrefixI 'True) ((S1 ('MetaSel ('Just "extWFAStakeDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExtWFAStakeDistr (PublicKey crypto))) :*: (S1 ('MetaSel ('Just "candidateSeats") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PoolId SeatIndex)) :*: S1 ('MetaSel ('Just "persistentCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PersistentCommitteeSize))) :*: ((S1 ('MetaSel ('Just "nonPersistentCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NonPersistentCommitteeSize) :*: S1 ('MetaSel ('Just "totalPersistentStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TotalPersistentStake)) :*: (S1 ('MetaSel ('Just "totalNonPersistentStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TotalNonPersistentStake) :*: S1 ('MetaSel ('Just "epochNonce") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce)))))

Methods

from ∷ VotingCommittee crypto WFALS → Rep (VotingCommittee crypto WFALS) x #

to ∷ Rep (VotingCommittee crypto WFALS) x → VotingCommittee crypto WFALS #

Generic (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

CanHardFork xs ⇒ Show (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Show (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

Show (PublicKey crypto) ⇒ Show (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

Show (PublicKey crypto) ⇒ Show (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

Methods

showsPrec ∷ Int → VotingCommittee crypto WFALS → ShowS #

show ∷ VotingCommittee crypto WFALS → String #

showList ∷ [VotingCommittee crypto WFALS] → ShowS #

Show (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

CanHardFork xs ⇒ NoThunks (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

NoThunks (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

NoThunks (PublicKey crypto) ⇒ NoThunks (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

NoThunks (PublicKey crypto) ⇒ NoThunks (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

NoThunks (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

data VotingCommittee crypto EveryoneVotes Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

data VotingCommittee crypto WFALS Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

newtype VotingCommittee crypto (MockPerasVotingCommitteeScheme blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

newtype VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

newtype VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep (VotingCommittee (OneEraPerasCrypto xs) (OneEraPerasVotingCommitteeScheme xs)) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "OneEraPerasVotingCommittee" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOneEraPerasVotingCommittee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NS WrapPerasVotingCommittee xs))))
type Rep (VotingCommittee (VoidPerasCrypto blk) VoidPerasVotingCommitteeScheme) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

type Rep (VotingCommittee crypto EveryoneVotes) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.EveryoneVotes

type Rep (VotingCommittee crypto EveryoneVotes) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.Committee.EveryoneVotes" "ouroboros-consensus-4.0.0.0-inplace" 'False) (C1 ('MetaCons "EveryoneVotesVotingCommittee" 'PrefixI 'True) ((S1 ('MetaSel ('Just "extWFAStakeDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExtWFAStakeDistr (PublicKey crypto))) :*: S1 ('MetaSel ('Just "candidateSeats") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PoolId SeatIndex))) :*: (S1 ('MetaSel ('Just "numActiveVoters") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NumPoolsWithPositiveStake) :*: S1 ('MetaSel ('Just "totalActiveStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TotalStake))))
type Rep (VotingCommittee crypto WFALS) Source # 
Instance details

Defined in Ouroboros.Consensus.Committee.WFALS

type Rep (VotingCommittee crypto WFALS) = D1 ('MetaData "VotingCommittee" "Ouroboros.Consensus.Committee.WFALS" "ouroboros-consensus-4.0.0.0-inplace" 'False) (C1 ('MetaCons "WFALSVotingCommittee" 'PrefixI 'True) ((S1 ('MetaSel ('Just "extWFAStakeDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExtWFAStakeDistr (PublicKey crypto))) :*: (S1 ('MetaSel ('Just "candidateSeats") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PoolId SeatIndex)) :*: S1 ('MetaSel ('Just "persistentCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PersistentCommitteeSize))) :*: ((S1 ('MetaSel ('Just "nonPersistentCommitteeSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NonPersistentCommitteeSize) :*: S1 ('MetaSel ('Just "totalPersistentStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TotalPersistentStake)) :*: (S1 ('MetaSel ('Just "totalNonPersistentStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TotalNonPersistentStake) :*: S1 ('MetaSel ('Just "epochNonce") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce)))))
type Rep (VotingCommittee crypto (MockPerasVotingCommitteeScheme blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

Serialisation of n-ary sums

decodeNS ∷ ∀ {k} (xs ∷ [k]) (f ∷ k → Type) s. SListI xs ⇒ NP (Decoder s :.: f) xs → Decoder s (NS f xs) Source #

encodeNS ∷ ∀ {k} (xs ∷ [k]) (f ∷ k → Type). SListI xs ⇒ NP (f -.-> (K Encoding ∷ k → Type)) xs → NS f xs → Encoding Source #

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

Generic EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep EraMismatch 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep EraMismatch = D1 ('MetaData "EraMismatch" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-4.0.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)))
Show EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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-4.0.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 ∷ [Type]) Source #

Constructors

MismatchEraInfo 

Fields

mismatchFutureEra ∷ ∀ (xs ∷ [Type]) x. SListI xs ⇒ MismatchEraInfo (x ': xs) → NS SingleEraInfo xs Source #

A mismatch _must_ involve a future era

mkEraMismatch ∷ ∀ (xs ∷ [Type]). 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

getSameValue ∷ ∀ {k} (xs ∷ [k]) a. (IsNonEmpty xs, Eq a, SListI xs, HasCallStack) ⇒ NP (K a ∷ k → Type) xs → a Source #

oneEraBlockHeader ∷ ∀ (xs ∷ [Type]). CanHardFork xs ⇒ OneEraBlock xs → OneEraHeader xs Source #

Orphan instances