| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Protocol.Leios.BlockHeader
Description
Block header associated with Leios.
The Leios block header is the Praos block header with two additional fields appended. Everything else is identical to the Praos header, see Cardano.Protocol.Praos.BlockHeader for details.
Synopsis
- data Header crypto where
- pattern Header ∷ Crypto crypto ⇒ HeaderBody crypto → SignedKES (KES crypto) (HeaderBody crypto) → Header crypto
- data HeaderBody crypto = HeaderBody {
- hbBlockNo ∷ !BlockNo
- hbSlotNo ∷ !SlotNo
- hbPrev ∷ !PrevHash
- hbVk ∷ !(VKey 'BlockIssuer)
- hbVrfVk ∷ !(VerKeyVRF (VRF crypto))
- hbVrfRes ∷ !(CertifiedVRF (VRF crypto) InputVRF)
- hbBodySize ∷ !Word32
- hbBodyHash ∷ !(Hash HASH EraIndependentBlockBody)
- hbOCert ∷ !(OCert crypto)
- hbProtVer ∷ !ProtVer
- hbBlockBodyContainsLeiosCert ∷ !Bool
- hbEbAnnouncement ∷ !(StrictMaybe EbAnnouncement)
- data EbAnnouncement = EbAnnouncement {}
- headerHash ∷ Header crypto → Hash HASH EraIndependentBlockHeader
- headerSize ∷ Header crypto → Int
Documentation
data Header crypto where Source #
Bundled Patterns
| pattern Header ∷ Crypto crypto ⇒ HeaderBody crypto → SignedKES (KES crypto) (HeaderBody crypto) → Header crypto |
Instances
data HeaderBody crypto Source #
Constructors
| HeaderBody | |
Fields
| |
Instances
| Crypto crypto ⇒ SignableRepresentation (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods getSignableRepresentation ∷ HeaderBody crypto → ByteString Source # | |||||
| Crypto crypto ⇒ DecCBOR (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader | |||||
| Crypto crypto ⇒ EncCBOR (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods encCBOR ∷ HeaderBody crypto → Encoding Source # | |||||
| Generic (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Associated Types
Methods from ∷ HeaderBody crypto → Rep (HeaderBody crypto) x # to ∷ Rep (HeaderBody crypto) x → HeaderBody crypto # | |||||
| Crypto crypto ⇒ Show (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods showsPrec ∷ Int → HeaderBody crypto → ShowS # show ∷ HeaderBody crypto → String # showList ∷ [HeaderBody crypto] → ShowS # | |||||
| Crypto crypto ⇒ Eq (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods (==) ∷ HeaderBody crypto → HeaderBody crypto → Bool # (/=) ∷ HeaderBody crypto → HeaderBody crypto → Bool # | |||||
| Crypto crypto ⇒ NoThunks (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader | |||||
| type Rep (HeaderBody crypto) Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader type Rep (HeaderBody crypto) = D1 ('MetaData "HeaderBody" "Cardano.Protocol.Leios.BlockHeader" "cardano-protocol-0.1.0.0-inplace" 'False) (C1 ('MetaCons "HeaderBody" 'PrefixI 'True) (((S1 ('MetaSel ('Just "hbBlockNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlockNo) :*: (S1 ('MetaSel ('Just "hbSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo) :*: S1 ('MetaSel ('Just "hbPrev") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PrevHash))) :*: (S1 ('MetaSel ('Just "hbVk") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VKey 'BlockIssuer)) :*: (S1 ('MetaSel ('Just "hbVrfVk") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VerKeyVRF (VRF crypto))) :*: S1 ('MetaSel ('Just "hbVrfRes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CertifiedVRF (VRF crypto) InputVRF))))) :*: ((S1 ('MetaSel ('Just "hbBodySize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "hbBodyHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash HASH EraIndependentBlockBody)) :*: S1 ('MetaSel ('Just "hbOCert") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (OCert crypto)))) :*: (S1 ('MetaSel ('Just "hbProtVer") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer) :*: (S1 ('MetaSel ('Just "hbBlockBodyContainsLeiosCert") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "hbEbAnnouncement") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe EbAnnouncement))))))) | |||||
data EbAnnouncement Source #
Announcement of an Endorser Block (EB).
Constructors
| EbAnnouncement | |
Fields
| |
Instances
| DecCBOR EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader | |||||
| EncCBOR EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods | |||||
| NFData EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods rnf ∷ EbAnnouncement → () # | |||||
| Generic EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Associated Types
| |||||
| Show EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods showsPrec ∷ Int → EbAnnouncement → ShowS # show ∷ EbAnnouncement → String # showList ∷ [EbAnnouncement] → ShowS # | |||||
| Eq EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader Methods (==) ∷ EbAnnouncement → EbAnnouncement → Bool # (/=) ∷ EbAnnouncement → EbAnnouncement → Bool # | |||||
| NoThunks EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader | |||||
| type Rep EbAnnouncement Source # | |||||
Defined in Cardano.Protocol.Leios.BlockHeader type Rep EbAnnouncement = D1 ('MetaData "EbAnnouncement" "Cardano.Protocol.Leios.BlockHeader" "cardano-protocol-0.1.0.0-inplace" 'False) (C1 ('MetaCons "EbAnnouncement" 'PrefixI 'True) (S1 ('MetaSel ('Just "ebAnnouncementHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SafeHash EraIndependentEb)) :*: S1 ('MetaSel ('Just "ebAnnouncementSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32))) | |||||
headerHash ∷ Header crypto → Hash HASH EraIndependentBlockHeader Source #
headerSize ∷ Header crypto → Int Source #