ouroboros-consensus:unstable-mock-block
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Mock.Ledger.Block.PBFT

Synopsis

Documentation

data SignedSimplePBft c c' Source #

Part of the block that gets signed

We just sign the standard header, i.e., without the PBFT extensions. In particular, the signature does not cover the issuer.

The signature does not cover the body explicitly, but since the standard header includes a hash of the body, the signature covers the body implicitly.

Instances

Instances details
(Typeable c', SimpleCrypto c) ⇒ ToCBOR (SignedSimplePBft c c') Source # 
Instance details

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

Methods

toCBOR ∷ SignedSimplePBft c c' → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (SignedSimplePBft c c') → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [SignedSimplePBft c c'] → Size Source #

(HashAlgorithm (SimpleHash c), Typeable c, Typeable c') ⇒ SignableRepresentation (SignedSimplePBft c c') Source # 
Instance details

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

Generic (SignedSimplePBft c c') Source # 
Instance details

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

Associated Types

type Rep (SignedSimplePBft c c') 
Instance details

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

type Rep (SignedSimplePBft c c') = D1 ('MetaData "SignedSimplePBft" "Ouroboros.Consensus.Mock.Ledger.Block.PBFT" "ouroboros-consensus-4.0.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "SignedSimplePBft" 'PrefixI 'True) (S1 ('MetaSel ('Just "signedSimplePBft") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SimpleStdHeader c (SimplePBftExt c c')))))

Methods

from ∷ SignedSimplePBft c c' → Rep (SignedSimplePBft c c') x #

to ∷ Rep (SignedSimplePBft c c') x → SignedSimplePBft c c' #

(HashAlgorithm (SimpleHash c), Typeable c, Typeable c') ⇒ Serialise (SignedSimplePBft c c') Source # 
Instance details

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

type Rep (SignedSimplePBft c c') Source # 
Instance details

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

type Rep (SignedSimplePBft c c') = D1 ('MetaData "SignedSimplePBft" "Ouroboros.Consensus.Mock.Ledger.Block.PBFT" "ouroboros-consensus-4.0.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "SignedSimplePBft" 'PrefixI 'True) (S1 ('MetaSel ('Just "signedSimplePBft") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SimpleStdHeader c (SimplePBftExt c c')))))

type SimplePBftBlock c c' = SimpleBlock c (SimplePBftExt c c') Source #

Simple block extended with the fields required for PBFT

c is crypto used for the block itself c' is crypto used for the consensus protocol

newtype SimplePBftExt c c' Source #

Block extension required for PBFT

Constructors

SimplePBftExt 

Instances

Instances details
(SimpleCrypto c, PBftCrypto c', Serialise (PBftVerKeyHash c')) ⇒ MockProtocolSpecific c (SimplePBftExt c c') Source # 
Instance details

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

Associated Types

type MockLedgerConfig c (SimplePBftExt c c') 
Instance details

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

(SimpleCrypto c, PBftCrypto c', Serialise (PBftVerKeyHash c')) ⇒ RunMockBlock c (SimplePBftExt c c') Source # 
Instance details

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

Methods

mockNetworkMagic ∷ BlockConfig (SimpleBlock c (SimplePBftExt c c')) → NetworkMagic Source #

PBftCrypto c' ⇒ Eq (SimplePBftExt c c') Source # 
Instance details

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

Methods

(==) ∷ SimplePBftExt c c' → SimplePBftExt c c' → Bool #

(/=) ∷ SimplePBftExt c c' → SimplePBftExt c c' → Bool #

Generic (SimplePBftExt c c') Source # 
Instance details

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

Associated Types

type Rep (SimplePBftExt c c') 
Instance details

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

type Rep (SimplePBftExt c c') = D1 ('MetaData "SimplePBftExt" "Ouroboros.Consensus.Mock.Ledger.Block.PBFT" "ouroboros-consensus-4.0.0.0-inplace-unstable-mock-block" 'True) (C1 ('MetaCons "SimplePBftExt" 'PrefixI 'True) (S1 ('MetaSel ('Just "simplePBftExt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PBftFields c' (SignedSimplePBft c c')))))

Methods

from ∷ SimplePBftExt c c' → Rep (SimplePBftExt c c') x #

to ∷ Rep (SimplePBftExt c c') x → SimplePBftExt c c' #

PBftCrypto c' ⇒ Show (SimplePBftExt c c') Source # 
Instance details

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

Methods

showsPrec ∷ Int → SimplePBftExt c c' → ShowS #

show ∷ SimplePBftExt c c' → String #

showList ∷ [SimplePBftExt c c'] → ShowS #

(PBftCrypto c', Typeable c) ⇒ NoThunks (SimplePBftExt c c') Source # 
Instance details

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

(SimpleCrypto c, Signable MockDSIGN (SignedSimplePBft c PBftMockCrypto)) ⇒ BlockSupportsProtocol (SimplePBftBlock c PBftMockCrypto) Source # 
Instance details

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

(SimpleCrypto c, Signable MockDSIGN (SignedSimplePBft c PBftMockCrypto)) ⇒ LedgerSupportsProtocol (SimplePBftBlock c PBftMockCrypto) Source #

The ledger view is constant for the mock instantiation of PBFT (mock blocks cannot change delegation)

Instance details

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

SignedHeader (SimplePBftHeader c c') Source # 
Instance details

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

PBftCrypto c' ⇒ Condense (SimplePBftExt c c') Source # 
Instance details

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

Methods

condense ∷ SimplePBftExt c c' → String Source #

PBftCrypto c' ⇒ Serialise (SimplePBftExt c c') Source # 
Instance details

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

PBftCrypto c' ⇒ DecodeDisk (SimplePBftBlock c c') (PBftState c') Source # 
Instance details

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

Methods

decodeDisk ∷ CodecConfig (SimplePBftBlock c c') → ∀ s. Decoder s (PBftState c') Source #

PBftCrypto c' ⇒ EncodeDisk (SimplePBftBlock c c') (PBftState c') Source # 
Instance details

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

type MockLedgerConfig c (SimplePBftExt c c') Source # 
Instance details

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

type Rep (SimplePBftExt c c') Source # 
Instance details

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

type Rep (SimplePBftExt c c') = D1 ('MetaData "SimplePBftExt" "Ouroboros.Consensus.Mock.Ledger.Block.PBFT" "ouroboros-consensus-4.0.0.0-inplace-unstable-mock-block" 'True) (C1 ('MetaCons "SimplePBftExt" 'PrefixI 'True) (S1 ('MetaSel ('Just "simplePBftExt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PBftFields c' (SignedSimplePBft c c')))))
type BlockProtocol (SimplePBftBlock c c') Source # 
Instance details

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

type CannotForge (SimplePBftBlock c c') Source # 
Instance details

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

type ForgeStateInfo (SimplePBftBlock c c') Source # 
Instance details

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

type ForgeStateUpdateError (SimplePBftBlock c c') Source # 
Instance details

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

type Signed (SimplePBftHeader c c') Source # 
Instance details

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

type SimplePBftHeader c c' = SimpleHeader c (SimplePBftExt c c') Source #

Header for PBFT