ouroboros-consensus-0.3.1.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Protocol.PBFT.Crypto

Synopsis

Documentation

class (Typeable c, DSIGNAlgorithm (PBftDSIGN c), Condense (SigDSIGN (PBftDSIGN c)), Show (PBftVerKeyHash c), Ord (PBftVerKeyHash c), Eq (PBftVerKeyHash c), Show (PBftVerKeyHash c), NoThunks (PBftVerKeyHash c), NoThunks (PBftDelegationCert c)) ⇒ PBftCrypto c where Source #

Crypto primitives required by BFT

Cardano stores a map of stakeholder IDs rather than the verification key directly. We make this family injective for convenience - whilst it's _possible_ that there could be non-injective instances, the chances of there being more than the two instances here are basically non-existent.

Associated Types

type PBftDSIGN c ∷ Type Source #

type PBftDelegationCert c = (d ∷ Type) | d → c Source #

type PBftVerKeyHash c = (d ∷ Type) | d → c Source #

Methods

dlgCertGenVerKeyPBftDelegationCert c → VerKeyDSIGN (PBftDSIGN c) Source #

dlgCertDlgVerKeyPBftDelegationCert c → VerKeyDSIGN (PBftDSIGN c) Source #

hashVerKey ∷ VerKeyDSIGN (PBftDSIGN c) → PBftVerKeyHash c Source #

newtype PBftMockVerKeyHash Source #

We don't hash and just use the underlying Word64.

Constructors

PBftMockVerKeyHash 

Fields

Instances

Instances details
Eq PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

Ord PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

Show PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

Generic PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

Associated Types

type Rep PBftMockVerKeyHashTypeType Source #

Serialise PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

Methods

encodePBftMockVerKeyHash → Encoding #

decode ∷ Decoder s PBftMockVerKeyHash #

encodeList ∷ [PBftMockVerKeyHash] → Encoding #

decodeList ∷ Decoder s [PBftMockVerKeyHash] #

NoThunks PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

Methods

noThunks ∷ Context → PBftMockVerKeyHashIO (Maybe ThunkInfo) #

wNoThunks ∷ Context → PBftMockVerKeyHashIO (Maybe ThunkInfo) #

showTypeOfProxy PBftMockVerKeyHashString #

type Rep PBftMockVerKeyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT.Crypto

type Rep PBftMockVerKeyHash = D1 ('MetaData "PBftMockVerKeyHash" "Ouroboros.Consensus.Protocol.PBFT.Crypto" "ouroboros-consensus-0.3.1.0-inplace" 'True) (C1 ('MetaCons "PBftMockVerKeyHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPBftMockVerKeyHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (VerKeyDSIGN MockDSIGN))))