ouroboros-consensus-0.18.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
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
Generic (SignedSimplePBft c c') Source # 
Instance details

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

Associated Types

type Rep (SignedSimplePBft c c') ∷ TypeType #

Methods

fromSignedSimplePBft c c' → Rep (SignedSimplePBft c c') x #

toRep (SignedSimplePBft c c') x → SignedSimplePBft c c' #

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

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

Methods

toCBORSignedSimplePBft 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 #

SimpleCrypto c ⇒ SignableRepresentation (SignedSimplePBft c c') Source # 
Instance details

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

SimpleCrypto 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-0.18.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') ⇒ MockProtocolSpecific c (SimplePBftExt c c') Source # 
Instance details

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

Associated Types

type MockLedgerConfig c (SimplePBftExt c c') Source #

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

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

Generic (SimplePBftExt c c') Source # 
Instance details

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

Associated Types

type Rep (SimplePBftExt c c') ∷ TypeType #

Methods

fromSimplePBftExt c c' → Rep (SimplePBftExt c c') x #

toRep (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

showsPrecIntSimplePBftExt c c' → ShowS #

showSimplePBftExt c c' → String #

showList ∷ [SimplePBftExt c c'] → ShowS #

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 #

(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

condenseSimplePBftExt c c' → String Source #

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

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

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

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

Methods

decodeDiskCodecConfig (SimplePBftBlock c c') → ∀ s. Decoder s (PBftState c') Source #

(Serialise (PBftVerKeyHash c'), 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-0.18.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