Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 ∷ ∀ c c'. (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.
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
SimplePBftExt | |
|
Instances
type SimplePBftHeader c c' = SimpleHeader c (SimplePBftExt c c') Source #
Header for PBFT
forgePBftExt ∷ ∀ c c'. (SimpleCrypto c, PBftCrypto c', Signable (PBftDSIGN c') (SignedSimplePBft c c'), ContextDSIGN (PBftDSIGN c') ~ ()) ⇒ ForgeExt c (SimplePBftExt c c') Source #