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

Ouroboros.Consensus.Block.SupportsPeras

Synopsis

Documentation

newtype PerasRoundNo Source #

Constructors

PerasRoundNo 

Instances

Instances details
Enum PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Generic PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Associated Types

type Rep PerasRoundNo 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep PerasRoundNo = D1 ('MetaData "PerasRoundNo" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.0.0-inplace" 'True) (C1 ('MetaCons "PerasRoundNo" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasRoundNo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Show PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Eq PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Ord PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

NoThunks PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Condense PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Serialise PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

ShowProxy PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep PerasRoundNo Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep PerasRoundNo = D1 ('MetaData "PerasRoundNo" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.0.0-inplace" 'True) (C1 ('MetaCons "PerasRoundNo" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasRoundNo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

newtype PerasWeight Source #

Constructors

PerasWeight 

Fields

Instances

Instances details
Monoid PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Semigroup PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Generic PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Associated Types

type Rep PerasWeight 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep PerasWeight = D1 ('MetaData "PerasWeight" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.0.0-inplace" 'True) (C1 ('MetaCons "PerasWeight" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasWeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Show PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Eq PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Ord PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

NoThunks PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Condense PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep PerasWeight Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep PerasWeight = D1 ('MetaData "PerasWeight" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.0.0-inplace" 'True) (C1 ('MetaCons "PerasWeight" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasWeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

boostPerCertPerasWeight Source #

TODO: this will become a Ledger protocol parameter see https://github.com/tweag/cardano-peras/issues/119

class (Show (PerasCfg blk), NoThunks (PerasCert blk)) ⇒ BlockSupportsPeras blk where Source #

Associated Types

data PerasCfg blk Source #

data PerasCert blk Source #

data PerasValidationErr blk Source #

Instances

Instances details
StandardHash blk ⇒ BlockSupportsPeras blk Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Associated Types

newtype PerasCfg blk 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

data PerasCert blk 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

data PerasValidationErr blk 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

data family PerasCert blk Source #

Instances

Instances details
StandardHash blk ⇒ HasPerasCert PerasCert blk Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Methods

getPerasCertPerasCert blk → PerasCert blk Source #

ShowProxy blk ⇒ ShowProxy (PerasCert blk ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Methods

showProxyProxy (PerasCert blk) → String Source #

Generic (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Associated Types

type Rep (PerasCert blk) 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep (PerasCert blk) = D1 ('MetaData "PerasCert" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.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))))

Methods

fromPerasCert blk → Rep (PerasCert blk) x #

toRep (PerasCert blk) x → PerasCert blk #

StandardHash blk ⇒ Show (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Methods

showsPrecIntPerasCert blk → ShowS #

showPerasCert blk → String #

showList ∷ [PerasCert blk] → ShowS #

StandardHash blk ⇒ Eq (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Methods

(==)PerasCert blk → PerasCert blk → Bool #

(/=)PerasCert blk → PerasCert blk → Bool #

StandardHash blk ⇒ Ord (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Methods

comparePerasCert blk → PerasCert blk → Ordering #

(<)PerasCert blk → PerasCert blk → Bool #

(<=)PerasCert blk → PerasCert blk → Bool #

(>)PerasCert blk → PerasCert blk → Bool #

(>=)PerasCert blk → PerasCert blk → Bool #

maxPerasCert blk → PerasCert blk → PerasCert blk #

minPerasCert blk → PerasCert blk → PerasCert blk #

StandardHash blk ⇒ NoThunks (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Serialise (HeaderHash blk) ⇒ Serialise (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

data PerasCert blk Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep (PerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep (PerasCert blk) = D1 ('MetaData "PerasCert" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.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 ValidatedPerasCert blk Source #

Constructors

ValidatedPerasCert 

Fields

Instances

Instances details
StandardHash blk ⇒ HasPerasCert ValidatedPerasCert blk Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Generic (ValidatedPerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Associated Types

type Rep (ValidatedPerasCert blk) 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep (ValidatedPerasCert blk) = D1 ('MetaData "ValidatedPerasCert" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.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)))
StandardHash blk ⇒ Show (ValidatedPerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

StandardHash blk ⇒ Eq (ValidatedPerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

StandardHash blk ⇒ Ord (ValidatedPerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

StandardHash blk ⇒ NoThunks (ValidatedPerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep (ValidatedPerasCert blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

type Rep (ValidatedPerasCert blk) = D1 ('MetaData "ValidatedPerasCert" "Ouroboros.Consensus.Block.SupportsPeras" "ouroboros-consensus-0.27.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)))

makePerasCfgMaybe (BlockConfig blk) → PerasCfg blk Source #

Derive a PerasCfg from a BlockConfig

TODO: this currently doesn't depend on BlockConfig at all, but likely will depend on it in the future see https://github.com/tweag/cardano-peras/issues/73

class StandardHash blk ⇒ HasPerasCert (cert ∷ TypeType) blk where Source #

Methods

getPerasCert ∷ cert blk → PerasCert blk Source #

Instances

Instances details
StandardHash blk ⇒ HasPerasCert PerasCert blk Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Methods

getPerasCertPerasCert blk → PerasCert blk Source #

StandardHash blk ⇒ HasPerasCert ValidatedPerasCert blk Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

getPerasCertRoundHasPerasCert cert blk ⇒ cert blk → PerasRoundNo Source #

getPerasCertBoostedBlockHasPerasCert cert blk ⇒ cert blk → Point blk Source #

Ouroboros Peras round length

newtype PerasRoundLength Source #

Constructors

PerasRoundLength 

Instances

Instances details
Num PerasRoundLength Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Show PerasRoundLength Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Eq PerasRoundLength Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

Ord PerasRoundLength Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

NoThunks PerasRoundLength Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsPeras

defaultPerasRoundLengthPerasRoundLength Source #

See the Protocol parameters section of the Peras design report: https://tweag.github.io/cardano-peras/peras-design.pdf#section.2.1 TODO: this will become a Ledger protocol parameter see https://github.com/tweag/cardano-peras/issues/119