cardano-protocol-0.1.0.0: Cardano Protocol: shared crypto and block-header definitions
Safe HaskellNone
LanguageHaskell2010

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

Documentation

data Header crypto where Source #

Bundled Patterns

pattern HeaderCrypto crypto ⇒ HeaderBody crypto → SignedKES (KES crypto) (HeaderBody crypto) → Header crypto 

Instances

Instances details
Typeable crypto ⇒ ToCBOR (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

toCBORHeader crypto → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (Header crypto) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [Header crypto] → Size Source #

Crypto c ⇒ DecCBOR (Annotator (Header c)) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Crypto c ⇒ EncCBOR (Header c) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

encCBORHeader c → Encoding Source #

SafeToHash (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Memoized (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Associated Types

type RawType (Header crypto) 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type RawType (Header crypto)

Methods

getMemoBytesHeader crypto → MemoBytes (RawType (Header crypto))

wrapMemoBytesMemoBytes (RawType (Header crypto)) → Header crypto

Generic (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Associated Types

type Rep (Header crypto) 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type Rep (Header crypto)

Methods

fromHeader crypto → Rep (Header crypto) x #

toRep (Header crypto) x → Header crypto #

Crypto crypto ⇒ Show (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

showsPrecIntHeader crypto → ShowS #

showHeader crypto → String #

showList ∷ [Header crypto] → ShowS #

Crypto crypto ⇒ Eq (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

(==)Header crypto → Header crypto → Bool #

(/=)Header crypto → Header crypto → Bool #

Crypto crypto ⇒ NoThunks (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

noThunksContextHeader crypto → IO (Maybe ThunkInfo) Source #

wNoThunksContextHeader crypto → IO (Maybe ThunkInfo) Source #

showTypeOfProxy (Header crypto) → String Source #

(Crypto c, Era era) ⇒ EraBlockHeader (Header c) era Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

HashAnnotated (Header crypto) EraIndependentBlockHeader Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type RawType (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type RawType (Header crypto)
type Rep (Header crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type Rep (Header crypto)

data HeaderBody crypto Source #

Constructors

HeaderBody 

Fields

Instances

Instances details
Crypto crypto ⇒ SignableRepresentation (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Crypto crypto ⇒ DecCBOR (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

decCBORDecoder s (HeaderBody crypto) Source #

dropCBORProxy (HeaderBody crypto) → Decoder s () Source #

labelProxy (HeaderBody crypto) → Text Source #

Crypto crypto ⇒ EncCBOR (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

encCBORHeaderBody crypto → Encoding Source #

Generic (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Associated Types

type Rep (HeaderBody crypto) 
Instance details

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)))))))

Methods

fromHeaderBody crypto → Rep (HeaderBody crypto) x #

toRep (HeaderBody crypto) x → HeaderBody crypto #

Crypto crypto ⇒ Show (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

showsPrecIntHeaderBody crypto → ShowS #

showHeaderBody crypto → String #

showList ∷ [HeaderBody crypto] → ShowS #

Crypto crypto ⇒ Eq (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

(==)HeaderBody crypto → HeaderBody crypto → Bool #

(/=)HeaderBody crypto → HeaderBody crypto → Bool #

Crypto crypto ⇒ NoThunks (HeaderBody crypto) Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type Rep (HeaderBody crypto) Source # 
Instance details

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

Instances details
DecCBOR EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

EncCBOR EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

NFData EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Methods

rnfEbAnnouncement → () #

Generic EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Associated Types

type Rep EbAnnouncement 
Instance details

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)))
Show EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

Eq EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

NoThunks EbAnnouncement Source # 
Instance details

Defined in Cardano.Protocol.Leios.BlockHeader

type Rep EbAnnouncement Source # 
Instance details

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)))

headerSizeHeader crypto → Int Source #