ouroboros-consensus-0.18.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

Description

Test the Praos chain selection rule (with explicit leader schedule)

Synopsis

Documentation

type SimplePraosRuleBlock c = SimpleBlock c SimplePraosRuleExt Source #

Simple block extended with the fields required for Praos

c is crypto used for the block itself With an explicit leader schedule we need no crypto for the consensus protocol.

This is an example of a block which is not an instance of SignedBlock.

newtype SimplePraosRuleExt Source #

Required extension

The WithLeaderSchedule doesn't require anything in the block header. We add the CoreNodeId just so that we can check that the schedule matches the chain.

Instances

Instances details
Generic SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

Associated Types

type Rep SimplePraosRuleExtTypeType #

Show SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

Eq SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

NoThunks SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

Condense SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

Serialise SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

SimpleCrypto c ⇒ MockProtocolSpecific c SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

SimpleCrypto c ⇒ RunMockBlock c SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

SimpleCrypto c ⇒ LedgerSupportsProtocol (SimplePraosRuleBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

DecodeDisk (SimplePraosRuleBlock c) () Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

EncodeDisk (SimplePraosRuleBlock c) () Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

SimpleCrypto c ⇒ BlockSupportsProtocol (SimpleBlock c SimplePraosRuleExt) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

type Rep SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

type Rep SimplePraosRuleExt = D1 ('MetaData "SimplePraosRuleExt" "Ouroboros.Consensus.Mock.Ledger.Block.PraosRule" "ouroboros-consensus-0.18.0.0-inplace-unstable-mock-block" 'True) (C1 ('MetaCons "SimplePraosRuleExt" 'PrefixI 'True) (S1 ('MetaSel ('Just "simplePraosRuleExt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CoreNodeId)))
type MockLedgerConfig c SimplePraosRuleExt Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

type BlockProtocol (SimplePraosRuleBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

type CannotForge (SimplePraosRuleBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

type ForgeStateInfo (SimplePraosRuleBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

type ForgeStateUpdateError (SimplePraosRuleBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule