ouroboros-consensus:cardano
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Shelley.Ledger.Block

Synopsis

Documentation

class HasHeader (Header blk) ⇒ GetHeader blk where Source #

Methods

getHeader ∷ blk → Header blk Source #

blockMatchesHeader ∷ Header blk → blk → Bool Source #

Check whether the header is the header of the block.

For example, by checking whether the hash of the body stored in the header matches that of the block.

headerIsEBB ∷ Header blk → Maybe EpochNo Source #

When the given header is the header of an Epoch Boundary Block, returns its epoch number.

data family Header blk Source #

Instances

Instances details
GetHeader1 Header Source # 
Instance details

Defined in Ouroboros.Consensus.Block.Abstract

Methods

getHeader1 ∷ Header blk → Header blk Source #

Inject Header 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 → Header x → Header (HardForkBlock xs) Source #

Isomorphic Header Source # 
Instance details

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

Methods

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

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

HasNestedContent Header ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

ReconstructNestedCtxt Header ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

CanHardFork xs ⇒ HasNestedContent Header (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

SerialiseNodeToNode ByronBlock (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseHFC xs ⇒ ReconstructNestedCtxt Header (HardForkBlock xs) Source # 
Instance details

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

StandardHash blk ⇒ StandardHash (Header blk ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.Abstract

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

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

Methods

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

ShowProxy (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

HasNestedContent Header m ⇒ HasNestedContent Header (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

ReconstructNestedCtxt Header m ⇒ ReconstructNestedCtxt Header (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

ShelleyBasedEra era ⇒ ReconstructNestedCtxt Header (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

CanHardFork xs ⇒ SameDepIndex (NestedCtxt_ (HardForkBlock xs) Header ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

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

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showProxy ∷ Proxy (DualHeader m a) → String #

ShelleyCompatible proto era ⇒ DecCBOR (Annotator (Header (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

decCBOR ∷ Decoder s (Annotator (Header (ShelleyBlock proto era))) Source #

dropCBOR ∷ Proxy (Annotator (Header (ShelleyBlock proto era))) → Decoder s () Source #

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

ShelleyCompatible proto era ⇒ EncCBOR (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

encCBOR ∷ Header (ShelleyBlock proto era) → Encoding Source #

All (Compose Eq Header) xs ⇒ Eq (Header (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

Methods

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

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

Eq (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShelleyCompatible proto era ⇒ Eq (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

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

Generic (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Associated Types

type Rep (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type Rep (Header ByronBlock) = D1 ('MetaData "Header" "Ouroboros.Consensus.Byron.Ledger.Block" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ByronHeader" 'PrefixI 'True) ((S1 ('MetaSel ('Just "byronHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ABlockOrBoundaryHdr ByteString)) :*: S1 ('MetaSel ('Just "byronHeaderSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo)) :*: (S1 ('MetaSel ('Just "byronHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByronHash) :*: S1 ('MetaSel ('Just "byronHeaderBlockSizeHint") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SizeInBytes))))
Generic (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Associated Types

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type Rep (Header (ShelleyBlock proto era)) = D1 ('MetaData "Header" "Ouroboros.Consensus.Shelley.Ledger.Block" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyHeader" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ShelleyProtocolHeader proto)) :*: S1 ('MetaSel ('Just "shelleyHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyHash)))

Methods

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

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

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

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

Show (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShelleyCompatible proto era ⇒ Show (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

show ∷ Header (ShelleyBlock proto era) → String #

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

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

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

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

Defined in Ouroboros.Consensus.Ledger.Dual

NoThunks (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShelleyCompatible proto era ⇒ NoThunks (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

SignedHeader (ShelleyProtocolHeader proto) ⇒ SignedHeader (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Protocol

Methods

headerSigned ∷ Header (ShelleyBlock proto era) → Signed (Header (ShelleyBlock proto era)) Source #

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

Defined in Ouroboros.Consensus.HardFork.Combinator.Condense

Condense (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShelleyCompatible proto era ⇒ Condense (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

CanHardFork xs ⇒ HasHeader (Header (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

HasHeader (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShelleyCompatible proto era ⇒ HasHeader (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

getHeaderFields ∷ Header (ShelleyBlock proto era) → HeaderFields (Header (ShelleyBlock proto era)) #

DecodeDiskDep (NestedCtxt Header) ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

DecodeDiskDepIx (NestedCtxt Header) ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDiskDep (NestedCtxt Header) ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDiskDepIx (NestedCtxt Header) ByronBlock Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

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

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

SerialiseHFC xs ⇒ DecodeDiskDep (NestedCtxt Header) (HardForkBlock xs) Source # 
Instance details

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

SerialiseHFC xs ⇒ DecodeDiskDepIx (NestedCtxt Header) (HardForkBlock xs) Source # 
Instance details

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

SerialiseHFC xs ⇒ EncodeDiskDep (NestedCtxt Header) (HardForkBlock xs) Source # 
Instance details

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

SerialiseHFC xs ⇒ EncodeDiskDepIx (NestedCtxt Header) (HardForkBlock xs) Source # 
Instance details

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

ShelleyCompatible proto era ⇒ DecodeDiskDep (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDiskDep ∷ CodecConfig (ShelleyBlock proto era) → NestedCtxt Header (ShelleyBlock proto era) a → ∀ s. Decoder s (ByteString → a) Source #

ShelleyBasedEra era ⇒ DecodeDiskDepIx (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

EncodeDiskDep (NestedCtxt Header) m ⇒ EncodeDiskDep (NestedCtxt Header) (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

encodeDiskDep ∷ CodecConfig (DualBlock m a) → NestedCtxt Header (DualBlock m a) a0 → a0 → Encoding Source #

ShelleyCompatible proto era ⇒ EncodeDiskDep (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDiskDep ∷ CodecConfig (ShelleyBlock proto era) → NestedCtxt Header (ShelleyBlock proto era) a → a → Encoding Source #

EncodeDiskDepIx (NestedCtxt Header) m ⇒ EncodeDiskDepIx (NestedCtxt Header) (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

ShelleyBasedEra era ⇒ EncodeDiskDepIx (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Show (Header m) ⇒ Show (DualHeader m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → DualHeader m a → ShowS #

show ∷ DualHeader m a → String #

showList ∷ [DualHeader m a] → ShowS #

Bridge m a ⇒ HasHeader (DualHeader m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

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

CBOR-in-CBOR to be compatible with the wrapped (Serialised) variant.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → Header (ShelleyBlock proto era) → Encoding Source #

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) (ByteString → Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (ByteString → Header (ShelleyBlock proto era)) Source #

All SingleEraBlock xs ⇒ Show (NestedCtxt_ (HardForkBlock xs) Header a) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

data Header ByronBlock Source #

Byron header

See ByronBlock for comments on why we cache certain values.

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type HeaderHash (Header blk ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.Abstract

type HeaderHash (Header blk ∷ Type) = HeaderHash blk
type Rep (Header ByronBlock) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type Rep (Header ByronBlock) = D1 ('MetaData "Header" "Ouroboros.Consensus.Byron.Ledger.Block" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ByronHeader" 'PrefixI 'True) ((S1 ('MetaSel ('Just "byronHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ABlockOrBoundaryHdr ByteString)) :*: S1 ('MetaSel ('Just "byronHeaderSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo)) :*: (S1 ('MetaSel ('Just "byronHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByronHash) :*: S1 ('MetaSel ('Just "byronHeaderBlockSizeHint") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SizeInBytes))))
type Rep (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type Rep (Header (ShelleyBlock proto era)) = D1 ('MetaData "Header" "Ouroboros.Consensus.Shelley.Ledger.Block" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyHeader" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ShelleyProtocolHeader proto)) :*: S1 ('MetaSel ('Just "shelleyHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyHash)))
type BlockProtocol (Header blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.Abstract

newtype Header (DisableDiffusionPipelining blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsDiffusionPipelining

newtype Header (SelectViewDiffusionPipelining blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.SupportsDiffusionPipelining

newtype Header (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

type Signed (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Protocol

newtype Header (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data Header (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

class (ShelleyCompatible (BlockProtocol blk) (ShelleyBlockLedgerEra blk), blk ~ ShelleyBlock (BlockProtocol blk) (ShelleyBlockLedgerEra blk)) ⇒ IsShelleyBlock blk Source #

Instances

Instances details
(proto ~ BlockProtocol (ShelleyBlock proto era), ShelleyCompatible proto era) ⇒ IsShelleyBlock (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

data family NestedCtxt_ blk ∷ (Type → Type) → Type → Type Source #

Context identifying what kind of block we have

In almost all places we will use NestedCtxt rather than NestedCtxt_.

Instances

Instances details
CanHardFork xs ⇒ SameDepIndex (NestedCtxt_ (HardForkBlock xs) Header ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

SameDepIndex (NestedCtxt_ m f) ⇒ SameDepIndex (NestedCtxt_ (DualBlock m a) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

sameDepIndex ∷ NestedCtxt_ (DualBlock m a) f a0 → NestedCtxt_ (DualBlock m a) f b → Maybe (a0 :~: b) Source #

SameDepIndex (NestedCtxt_ ByronBlock f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

SameDepIndex (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

sameDepIndex ∷ NestedCtxt_ (ShelleyBlock proto era) f a → NestedCtxt_ (ShelleyBlock proto era) f b → Maybe (a :~: b) Source #

TrivialDependency (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

hasSingleIndex ∷ NestedCtxt_ (ShelleyBlock proto era) f a → NestedCtxt_ (ShelleyBlock proto era) f b → a :~: b Source #

indexIsTrivial ∷ NestedCtxt_ (ShelleyBlock proto era) f (TrivialIndex (NestedCtxt_ (ShelleyBlock proto era) f) ∷ Type) Source #

All SingleEraBlock xs ⇒ Show (NestedCtxt_ (HardForkBlock xs) Header a) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

Show (NestedCtxt_ m f x) ⇒ Show (NestedCtxt_ (DualBlock m a) f x) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showsPrec ∷ Int → NestedCtxt_ (DualBlock m a) f x → ShowS #

show ∷ NestedCtxt_ (DualBlock m a) f x → String #

showList ∷ [NestedCtxt_ (DualBlock m a) f x] → ShowS #

Show (NestedCtxt_ ByronBlock f a) Source # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

Show (NestedCtxt_ (ShelleyBlock proto era) f a) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

showsPrec ∷ Int → NestedCtxt_ (ShelleyBlock proto era) f a → ShowS #

show ∷ NestedCtxt_ (ShelleyBlock proto era) f a → String #

showList ∷ [NestedCtxt_ (ShelleyBlock proto era) f a] → ShowS #

data NestedCtxt_ ByronBlock f a Source #

Since the Byron header does not contain the size, we include it in the nested type instead.

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

type TrivialIndex (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type TrivialIndex (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) = f (ShelleyBlock proto era)
data NestedCtxt_ (HardForkBlock xs) a b Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

data NestedCtxt_ (HardForkBlock xs) a b where
newtype NestedCtxt_ (DualBlock m a) f x Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

newtype NestedCtxt_ (DualBlock m a) f x where
data NestedCtxt_ (ShelleyBlock proto era) f a Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

data NestedCtxt_ (ShelleyBlock proto era) f a where

class (EraBlockBody era, EraGov era, ApplyTx era, ApplyTick era, EraTransition era, EraForecast era, NoThunks (StashedAVVMAddresses era), EncCBOR (StashedAVVMAddresses era), DecCBOR (StashedAVVMAddresses era), Show (StashedAVVMAddresses era), Eq (StashedAVVMAddresses era), DecCBOR (PredicateFailure (EraRule "LEDGER" era)), EncCBOR (PredicateFailure (EraRule "LEDGER" era)), DecCBOR (PredicateFailure (EraRule "UTXOW" era)), EncCBOR (PredicateFailure (EraRule "UTXOW" era)), Eq (PredicateFailure (EraRule "BBODY" era)), Show (PredicateFailure (EraRule "BBODY" era)), NoThunks (TranslationContext era), ToCBOR (TranslationContext era), FromCBOR (TranslationContext era)) ⇒ ShelleyBasedEra era Source #

Consensus often needs some more functionality than the ledger currently provides.

Either the functionality shouldn't or can't live in the ledger, in which case it can be part and remain part of ShelleyBasedEra. Or, the functionality should live in the ledger, but hasn't yet been added to the ledger, or it hasn't yet been propagated to this repository, in which case it can be added to this class until that is the case.

If this class becomes redundant, We can move it to ledger and re-export it from here.

TODO Currently we include some constraints on the update state which are needed to determine the hard fork point. In the future this should be replaced with an appropriate API - see https://github.com/IntersectMBO/ouroboros-network/issues/2890

Instances

Instances details
ShelleyBasedEra AllegraEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

ShelleyBasedEra AlonzoEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

ShelleyBasedEra BabbageEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

ShelleyBasedEra ConwayEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

ShelleyBasedEra DijkstraEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

ShelleyBasedEra MaryEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

ShelleyBasedEra ShelleyEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

data ShelleyBlock proto era Source #

Shelley-based block type.

This block is parametrised over both the (ledger) era and the protocol.

Instances

Instances details
SameDepIndex2 (BlockQuery (ShelleyBlock proto era) ∷ QueryFootprint → Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

Methods

sameDepIndex2 ∷ ∀ (x ∷ QueryFootprint) a (y ∷ QueryFootprint) b. BlockQuery (ShelleyBlock proto era) x a → BlockQuery (ShelleyBlock proto era) y b → Maybe ('(x, a) :~: '(y, b)) Source #

CardanoHardForkConstraints c ⇒ SerializeTablesWithHint LedgerState (HardForkBlock (CardanoEras c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

ShelleyCompatible proto era ⇒ SerializeTablesWithHint LedgerState (HardForkBlock '[ShelleyBlock proto era]) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

(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 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 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 #

(txout ~ TxOut era, MemPack txout) ⇒ IndexedMemPack LedgerState (HardForkBlock '[ShelleyBlock proto era]) txout Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

CardanoHardForkConstraints c ⇒ IndexedMemPack LedgerState (HardForkBlock (CardanoEras c)) (CardanoTxOut c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

HasNestedContent f (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

unnest ∷ f (ShelleyBlock proto era) → DepPair (NestedCtxt f (ShelleyBlock proto era)) Source #

nest ∷ DepPair (NestedCtxt f (ShelleyBlock proto era)) → f (ShelleyBlock proto era) Source #

ShelleyCompatible proto era ⇒ ApplyBlock LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

ShelleyBasedEra era ⇒ IsLedger LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type LedgerErr LedgerState (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

CanUpgradeLedgerTables LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). LedgerState (ShelleyBlock proto era) mk1 → LedgerState (ShelleyBlock proto era) mk2 → LedgerTables (ShelleyBlock proto era) ValuesMK → LedgerTables (ShelleyBlock proto era) ValuesMK Source #

ShelleyBasedEra era ⇒ HasLedgerTables LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (ShelleyBlock proto era) mk → LedgerTables (ShelleyBlock proto era) mk Source #

withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (ShelleyBlock proto era) any → LedgerTables (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk Source #

ShelleyCompatible proto era ⇒ SerializeTablesWithHint LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

ShelleyBasedEra era ⇒ ReconstructNestedCtxt Header (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

SameDepIndex (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

sameDepIndex ∷ NestedCtxt_ (ShelleyBlock proto era) f a → NestedCtxt_ (ShelleyBlock proto era) f b → Maybe (a :~: b) Source #

TrivialDependency (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

hasSingleIndex ∷ NestedCtxt_ (ShelleyBlock proto era) f a → NestedCtxt_ (ShelleyBlock proto era) f b → a :~: b Source #

indexIsTrivial ∷ NestedCtxt_ (ShelleyBlock proto era) f (TrivialIndex (NestedCtxt_ (ShelleyBlock proto era) f) ∷ Type) Source #

StandardHash (ShelleyBlock proto era ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

showProxy ∷ Proxy (ShelleyBlock proto era) → String #

ShelleyCompatible proto era ⇒ SerialiseBlockQueryResult (ShelleyBlock proto era) BlockQuery Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) fp result → result → Encoding Source #

decodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) fp result → ∀ s. Decoder s result Source #

(txout ~ TxOut era, MemPack txout) ⇒ IndexedMemPack LedgerState (ShelleyBlock proto era) txout Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

indexedPackedByteCount ∷ LedgerState (ShelleyBlock proto era) EmptyMK → txout → Int Source #

indexedPackM ∷ LedgerState (ShelleyBlock proto era) EmptyMK → txout → Pack s () Source #

indexedUnpackM ∷ Buffer b ⇒ ∀ s. LedgerState (ShelleyBlock proto era) EmptyMK → Unpack s b txout Source #

indexedTypeName ∷ Proxy txout → LedgerState (ShelleyBlock proto era) EmptyMK → String Source #

(ShelleyBasedEra era, ShelleyBasedEra (PreviousEra era), TranslateEra era (ShelleyTip proto), TranslateEra era NewEpochState, TranslationError era NewEpochState ~ Void, CanMapMK mk, CanMapKeysMK mk) ⇒ TranslateEra era (Flip LedgerState mk :.: ShelleyBlock proto) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

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 #

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 #

ShelleyCompatible proto era ⇒ DecCBOR (Annotator (Header (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

decCBOR ∷ Decoder s (Annotator (Header (ShelleyBlock proto era))) Source #

dropCBOR ∷ Proxy (Annotator (Header (ShelleyBlock proto era))) → Decoder s () Source #

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

ShelleyCompatible proto era ⇒ DecCBOR (Annotator (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

decCBOR ∷ Decoder s (Annotator (ShelleyBlock proto era)) Source #

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

label ∷ Proxy (Annotator (ShelleyBlock proto era)) → Text 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 #

ShelleyCompatible proto era ⇒ EncCBOR (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

encCBOR ∷ Header (ShelleyBlock proto era) → Encoding 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 #

ShelleyCompatible proto era ⇒ Eq (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

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

Eq (CanonicalTxIn (CardanoEras c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Eq (CanonicalTxIn '[ShelleyBlock proto era]) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

(==) ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Bool #

(/=) ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Bool #

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 #

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 #

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 #

Ord (CanonicalTxIn (CardanoEras c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Ord (CanonicalTxIn '[ShelleyBlock proto era]) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

compare ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Ordering #

(<) ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Bool #

(<=) ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Bool #

(>) ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Bool #

(>=) ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → Bool #

max ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] #

min ∷ CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] → CanonicalTxIn '[ShelleyBlock proto era] #

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 (BlockConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Associated Types

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (BlockConfig (ShelleyBlock proto era)) = D1 ('MetaData "BlockConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer) :*: S1 ('MetaSel ('Just "shelleySystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemStart)) :*: (S1 ('MetaSel ('Just "shelleyNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NetworkMagic) :*: (S1 ('MetaSel ('Just "shelleyBlockIssuerVKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'BlockIssuer) (VKey 'BlockIssuer))) :*: S1 ('MetaSel ('Just "shelleyVRFTiebreakerFlavor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 VRFTiebreakerFlavor)))))

Methods

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

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

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Associated Types

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (CodecConfig (ShelleyBlock proto era)) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyCodecConfig" 'PrefixI 'False) (U1 ∷ Type → Type))

Methods

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

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

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Associated Types

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type Rep (Header (ShelleyBlock proto era)) = D1 ('MetaData "Header" "Ouroboros.Consensus.Shelley.Ledger.Block" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyHeader" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ShelleyProtocolHeader proto)) :*: S1 ('MetaSel ('Just "shelleyHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyHash)))

Methods

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

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

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Associated Types

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (StorageConfig (ShelleyBlock proto era)) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyStorageConfigSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Just "shelleyStorageConfigSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam)))

Methods

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

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

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

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

Methods

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

show ∷ BlockConfig (ShelleyBlock proto era) → String #

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

ShelleyCompatible proto era ⇒ Show (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

show ∷ Header (ShelleyBlock proto era) → String #

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

Show (CanonicalTxIn (CardanoEras c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Show (CanonicalTxIn '[ShelleyBlock proto era]) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

showsPrec ∷ Int → CanonicalTxIn '[ShelleyBlock proto era] → ShowS #

show ∷ CanonicalTxIn '[ShelleyBlock proto era] → String #

showList ∷ [CanonicalTxIn '[ShelleyBlock proto era]] → ShowS #

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 #

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 (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 #

CardanoHardForkConstraints c ⇒ MemPack (CanonicalTxIn (CardanoEras c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

MemPack (CanonicalTxIn '[ShelleyBlock proto era]) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

NoThunks (CodecConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

ShelleyCompatible proto era ⇒ NoThunks (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

NoThunks (StorageConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

NoThunks (CanonicalTxIn (CardanoEras c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

NoThunks (CanonicalTxIn '[ShelleyBlock proto era]) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.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 #

CardanoHardForkConstraints c ⇒ CanHardFork (CardanoEras c) Source #

When performing era translations, two eras have special behaviours on the ledger tables:

  • Byron to Shelley: as Byron has no tables, the whole UTxO set is computed as insertions, note that it uses valuesAsDiffs
  • Shelley to Allegra: some special addresses (the so called AVVM addresses), were deleted in this transition, which influenced things like the calculation of later rewards. In this transition, we consume the shelleyToAllegraAVVMsToDelete as deletions in the ledger tables.
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

CardanoHardForkConstraints c ⇒ CondenseConstraints (CardanoBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c ⇒ HasCanonicalTxIn (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Associated Types

newtype CanonicalTxIn (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

CardanoHardForkConstraints c ⇒ HasHardForkTxOut (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Associated Types

type HardForkTxOut (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

CardanoHardForkConstraints c ⇒ BlockSupportsHFLedgerQuery (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.QueryHF

CardanoHardForkConstraints c ⇒ SerialiseHFC (CardanoEras c) Source #

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/IntersectMBO/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

GetTip (LedgerState (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

getTip ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Point (LedgerState (ShelleyBlock proto era)) Source #

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

Defined in Ouroboros.Consensus.Shelley.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 #

LedgerStateSupportsPeras (LedgerState (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

ShelleyBasedEra era ⇒ CanStowLedgerTables (LedgerState (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

CardanoHardForkConstraints c ⇒ SupportedNetworkProtocolVersion (CardanoBlock c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

SignedHeader (ShelleyProtocolHeader proto) ⇒ SignedHeader (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Protocol

Methods

headerSigned ∷ Header (ShelleyBlock proto era) → Signed (Header (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era ⇒ Condense (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

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 (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

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

ShelleyCompatible proto era ⇒ HasHeader (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

getHeaderFields ∷ Header (ShelleyBlock proto era) → HeaderFields (Header (ShelleyBlock proto era)) #

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

ShelleyCompatible proto era ⇒ DecodeDiskDep (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDiskDep ∷ CodecConfig (ShelleyBlock proto era) → NestedCtxt Header (ShelleyBlock proto era) a → ∀ s. Decoder s (ByteString → a) Source #

ShelleyBasedEra era ⇒ DecodeDiskDepIx (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ EncodeDiskDep (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDiskDep ∷ CodecConfig (ShelleyBlock proto era) → NestedCtxt Header (ShelleyBlock proto era) a → a → Encoding Source #

ShelleyBasedEra era ⇒ EncodeDiskDepIx (NestedCtxt Header) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ EncCBOR (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

encCBOR ∷ ShelleyBlock proto era → Encoding Source #

(ShelleyBasedEra era, EqMK mk) ⇒ Eq (LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

(==) ∷ LedgerState (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk → Bool #

(/=) ∷ LedgerState (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk → Bool #

ShelleyCompatible proto era ⇒ Eq (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

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

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

Generic (LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type Rep (LedgerState (ShelleyBlock proto era) mk) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type Rep (LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "shelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era))) :*: (S1 ('MetaSel ('Just "shelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition) :*: S1 ('MetaSel ('Just "shelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (ShelleyBlock proto era) mk)))))

Methods

from ∷ LedgerState (ShelleyBlock proto era) mk → Rep (LedgerState (ShelleyBlock proto era) mk) x #

to ∷ Rep (LedgerState (ShelleyBlock proto era) mk) x → LedgerState (ShelleyBlock proto era) mk #

(ShelleyBasedEra era, ShowMK mk) ⇒ Show (LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

showsPrec ∷ Int → LedgerState (ShelleyBlock proto era) mk → ShowS #

show ∷ LedgerState (ShelleyBlock proto era) mk → String #

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

ShelleyCompatible proto era ⇒ Show (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

showsPrec ∷ Int → ShelleyBlock proto era → ShowS #

show ∷ ShelleyBlock proto era → String #

showList ∷ [ShelleyBlock proto era] → ShowS #

(ShelleyBasedEra era, NoThunksMK mk) ⇒ NoThunks (LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

StandardHash (ShelleyBlock proto era) ⇒ ConvertRawHash (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Associated Types

type HashSize (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type HashSize (ShelleyBlock proto era) = HashSize HASH

Methods

toRawHash ∷ proxy (ShelleyBlock proto era) → HeaderHash (ShelleyBlock proto era) → ByteString Source #

toShortRawHash ∷ proxy (ShelleyBlock proto era) → HeaderHash (ShelleyBlock proto era) → ShortByteString Source #

fromRawHash ∷ proxy (ShelleyBlock proto era) → ByteString → Maybe (HeaderHash (ShelleyBlock proto era)) Source #

fromShortRawHash ∷ proxy (ShelleyBlock proto era) → ShortByteString → Maybe (HeaderHash (ShelleyBlock proto era)) Source #

unsafeFromRawHash ∷ proxy (ShelleyBlock proto era) → ByteString → HeaderHash (ShelleyBlock proto era) Source #

unsafeFromShortRawHash ∷ proxy (ShelleyBlock proto era) → ShortByteString → HeaderHash (ShelleyBlock proto era) Source #

hashSize ∷ proxy (ShelleyBlock proto era) → Word32 Source #

ShelleyCompatible proto era ⇒ GetHeader (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

getHeader ∷ ShelleyBlock proto era → Header (ShelleyBlock proto era) Source #

blockMatchesHeader ∷ Header (ShelleyBlock proto era) → ShelleyBlock proto era → Bool Source #

headerIsEBB ∷ Header (ShelleyBlock proto era) → Maybe EpochNo Source #

ShelleyCompatible proto era ⇒ GetPrevHash (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

headerPrevHash ∷ Header (ShelleyBlock proto era) → ChainHash (ShelleyBlock proto era) Source #

(ShelleyCompatible proto era, BlockSupportsProtocol (ShelleyBlock proto era)) ⇒ BlockSupportsDiffusionPipelining (ShelleyBlock proto era) Source #

A header can be pipelined iff no trap header with the same block number and by the same issuer was pipelined before. See HotIdentity for what exactly we use for the issuer identity.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.DiffusionPipelining

ShelleyCompatible proto era ⇒ BlockSupportsMetrics (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

Typeable proto ⇒ BlockSupportsPeras (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

ShelleyCompatible proto era ⇒ BlockSupportsProtocol (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Protocol

ConsensusProtocol proto ⇒ BlockSupportsSanityCheck (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node

ConfigSupportsNode (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Common

Methods

getSystemStart ∷ BlockConfig (ShelleyBlock proto era) → SystemStart Source #

getNetworkMagic ∷ BlockConfig (ShelleyBlock proto era) → NetworkMagic Source #

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type HardForkIndices (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type HardForkIndices (ShelleyBlock proto era) = '[ShelleyBlock proto era]

Methods

hardForkSummary ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock proto era) → LedgerState (ShelleyBlock proto era) mk → Summary (HardForkIndices (ShelleyBlock proto era)) Source #

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era)) ⇒ ImmutableEraParams (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era), Crypto (ProtoCrypto proto)) ⇒ NoHardForks (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

toPartialLedgerConfig ∷ proxy (ShelleyBlock proto era) → LedgerConfig (ShelleyBlock proto era) → PartialLedgerConfig (ShelleyBlock proto era) Source #

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era), Crypto (ProtoCrypto proto)) ⇒ SingleEraBlock (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

singleEraTransition ∷ ∀ (mk ∷ MapKind). PartialLedgerConfig (ShelleyBlock proto era) → EraParams → Bound → LedgerState (ShelleyBlock proto era) mk → Maybe EpochNo Source #

singleEraInfo ∷ proxy (ShelleyBlock proto era) → SingleEraInfo (ShelleyBlock proto era) Source #

ShelleyCompatible proto era ⇒ CondenseConstraints (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

ShelleyCompatible proto era ⇒ HasPartialLedgerConfig (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type PartialLedgerConfig (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era), SerialiseNodeToNodeConstraints (ShelleyBlock proto era), Crypto (ProtoCrypto proto)) ⇒ SerialiseConstraintsHFC (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

ShelleyCompatible proto era ⇒ BasicEnvelopeValidation (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

expectedFirstBlockNo ∷ proxy (ShelleyBlock proto era) → BlockNo Source #

expectedNextBlockNo ∷ proxy (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → BlockNo → BlockNo Source #

minimumPossibleSlotNo ∷ Proxy (ShelleyBlock proto era) → SlotNo Source #

minimumNextSlotNo ∷ proxy (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → SlotNo → SlotNo Source #

ShelleyCompatible proto era ⇒ HasAnnTip (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Associated Types

type TipInfo (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type TipInfo (ShelleyBlock proto era) = HeaderHash (ShelleyBlock proto era)

Methods

getTipInfo ∷ Header (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) Source #

tipInfoHash ∷ proxy (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → HeaderHash (ShelleyBlock proto era) Source #

ShelleyCompatible proto era ⇒ ValidateEnvelope (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type OtherHeaderEnvelopeError (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

ShelleyCompatible proto era ⇒ GetBlockKeySets (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

getBlockKeySets ∷ ShelleyBlock proto era → LedgerTables (ShelleyBlock proto era) KeysMK Source #

ShelleyCompatible proto era ⇒ UpdateLedger (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

ShelleyCompatible proto era ⇒ CommonProtocolParams (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

maxHeaderSize ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Word32 Source #

maxTxSize ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Word32 Source #

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Inspect

Associated Types

type LedgerWarning (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Inspect

type LedgerWarning (ShelleyBlock proto era) = Void
type LedgerUpdate (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Inspect

Methods

inspectLedger ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). TopLevelConfig (ShelleyBlock proto era) → LedgerState (ShelleyBlock proto era) mk1 → LedgerState (ShelleyBlock proto era) mk2 → [LedgerEvent (ShelleyBlock proto era)] Source #

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), ConfigSupportsNode (ShelleyBlock proto era), ProtoCrypto proto ~ crypto, Crypto crypto) ⇒ BlockSupportsLedgerQuery (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

Methods

answerPureBlockQuery ∷ ExtLedgerCfg (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) 'QFNoTables result → ExtLedgerState (ShelleyBlock proto era) EmptyMK → result Source #

answerBlockQueryLookup ∷ MonadSTM m ⇒ ExtLedgerCfg (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) 'QFLookupTables result → ReadOnlyForker' m (ShelleyBlock proto era) → m result Source #

answerBlockQueryTraverse ∷ MonadSTM m ⇒ ExtLedgerCfg (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) 'QFTraverseTables result → ReadOnlyForker' m (ShelleyBlock proto era) → m result Source #

blockQueryIsSupportedOnVersion ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery (ShelleyBlock proto era) fp result → BlockNodeToClientVersion (ShelleyBlock proto era) → Bool Source #

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

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

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

We anachronistically use ConwayMeasure in Babbage.

Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

EraCertState era ⇒ LedgerSupportsPeerSelection (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.PeerSelection

Methods

getPeers ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → [(PoolStake, NonEmpty StakePoolRelay)] Source #

(ShelleyCompatible (Praos crypto) era, EraForecast era, PraosCrypto crypto) ⇒ LedgerSupportsProtocol (ShelleyBlock (Praos crypto) era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.SupportsProtocol

Methods

protocolLedgerView ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock (Praos crypto) era) → Ticked LedgerState (ShelleyBlock (Praos crypto) era) mk → LedgerView (BlockProtocol (ShelleyBlock (Praos crypto) era)) Source #

ledgerViewForecastAt ∷ ∀ (mk ∷ MapKind). HasCallStack ⇒ LedgerConfig (ShelleyBlock (Praos crypto) era) → LedgerState (ShelleyBlock (Praos crypto) era) mk → Forecast (LedgerView (BlockProtocol (ShelleyBlock (Praos crypto) era))) Source #

(ShelleyCompatible (TPraos crypto) era, ShelleyEraForecast era, PraosCrypto crypto) ⇒ LedgerSupportsProtocol (ShelleyBlock (TPraos crypto) era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.SupportsProtocol

Methods

protocolLedgerView ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock (TPraos crypto) era) → Ticked LedgerState (ShelleyBlock (TPraos crypto) era) mk → LedgerView (BlockProtocol (ShelleyBlock (TPraos crypto) era)) Source #

ledgerViewForecastAt ∷ ∀ (mk ∷ MapKind). HasCallStack ⇒ LedgerConfig (ShelleyBlock (TPraos crypto) era) → LedgerState (ShelleyBlock (TPraos crypto) era) mk → Forecast (LedgerView (BlockProtocol (ShelleyBlock (TPraos crypto) era))) Source #

ShelleyCompatible proto era ⇒ NodeInitStorage (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Common

HasNetworkProtocolVersion (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.NetworkProtocolVersion

SupportedNetworkProtocolVersion (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.NetworkProtocolVersion

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era), Crypto (ProtoCrypto proto)) ⇒ SupportedNetworkProtocolVersion (ShelleyBlockHFC proto era) Source #

Forward to the ShelleyBlock instance. Only supports HardForkNodeToNodeDisabled, which is compatible with nodes running with ShelleyBlock.

Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), BlockSupportsSanityCheck (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era), NoHardForks (ShelleyBlock proto era), Crypto (ProtoCrypto proto), SerialiseNodeToNodeConstraints (ShelleyBlock proto era), ShowProxy (PerasCert (ShelleyBlock proto era)), ShowProxy (PerasVote (ShelleyBlock proto era))) ⇒ RunNode (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node

(NoHardForks (ShelleyBlock proto era), ShelleyCompatible proto era) ⇒ SerialiseNodeToClientConstraints (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto AllegraEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto AlonzoEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto BabbageEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto ConwayEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto DijkstraEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto MaryEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto ShelleyEra ⇒ SerialiseNodeToNodeConstraints (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

(Typeable proto, ChainDepStateSupportsPeras (ChainDepState proto), ChainDepStateSupportsPeras (Ticked (ChainDepState proto))) ⇒ StateSupportsPerasEpochContext (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

ShelleyCompatible proto era ⇒ SerialiseDiskConstraints (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ HasBinaryBlockInfo (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ Condense (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

condense ∷ ShelleyBlock proto era → String Source #

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

Defined in Ouroboros.Consensus.Cardano.CanHardFork.OptimizedTxIdComparison

Methods

toTxIdWords ∷ GenTxId (ShelleyBlock proto era) → (# Word64#, Word64#, Word64#, Word64# #) Source #

(proto ~ BlockProtocol (ShelleyBlock proto era), ShelleyCompatible proto era) ⇒ IsShelleyBlock (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

ShelleyCompatible proto era ⇒ HasHeader (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

getHeaderFields ∷ ShelleyBlock proto era → HeaderFields (ShelleyBlock proto era) #

ShelleyCompatible proto era ⇒ ShowQuery (BlockQuery (ShelleyBlock proto era) fp) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

Methods

showResult ∷ BlockQuery (ShelleyBlock proto era) fp result → result → String #

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

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) PraosState Source #
ChainDepState (BlockProtocol (ShelleyBlock era))
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s PraosState Source #

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) TPraosState Source #
ChainDepState (BlockProtocol (ShelleyBlock era))
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s TPraosState Source #

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) PraosState Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → PraosState → Encoding Source #

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) TPraosState Source #
ChainDepState (BlockProtocol (ShelleyBlock era))
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → TPraosState → Encoding Source #

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

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), ConfigSupportsNode (ShelleyBlock proto era)) ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (SomeBlockQuery (BlockQuery (ShelleyBlock proto era))) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

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

(NoHardForks (ShelleyBlock proto era), ShelleyCompatible proto era) ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (ShelleyLedgerConfig era) Source #

This instance uses the invariant that the EpochInfo in a ShelleyLedgerConfig is fixed i.e. has a constant EpochSize and SlotLength. This is not true in the case of the HFC in a ShelleyPartialLedgerConfig, but that is handled correctly in the respective SerialiseNodeToClient instance for ShelleyPartialLedgerConfig.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyBasedEra era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (ShelleyPartialLedgerConfig era) Source #

This instance uses the invariant that the EpochInfo in a ShelleyPartialLedgerConfig is always just a dummy value.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

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

CBOR-in-CBOR to be compatible with the wrapped (Serialised) variant.

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

SerialiseNodeToNode (ShelleyBlock proto era) (SerialisedHeader (ShelleyBlock proto era)) Source #

We use CBOR-in-CBOR

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) (AnnTip (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (AnnTip (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → Header (ShelleyBlock proto era) → Encoding Source #

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) (AnnTip (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → AnnTip (ShelleyBlock proto era) → Encoding Source #

(Typeable era, Typeable proto) ⇒ ShowProxy (BlockQuery (ShelleyBlock proto era) ∷ QueryFootprint → Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

Methods

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

ShelleyBasedEra era ⇒ HasLedgerTables (Ticked LedgerState) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (ShelleyBlock proto era) mk → LedgerTables (ShelleyBlock proto era) mk Source #

withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (ShelleyBlock proto era) any → LedgerTables (ShelleyBlock proto era) mk → Ticked LedgerState (ShelleyBlock proto era) mk Source #

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

CBOR-in-CBOR for the annotation. This also makes it compatible with the wrapped (Serialised) variant.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

SerialiseNodeToClient (ShelleyBlock proto era) (Serialised (ShelleyBlock proto era)) Source #

Serialised uses CBOR-in-CBOR by default.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → Serialised (ShelleyBlock proto era) → Encoding Source #

decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (Serialised (ShelleyBlock proto era)) Source #

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

CBOR-in-CBOR for the annotation. This also makes it compatible with the wrapped (Serialised) variant.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

SerialiseNodeToNode (ShelleyBlock proto era) (Serialised (ShelleyBlock proto era)) Source #

Serialised uses CBOR-in-CBOR by default.

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → Serialised (ShelleyBlock proto era) → Encoding Source #

decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (Serialised (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) EmptyMK) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (LedgerState (ShelleyBlock proto era) EmptyMK) Source #

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) (ByteString → Either DecoderError (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (ByteString → Either DecoderError (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) (ByteString → Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (ByteString → Header (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) EmptyMK) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ShelleyBlock proto era → Encoding Source #

Eq (BlockQuery (ShelleyBlock proto era) fp result) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

Methods

(==) ∷ BlockQuery (ShelleyBlock proto era) fp result → BlockQuery (ShelleyBlock proto era) fp result → Bool #

(/=) ∷ BlockQuery (ShelleyBlock proto era) fp result → BlockQuery (ShelleyBlock proto era) fp result → Bool #

Show (NestedCtxt_ (ShelleyBlock proto era) f a) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

showsPrec ∷ Int → NestedCtxt_ (ShelleyBlock proto era) f a → ShowS #

show ∷ NestedCtxt_ (ShelleyBlock proto era) f a → String #

showList ∷ [NestedCtxt_ (ShelleyBlock proto era) f a] → ShowS #

Show (BlockQuery (ShelleyBlock proto era) fp result) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

Methods

showsPrec ∷ Int → BlockQuery (ShelleyBlock proto era) fp result → ShowS #

show ∷ BlockQuery (ShelleyBlock proto era) fp result → String #

showList ∷ [BlockQuery (ShelleyBlock proto era) fp result] → ShowS #

(ShelleyCompatible proto era, ShelleyBasedEra era) ⇒ HasCanonicalTxIn '[ShelleyBlock proto era] Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

newtype CanonicalTxIn '[ShelleyBlock proto era] 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

injectCanonicalTxIn ∷ Index '[ShelleyBlock proto era] x → TxIn x → CanonicalTxIn '[ShelleyBlock proto era] Source #

ejectCanonicalTxIn ∷ Index '[ShelleyBlock proto era] x → CanonicalTxIn '[ShelleyBlock proto era] → TxIn x Source #

ShelleyCompatible proto era ⇒ HasHardForkTxOut '[ShelleyBlock proto era] Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

type HardForkTxOut '[ShelleyBlock proto era] 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type HardForkTxOut '[ShelleyBlock proto era] = TxOut era

Methods

injectHardForkTxOut ∷ Index '[ShelleyBlock proto era] x → TxOut x → HardForkTxOut '[ShelleyBlock proto era] Source #

ejectHardForkTxOut ∷ Index '[ShelleyBlock proto era] x → HardForkTxOut '[ShelleyBlock proto era] → TxOut x Source #

txOutEjections ∷ NP ((K (NS WrapTxOut '[ShelleyBlock proto era]) ∷ Type → Type) -.-> WrapTxOut) '[ShelleyBlock proto era] Source #

txOutTranslations ∷ Tails (Fn2 WrapTxOut) '[ShelleyBlock proto era] Source #

(ShelleyCompatible proto era, ShelleyBasedEra era, TxOut (ShelleyBlock proto era) ~ TxOut era, HasHardForkTxOut '[ShelleyBlock proto era]) ⇒ BlockSupportsHFLedgerQuery '[ShelleyBlock proto era] Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

answerBlockQueryHFLookup ∷ (All SingleEraBlock '[ShelleyBlock proto era], Monad m) ⇒ Index '[ShelleyBlock proto era] x → ExtLedgerCfg x → BlockQuery x 'QFLookupTables result → ReadOnlyForker' m (HardForkBlock '[ShelleyBlock proto era]) → m result Source #

answerBlockQueryHFTraverse ∷ (All SingleEraBlock '[ShelleyBlock proto era], Monad m) ⇒ Index '[ShelleyBlock proto era] x → ExtLedgerCfg x → BlockQuery x 'QFTraverseTables result → ReadOnlyForker' m (HardForkBlock '[ShelleyBlock proto era]) → m result Source #

queryLedgerGetTraversingFilter ∷ Index '[ShelleyBlock proto era] x → BlockQuery x 'QFTraverseTables result → TxOut (HardForkBlock '[ShelleyBlock proto era]) → Bool Source #

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era), SerialiseNodeToNodeConstraints (ShelleyBlock proto era), Crypto (ProtoCrypto proto)) ⇒ SerialiseHFC '[ShelleyBlock proto era] Source #

Use the default implementations. This means the serialisation of blocks includes an era wrapper. Each block should do this from the start to be prepared for future hard forks without having to do any bit twiddling.

Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

GetTip (Ticked LedgerState (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

getTip ∷ ∀ (mk ∷ MapKind). Ticked LedgerState (ShelleyBlock proto era) mk → Point (Ticked LedgerState (ShelleyBlock proto era)) Source #

LedgerStateSupportsPeras (Ticked LedgerState (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

ShelleyBasedEra era ⇒ CanStowLedgerTables (Ticked LedgerState (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Generic (Ticked LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type Rep (Ticked LedgerState (ShelleyBlock proto era) mk) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type Rep (Ticked LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (ShelleyBlock proto era) mk)))))

Methods

from ∷ Ticked LedgerState (ShelleyBlock proto era) mk → Rep (Ticked LedgerState (ShelleyBlock proto era) mk) x #

to ∷ Rep (Ticked LedgerState (ShelleyBlock proto era) mk) x → Ticked LedgerState (ShelleyBlock proto era) mk #

type TrivialIndex (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type TrivialIndex (NestedCtxt_ (ShelleyBlock proto era) f ∷ Type → Type) = f (ShelleyBlock proto era)
type LedgerCfg LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type LedgerErr LedgerState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type HeaderHash (ShelleyBlock proto era ∷ Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type HeaderHash (ShelleyBlock proto era ∷ Type) = ShelleyHash
type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (BlockConfig (ShelleyBlock proto era)) = D1 ('MetaData "BlockConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer) :*: S1 ('MetaSel ('Just "shelleySystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemStart)) :*: (S1 ('MetaSel ('Just "shelleyNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NetworkMagic) :*: (S1 ('MetaSel ('Just "shelleyBlockIssuerVKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'BlockIssuer) (VKey 'BlockIssuer))) :*: S1 ('MetaSel ('Just "shelleyVRFTiebreakerFlavor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 VRFTiebreakerFlavor)))))
type Rep (CodecConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (CodecConfig (ShelleyBlock proto era)) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyCodecConfig" 'PrefixI 'False) (U1 ∷ Type → Type))
type Rep (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type Rep (Header (ShelleyBlock proto era)) = D1 ('MetaData "Header" "Ouroboros.Consensus.Shelley.Ledger.Block" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyHeader" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ShelleyProtocolHeader proto)) :*: S1 ('MetaSel ('Just "shelleyHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyHash)))
type Rep (StorageConfig (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type Rep (StorageConfig (ShelleyBlock proto era)) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Shelley.Ledger.Config" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyStorageConfigSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Just "shelleyStorageConfigSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam)))
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 (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 HardForkTxMeasurePhase1 (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

type HardForkTxMeasurePhase2 (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

newtype CanonicalTxIn (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

type HardForkTxOut (CardanoEras c) Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

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

Defined in Ouroboros.Consensus.Shelley.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 Signed (Header (ShelleyBlock proto era)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Protocol

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

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type RawTxId (TxId (GenTx (ShelleyBlock proto era))) = ShortByteString
type Rep (LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type Rep (LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "shelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era))) :*: (S1 ('MetaSel ('Just "shelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition) :*: S1 ('MetaSel ('Just "shelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (ShelleyBlock proto era) mk)))))
data BlockConfig (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type BlockProtocol (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type BlockProtocol (ShelleyBlock proto era) = proto
data CodecConfig (ShelleyBlock proto era) Source #

No particular codec configuration is needed for Shelley

Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type HashSize (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type HashSize (ShelleyBlock proto era) = HashSize HASH
data Header (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

data StorageConfig (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Config

type CannotForge (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Common

type CannotForge (ShelleyBlock proto era) = CannotForgeError proto
type ForgeStateInfo (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Common

type ForgeStateInfo (ShelleyBlock proto era) = KESInfo
type ForgeStateUpdateError (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Common

type ForgeStateUpdateError (ShelleyBlock proto era) = KESEvolutionError
data NestedCtxt_ (ShelleyBlock proto era) f a Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

data NestedCtxt_ (ShelleyBlock proto era) f a where
type TentativeHeaderState (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.DiffusionPipelining

type TentativeHeaderView (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.DiffusionPipelining

type PerasCert (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCert (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCert (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCert (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCert (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCert (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCert (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasCrypto (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasError (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVote (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type PerasVotingCommitteeScheme (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type HardForkIndices (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type HardForkIndices (ShelleyBlock proto era) = '[ShelleyBlock proto era]
type PartialLedgerConfig (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type OtherHeaderEnvelopeError (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type TipInfo (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type TipInfo (ShelleyBlock proto era) = HeaderHash (ShelleyBlock proto era)
type AuxLedgerEvent (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

data LedgerState (ShelleyBlock proto era) mk Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type LedgerUpdate (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Inspect

type LedgerWarning (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Inspect

type LedgerWarning (ShelleyBlock proto era) = Void
data BlockQuery (ShelleyBlock proto era) fp result Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Query

data BlockQuery (ShelleyBlock proto era) fp result where
type ApplyTxErr (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type ApplyTxErr (ShelleyBlock proto era) = ApplyTxError era
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)
type TxMeasurePhase1 (ShelleyBlock p AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase1 (ShelleyBlock p AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase1 (ShelleyBlock p BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase1 (ShelleyBlock p ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase1 (ShelleyBlock p DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase1 (ShelleyBlock p MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase1 (ShelleyBlock p ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasurePhase2 (ShelleyBlock p ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxIn (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type TxIn (ShelleyBlock proto era) = BigEndianTxIn
type TxOut (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type TxOut (ShelleyBlock proto era) = TxOut era
type BlockNodeToClientVersion (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.NetworkProtocolVersion

type BlockNodeToNodeVersion (ShelleyBlock proto era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.NetworkProtocolVersion

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto AllegraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto AlonzoEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto BabbageEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto ConwayEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto DijkstraEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto MaryEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

type MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto ShelleyEra) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Peras

data Ticked LedgerState (ShelleyBlock proto era ∷ Type) (mk ∷ MapKind) Source #

Ticking only affects the state itself

Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

newtype CanonicalTxIn '[ShelleyBlock proto era] Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type HardForkTxOut '[ShelleyBlock proto era] Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type HardForkTxOut '[ShelleyBlock proto era] = TxOut era
type Rep (Ticked LedgerState (ShelleyBlock proto era) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type Rep (Ticked LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (ShelleyBlock proto era) mk)))))

type family ShelleyBlockLedgerEra blk where ... Source #

Equations

ShelleyBlockLedgerEra (ShelleyBlock proto era) = era 

newtype ShelleyHash Source #

Instances

Instances details
FromJSON ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

ToJSON ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

FromCBOR ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

ToCBOR ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Methods

toCBOR ∷ ShelleyHash → Encoding Source #

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

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

NFData ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Methods

rnf ∷ ShelleyHash → () #

Eq ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Ord ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Generic ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Associated Types

type Rep ShelleyHash 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

type Rep ShelleyHash = D1 ('MetaData "ShelleyHash" "Ouroboros.Consensus.Shelley.Protocol.Abstract" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ShelleyHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unShelleyHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Hash HASH EraIndependentBlockHeader))))
Show ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

NoThunks ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Condense ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

Serialise ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

type Rep ShelleyHash Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Protocol.Abstract

type Rep ShelleyHash = D1 ('MetaData "ShelleyHash" "Ouroboros.Consensus.Shelley.Protocol.Abstract" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ShelleyHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unShelleyHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Hash HASH EraIndependentBlockHeader))))

Shelley Compatibility

class (ShelleyBasedEra era, ShelleyProtocol proto, Eq (ShelleyProtocolHeader proto), Show (ShelleyProtocolHeader proto), NoThunks (ShelleyProtocolHeader proto), EncCBOR (ShelleyProtocolHeader proto), DecCBOR (Annotator (ShelleyProtocolHeader proto)), EraBlockHeader (ShelleyProtocolHeader proto) era, ApplyBlock (ShelleyProtocolHeader proto) era, Show (CannotForgeError proto), Show (TranslationContext era), EncCBOR (Block (ShelleyProtocolHeader proto) era), DecCBOR (Annotator (Block (ShelleyProtocolHeader proto) era)), TiebreakerView proto ~ PraosTiebreakerView (ProtoCrypto proto), SignedHeader (ShelleyProtocolHeader proto), DecodeDisk (ShelleyBlock proto era) (ChainDepState proto), EncodeDisk (ShelleyBlock proto era) (ChainDepState proto), HasPartialConsensusConfig proto, DecCBOR (PState era), Crypto (ProtoCrypto proto), StateSupportsPerasEpochContext (ShelleyBlock proto era), BlockSupportsPeras (ShelleyBlock proto era), MaybeEraIndexedEpochToPerasRoundInfo (ShelleyBlock proto era) ~ EpochToPerasRoundInfo, FromCBOR (LegacyPParams era), ToCBOR (LegacyPParams era)) ⇒ ShelleyCompatible proto era Source #

Instances

Instances details
PraosCrypto c ⇒ ShelleyCompatible (Praos c) BabbageEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

PraosCrypto c ⇒ ShelleyCompatible (Praos c) ConwayEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

PraosCrypto c ⇒ ShelleyCompatible (Praos c) DijkstraEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

PraosCrypto c ⇒ ShelleyCompatible (TPraos c) AllegraEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

PraosCrypto c ⇒ ShelleyCompatible (TPraos c) AlonzoEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

PraosCrypto c ⇒ ShelleyCompatible (TPraos c) MaryEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

PraosCrypto c ⇒ ShelleyCompatible (TPraos c) ShelleyEra Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

Serialisation

decodeShelleyHeader ∷ ShelleyCompatible proto era ⇒ ∀ s. Decoder s (ByteString → Header (ShelleyBlock proto era)) Source #

Conversion

fromShelleyPrevHash ∷ PrevHash → ChainHash (ShelleyBlock proto era) Source #

From cardano-ledger-specs to ouroboros-consensus

toShelleyPrevHash ∷ ChainHash (Header (ShelleyBlock proto era)) → PrevHash Source #

From ouroboros-consensus to cardano-ledger-specs