ouroboros-consensus:cardano
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Shelley.Ledger.Mempool

Description

Shelley mempool integration

TODO nearly all of the logic in this module belongs in cardano-ledger, not ouroboros-consensus; ouroboros-consensus-cardano should just be "glue code".

Synopsis

Documentation

data family GenTx blk Source #

Generalized transaction

The mempool (and, accordingly, blocks) consist of "generalized transactions"; this could be "proper" transactions (transferring funds) but also other kinds of things such as update proposals, delegations, etc.

Instances

Instances details
Inject GenTx Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Methods

inject ∷ ∀ x (xs ∷ [Type]). (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) ⇒ InjectionIndex xs x → GenTx x → GenTx (HardForkBlock xs) Source #

Isomorphic GenTx Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

Methods

project ∷ NoHardForks blk ⇒ GenTx (HardForkBlock '[blk]) → GenTx blk Source #

inject ∷ NoHardForks blk ⇒ GenTx blk → GenTx (HardForkBlock '[blk]) Source #

SerialiseNodeToClient ByronBlock (GenTx ByronBlock) Source #

No CBOR-in-CBOR, because we check for canonical encodings, which means we can use the recomputed encoding for the annotation.

Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTx ByronBlock) Source #

No CBOR-in-CBOR, because we check for canonical encodings, which means we can use the recomputed encoding for the annotation.

Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

(Typeable era, Typeable proto) ⇒ ShowProxy (Validated (GenTx (ShelleyBlock proto era)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy ∷ Proxy (Validated (GenTx (ShelleyBlock proto era))) → String #

Typeable xs ⇒ ShowProxy (GenTx (HardForkBlock xs) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

showProxy ∷ Proxy (GenTx (HardForkBlock xs)) → String #

(Typeable m, Typeable a) ⇒ ShowProxy (GenTx (DualBlock m a) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showProxy ∷ Proxy (GenTx (DualBlock m a)) → String #

ShowProxy (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

(Typeable era, Typeable proto) ⇒ ShowProxy (GenTx (ShelleyBlock proto era) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy ∷ Proxy (GenTx (ShelleyBlock proto era)) → String #

Typeable xs ⇒ ShowProxy (TxId (GenTx (HardForkBlock xs)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

showProxy ∷ Proxy (TxId (GenTx (HardForkBlock xs))) → String #

(Typeable m, Typeable a) ⇒ ShowProxy (TxId (GenTx (DualBlock m a)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showProxy ∷ Proxy (TxId (GenTx (DualBlock m a))) → String #

ShowProxy (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

(Typeable era, Typeable proto) ⇒ ShowProxy (TxId (GenTx (ShelleyBlock proto era)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → String #

FromCBOR (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

ShelleyCompatible proto era ⇒ FromCBOR (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

fromCBOR ∷ Decoder s (GenTx (ShelleyBlock proto era)) Source #

label ∷ Proxy (GenTx (ShelleyBlock proto era)) → Text Source #

ToCBOR (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Methods

toCBOR ∷ GenTx ByronBlock → Encoding Source #

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

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

ShelleyCompatible proto era ⇒ ToCBOR (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

toCBOR ∷ GenTx (ShelleyBlock proto era) → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (GenTx (ShelleyBlock proto era)) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenTx (ShelleyBlock proto era)] → Size Source #

(Typeable era, Typeable proto, Crypto (ProtoCrypto proto)) ⇒ DecCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

decCBOR ∷ Decoder s (TxId (GenTx (ShelleyBlock proto era))) Source #

dropCBOR ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → Decoder s () Source #

label ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → Text Source #

Crypto (ProtoCrypto proto) ⇒ EncCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

encCBOR ∷ TxId (GenTx (ShelleyBlock proto era)) → Encoding Source #

CanHardFork xs ⇒ Eq (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Eq (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Eq (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool #

(/=) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool #

CanHardFork xs ⇒ Eq (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

(==) ∷ GenTx (HardForkBlock xs) → GenTx (HardForkBlock xs) → Bool #

(/=) ∷ GenTx (HardForkBlock xs) → GenTx (HardForkBlock xs) → Bool #

Eq (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Eq (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) ∷ GenTx (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Bool #

(/=) ∷ GenTx (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Bool #

CanHardFork xs ⇒ Eq (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

(==) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool #

(/=) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool #

Eq (GenTxId m) ⇒ Eq (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

(==) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(/=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

Eq (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Eq (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(/=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

CanHardFork xs ⇒ Ord (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Ord (GenTxId m) ⇒ Ord (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

compare ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Ordering #

(<) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(<=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(>) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(>=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

max ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) #

min ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) #

Ord (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Ord (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

compare ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Ordering #

(<) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(<=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(>) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(>=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

max ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) #

min ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) #

Generic (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type Rep (Validated (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs))))
Generic (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Associated Types

type Rep (Validated (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
Generic (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type Rep (Validated (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))

Methods

from ∷ Validated (GenTx (ShelleyBlock proto era)) → Rep (Validated (GenTx (ShelleyBlock proto era))) x #

to ∷ Rep (Validated (GenTx (ShelleyBlock proto era))) x → Validated (GenTx (ShelleyBlock proto era)) #

Generic (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type Rep (GenTx (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (GenTx (HardForkBlock xs)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTx xs))))

Methods

from ∷ GenTx (HardForkBlock xs) → Rep (GenTx (HardForkBlock xs)) x #

to ∷ Rep (GenTx (HardForkBlock xs)) x → GenTx (HardForkBlock xs) #

Generic (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Generic (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type Rep (GenTx (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (GenTx (ShelleyBlock proto era)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tx 'TopTx era))))

Methods

from ∷ GenTx (ShelleyBlock proto era) → Rep (GenTx (ShelleyBlock proto era)) x #

to ∷ Rep (GenTx (ShelleyBlock proto era)) x → GenTx (ShelleyBlock proto era) #

Generic (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type Rep (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (TxId (GenTx (HardForkBlock xs))) = D1 ('MetaData "TxId" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))

Methods

from ∷ TxId (GenTx (HardForkBlock xs)) → Rep (TxId (GenTx (HardForkBlock xs))) x #

to ∷ Rep (TxId (GenTx (HardForkBlock xs))) x → TxId (GenTx (HardForkBlock xs)) #

CanHardFork xs ⇒ Show (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Bridge m a ⇒ Show (Validated (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → Validated (GenTx (DualBlock m a)) → ShowS #

show ∷ Validated (GenTx (DualBlock m a)) → String #

showList ∷ [Validated (GenTx (DualBlock m a))] → ShowS #

Show (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Show (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec ∷ Int → Validated (GenTx (ShelleyBlock proto era)) → ShowS #

show ∷ Validated (GenTx (ShelleyBlock proto era)) → String #

showList ∷ [Validated (GenTx (ShelleyBlock proto era))] → ShowS #

CanHardFork xs ⇒ Show (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

showsPrec ∷ Int → GenTx (HardForkBlock xs) → ShowS #

show ∷ GenTx (HardForkBlock xs) → String #

showList ∷ [GenTx (HardForkBlock xs)] → ShowS #

Bridge m a ⇒ Show (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → GenTx (DualBlock m a) → ShowS #

show ∷ GenTx (DualBlock m a) → String #

showList ∷ [GenTx (DualBlock m a)] → ShowS #

Show (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Show (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec ∷ Int → GenTx (ShelleyBlock proto era) → ShowS #

show ∷ GenTx (ShelleyBlock proto era) → String #

showList ∷ [GenTx (ShelleyBlock proto era)] → ShowS #

Show (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Show (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec ∷ Int → GenTxId (ShelleyBlock proto era) → ShowS #

show ∷ GenTxId (ShelleyBlock proto era) → String #

showList ∷ [GenTxId (ShelleyBlock proto era)] → ShowS #

CanHardFork xs ⇒ Show (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

showsPrec ∷ Int → TxId (GenTx (HardForkBlock xs)) → ShowS #

show ∷ TxId (GenTx (HardForkBlock xs)) → String #

showList ∷ [TxId (GenTx (HardForkBlock xs))] → ShowS #

Show (GenTxId m) ⇒ Show (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → TxId (GenTx (DualBlock m a)) → ShowS #

show ∷ TxId (GenTx (DualBlock m a)) → String #

showList ∷ [TxId (GenTx (DualBlock m a))] → ShowS #

CanHardFork xs ⇒ NoThunks (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

NoThunks (Validated (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

NoThunks (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ NoThunks (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

CanHardFork xs ⇒ NoThunks (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

NoThunks (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

NoThunks (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ NoThunks (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

CanHardFork xs ⇒ NoThunks (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

NoThunks (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

NoThunks (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

NoThunks (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

noThunks ∷ Context → TxId (GenTx (ShelleyBlock proto era)) → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → TxId (GenTx (ShelleyBlock proto era)) → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → String Source #

ConvertRawTxId (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ ConvertRawTxId (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

CanHardFork xs ⇒ HasTxId (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

txId ∷ GenTx (HardForkBlock xs) → TxId (GenTx (HardForkBlock xs)) Source #

Bridge m a ⇒ HasTxId (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

txId ∷ GenTx (DualBlock m a) → TxId (GenTx (DualBlock m a)) Source #

HasTxId (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ HasTxId (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

txId ∷ GenTx (ShelleyBlock proto era) → TxId (GenTx (ShelleyBlock proto era)) Source #

All CondenseConstraints xs ⇒ Condense (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Condense

Condense (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Condense (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

condense ∷ GenTx (ShelleyBlock proto era) → String Source #

Condense (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Condense (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

condense ∷ GenTxId (ShelleyBlock proto era) → String Source #

All CondenseConstraints xs ⇒ Condense (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Condense

CanHardFork xs ⇒ HasRawTxId (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type RawTxId (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type RawTxId (TxId (GenTx (HardForkBlock xs))) = ShortByteString

Methods

getRawTxId ∷ TxId (GenTx (HardForkBlock xs)) → RawTxId (TxId (GenTx (HardForkBlock xs)))

HasRawTxId (GenTxId m) ⇒ HasRawTxId (TxId (GenTx (DualBlock m a))) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Associated Types

type RawTxId (TxId (GenTx (DualBlock m a))) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type RawTxId (TxId (GenTx (DualBlock m a))) = RawTxId (GenTxId m)

Methods

getRawTxId ∷ TxId (GenTx (DualBlock m a)) → RawTxId (TxId (GenTx (DualBlock m a)))

HasRawTxId (TxId (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Associated Types

type RawTxId (TxId (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

getRawTxId ∷ TxId (GenTx ByronBlock) → RawTxId (TxId (GenTx ByronBlock))

ShelleyBasedEra era ⇒ HasRawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) = ShortByteString

Methods

getRawTxId ∷ TxId (GenTx (ShelleyBlock proto era)) → RawTxId (TxId (GenTx (ShelleyBlock proto era)))

SerialiseHFC xs ⇒ SerialiseNodeToClient (HardForkBlock xs) (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient

SerialiseHFC xs ⇒ SerialiseNodeToClient (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient

SerialiseHFC xs ⇒ SerialiseNodeToNode (HardForkBlock xs) (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

SerialiseHFC xs ⇒ SerialiseNodeToNode (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

ShelleyCompatible proto era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (GenTx (ShelleyBlock proto era)) Source #

Uses CBOR-in-CBOR in the To/FromCBOR instances to get the annotation.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ SerialiseNodeToNode (ShelleyBlock proto era) (GenTx (ShelleyBlock proto era)) Source #

The To/FromCBOR instances defined in cardano-ledger use CBOR-in-CBOR to get the annotation.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ SerialiseNodeToNode (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

data GenTx ByronBlock Source #

Generalized transactions in Byron

This is effectively the same as AMempoolPayload but we cache the transaction ID (a hash).

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs))))
type Rep (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
type Rep (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))
type Rep (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (GenTx (HardForkBlock xs)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTx xs))))
type Rep (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (GenTx (ShelleyBlock proto era)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tx 'TopTx era))))
type Rep (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (TxId (GenTx (HardForkBlock xs))) = D1 ('MetaData "TxId" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))
newtype Validated (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

data Validated (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

newtype Validated (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

data Validated (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

newtype GenTx (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype TxId (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype TxId (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data TxId (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

newtype TxId (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

newtype TxId (GenTx (ShelleyBlock proto era)) = ShelleyTxId TxId
type RawTxId (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type RawTxId (TxId (GenTx (HardForkBlock xs))) = ShortByteString
type RawTxId (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type RawTxId (TxId (GenTx (DualBlock m a))) = RawTxId (GenTxId m)
type RawTxId (TxId (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) = ShortByteString
data GenTx (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data GenTx (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

data GenTx (ShelleyBlock proto era) = ShelleyTx !TxId !(Tx 'TopTx era)

data family ApplyTxError era Source #

Instances

Instances details
Typeable era ⇒ ShowProxy (ApplyTxError era ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy ∷ Proxy (ApplyTxError era) → String #

DecCBOR (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

DecCBOR (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

DecCBOR (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

DecCBOR (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

DecCBOR (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

DecCBOR (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

DecCBOR (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

EncCBOR (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

EncCBOR (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

EncCBOR (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

EncCBOR (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

EncCBOR (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

EncCBOR (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

EncCBOR (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

Semigroup (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

Semigroup (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

Semigroup (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

Semigroup (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

Semigroup (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

Semigroup (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

Semigroup (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

Eq (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

Eq (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

Eq (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

Eq (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

Eq (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

Eq (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

Eq (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

Generic (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

Generic (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

Generic (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

Generic (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

Associated Types

type Rep (ApplyTxError ConwayEra) 
Instance details

Defined in Cardano.Ledger.Conway

Generic (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

Generic (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

Associated Types

type Rep (ApplyTxError MaryEra) 
Instance details

Defined in Cardano.Ledger.Mary

Generic (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

Show (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

Show (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

Show (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

Show (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

Show (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

Show (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

Show (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

Inject (NonEmpty (ConwayLedgerPredFailure ConwayEra)) (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

Inject (NonEmpty (DijkstraLedgerPredFailure DijkstraEra)) (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

Inject (NonEmpty (DijkstraMempoolPredFailure DijkstraEra)) (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

ShelleyBasedEra era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (ApplyTxError era) Source #
ApplyTxErr '(ShelleyBlock era)'
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

newtype ApplyTxError AllegraEra Source # 
Instance details

Defined in Cardano.Ledger.Allegra

newtype ApplyTxError AlonzoEra Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

newtype ApplyTxError BabbageEra Source # 
Instance details

Defined in Cardano.Ledger.Babbage

newtype ApplyTxError ConwayEra Source # 
Instance details

Defined in Cardano.Ledger.Conway

newtype ApplyTxError DijkstraEra Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

newtype ApplyTxError MaryEra Source # 
Instance details

Defined in Cardano.Ledger.Mary

newtype ApplyTxError ShelleyEra Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

type Rep (ApplyTxError AllegraEra) Source # 
Instance details

Defined in Cardano.Ledger.Allegra

type Rep (ApplyTxError AlonzoEra) Source # 
Instance details

Defined in Cardano.Ledger.Alonzo

type Rep (ApplyTxError BabbageEra) Source # 
Instance details

Defined in Cardano.Ledger.Babbage

type Rep (ApplyTxError ConwayEra) Source # 
Instance details

Defined in Cardano.Ledger.Conway

type Rep (ApplyTxError DijkstraEra) Source # 
Instance details

Defined in Cardano.Ledger.Dijkstra

type Rep (ApplyTxError MaryEra) Source # 
Instance details

Defined in Cardano.Ledger.Mary

type Rep (ApplyTxError ShelleyEra) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

data family TxId blk Source #

A generalized transaction, GenTx, identifier.

Instances

Instances details
SerialiseNodeToClient ByronBlock (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

Typeable xs ⇒ ShowProxy (TxId (GenTx (HardForkBlock xs)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

showProxy ∷ Proxy (TxId (GenTx (HardForkBlock xs))) → String #

(Typeable m, Typeable a) ⇒ ShowProxy (TxId (GenTx (DualBlock m a)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showProxy ∷ Proxy (TxId (GenTx (DualBlock m a))) → String #

ShowProxy (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

(Typeable era, Typeable proto) ⇒ ShowProxy (TxId (GenTx (ShelleyBlock proto era)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → String #

(Typeable era, Typeable proto, Crypto (ProtoCrypto proto)) ⇒ DecCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

decCBOR ∷ Decoder s (TxId (GenTx (ShelleyBlock proto era))) Source #

dropCBOR ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → Decoder s () Source #

label ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → Text Source #

Crypto (ProtoCrypto proto) ⇒ EncCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

encCBOR ∷ TxId (GenTx (ShelleyBlock proto era)) → Encoding Source #

CanHardFork xs ⇒ Eq (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

(==) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool #

(/=) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool #

Eq (GenTxId m) ⇒ Eq (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

(==) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(/=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

Eq (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Eq (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(/=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

CanHardFork xs ⇒ Ord (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Ord (GenTxId m) ⇒ Ord (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

compare ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Ordering #

(<) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(<=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(>) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

(>=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool #

max ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) #

min ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) #

Ord (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Ord (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

compare ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Ordering #

(<) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(<=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(>) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(>=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

max ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) #

min ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) #

Generic (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type Rep (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (TxId (GenTx (HardForkBlock xs))) = D1 ('MetaData "TxId" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))

Methods

from ∷ TxId (GenTx (HardForkBlock xs)) → Rep (TxId (GenTx (HardForkBlock xs))) x #

to ∷ Rep (TxId (GenTx (HardForkBlock xs))) x → TxId (GenTx (HardForkBlock xs)) #

Show (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Show (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec ∷ Int → GenTxId (ShelleyBlock proto era) → ShowS #

show ∷ GenTxId (ShelleyBlock proto era) → String #

showList ∷ [GenTxId (ShelleyBlock proto era)] → ShowS #

CanHardFork xs ⇒ Show (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

showsPrec ∷ Int → TxId (GenTx (HardForkBlock xs)) → ShowS #

show ∷ TxId (GenTx (HardForkBlock xs)) → String #

showList ∷ [TxId (GenTx (HardForkBlock xs))] → ShowS #

Show (GenTxId m) ⇒ Show (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → TxId (GenTx (DualBlock m a)) → ShowS #

show ∷ TxId (GenTx (DualBlock m a)) → String #

showList ∷ [TxId (GenTx (DualBlock m a))] → ShowS #

CanHardFork xs ⇒ NoThunks (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

NoThunks (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

NoThunks (TxId (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

NoThunks (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

noThunks ∷ Context → TxId (GenTx (ShelleyBlock proto era)) → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → TxId (GenTx (ShelleyBlock proto era)) → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → String Source #

Condense (GenTxId ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Condense (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

condense ∷ GenTxId (ShelleyBlock proto era) → String Source #

All CondenseConstraints xs ⇒ Condense (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Condense

CanHardFork xs ⇒ HasRawTxId (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type RawTxId (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type RawTxId (TxId (GenTx (HardForkBlock xs))) = ShortByteString

Methods

getRawTxId ∷ TxId (GenTx (HardForkBlock xs)) → RawTxId (TxId (GenTx (HardForkBlock xs)))

HasRawTxId (GenTxId m) ⇒ HasRawTxId (TxId (GenTx (DualBlock m a))) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Associated Types

type RawTxId (TxId (GenTx (DualBlock m a))) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type RawTxId (TxId (GenTx (DualBlock m a))) = RawTxId (GenTxId m)

Methods

getRawTxId ∷ TxId (GenTx (DualBlock m a)) → RawTxId (TxId (GenTx (DualBlock m a)))

HasRawTxId (TxId (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Associated Types

type RawTxId (TxId (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

getRawTxId ∷ TxId (GenTx ByronBlock) → RawTxId (TxId (GenTx ByronBlock))

ShelleyBasedEra era ⇒ HasRawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) = ShortByteString

Methods

getRawTxId ∷ TxId (GenTx (ShelleyBlock proto era)) → RawTxId (TxId (GenTx (ShelleyBlock proto era)))

SerialiseHFC xs ⇒ SerialiseNodeToClient (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient

SerialiseHFC xs ⇒ SerialiseNodeToNode (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

ShelleyCompatible proto era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ SerialiseNodeToNode (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

type Rep (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (TxId (GenTx (HardForkBlock xs))) = D1 ('MetaData "TxId" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))
newtype TxId (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype TxId (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data TxId (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

newtype TxId (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

newtype TxId (GenTx (ShelleyBlock proto era)) = ShelleyTxId TxId
type RawTxId (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type RawTxId (TxId (GenTx (HardForkBlock xs))) = ShortByteString
type RawTxId (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type RawTxId (TxId (GenTx (DualBlock m a))) = RawTxId (GenTxId m)
type RawTxId (TxId (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) = ShortByteString

data family Validated x Source #

" Validated " transaction or block

The ledger defines how to validate transactions and blocks. It's possible the type before and after validation may be distinct (eg Alonzo transactions), which originally motivated this family.

We also gain the related benefit that certain interface functions, such as those that reapply blocks, can have a more precise type now. TODO

Similarly, the Node-to-Client mini protocols can explicitly indicate that the client trusts the blocks from the local server, by having the server send Validated blocks to the client. TODO

Note that validation has different implications for a transaction than for a block. In particular, a validated transaction can be " reapplied " to different ledger states, whereas a validated block must only be " reapplied " to the exact same ledger state (eg as part of rebuilding from an on-disk ledger snapshot).

Since the ledger defines validation, see the ledger details for concrete examples of what determines the validity (wrt to a LedgerState) of a transaction and/or block. Example properties include: a transaction's claimed inputs exist and are still unspent, a block carries a sufficient cryptographic signature, etc.

Instances

Instances details
(Typeable era, Typeable proto) ⇒ ShowProxy (Validated (GenTx (ShelleyBlock proto era)) ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy ∷ Proxy (Validated (GenTx (ShelleyBlock proto era))) → String #

CanHardFork xs ⇒ Eq (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Eq (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Eq (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool #

(/=) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool #

Generic (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

type Rep (Validated (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs))))
Generic (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Associated Types

type Rep (Validated (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
Generic (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type Rep (Validated (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))

Methods

from ∷ Validated (GenTx (ShelleyBlock proto era)) → Rep (Validated (GenTx (ShelleyBlock proto era))) x #

to ∷ Rep (Validated (GenTx (ShelleyBlock proto era))) x → Validated (GenTx (ShelleyBlock proto era)) #

CanHardFork xs ⇒ Show (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Bridge m a ⇒ Show (Validated (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → Validated (GenTx (DualBlock m a)) → ShowS #

show ∷ Validated (GenTx (DualBlock m a)) → String #

showList ∷ [Validated (GenTx (DualBlock m a))] → ShowS #

Show (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ Show (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec ∷ Int → Validated (GenTx (ShelleyBlock proto era)) → ShowS #

show ∷ Validated (GenTx (ShelleyBlock proto era)) → String #

showList ∷ [Validated (GenTx (ShelleyBlock proto era))] → ShowS #

CanHardFork xs ⇒ NoThunks (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

NoThunks (Validated (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

NoThunks (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era ⇒ NoThunks (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs))))
type Rep (Validated (GenTx ByronBlock)) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
type Rep (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))
newtype Validated (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

data Validated (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

newtype Validated (GenTx ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

data Validated (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

fixedBlockBodyOverhead ∷ Num a ⇒ a Source #

txInBlockSize is used to estimate how many transactions we can grab from the Mempool to put into the block we are going to forge without exceeding the maximum block body size according to the ledger. If we exceed that limit, we will have forged a block that is invalid according to the ledger. We ourselves won't even adopt it, causing us to lose our slot, something we must try to avoid.

For this reason it is better to overestimate the size of a transaction than to underestimate. The only downside is that we maybe could have put one (or more?) transactions extra in that block.

As the sum of the serialised transaction sizes is not equal to the size of the serialised block body (BlockBody) consisting of those transactions (see cardano-node#1545 for an example), we account for some extra overhead per transaction as a safety margin.

Also see perTxOverhead.

mkShelleyTx ∷ ShelleyBasedEra era ⇒ Tx 'TopTx era → GenTx (ShelleyBlock proto era) Source #

Exported for tests

data AlonzoMeasure Source #

Instances

Instances details
Monoid AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Semigroup AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Eq AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Generic AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type Rep AlonzoMeasure 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep AlonzoMeasure = D1 ('MetaData "AlonzoMeasure" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "AlonzoMeasure" 'PrefixI 'True) (S1 ('MetaSel ('Just "byteSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (IgnoringOverflow ByteSize32)) :*: S1 ('MetaSel ('Just "exUnits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExUnits' Natural))))
Show AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Measure AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

NoThunks AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

HasByteSize AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

TxMeasurePhase1Metrics AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep AlonzoMeasure Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep AlonzoMeasure = D1 ('MetaData "AlonzoMeasure" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "AlonzoMeasure" 'PrefixI 'True) (S1 ('MetaSel ('Just "byteSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (IgnoringOverflow ByteSize32)) :*: S1 ('MetaSel ('Just "exUnits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExUnits' Natural))))

newtype RefScriptSize Source #

Instances

Instances details
Monoid RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Semigroup RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Eq RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Generic RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type Rep RefScriptSize 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep RefScriptSize = D1 ('MetaData "RefScriptSize" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "RefScriptSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "refScriptsSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IgnoringOverflow ByteSize32))))
Show RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Measure RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

NoThunks RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

TxMeasurePhase2Metrics RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep RefScriptSize Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep RefScriptSize = D1 ('MetaData "RefScriptSize" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "RefScriptSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "refScriptsSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IgnoringOverflow ByteSize32))))

Orphan instances

Typeable era ⇒ ShowProxy (ApplyTxError era ∷ Type) Source # 
Instance details

Methods

showProxy ∷ Proxy (ApplyTxError era) → String #

(Typeable era, Typeable proto) ⇒ ShowProxy (Validated (GenTx (ShelleyBlock proto era)) ∷ Type) Source # 
Instance details

Methods

showProxy ∷ Proxy (Validated (GenTx (ShelleyBlock proto era))) → String #

(Typeable era, Typeable proto) ⇒ ShowProxy (GenTx (ShelleyBlock proto era) ∷ Type) Source # 
Instance details

Methods

showProxy ∷ Proxy (GenTx (ShelleyBlock proto era)) → String #

(Typeable era, Typeable proto) ⇒ ShowProxy (TxId (GenTx (ShelleyBlock proto era)) ∷ Type) Source # 
Instance details

Methods

showProxy ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → String #

ShelleyCompatible proto era ⇒ FromCBOR (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Methods

fromCBOR ∷ Decoder s (GenTx (ShelleyBlock proto era)) Source #

label ∷ Proxy (GenTx (ShelleyBlock proto era)) → Text Source #

ShelleyCompatible proto era ⇒ ToCBOR (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Methods

toCBOR ∷ GenTx (ShelleyBlock proto era) → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (GenTx (ShelleyBlock proto era)) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [GenTx (ShelleyBlock proto era)] → Size Source #

(Typeable era, Typeable proto, Crypto (ProtoCrypto proto)) ⇒ DecCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

decCBOR ∷ Decoder s (TxId (GenTx (ShelleyBlock proto era))) Source #

dropCBOR ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → Decoder s () Source #

label ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → Text Source #

Crypto (ProtoCrypto proto) ⇒ EncCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

encCBOR ∷ TxId (GenTx (ShelleyBlock proto era)) → Encoding Source #

ShelleyBasedEra era ⇒ Eq (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

(==) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool #

(/=) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool #

ShelleyBasedEra era ⇒ Eq (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Methods

(==) ∷ GenTx (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Bool #

(/=) ∷ GenTx (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Bool #

Eq (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

(==) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(/=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

Ord (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

compare ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Ordering #

(<) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(<=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(>) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

(>=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool #

max ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) #

min ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) #

Generic (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Associated Types

type Rep (Validated (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))

Methods

from ∷ Validated (GenTx (ShelleyBlock proto era)) → Rep (Validated (GenTx (ShelleyBlock proto era))) x #

to ∷ Rep (Validated (GenTx (ShelleyBlock proto era))) x → Validated (GenTx (ShelleyBlock proto era)) #

Generic (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Associated Types

type Rep (GenTx (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (GenTx (ShelleyBlock proto era)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tx 'TopTx era))))

Methods

from ∷ GenTx (ShelleyBlock proto era) → Rep (GenTx (ShelleyBlock proto era)) x #

to ∷ Rep (GenTx (ShelleyBlock proto era)) x → GenTx (ShelleyBlock proto era) #

ShelleyBasedEra era ⇒ Show (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

showsPrec ∷ Int → Validated (GenTx (ShelleyBlock proto era)) → ShowS #

show ∷ Validated (GenTx (ShelleyBlock proto era)) → String #

showList ∷ [Validated (GenTx (ShelleyBlock proto era))] → ShowS #

ShelleyBasedEra era ⇒ Show (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Methods

showsPrec ∷ Int → GenTx (ShelleyBlock proto era) → ShowS #

show ∷ GenTx (ShelleyBlock proto era) → String #

showList ∷ [GenTx (ShelleyBlock proto era)] → ShowS #

Show (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Methods

showsPrec ∷ Int → GenTxId (ShelleyBlock proto era) → ShowS #

show ∷ GenTxId (ShelleyBlock proto era) → String #

showList ∷ [GenTxId (ShelleyBlock proto era)] → ShowS #

ShelleyBasedEra era ⇒ NoThunks (Validated (GenTx (ShelleyBlock proto era))) Source # 
Instance details

ShelleyBasedEra era ⇒ NoThunks (GenTx (ShelleyBlock proto era)) Source # 
Instance details

NoThunks (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Methods

noThunks ∷ Context → TxId (GenTx (ShelleyBlock proto era)) → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → TxId (GenTx (ShelleyBlock proto era)) → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (TxId (GenTx (ShelleyBlock proto era))) → String Source #

ShelleyBasedEra era ⇒ ConvertRawTxId (GenTx (ShelleyBlock proto era)) Source # 
Instance details

ShelleyBasedEra era ⇒ HasTxId (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Methods

txId ∷ GenTx (ShelleyBlock proto era) → TxId (GenTx (ShelleyBlock proto era)) Source #

ShelleyBasedEra era ⇒ Condense (GenTx (ShelleyBlock proto era)) Source # 
Instance details

Methods

condense ∷ GenTx (ShelleyBlock proto era) → String Source #

Condense (GenTxId (ShelleyBlock proto era)) Source # 
Instance details

Methods

condense ∷ GenTxId (ShelleyBlock proto era) → String Source #

ShelleyBasedEra era ⇒ HasRawTxId (TxId (GenTx (ShelleyBlock proto era))) Source # 
Instance details

Associated Types

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) = ShortByteString

Methods

getRawTxId ∷ TxId (GenTx (ShelleyBlock proto era)) → RawTxId (TxId (GenTx (ShelleyBlock proto era)))

ShelleyBasedEra era ⇒ HasTxs (ShelleyBlock proto era) Source # 
Instance details

Methods

extractTxs ∷ ShelleyBlock proto era → [GenTx (ShelleyBlock proto era)] Source #

(ShelleyCompatible proto era, TxLimits (ShelleyBlock proto era)) ⇒ LedgerSupportsMempool (ShelleyBlock proto era) Source # 
Instance details

Methods

txInvariant ∷ GenTx (ShelleyBlock proto era) → Bool Source #

applyTx ∷ LedgerConfig (ShelleyBlock proto era) → WhetherToIntervene → SlotNo → GenTx (ShelleyBlock proto era) → TickedLedgerState (ShelleyBlock proto era) ValuesMK → Except (ApplyTxErr (ShelleyBlock proto era)) (TickedLedgerState (ShelleyBlock proto era) DiffMK, Validated (GenTx (ShelleyBlock proto era))) Source #

reapplyTx ∷ LedgerConfig (ShelleyBlock proto era) → SlotNo → Validated (GenTx (ShelleyBlock proto era)) → TickedLedgerState (ShelleyBlock proto era) ValuesMK → Except (ApplyTxErr (ShelleyBlock proto era)) (TickedLedgerState (ShelleyBlock proto era) ValuesMK) Source #

reapplyTxs ∷ ∀ (wtd ∷ WhatToDoWithTxDiffs) extra. LedgerConfig (ShelleyBlock proto era) → SlotNo → [(Validated (GenTx (ShelleyBlock proto era)), InputTxDiffs (ShelleyBlock proto era) wtd, extra)] → TickedLedgerState (ShelleyBlock proto era) ValuesMK → ReapplyTxsResult extra (ShelleyBlock proto era) wtd Source #

txForgetValidated ∷ Validated (GenTx (ShelleyBlock proto era)) → GenTx (ShelleyBlock proto era) Source #

getTransactionKeySets ∷ GenTx (ShelleyBlock proto era) → LedgerTables (ShelleyBlock proto era) KeysMK Source #

prependMempoolDiffs ∷ TickedLedgerState (ShelleyBlock proto era) DiffMK → TickedLedgerState (ShelleyBlock proto era) DiffMK → TickedLedgerState (ShelleyBlock proto era) DiffMK Source #

applyMempoolDiffs ∷ LedgerTables (ShelleyBlock proto era) ValuesMK → LedgerTables (ShelleyBlock proto era) KeysMK → TickedLedgerState (ShelleyBlock proto era) DiffMK → TickedLedgerState (ShelleyBlock proto era) ValuesMK Source #

mkMempoolApplyTxError ∷ ∀ (mk ∷ MapKind). TickedLedgerState (ShelleyBlock proto era) mk → Text → Maybe (ApplyTxErr (ShelleyBlock proto era)) Source #

ShelleyCompatible p AllegraEra ⇒ TxLimits (ShelleyBlock p AllegraEra) Source # 
Instance details

ShelleyCompatible p AlonzoEra ⇒ TxLimits (ShelleyBlock p AlonzoEra) Source # 
Instance details

ShelleyCompatible p BabbageEra ⇒ TxLimits (ShelleyBlock p BabbageEra) Source #

We anachronistically use ConwayMeasure in Babbage.

Instance details

ShelleyCompatible p ConwayEra ⇒ TxLimits (ShelleyBlock p ConwayEra) Source # 
Instance details

ShelleyCompatible p DijkstraEra ⇒ TxLimits (ShelleyBlock p DijkstraEra) Source # 
Instance details

ShelleyCompatible p MaryEra ⇒ TxLimits (ShelleyBlock p MaryEra) Source # 
Instance details

ShelleyCompatible p ShelleyEra ⇒ TxLimits (ShelleyBlock p ShelleyEra) Source # 
Instance details