| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Block.SupportsPeras
Contents
Synopsis
- newtype PerasRoundNo = PerasRoundNo {}
- onPerasRoundNo ∷ (Word64 → Word64 → Word64) → PerasRoundNo → PerasRoundNo → PerasRoundNo
- data PerasVoteId blk = PerasVoteId {}
- data PerasVoteTarget blk = PerasVoteTarget {
- pvtRoundNo ∷ !PerasRoundNo
- pvtBlock ∷ !(Point blk)
- newtype PerasVoterId = PerasVoterId {}
- newtype PerasVoteStake = PerasVoteStake {}
- stakeAboveThreshold ∷ PerasParams → PerasVoteStake → Bool
- newtype PerasVoteStakeDistr = PerasVoteStakeDistr {}
- lookupPerasVoteStake ∷ PerasVote blk → PerasVoteStakeDistr → Maybe PerasVoteStake
- class (Show (PerasCfg blk), NoThunks (PerasCert blk)) ⇒ BlockSupportsPeras blk where
- type PerasCfg blk
- data PerasCert blk
- data PerasVote blk
- data PerasValidationErr blk
- data PerasForgeErr blk
- validatePerasCert ∷ PerasCfg blk → PerasCert blk → Either (PerasValidationErr blk) (ValidatedPerasCert blk)
- validatePerasVote ∷ PerasCfg blk → PerasVoteStakeDistr → PerasVote blk → Either (PerasValidationErr blk) (ValidatedPerasVote blk)
- forgePerasCert ∷ PerasCfg blk → ValidatedPerasVotesWithQuorum blk → Either (PerasForgeErr blk) (ValidatedPerasCert blk)
- data family PerasCert blk
- data family PerasVote blk
- data ValidatedPerasCert blk = ValidatedPerasCert {
- vpcCert ∷ !(PerasCert blk)
- vpcCertBoost ∷ !PerasWeight
- data ValidatedPerasVote blk = ValidatedPerasVote {
- vpvVote ∷ !(PerasVote blk)
- vpvVoteStake ∷ !PerasVoteStake
- data ValidatedPerasVotesWithQuorum blk
- votesReachQuorum ∷ StandardHash blk ⇒ PerasCfg blk → [ValidatedPerasVote blk] → Maybe (ValidatedPerasVotesWithQuorum blk)
- class HasPerasCertRound cert where
- getPerasCertRound ∷ cert → PerasRoundNo
- class HasPerasCertBoostedBlock cert blk | cert → blk where
- getPerasCertBoostedBlock ∷ cert → Point blk
- class HasPerasCertBoost cert where
- getPerasCertBoost ∷ cert → PerasWeight
- class HasPerasVoteRound vote where
- getPerasVoteRound ∷ vote → PerasRoundNo
- class HasPerasVoteBlock vote blk | vote → blk where
- getPerasVoteBlock ∷ vote → Point blk
- class HasPerasVoteVoterId vote where
- getPerasVoteVoterId ∷ vote → PerasVoterId
- class HasPerasVoteStake vote where
- getPerasVoteStake ∷ vote → PerasVoteStake
- class HasPerasVoteTarget vote blk | vote → blk where
- getPerasVoteTarget ∷ vote → PerasVoteTarget blk
- class HasPerasVoteId vote blk | vote → blk where
- getPerasVoteId ∷ vote → PerasVoteId blk
- module Ouroboros.Consensus.Peras.Params
Documentation
newtype PerasRoundNo Source #
Constructors
| PerasRoundNo | |
Fields | |
Instances
onPerasRoundNo ∷ (Word64 → Word64 → Word64) → PerasRoundNo → PerasRoundNo → PerasRoundNo Source #
Lift a binary operation on Word64 to PerasRoundNo
data PerasVoteId blk Source #
Constructors
| PerasVoteId | |
Fields | |
Instances
| Generic (PerasVoteId blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods from ∷ PerasVoteId blk → Rep (PerasVoteId blk) x # to ∷ Rep (PerasVoteId blk) x → PerasVoteId blk # | |||||
| Show (PerasVoteId blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → PerasVoteId blk → ShowS # show ∷ PerasVoteId blk → String # showList ∷ [PerasVoteId blk] → ShowS # | |||||
| Eq (PerasVoteId blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (==) ∷ PerasVoteId blk → PerasVoteId blk → Bool # (/=) ∷ PerasVoteId blk → PerasVoteId blk → Bool # | |||||
| Ord (PerasVoteId blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods compare ∷ PerasVoteId blk → PerasVoteId blk → Ordering # (<) ∷ PerasVoteId blk → PerasVoteId blk → Bool # (<=) ∷ PerasVoteId blk → PerasVoteId blk → Bool # (>) ∷ PerasVoteId blk → PerasVoteId blk → Bool # (>=) ∷ PerasVoteId blk → PerasVoteId blk → Bool # max ∷ PerasVoteId blk → PerasVoteId blk → PerasVoteId blk # min ∷ PerasVoteId blk → PerasVoteId blk → PerasVoteId blk # | |||||
| NoThunks (PerasVoteId blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| type Rep (PerasVoteId blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (PerasVoteId blk) = D1 ('MetaData "PerasVoteId" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "PerasVoteId" 'PrefixI 'True) (S1 ('MetaSel ('Just "pviRoundNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PerasRoundNo) :*: S1 ('MetaSel ('Just "pviVoterId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PerasVoterId))) | |||||
data PerasVoteTarget blk Source #
Constructors
| PerasVoteTarget | |
Fields
| |
Instances
| Generic (PerasVoteTarget blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods from ∷ PerasVoteTarget blk → Rep (PerasVoteTarget blk) x # to ∷ Rep (PerasVoteTarget blk) x → PerasVoteTarget blk # | |||||
| StandardHash blk ⇒ Show (PerasVoteTarget blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → PerasVoteTarget blk → ShowS # show ∷ PerasVoteTarget blk → String # showList ∷ [PerasVoteTarget blk] → ShowS # | |||||
| StandardHash blk ⇒ Eq (PerasVoteTarget blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (==) ∷ PerasVoteTarget blk → PerasVoteTarget blk → Bool # (/=) ∷ PerasVoteTarget blk → PerasVoteTarget blk → Bool # | |||||
| StandardHash blk ⇒ Ord (PerasVoteTarget blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods compare ∷ PerasVoteTarget blk → PerasVoteTarget blk → Ordering # (<) ∷ PerasVoteTarget blk → PerasVoteTarget blk → Bool # (<=) ∷ PerasVoteTarget blk → PerasVoteTarget blk → Bool # (>) ∷ PerasVoteTarget blk → PerasVoteTarget blk → Bool # (>=) ∷ PerasVoteTarget blk → PerasVoteTarget blk → Bool # max ∷ PerasVoteTarget blk → PerasVoteTarget blk → PerasVoteTarget blk # min ∷ PerasVoteTarget blk → PerasVoteTarget blk → PerasVoteTarget blk # | |||||
| StandardHash blk ⇒ NoThunks (PerasVoteTarget blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| type Rep (PerasVoteTarget blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (PerasVoteTarget blk) = D1 ('MetaData "PerasVoteTarget" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "PerasVoteTarget" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvtRoundNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PerasRoundNo) :*: S1 ('MetaSel ('Just "pvtBlock") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Point blk)))) | |||||
newtype PerasVoterId Source #
Constructors
| PerasVoterId | |
Fields | |
Instances
| Generic PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
| |||||
| Show PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → PerasVoterId → ShowS # show ∷ PerasVoterId → String # showList ∷ [PerasVoterId] → ShowS # | |||||
| Eq PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| Ord PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods compare ∷ PerasVoterId → PerasVoterId → Ordering # (<) ∷ PerasVoterId → PerasVoterId → Bool # (<=) ∷ PerasVoterId → PerasVoterId → Bool # (>) ∷ PerasVoterId → PerasVoterId → Bool # (>=) ∷ PerasVoterId → PerasVoterId → Bool # max ∷ PerasVoterId → PerasVoterId → PerasVoterId # min ∷ PerasVoterId → PerasVoterId → PerasVoterId # | |||||
| NoThunks PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| SerialiseNodeToNode blk PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Node.Serialisation Methods encodeNodeToNode ∷ CodecConfig blk → BlockNodeToNodeVersion blk → PerasVoterId → Encoding Source # decodeNodeToNode ∷ CodecConfig blk → BlockNodeToNodeVersion blk → ∀ s. Decoder s PerasVoterId Source # | |||||
| type Rep PerasVoterId Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep PerasVoterId = D1 ('MetaData "PerasVoterId" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasVoterId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasVoterId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (KeyHash 'StakePool)))) | |||||
newtype PerasVoteStake Source #
Constructors
| PerasVoteStake | |
Fields | |
Instances
| Monoid PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods mappend ∷ PerasVoteStake → PerasVoteStake → PerasVoteStake # mconcat ∷ [PerasVoteStake] → PerasVoteStake # | |||||
| Semigroup PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (<>) ∷ PerasVoteStake → PerasVoteStake → PerasVoteStake # sconcat ∷ NonEmpty PerasVoteStake → PerasVoteStake # stimes ∷ Integral b ⇒ b → PerasVoteStake → PerasVoteStake # | |||||
| Generic PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
| |||||
| Num PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| Fractional PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (/) ∷ PerasVoteStake → PerasVoteStake → PerasVoteStake # | |||||
| Show PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → PerasVoteStake → ShowS # show ∷ PerasVoteStake → String # showList ∷ [PerasVoteStake] → ShowS # | |||||
| Eq PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (==) ∷ PerasVoteStake → PerasVoteStake → Bool # (/=) ∷ PerasVoteStake → PerasVoteStake → Bool # | |||||
| Ord PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods compare ∷ PerasVoteStake → PerasVoteStake → Ordering # (<) ∷ PerasVoteStake → PerasVoteStake → Bool # (<=) ∷ PerasVoteStake → PerasVoteStake → Bool # (>) ∷ PerasVoteStake → PerasVoteStake → Bool # (>=) ∷ PerasVoteStake → PerasVoteStake → Bool # | |||||
| NoThunks PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| Serialise PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods encode ∷ PerasVoteStake → Encoding Source # decode ∷ Decoder s PerasVoteStake Source # encodeList ∷ [PerasVoteStake] → Encoding Source # decodeList ∷ Decoder s [PerasVoteStake] Source # | |||||
| type Rep PerasVoteStake Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep PerasVoteStake = D1 ('MetaData "PerasVoteStake" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasVoteStake" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasVoteStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational))) | |||||
stakeAboveThreshold ∷ PerasParams → PerasVoteStake → Bool Source #
Check whether a given vote stake is above the quorum threshold.
TODO: this function assumes that the PerasVoteStake and the quorum
threshold used in PerasParams are expressed in the same units. That is,
both are either absolute or relative (normalized) values. Under the current
current implementation of PerasParams, this function only makes sense when
both values are relative (normalized) values, so we should either normalize
the PerasVoteStake before calling this function, or change this function to
accept a stake distribution and perform the normalization internally.
newtype PerasVoteStakeDistr Source #
Constructors
| PerasVoteStakeDistr | |
Instances
| Generic PerasVoteStakeDistr Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods | |||||
| Show PerasVoteStakeDistr Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → PerasVoteStakeDistr → ShowS # show ∷ PerasVoteStakeDistr → String # showList ∷ [PerasVoteStakeDistr] → ShowS # | |||||
| Eq PerasVoteStakeDistr Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods | |||||
| NoThunks PerasVoteStakeDistr Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| type Rep PerasVoteStakeDistr Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep PerasVoteStakeDistr = D1 ('MetaData "PerasVoteStakeDistr" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasVoteStakeDistr" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasVoteStakeDistr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PerasVoterId PerasVoteStake)))) | |||||
lookupPerasVoteStake ∷ PerasVote blk → PerasVoteStakeDistr → Maybe PerasVoteStake Source #
Lookup the stake of a vote cast by a member of a given stake distribution.
class (Show (PerasCfg blk), NoThunks (PerasCert blk)) ⇒ BlockSupportsPeras blk where Source #
Methods
validatePerasCert ∷ PerasCfg blk → PerasCert blk → Either (PerasValidationErr blk) (ValidatedPerasCert blk) Source #
validatePerasVote ∷ PerasCfg blk → PerasVoteStakeDistr → PerasVote blk → Either (PerasValidationErr blk) (ValidatedPerasVote blk) Source #
forgePerasCert ∷ PerasCfg blk → ValidatedPerasVotesWithQuorum blk → Either (PerasForgeErr blk) (ValidatedPerasCert blk) Source #
Instances
| StandardHash blk ⇒ BlockSupportsPeras blk Source # | |||||||||||||||||||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods validatePerasCert ∷ PerasCfg blk → PerasCert blk → Either (PerasValidationErr blk) (ValidatedPerasCert blk) Source # validatePerasVote ∷ PerasCfg blk → PerasVoteStakeDistr → PerasVote blk → Either (PerasValidationErr blk) (ValidatedPerasVote blk) Source # forgePerasCert ∷ PerasCfg blk → ValidatedPerasVotesWithQuorum blk → Either (PerasForgeErr blk) (ValidatedPerasCert blk) Source # | |||||||||||||||||||||
data family PerasCert blk Source #
Instances
| ConvertRawHash blk ⇒ SerialiseNodeToNode blk (PerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Node.Serialisation Methods encodeNodeToNode ∷ CodecConfig blk → BlockNodeToNodeVersion blk → PerasCert blk → Encoding Source # decodeNodeToNode ∷ CodecConfig blk → BlockNodeToNodeVersion blk → ∀ s. Decoder s (PerasCert blk) Source # | |||||
| ShowProxy blk ⇒ ShowProxy (PerasCert blk ∷ Type) Source # | |||||
| Generic (PerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
| |||||
| StandardHash blk ⇒ Show (PerasCert blk) Source # | |||||
| StandardHash blk ⇒ Eq (PerasCert blk) Source # | |||||
| StandardHash blk ⇒ Ord (PerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| StandardHash blk ⇒ NoThunks (PerasCert blk) Source # | |||||
| HasPerasCertRound (PerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertRound ∷ PerasCert blk → PerasRoundNo Source # | |||||
| Serialise (HeaderHash blk) ⇒ Serialise (PerasCert blk) Source # | |||||
| HasPerasCertBoostedBlock (PerasCert blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoostedBlock ∷ PerasCert blk → Point blk Source # | |||||
| data PerasCert blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| type Rep (PerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (PerasCert blk) = D1 ('MetaData "PerasCert" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "PerasCert" 'PrefixI 'True) (S1 ('MetaSel ('Just "pcCertRound") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PerasRoundNo) :*: S1 ('MetaSel ('Just "pcCertBoostedBlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)))) | |||||
data family PerasVote blk Source #
Instances
| ConvertRawHash blk ⇒ SerialiseNodeToNode blk (PerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Node.Serialisation Methods encodeNodeToNode ∷ CodecConfig blk → BlockNodeToNodeVersion blk → PerasVote blk → Encoding Source # decodeNodeToNode ∷ CodecConfig blk → BlockNodeToNodeVersion blk → ∀ s. Decoder s (PerasVote blk) Source # | |||||
| ShowProxy blk ⇒ ShowProxy (PerasVote blk ∷ Type) Source # | |||||
| Generic (PerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
| |||||
| StandardHash blk ⇒ Show (PerasVote blk) Source # | |||||
| StandardHash blk ⇒ Eq (PerasVote blk) Source # | |||||
| StandardHash blk ⇒ Ord (PerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| StandardHash blk ⇒ NoThunks (PerasVote blk) Source # | |||||
| HasPerasVoteRound (PerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteRound ∷ PerasVote blk → PerasRoundNo Source # | |||||
| HasPerasVoteVoterId (PerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteVoterId ∷ PerasVote blk → PerasVoterId Source # | |||||
| Serialise (HeaderHash blk) ⇒ Serialise (PerasVote blk) Source # | |||||
| HasPerasVoteBlock (PerasVote blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteBlock ∷ PerasVote blk → Point blk Source # | |||||
| HasPerasVoteId (PerasVote blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteId ∷ PerasVote blk → PerasVoteId blk Source # | |||||
| HasPerasVoteTarget (PerasVote blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteTarget ∷ PerasVote blk → PerasVoteTarget blk Source # | |||||
| data PerasVote blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| type Rep (PerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (PerasVote blk) = D1 ('MetaData "PerasVote" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "PerasVote" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvVoteRound") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PerasRoundNo) :*: (S1 ('MetaSel ('Just "pvVoteBlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)) :*: S1 ('MetaSel ('Just "pvVoteVoterId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PerasVoterId)))) | |||||
data ValidatedPerasCert blk Source #
Constructors
| ValidatedPerasCert | |
Fields
| |
Instances
| Generic (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods from ∷ ValidatedPerasCert blk → Rep (ValidatedPerasCert blk) x # to ∷ Rep (ValidatedPerasCert blk) x → ValidatedPerasCert blk # | |||||
| StandardHash blk ⇒ Show (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → ValidatedPerasCert blk → ShowS # show ∷ ValidatedPerasCert blk → String # showList ∷ [ValidatedPerasCert blk] → ShowS # | |||||
| StandardHash blk ⇒ Eq (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (==) ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Bool # (/=) ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Bool # | |||||
| StandardHash blk ⇒ Ord (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods compare ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Ordering # (<) ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Bool # (<=) ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Bool # (>) ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Bool # (>=) ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → Bool # max ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → ValidatedPerasCert blk # min ∷ ValidatedPerasCert blk → ValidatedPerasCert blk → ValidatedPerasCert blk # | |||||
| StandardHash blk ⇒ NoThunks (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| HasPerasCertBoost (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoost ∷ ValidatedPerasCert blk → PerasWeight Source # | |||||
| HasPerasCertRound (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertRound ∷ ValidatedPerasCert blk → PerasRoundNo Source # | |||||
| HasPerasCertBoostedBlock (ValidatedPerasCert blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoostedBlock ∷ ValidatedPerasCert blk → Point blk Source # | |||||
| type Rep (ValidatedPerasCert blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (ValidatedPerasCert blk) = D1 ('MetaData "ValidatedPerasCert" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "ValidatedPerasCert" 'PrefixI 'True) (S1 ('MetaSel ('Just "vpcCert") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerasCert blk)) :*: S1 ('MetaSel ('Just "vpcCertBoost") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PerasWeight))) | |||||
data ValidatedPerasVote blk Source #
Constructors
| ValidatedPerasVote | |
Fields
| |
Instances
| Generic (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods from ∷ ValidatedPerasVote blk → Rep (ValidatedPerasVote blk) x # to ∷ Rep (ValidatedPerasVote blk) x → ValidatedPerasVote blk # | |||||
| StandardHash blk ⇒ Show (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → ValidatedPerasVote blk → ShowS # show ∷ ValidatedPerasVote blk → String # showList ∷ [ValidatedPerasVote blk] → ShowS # | |||||
| StandardHash blk ⇒ Eq (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (==) ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Bool # (/=) ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Bool # | |||||
| StandardHash blk ⇒ Ord (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods compare ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Ordering # (<) ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Bool # (<=) ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Bool # (>) ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Bool # (>=) ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → Bool # max ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → ValidatedPerasVote blk # min ∷ ValidatedPerasVote blk → ValidatedPerasVote blk → ValidatedPerasVote blk # | |||||
| StandardHash blk ⇒ NoThunks (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| HasPerasVoteRound (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteRound ∷ ValidatedPerasVote blk → PerasRoundNo Source # | |||||
| HasPerasVoteStake (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteStake ∷ ValidatedPerasVote blk → PerasVoteStake Source # | |||||
| HasPerasVoteVoterId (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteVoterId ∷ ValidatedPerasVote blk → PerasVoterId Source # | |||||
| HasPerasVoteBlock (ValidatedPerasVote blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteBlock ∷ ValidatedPerasVote blk → Point blk Source # | |||||
| HasPerasVoteId (ValidatedPerasVote blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteId ∷ ValidatedPerasVote blk → PerasVoteId blk Source # | |||||
| HasPerasVoteTarget (ValidatedPerasVote blk) blk Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteTarget ∷ ValidatedPerasVote blk → PerasVoteTarget blk Source # | |||||
| type Rep (ValidatedPerasVote blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (ValidatedPerasVote blk) = D1 ('MetaData "ValidatedPerasVote" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "ValidatedPerasVote" 'PrefixI 'True) (S1 ('MetaSel ('Just "vpvVote") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerasVote blk)) :*: S1 ('MetaSel ('Just "vpvVoteStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PerasVoteStake))) | |||||
data ValidatedPerasVotesWithQuorum blk Source #
A collection of validated Peras votes that:
1. are all for the same target, and
2. have total stake above the quorum threshold for a given PerasCfg.
Instances
| Generic (ValidatedPerasVotesWithQuorum blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Associated Types
Methods from ∷ ValidatedPerasVotesWithQuorum blk → Rep (ValidatedPerasVotesWithQuorum blk) x # to ∷ Rep (ValidatedPerasVotesWithQuorum blk) x → ValidatedPerasVotesWithQuorum blk # | |||||
| StandardHash blk ⇒ Show (ValidatedPerasVotesWithQuorum blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods showsPrec ∷ Int → ValidatedPerasVotesWithQuorum blk → ShowS # show ∷ ValidatedPerasVotesWithQuorum blk → String # showList ∷ [ValidatedPerasVotesWithQuorum blk] → ShowS # | |||||
| StandardHash blk ⇒ Eq (ValidatedPerasVotesWithQuorum blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods (==) ∷ ValidatedPerasVotesWithQuorum blk → ValidatedPerasVotesWithQuorum blk → Bool # (/=) ∷ ValidatedPerasVotesWithQuorum blk → ValidatedPerasVotesWithQuorum blk → Bool # | |||||
| StandardHash blk ⇒ NoThunks (ValidatedPerasVotesWithQuorum blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras | |||||
| type Rep (ValidatedPerasVotesWithQuorum blk) Source # | |||||
Defined in Ouroboros.Consensus.Block.SupportsPeras type Rep (ValidatedPerasVotesWithQuorum blk) = D1 ('MetaData "ValidatedPerasVotesWithQuorum" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-1.0.0.0-inplace" 'False) (C1 ('MetaCons "ValidatedPerasVotesWithQuorum" 'PrefixI 'True) (S1 ('MetaSel ('Just "vpvqTarget") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerasVoteTarget blk)) :*: (S1 ('MetaSel ('Just "vpvqVotes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NonEmpty (ValidatedPerasVote blk))) :*: S1 ('MetaSel ('Just "vpvqPerasCfg") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerasCfg blk))))) | |||||
votesReachQuorum ∷ StandardHash blk ⇒ PerasCfg blk → [ValidatedPerasVote blk] → Maybe (ValidatedPerasVotesWithQuorum blk) Source #
class HasPerasCertRound cert where Source #
Extract the certificate round from a Peras certificate container
Methods
getPerasCertRound ∷ cert → PerasRoundNo Source #
Instances
| HasPerasCertRound (PerasCert blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertRound ∷ PerasCert blk → PerasRoundNo Source # | |
| HasPerasCertRound (ValidatedPerasCert blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertRound ∷ ValidatedPerasCert blk → PerasRoundNo Source # | |
| HasPerasCertRound cert ⇒ HasPerasCertRound (WithArrivalTime cert) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertRound ∷ WithArrivalTime cert → PerasRoundNo Source # | |
class HasPerasCertBoostedBlock cert blk | cert → blk where Source #
Extract the boosted block point from a Peras certificate container
Methods
getPerasCertBoostedBlock ∷ cert → Point blk Source #
Instances
| HasPerasCertBoostedBlock (PerasCert blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoostedBlock ∷ PerasCert blk → Point blk Source # | |
| HasPerasCertBoostedBlock (ValidatedPerasCert blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoostedBlock ∷ ValidatedPerasCert blk → Point blk Source # | |
| HasPerasCertBoostedBlock cert blk ⇒ HasPerasCertBoostedBlock (WithArrivalTime cert) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoostedBlock ∷ WithArrivalTime cert → Point blk Source # | |
class HasPerasCertBoost cert where Source #
Extract the certificate boost from a Peras certificate container
Methods
getPerasCertBoost ∷ cert → PerasWeight Source #
Instances
| HasPerasCertBoost (ValidatedPerasCert blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoost ∷ ValidatedPerasCert blk → PerasWeight Source # | |
| HasPerasCertBoost cert ⇒ HasPerasCertBoost (WithArrivalTime cert) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasCertBoost ∷ WithArrivalTime cert → PerasWeight Source # | |
class HasPerasVoteRound vote where Source #
Extract the vote round from a Peras vote container
Methods
getPerasVoteRound ∷ vote → PerasRoundNo Source #
Instances
| HasPerasVoteRound (PerasVote blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteRound ∷ PerasVote blk → PerasRoundNo Source # | |
| HasPerasVoteRound (ValidatedPerasVote blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteRound ∷ ValidatedPerasVote blk → PerasRoundNo Source # | |
| HasPerasVoteRound vote ⇒ HasPerasVoteRound (WithArrivalTime vote) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteRound ∷ WithArrivalTime vote → PerasRoundNo Source # | |
| HasPerasVoteRound (PerasRoundVoteState blk) Source # | |
Defined in Ouroboros.Consensus.Peras.Vote.Aggregation Methods getPerasVoteRound ∷ PerasRoundVoteState blk → PerasRoundNo Source # | |
class HasPerasVoteBlock vote blk | vote → blk where Source #
Extract the vote block point from a Peras vote container
Methods
getPerasVoteBlock ∷ vote → Point blk Source #
Instances
| HasPerasVoteBlock (PerasVote blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteBlock ∷ PerasVote blk → Point blk Source # | |
| HasPerasVoteBlock (ValidatedPerasVote blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteBlock ∷ ValidatedPerasVote blk → Point blk Source # | |
| HasPerasVoteBlock vote blk ⇒ HasPerasVoteBlock (WithArrivalTime vote) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteBlock ∷ WithArrivalTime vote → Point blk Source # | |
class HasPerasVoteVoterId vote where Source #
Extract the stake pool ID from a Peras vote container
Methods
getPerasVoteVoterId ∷ vote → PerasVoterId Source #
Instances
| HasPerasVoteVoterId (PerasVote blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteVoterId ∷ PerasVote blk → PerasVoterId Source # | |
| HasPerasVoteVoterId (ValidatedPerasVote blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteVoterId ∷ ValidatedPerasVote blk → PerasVoterId Source # | |
| HasPerasVoteVoterId vote ⇒ HasPerasVoteVoterId (WithArrivalTime vote) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteVoterId ∷ WithArrivalTime vote → PerasVoterId Source # | |
class HasPerasVoteStake vote where Source #
Extract the vote stake from a validated Peras vote container
Methods
getPerasVoteStake ∷ vote → PerasVoteStake Source #
Instances
| HasPerasVoteStake (ValidatedPerasVote blk) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteStake ∷ ValidatedPerasVote blk → PerasVoteStake Source # | |
| HasPerasVoteStake vote ⇒ HasPerasVoteStake (WithArrivalTime vote) Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteStake ∷ WithArrivalTime vote → PerasVoteStake Source # | |
class HasPerasVoteTarget vote blk | vote → blk where Source #
Extract the vote target from a Peras vote container
Methods
getPerasVoteTarget ∷ vote → PerasVoteTarget blk Source #
Instances
| HasPerasVoteTarget (PerasVote blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteTarget ∷ PerasVote blk → PerasVoteTarget blk Source # | |
| HasPerasVoteTarget (ValidatedPerasVote blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteTarget ∷ ValidatedPerasVote blk → PerasVoteTarget blk Source # | |
| HasPerasVoteTarget vote blk ⇒ HasPerasVoteTarget (WithArrivalTime vote) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteTarget ∷ WithArrivalTime vote → PerasVoteTarget blk Source # | |
class HasPerasVoteId vote blk | vote → blk where Source #
Extract the vote ID from a Peras vote container
Methods
getPerasVoteId ∷ vote → PerasVoteId blk Source #
Instances
| HasPerasVoteId (PerasVote blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteId ∷ PerasVote blk → PerasVoteId blk Source # | |
| HasPerasVoteId (ValidatedPerasVote blk) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteId ∷ ValidatedPerasVote blk → PerasVoteId blk Source # | |
| HasPerasVoteId vote blk ⇒ HasPerasVoteId (WithArrivalTime vote) blk Source # | |
Defined in Ouroboros.Consensus.Block.SupportsPeras Methods getPerasVoteId ∷ WithArrivalTime vote → PerasVoteId blk Source # | |