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

Cardano.Chain.UTxO.Compact

Description

The UTxO is large and is kept in-memory. It is important to use as small a representation as possible to keep overall memory use reasonable.

This module provides a special compact representation for data types contained within the UTxO.

The idea here is that the compact representation is optimised only for storage size and does not have to be the same as the representation used when operating on the data. Conversion functions are to be used when inserting and retrieving values from the UTxO.

Synopsis

Documentation

data CompactTxIn Source #

A compact in-memory representation for a TxIn.

Convert using toCompactTxIn and fromCompactTxIn.

Instances

Instances details
Generic CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Associated Types

type Rep CompactTxInTypeType Source #

Show CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

FromCBOR CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

ToCBOR CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

toCBORCompactTxInEncoding Source #

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

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

DecCBOR CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

EncCBOR CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

encCBORCompactTxInEncoding Source #

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

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

NFData CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

rnfCompactTxIn → () Source #

Eq CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Ord CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

HeapWords CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

NoThunks CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

type Rep CompactTxIn Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

type Rep CompactTxIn = D1 ('MetaData "CompactTxIn" "Cardano.Chain.UTxO.Compact" "cardano-ledger-byron-1.0.1.0-inplace" 'False) (C1 ('MetaCons "CompactTxInUtxo" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 CompactTxId) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word16)))

data CompactTxId Source #

A compact in-memory representation for a TxId.

Convert using toCompactTxId and fromCompactTxId.

Compared to a normal TxId, this takes 5 heap words rather than 12.

Instances

Instances details
Generic CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Associated Types

type Rep CompactTxIdTypeType Source #

Show CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

FromCBOR CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

ToCBOR CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

toCBORCompactTxIdEncoding Source #

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

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

DecCBOR CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

EncCBOR CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

encCBORCompactTxIdEncoding Source #

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

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

NFData CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

rnfCompactTxId → () Source #

Eq CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Ord CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

HeapWords CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

NoThunks CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

type Rep CompactTxId Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

data CompactTxOut Source #

A compact in-memory representation for a TxOut.

Convert using toCompactTxOut and fromCompactTxOut.

Instances

Instances details
Generic CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Associated Types

type Rep CompactTxOutTypeType Source #

Show CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

FromCBOR CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

ToCBOR CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

toCBORCompactTxOutEncoding Source #

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

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

DecCBOR CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

EncCBOR CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

NFData CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Methods

rnfCompactTxOut → () Source #

Eq CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

Ord CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

HeapWords CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

NoThunks CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

type Rep CompactTxOut Source # 
Instance details

Defined in Cardano.Chain.UTxO.Compact

type Rep CompactTxOut = D1 ('MetaData "CompactTxOut" "Cardano.Chain.UTxO.Compact" "cardano-ledger-byron-1.0.1.0-inplace" 'False) (C1 ('MetaCons "CompactTxOut" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 CompactAddress) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Lovelace)))