Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Mock.Ledger.Block.PBFT
Synopsis
- data SignedSimplePBft c c' = SignedSimplePBft {
- signedSimplePBft ∷ SimpleStdHeader c (SimplePBftExt c c')
- type SimplePBftBlock c c' = SimpleBlock c (SimplePBftExt c c')
- newtype SimplePBftExt c c' = SimplePBftExt {
- simplePBftExt ∷ PBftFields c' (SignedSimplePBft c c')
- type SimplePBftHeader c c' = SimpleHeader c (SimplePBftExt c c')
- forgePBftExt ∷ (SimpleCrypto c, PBftCrypto c', Signable (PBftDSIGN c') (SignedSimplePBft c c'), ContextDSIGN (PBftDSIGN c') ~ ()) ⇒ ForgeExt c (SimplePBftExt c c')
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.
Constructors
SignedSimplePBft | |
Fields
|
Instances
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 | |
Fields
|
Instances
(SimpleCrypto c, PBftCrypto c', Serialise (PBftVerKeyHash c')) ⇒ MockProtocolSpecific c (SimplePBftExt c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Associated Types
| |||||
(SimpleCrypto c, PBftCrypto c', Serialise (PBftVerKeyHash c')) ⇒ RunMockBlock c (SimplePBftExt c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods mockNetworkMagic ∷ BlockConfig (SimpleBlock c (SimplePBftExt c c')) → NetworkMagic Source # | |||||
Generic (SimplePBftExt c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Associated Types
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 # | |||||
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' ⇒ Eq (SimplePBftExt c c') Source # | |||||
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 # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT | |||||
(SimpleCrypto c, Signable MockDSIGN (SignedSimplePBft c PBftMockCrypto)) ⇒ BlockSupportsProtocol (SimplePBftBlock c PBftMockCrypto) Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods validateView ∷ BlockConfig (SimplePBftBlock c PBftMockCrypto) → Header (SimplePBftBlock c PBftMockCrypto) → ValidateView (BlockProtocol (SimplePBftBlock c PBftMockCrypto)) Source # selectView ∷ BlockConfig (SimplePBftBlock c PBftMockCrypto) → Header (SimplePBftBlock c PBftMockCrypto) → SelectView (BlockProtocol (SimplePBftBlock c PBftMockCrypto)) Source # projectChainOrderConfig ∷ BlockConfig (SimplePBftBlock c PBftMockCrypto) → ChainOrderConfig (SelectView (BlockProtocol (SimplePBftBlock c PBftMockCrypto))) Source # | |||||
(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) | ||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods protocolLedgerView ∷ ∀ (mk ∷ MapKind). LedgerConfig (SimplePBftBlock c PBftMockCrypto) → Ticked (LedgerState (SimplePBftBlock c PBftMockCrypto)) mk → LedgerView (BlockProtocol (SimplePBftBlock c PBftMockCrypto)) Source # ledgerViewForecastAt ∷ ∀ (mk ∷ MapKind). HasCallStack ⇒ LedgerConfig (SimplePBftBlock c PBftMockCrypto) → LedgerState (SimplePBftBlock c PBftMockCrypto) mk → Forecast (LedgerView (BlockProtocol (SimplePBftBlock c PBftMockCrypto))) Source # | |||||
SignedHeader (SimplePBftHeader c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods headerSigned ∷ SimplePBftHeader c c' → Signed (SimplePBftHeader c c') Source # | |||||
PBftCrypto c' ⇒ Condense (SimplePBftExt c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods condense ∷ SimplePBftExt c c' → String Source # | |||||
PBftCrypto c' ⇒ Serialise (SimplePBftExt c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods encode ∷ SimplePBftExt c c' → Encoding Source # decode ∷ Decoder s (SimplePBftExt c c') Source # encodeList ∷ [SimplePBftExt c c'] → Encoding Source # decodeList ∷ Decoder s [SimplePBftExt c c'] Source # | |||||
PBftCrypto c' ⇒ DecodeDisk (SimplePBftBlock c c') (PBftState c') Source # | |||||
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 # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT Methods encodeDisk ∷ CodecConfig (SimplePBftBlock c c') → PBftState c' → Encoding Source # | |||||
type MockLedgerConfig c (SimplePBftExt c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT | |||||
type Rep (SimplePBftExt c c') Source # | |||||
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.25.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 # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT | |||||
type CannotForge (SimplePBftBlock c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT | |||||
type ForgeStateInfo (SimplePBftBlock c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT | |||||
type ForgeStateUpdateError (SimplePBftBlock c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT | |||||
type Signed (SimplePBftHeader c c') Source # | |||||
Defined in Ouroboros.Consensus.Mock.Ledger.Block.PBFT |
type SimplePBftHeader c c' = SimpleHeader c (SimplePBftExt c c') Source #
Header for PBFT
forgePBftExt ∷ (SimpleCrypto c, PBftCrypto c', Signable (PBftDSIGN c') (SignedSimplePBft c c'), ContextDSIGN (PBftDSIGN c') ~ ()) ⇒ ForgeExt c (SimplePBftExt c c') Source #