Moduleouroboros-consensus-4.2.1.0
Ouroboros.Consensus.Protocol.Abstract
- 7 types
- 3 classes
- 2 values
- Packageouroboros-consensus-4.2.1.0
- Exports13
- LicenceApache-2.0
Constructors
Instances7Eq, Show, Generic, NoThunks, FromCBOR, ToCBOR, …
Eq SecurityParamDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParamShow SecurityParamDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParamGeneric SecurityParamDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParamNoThunks SecurityParamDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParamFromCBOR SecurityParamDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParamToCBOR SecurityParamDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParamtype Rep SecurityParam = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Config.SecurityParam"SecurityParam"
"Ouroboros.Consensus.Config.SecurityParam"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'True) (C1 ('MetaCons"SecurityParam"
'PrefixI 'True) (S1 ('MetaSel ('Just"maxRollbacks"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonZero Word64))))
Associated types
type family ChainOrderConfig svtype family ReasonForSwitch sv
Methods
preferCandidate :: ChainOrderConfig sv -> sv -> sv -> ShouldSwitch (ReasonForSwitch sv)
Instances8ChainOrder, …
ChainOrder NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractChainOrder PBftTiebreakerViewDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFTOrd sv => ChainOrder (SimpleChainOrder sv)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractCanHardFork xs => ChainOrder (HardForkTiebreakerView xs)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.ProtocolChainOrder (TiebreakerView (BlockProtocol blk)) => ChainOrder (WrapTiebreakerView blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.TypeFamilyWrappersChainOrder (TiebreakerView p) => ChainOrder (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractChainOrder (TiebreakerView proto) => ChainOrder (WeightedSelectView proto)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Peras.SelectViewChainOrder a => ChainOrder (WithEmptyFragment a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Peras.SelectView
Constructors
ComparingcompareToThat :: acompareThis :: a
Instances16Generic, NoThunks, Rep, ConsensusConfig, …
Generic (ConsensusConfig (HardForkProtocol xs))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.BasicsGeneric (ConsensusConfig (Bft c))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.BFTGeneric (ConsensusConfig (ModChainSel p t))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.ModChainSelGeneric (ConsensusConfig (PBft c))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFTNoThunks (ConsensusConfig (PBft c))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFTCanHardFork xs => NoThunks (ConsensusConfig (HardForkProtocol xs))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.BasicsConsensusProtocol p => NoThunks (ConsensusConfig (ModChainSel p t))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.ModChainSelBftCrypto c => NoThunks (ConsensusConfig (Bft c))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.BFTtype Rep (ConsensusConfig (HardForkProtocol xs)) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Basics"ConsensusConfig"
"Ouroboros.Consensus.HardFork.Combinator.Basics"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"HardForkConsensusConfig"
'PrefixI 'True) (S1 ('MetaSel ('Just"hardForkConsensusConfigK"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SecurityParam) :*: (S1 ('MetaSel ('Just"hardForkConsensusConfigShape"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Shape xs)) :*: S1 ('MetaSel ('Just"hardForkConsensusConfigPerEra"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerEraConsensusConfig xs)))))type Rep (ConsensusConfig (Bft c)) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.BFT"ConsensusConfig"
"Ouroboros.Consensus.Protocol.BFT"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"BftConfig"
'PrefixI 'True) (S1 ('MetaSel ('Just"bftParams"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BftParams) :*: (S1 ('MetaSel ('Just"bftSignKey"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyDSIGN (BftDSIGN c))) :*: S1 ('MetaSel ('Just"bftVerKeys"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NodeId (VerKeyDSIGN (BftDSIGN c)))))))type Rep (ConsensusConfig (ModChainSel p t)) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.ModChainSel"ConsensusConfig"
"Ouroboros.Consensus.Protocol.ModChainSel"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'True) (C1 ('MetaCons"McsConsensusConfig"
'PrefixI 'True) (S1 ('MetaSel ('Just"mcsConfigP"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConsensusConfig p))))type Rep (ConsensusConfig (PBft c)) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFT"ConsensusConfig"
"Ouroboros.Consensus.Protocol.PBFT"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'True) (C1 ('MetaCons"PBftConfig"
'PrefixI 'True) (S1 ('MetaSel ('Just"pbftParams"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PBftParams)))data ConsensusConfig (HardForkProtocol xs)HardForkConsensusConfighardForkConsensusConfigK :: !SecurityParamhardForkConsensusConfigShape :: !Shape xshardForkConsensusConfigPerEra :: !PerEraConsensusConfig xs
data ConsensusConfig (Bft c)BftConfigbftParams :: !BftParamsbftSignKey :: !SignKeyDSIGN (BftDSIGN c)bftVerKeys :: !Map NodeId (VerKeyDSIGN (BftDSIGN c))
data ConsensusConfig (ModChainSel p t)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.ModChainSeldata ConsensusConfig (PBft c)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFT
class
class (Show (ChainDepState p), Show (ValidationErr p), Show (TiebreakerView p), Show (LedgerView p), Eq (ChainDepState p), Eq (ValidationErr p), ChainOrder (TiebreakerView p), NoThunks (ConsensusConfig p), NoThunks (ChainDepState p), NoThunks (ValidationErr p), NoThunks (TiebreakerView p), Typeable p) => ConsensusProtocol p whereAssociated types
type family ChainDepState ptype family IsLeader ptype family CanBeLeader ptype family TiebreakerView ptype family LedgerView ptype family ValidationErr ptype family ValidateView p
Methods
checkIsLeader :: HasCallStack => ConsensusConfig p -> CanBeLeader p -> SlotNo -> Ticked (ChainDepState p) -> Maybe (IsLeader p)tickChainDepState :: ConsensusConfig p -> LedgerView p -> SlotNo -> ChainDepState p -> Ticked (ChainDepState p)updateChainDepState :: HasCallStack => ConsensusConfig p -> ValidateView p -> SlotNo -> Ticked (ChainDepState p) -> Except (ValidationErr p) (ChainDepState p)reupdateChainDepState :: HasCallStack => ConsensusConfig p -> ValidateView p -> SlotNo -> Ticked (ChainDepState p) -> ChainDepState pprotocolSecurityParam :: ConsensusConfig p -> SecurityParam
Instances4ConsensusProtocol
CanHardFork xs => ConsensusProtocol (HardForkProtocol xs)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Protocol · orphanBftCrypto c => ConsensusProtocol (Bft c)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.BFTPBftCrypto c => ConsensusProtocol (PBft c)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFT(ConsensusProtocol p, ChainOrder t, Show t, Typeable t, NoThunks t) => ConsensusProtocol (ModChainSel p t)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.ModChainSel
Instances9Eq, Ord, Show, Generic, NoThunks, ChainOrder, …
Eq NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractOrd NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractShow NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractGeneric NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractNoThunks NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractChainOrder NoTiebreakerDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstracttype Rep NoTiebreaker = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract"NoTiebreaker"
"Ouroboros.Consensus.Protocol.Abstract"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"NoTiebreaker"
'PrefixI 'False) U1)type ChainOrderConfig NoTiebreaker = ChainOrderConfig (SimpleChainOrder NoTiebreaker)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstracttype ReasonForSwitch NoTiebreaker = ReasonForSwitch (SimpleChainOrder NoTiebreaker)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract
Constructors
Instances9Eq, Ord, Show, Generic, NoThunks, ChainOrder, …
Eq (TiebreakerView p) => Eq (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractOrd (TiebreakerView p) => Ord (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractShow (TiebreakerView p) => Show (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractGeneric (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractNoThunks (TiebreakerView p) => NoThunks (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractChainOrder (TiebreakerView p) => ChainOrder (SelectView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstracttype Rep (SelectView p) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract"SelectView"
"Ouroboros.Consensus.Protocol.Abstract"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"SelectView"
'PrefixI 'True) (S1 ('MetaSel ('Just"svBlockNo"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 BlockNo) :*: S1 ('MetaSel ('Just"svTiebreakerView"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TiebreakerView p))))type ChainOrderConfig (SelectView p) = ChainOrderConfig (TiebreakerView p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstracttype ReasonForSwitch (SelectView p) = SelectViewReasonForSwitch pDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract
Constructors
Instances1Show
Show (ReasonForSwitch (TiebreakerView p)) => Show (SelectViewReasonForSwitch p)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract
Constructors
Constructors
Instances5Eq, Ord, ChainOrder, ChainOrderConfig, ReasonForSwitch
Eq sv => Eq (SimpleChainOrder sv)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractOrd sv => Ord (SimpleChainOrder sv)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.AbstractOrd sv => ChainOrder (SimpleChainOrder sv)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstracttype ChainOrderConfig (SimpleChainOrder sv) = ()Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstracttype ReasonForSwitch (SimpleChainOrder sv) = ()Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract
Methods
translateLedgerView :: Proxy (protoFrom, protoTo) -> LedgerView protoFrom -> LedgerView protoTotranslateChainDepState :: Proxy (protoFrom, protoTo) -> ChainDepState protoFrom -> ChainDepState protoTo
Instances1TranslateProto
TranslateProto singleProto singleProtoDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.Abstract