| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Protocol.Praos2
Description
Praos with the Leios overlay.
Synopsis
- data family LeiosOnly proto a ∷ Type → Type
- class (Crypto c, PolyPraosCrypto (Praos2 c) c) ⇒ LeiosCrypto c
- data Praos2 c
- data family ConsensusConfig p
Documentation
data family LeiosOnly proto a ∷ Type → Type Source #
a for the protocols without Leios, and b for the ones with it.
One such family per extension, which is what keeps every type that mentions
one indexed by proto alone. Its two intended uses:
VoidUnlessLeios proto ()gates a constructor, since the protocols without Leios cannot build it.WhenLeios proto agates a field, which those protocols have but cannot put anything in.
Instances
class (Crypto c, PolyPraosCrypto (Praos2 c) c) ⇒ LeiosCrypto c Source #
Instances
Instances
| Generic (ConsensusConfig (Praos2 c)) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Associated Types
Methods from ∷ ConsensusConfig (Praos2 c) → Rep (ConsensusConfig (Praos2 c)) x # to ∷ Rep (ConsensusConfig (Praos2 c)) x → ConsensusConfig (Praos2 c) # | |||||||||||||||||||||||||||||
| Crypto c ⇒ NoThunks (ConsensusConfig (Praos2 c)) Source # | |||||||||||||||||||||||||||||
| LeiosCrypto c ⇒ LeiosProtocol (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods getLeiosAnnouncement ∷ proxy (Praos2 c) → ValidateView (Praos2 c) → Maybe LeiosAnnouncement Source # validateLeiosAnnouncement ∷ ConsensusConfig (Praos2 c) → ValidateView (Praos2 c) → SlotNo → Ticked (ChainDepState (Praos2 c)) → Except (ValidationErr (Praos2 c)) OCINStaleness Source # getLeiosLedgerView ∷ proxy (Praos2 c) → LedgerView (Praos2 c) → Maybe LeiosLedgerView Source # | |||||||||||||||||||||||||||||
| LeiosCrypto c ⇒ ConsensusProtocol (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Associated Types
Methods checkIsLeader ∷ ConsensusConfig (Praos2 c) → CanBeLeader (Praos2 c) → SlotNo → Ticked (ChainDepState (Praos2 c)) → Maybe (IsLeader (Praos2 c)) Source # tickChainDepState ∷ ConsensusConfig (Praos2 c) → LedgerView (Praos2 c) → SlotNo → ChainDepState (Praos2 c) → Ticked (ChainDepState (Praos2 c)) Source # updateChainDepState ∷ ConsensusConfig (Praos2 c) → ValidateView (Praos2 c) → SlotNo → Ticked (ChainDepState (Praos2 c)) → Except (ValidationErr (Praos2 c)) (ChainDepState (Praos2 c)) Source # reupdateChainDepState ∷ ConsensusConfig (Praos2 c) → ValidateView (Praos2 c) → SlotNo → Ticked (ChainDepState (Praos2 c)) → ChainDepState (Praos2 c) Source # protocolSecurityParam ∷ ConsensusConfig (Praos2 c) → SecurityParam Source # | |||||||||||||||||||||||||||||
| HasMaxMajorProtVer (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods protoMaxMajorPV ∷ ConsensusConfig (Praos2 c) → MaxMajorProtVer Source # | |||||||||||||||||||||||||||||
| LeiosCrypto c ⇒ PraosProtocolSupportsNode (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Associated Types
Methods getPraosNonces ∷ proxy (Praos2 c) → ChainDepState (Praos2 c) → PraosNonces Source # getOpCertCounters ∷ proxy (Praos2 c) → ChainDepState (Praos2 c) → Map (KeyHash 'BlockIssuer) Word64 Source # | |||||||||||||||||||||||||||||
| TypeSwitch (LeiosOnly (Praos2 c)) Source # | |||||||||||||||||||||||||||||
| PolyPraosCrypto (Praos2 StandardCrypto) StandardCrypto Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| DijkstraEraForecast era ⇒ ForecastToPolyPraosLedgerView (Praos2 c) era Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods forecastToPolyPraosLedgerView ∷ ∀ (t ∷ Timeline). EraForecast era ⇒ Forecast t era → PolyPraosLedgerView (Praos2 c) Source # | |||||||||||||||||||||||||||||
| TranslationContext era ~ DijkstraGenesis ⇒ TranslateProto (Praos c) (Praos2 c) era Source # | Crossing from Praos into Praos with Leios. Everything carries over unchanged; the Leios fields merely have to be introduced. Nothing has been announced, since no header of the protocol being left could have carried an announcement. The Leios parameters come from the Dijkstra genesis. The committee is empty: none is seated until a stake snapshot rotation within the new era, beyond any forecast from the old one. | ||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods translateLedgerView ∷ Proxy (Praos c, Praos2 c, era) → TranslationContext era → LedgerView (Praos c) → LedgerView (Praos2 c) Source # translateChainDepState ∷ Proxy (Praos c, Praos2 c, era) → ChainDepState (Praos c) → ChainDepState (Praos2 c) Source # | |||||||||||||||||||||||||||||
| TranslateProto (Praos2 c) (Praos2 c) era Source # | Crossing from one era with Leios into another. Everything carries over unchanged except the announcement: it was made in the era being left, so it is no longer certifiable, since an endorser block may not be certified across an era boundary (to keep the design simpler). Nothing uses this yet: it's dead code until two adjacent eras use | ||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods translateLedgerView ∷ Proxy (Praos2 c, Praos2 c, era) → TranslationContext era → LedgerView (Praos2 c) → LedgerView (Praos2 c) Source # translateChainDepState ∷ Proxy (Praos2 c, Praos2 c, era) → ChainDepState (Praos2 c) → ChainDepState (Praos2 c) Source # | |||||||||||||||||||||||||||||
| TranslationContext era ~ DijkstraGenesis ⇒ TranslateProto (TPraos c) (Praos2 c) era Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods translateLedgerView ∷ Proxy (TPraos c, Praos2 c, era) → TranslationContext era → LedgerView (TPraos c) → LedgerView (Praos2 c) Source # translateChainDepState ∷ Proxy (TPraos c, Praos2 c, era) → ChainDepState (TPraos c) → ChainDepState (Praos2 c) Source # | |||||||||||||||||||||||||||||
| Applicative (LeiosOnly (Praos2 c) a) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods pure ∷ a0 → LeiosOnly (Praos2 c) a a0 # (<*>) ∷ LeiosOnly (Praos2 c) a (a0 → b) → LeiosOnly (Praos2 c) a a0 → LeiosOnly (Praos2 c) a b # liftA2 ∷ (a0 → b → c0) → LeiosOnly (Praos2 c) a a0 → LeiosOnly (Praos2 c) a b → LeiosOnly (Praos2 c) a c0 # (*>) ∷ LeiosOnly (Praos2 c) a a0 → LeiosOnly (Praos2 c) a b → LeiosOnly (Praos2 c) a b # (<*) ∷ LeiosOnly (Praos2 c) a a0 → LeiosOnly (Praos2 c) a b → LeiosOnly (Praos2 c) a a0 # | |||||||||||||||||||||||||||||
| Functor (LeiosOnly (Praos2 c) a) Source # | |||||||||||||||||||||||||||||
| Foldable (LeiosOnly (Praos2 c) a) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods fold ∷ Monoid m ⇒ LeiosOnly (Praos2 c) a m → m # foldMap ∷ Monoid m ⇒ (a0 → m) → LeiosOnly (Praos2 c) a a0 → m # foldMap' ∷ Monoid m ⇒ (a0 → m) → LeiosOnly (Praos2 c) a a0 → m # foldr ∷ (a0 → b → b) → b → LeiosOnly (Praos2 c) a a0 → b # foldr' ∷ (a0 → b → b) → b → LeiosOnly (Praos2 c) a a0 → b # foldl ∷ (b → a0 → b) → b → LeiosOnly (Praos2 c) a a0 → b # foldl' ∷ (b → a0 → b) → b → LeiosOnly (Praos2 c) a a0 → b # foldr1 ∷ (a0 → a0 → a0) → LeiosOnly (Praos2 c) a a0 → a0 # foldl1 ∷ (a0 → a0 → a0) → LeiosOnly (Praos2 c) a a0 → a0 # toList ∷ LeiosOnly (Praos2 c) a a0 → [a0] # null ∷ LeiosOnly (Praos2 c) a a0 → Bool # length ∷ LeiosOnly (Praos2 c) a a0 → Int # elem ∷ Eq a0 ⇒ a0 → LeiosOnly (Praos2 c) a a0 → Bool # maximum ∷ Ord a0 ⇒ LeiosOnly (Praos2 c) a a0 → a0 # minimum ∷ Ord a0 ⇒ LeiosOnly (Praos2 c) a a0 → a0 # | |||||||||||||||||||||||||||||
| Traversable (LeiosOnly (Praos2 c) a) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Methods traverse ∷ Applicative f ⇒ (a0 → f b) → LeiosOnly (Praos2 c) a a0 → f (LeiosOnly (Praos2 c) a b) # sequenceA ∷ Applicative f ⇒ LeiosOnly (Praos2 c) a (f a0) → f (LeiosOnly (Praos2 c) a a0) # mapM ∷ Monad m ⇒ (a0 → m b) → LeiosOnly (Praos2 c) a a0 → m (LeiosOnly (Praos2 c) a b) # sequence ∷ Monad m ⇒ LeiosOnly (Praos2 c) a (m a0) → m (LeiosOnly (Praos2 c) a a0) # | |||||||||||||||||||||||||||||
| Eq b ⇒ Eq (LeiosOnly (Praos2 c) a b) Source # | |||||||||||||||||||||||||||||
| Generic (LeiosOnly (Praos2 c) a b) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Associated Types
| |||||||||||||||||||||||||||||
| Show b ⇒ Show (LeiosOnly (Praos2 c) a b) Source # | |||||||||||||||||||||||||||||
| NoThunks b ⇒ NoThunks (LeiosOnly (Praos2 c) a b) Source # | |||||||||||||||||||||||||||||
| type Rep (ConsensusConfig (Praos2 c)) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 type Rep (ConsensusConfig (Praos2 c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.Praos2" "ouroboros-consensus-5.0.0.0-inplace-protocol" 'True) (C1 ('MetaCons "LeiosConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "leiosPraosConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConsensusConfig (Praos c))))) | |||||||||||||||||||||||||||||
| type CanBeLeader (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type ChainDepState (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| newtype ConsensusConfig (Praos2 c) Source # | Praos's configuration, wrapped only because Leios adds nothing to it: the periods, the committee, the quorum and the size bounds all reach the protocol through the ledger view instead. | ||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type IsLeader (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type LedgerView (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type TiebreakerView (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type ValidateView (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type ValidationErr (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| newtype LeiosOnly (Praos2 c) a b Source # | This protocol is Leios, so it holds the right alternative. | ||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type PraosProtocolSupportsNodeCrypto (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type ShelleyProtocolHeader (Praos2 c) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||||||||||||||||||||||||||
| type Rep (LeiosOnly (Praos2 c) a b) Source # | |||||||||||||||||||||||||||||
Defined in Ouroboros.Consensus.Protocol.Praos2 type Rep (LeiosOnly (Praos2 c) a b) = D1 ('MetaData "LeiosOnly" "Ouroboros.Consensus.Protocol.Praos2" "ouroboros-consensus-5.0.0.0-inplace-protocol" 'True) (C1 ('MetaCons "Praos2HasLeios" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))) | |||||||||||||||||||||||||||||
data family ConsensusConfig p Source #
Static configuration required to run the consensus protocol
Every method in the ConsensusProtocol class takes the consensus
configuration as a parameter, so having this as a data family rather than a
type family resolves most ambiguity.
Defined out of the class so that protocols can define this type without having to define the entire protocol at the same time (or indeed in the same module).
TODO See the TODO about this misnomer at
topLevelConfigProtocol.
Instances
| Generic (ConsensusConfig (HardForkProtocol xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Associated Types
Methods from ∷ ConsensusConfig (HardForkProtocol xs) → Rep (ConsensusConfig (HardForkProtocol xs)) x # to ∷ Rep (ConsensusConfig (HardForkProtocol xs)) x → ConsensusConfig (HardForkProtocol xs) # | |||||
| Generic (ConsensusConfig (Bft c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.BFT Associated Types
Methods from ∷ ConsensusConfig (Bft c) → Rep (ConsensusConfig (Bft c)) x # to ∷ Rep (ConsensusConfig (Bft c)) x → ConsensusConfig (Bft c) # | |||||
| Generic (ConsensusConfig (ModChainSel p t)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.ModChainSel Associated Types
Methods from ∷ ConsensusConfig (ModChainSel p t) → Rep (ConsensusConfig (ModChainSel p t)) x # to ∷ Rep (ConsensusConfig (ModChainSel p t)) x → ConsensusConfig (ModChainSel p t) # | |||||
| Generic (ConsensusConfig (PBft c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.PBFT Associated Types
Methods from ∷ ConsensusConfig (PBft c) → Rep (ConsensusConfig (PBft c)) x # to ∷ Rep (ConsensusConfig (PBft c)) x → ConsensusConfig (PBft c) # | |||||
| Generic (ConsensusConfig (Praos c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.Praos Associated Types
Methods from ∷ ConsensusConfig (Praos c) → Rep (ConsensusConfig (Praos c)) x # to ∷ Rep (ConsensusConfig (Praos c)) x → ConsensusConfig (Praos c) # | |||||
| Generic (ConsensusConfig (Praos2 c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.Praos2 Associated Types
Methods from ∷ ConsensusConfig (Praos2 c) → Rep (ConsensusConfig (Praos2 c)) x # to ∷ Rep (ConsensusConfig (Praos2 c)) x → ConsensusConfig (Praos2 c) # | |||||
| Generic (ConsensusConfig (TPraos c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.TPraos Associated Types
Methods from ∷ ConsensusConfig (TPraos c) → Rep (ConsensusConfig (TPraos c)) x # to ∷ Rep (ConsensusConfig (TPraos c)) x → ConsensusConfig (TPraos c) # | |||||
| CanHardFork xs ⇒ NoThunks (ConsensusConfig (HardForkProtocol xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Methods noThunks ∷ Context → ConsensusConfig (HardForkProtocol xs) → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → ConsensusConfig (HardForkProtocol xs) → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (ConsensusConfig (HardForkProtocol xs)) → String Source # | |||||
| BftCrypto c ⇒ NoThunks (ConsensusConfig (Bft c)) Source # | |||||
| ConsensusProtocol p ⇒ NoThunks (ConsensusConfig (ModChainSel p t)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.ModChainSel Methods noThunks ∷ Context → ConsensusConfig (ModChainSel p t) → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → ConsensusConfig (ModChainSel p t) → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (ConsensusConfig (ModChainSel p t)) → String Source # | |||||
| NoThunks (ConsensusConfig (PBft c)) Source # | |||||
| Crypto c ⇒ NoThunks (ConsensusConfig (Praos c)) Source # | |||||
| Crypto c ⇒ NoThunks (ConsensusConfig (Praos2 c)) Source # | |||||
| PraosCrypto c ⇒ NoThunks (ConsensusConfig (TPraos c)) Source # | |||||
| type Rep (ConsensusConfig (HardForkProtocol xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics type Rep (ConsensusConfig (HardForkProtocol xs)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.HardFork.Combinator.Basics" "ouroboros-consensus-5.0.0.0-inplace" 'False) (C1 ('MetaCons "HardForkConsensusConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "hardForkConsensusConfigK") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (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)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.BFT type Rep (ConsensusConfig (Bft c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.BFT" "ouroboros-consensus-5.0.0.0-inplace" '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)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.ModChainSel type Rep (ConsensusConfig (ModChainSel p t)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.ModChainSel" "ouroboros-consensus-5.0.0.0-inplace" 'True) (C1 ('MetaCons "McsConsensusConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "mcsConfigP") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConsensusConfig p)))) | |||||
| type Rep (ConsensusConfig (PBft c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.PBFT type Rep (ConsensusConfig (PBft c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.PBFT" "ouroboros-consensus-5.0.0.0-inplace" 'True) (C1 ('MetaCons "PBftConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "pbftParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PBftParams))) | |||||
| type Rep (ConsensusConfig (Praos c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.Praos type Rep (ConsensusConfig (Praos c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.Praos" "ouroboros-consensus-5.0.0.0-inplace-protocol" 'False) (C1 ('MetaCons "PraosConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "praosParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosParams) :*: S1 ('MetaSel ('Just "praosEpochInfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EpochInfo (Except PastHorizonException))))) | |||||
| type Rep (ConsensusConfig (Praos2 c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.Praos2 type Rep (ConsensusConfig (Praos2 c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.Praos2" "ouroboros-consensus-5.0.0.0-inplace-protocol" 'True) (C1 ('MetaCons "LeiosConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "leiosPraosConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConsensusConfig (Praos c))))) | |||||
| type Rep (ConsensusConfig (TPraos c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.TPraos type Rep (ConsensusConfig (TPraos c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.TPraos" "ouroboros-consensus-5.0.0.0-inplace-protocol" 'False) (C1 ('MetaCons "TPraosConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "tpraosParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TPraosParams) :*: S1 ('MetaSel ('Just "tpraosEpochInfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EpochInfo (Except PastHorizonException))))) | |||||
| data ConsensusConfig (HardForkProtocol xs) Source # | |||||
| data ConsensusConfig (Bft c) Source # | (Static) node configuration | ||||
Defined in Ouroboros.Consensus.Protocol.BFT data ConsensusConfig (Bft c) = BftConfig {
| |||||
| newtype ConsensusConfig (PBft c) Source # | (Static) node configuration | ||||
Defined in Ouroboros.Consensus.Protocol.PBFT | |||||
| data ConsensusConfig (Praos c) Source # | Static configuration | ||||
Defined in Ouroboros.Consensus.Protocol.Praos | |||||
| newtype ConsensusConfig (Praos2 c) Source # | Praos's configuration, wrapped only because Leios adds nothing to it: the periods, the committee, the quorum and the size bounds all reach the protocol through the ledger view instead. | ||||
Defined in Ouroboros.Consensus.Protocol.Praos2 | |||||
| data ConsensusConfig (TPraos c) Source # | Static configuration | ||||
Defined in Ouroboros.Consensus.Protocol.TPraos | |||||
| newtype ConsensusConfig (ModChainSel p t) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.ModChainSel | |||||