cardano-ledger-byron-1.0.1.0: The blockchain layer of Cardano during the Byron era
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.Chain.Common.Attributes

Description

Helper data type for block, tx attributes

Map with integer 1-byte keys, arbitrary-type polymorph values. Needed primarily for partial serialization. Values are either parsed and put to some constructor or left as unparsed.

Synopsis

Documentation

newtype UnparsedFields Source #

Representation of unparsed fields in Attributes. Newtype wrapper is used for clear backward compatibility between previous representation (which was just a single ByteString) during transition from Store to CBOR.

Instances

Instances details
ToJSON UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Generic UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Associated Types

type Rep UnparsedFieldsTypeType Source #

Show UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

NFData UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

rnfUnparsedFields → () Source #

Eq UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Ord UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

HeapWords UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

NoThunks UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

type Rep UnparsedFields Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

type Rep UnparsedFields = D1 ('MetaData "UnparsedFields" "Cardano.Chain.Common.Attributes" "cardano-ledger-byron-1.0.1.0-inplace" 'True) (C1 ('MetaCons "UnparsedFields" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Word8 ByteString))))

data Attributes h Source #

Convenient wrapper for the datatype to represent it (in binary format) as k-v map

Constructors

Attributes 

Fields

Instances

Instances details
ToJSON a ⇒ ToJSON (Attributes a) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Generic (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Associated Types

type Rep (Attributes h) ∷ TypeType Source #

Methods

fromAttributes h → Rep (Attributes h) x Source #

toRep (Attributes h) x → Attributes h Source #

Show h ⇒ Show (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

FromCBOR (Attributes AddrAttributes) Source # 
Instance details

Defined in Cardano.Chain.Common.AddrAttributes

FromCBOR (Attributes ()) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

ToCBOR (Attributes AddrAttributes) Source # 
Instance details

Defined in Cardano.Chain.Common.AddrAttributes

ToCBOR (Attributes ()) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

toCBORAttributes () → Encoding Source #

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

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

DecCBOR (Attributes AddrAttributes) Source # 
Instance details

Defined in Cardano.Chain.Common.AddrAttributes

DecCBOR (Attributes ()) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

EncCBOR (Attributes AddrAttributes) Source # 
Instance details

Defined in Cardano.Chain.Common.AddrAttributes

EncCBOR (Attributes ()) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

encCBORAttributes () → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (Attributes ()) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [Attributes ()] → Size Source #

NFData h ⇒ NFData (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

rnfAttributes h → () Source #

Buildable (Attributes ()) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

buildAttributes () → Builder Source #

Buildable h ⇒ Buildable (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

buildAttributes h → Builder Source #

Eq h ⇒ Eq (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

(==)Attributes h → Attributes h → Bool Source #

(/=)Attributes h → Attributes h → Bool Source #

Ord h ⇒ Ord (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

HeapWords h ⇒ HeapWords (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

heapWordsAttributes h → Int Source #

NoThunks h ⇒ NoThunks (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

type Rep (Attributes h) Source # 
Instance details

Defined in Cardano.Chain.Common.Attributes

type Rep (Attributes h) = D1 ('MetaData "Attributes" "Cardano.Chain.Common.Attributes" "cardano-ledger-byron-1.0.1.0-inplace" 'False) (C1 ('MetaCons "Attributes" 'PrefixI 'True) (S1 ('MetaSel ('Just "attrData") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 h) :*: S1 ('MetaSel ('Just "attrRemain") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UnparsedFields)))

attributesAreKnownAttributes a → Bool Source #

Check whether all data from Attributes is known, i. e. was successfully parsed into some structured data

encCBORAttributes ∷ ∀ t. [(Word8, t → ByteString)] → Attributes t → Encoding Source #

decCBORAttributes ∷ ∀ t s. t → (Word8ByteString → t → Decoder s (Maybe t)) → Decoder s (Attributes t) Source #

dropEmptyAttributesDropper s Source #

Drop `Attributes ()` making sure that the UnparsedFields are empty