ouroboros-consensus-cardano-0.20.0.0: The instantation of the Ouroboros consensus layer used by Cardano
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Shelley.ShelleyHFC

Description

This module is the Shelley Hard Fork Combinator

Synopsis

Documentation

type ShelleyBlockHFC proto era = HardForkBlock '[ShelleyBlock proto era] Source #

Shelley as the single era in the hard fork combinator

data ShelleyPartialLedgerConfig era Source #

Constructors

ShelleyPartialLedgerConfig 

Fields

Instances

Instances details
Generic (ShelleyPartialLedgerConfig era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

type Rep (ShelleyPartialLedgerConfig era) ∷ TypeType #

(NoThunks (TranslationContext era), Era era) ⇒ NoThunks (ShelleyPartialLedgerConfig era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type Rep (ShelleyPartialLedgerConfig era) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type Rep (ShelleyPartialLedgerConfig era) = D1 ('MetaData "ShelleyPartialLedgerConfig" "Ouroboros.Consensus.Shelley.ShelleyHFC" "ouroboros-consensus-cardano-0.20.0.0-inplace" 'False) (C1 ('MetaCons "ShelleyPartialLedgerConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyLedgerConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ShelleyLedgerConfig era)) :*: S1 ('MetaSel ('Just "shelleyTriggerHardFork") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TriggerHardFork)))

crossEraForecastAcrossShelley ∷ ∀ eraFrom eraTo protoFrom protoTo. (TranslateProto protoFrom protoTo, LedgerSupportsProtocol (ShelleyBlock protoFrom eraFrom)) ⇒ RequiringBoth WrapLedgerConfig (CrossEraForecaster LedgerState WrapLedgerView) (ShelleyBlock protoFrom eraFrom) (ShelleyBlock protoTo eraTo) Source #

forecastAcrossShelley Source #

Arguments

∷ ∀ protoFrom protoTo eraFrom eraTo. (TranslateProto protoFrom protoTo, LedgerSupportsProtocol (ShelleyBlock protoFrom eraFrom)) 
ShelleyLedgerConfig eraFrom 
ShelleyLedgerConfig eraTo 
Bound

Transition between the two eras

SlotNo

Forecast for this slot

LedgerState (ShelleyBlock protoFrom eraFrom) 
Except OutsideForecastRange (WrapLedgerView (ShelleyBlock protoTo eraTo)) 

Forecast from a Shelley-based era to the next Shelley-based era.

translateChainDepStateAcrossShelley ∷ ∀ eraFrom eraTo protoFrom protoTo. TranslateProto protoFrom protoTo ⇒ RequiringBoth WrapConsensusConfig (Translate WrapChainDepState) (ShelleyBlock protoFrom eraFrom) (ShelleyBlock protoTo eraTo) Source #

Orphan instances

(ShelleyBasedEra era, ShelleyBasedEra (PreviousEra era), Era (PreviousEra era), EraCrypto (PreviousEra era) ~ EraCrypto era) ⇒ TranslateEra era (ShelleyTip proto) Source # 
Instance details

Associated Types

type TranslationError era (ShelleyTip proto) Source #

Methods

translateEraTranslationContext era → ShelleyTip proto (PreviousEra era) → Except (TranslationError era (ShelleyTip proto)) (ShelleyTip proto era) Source #

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

Associated Types

type TranslationError era (LedgerState :.: ShelleyBlock proto) Source #

(ShelleyBasedEra era, TranslateEra era WrapTx) ⇒ TranslateEra era (GenTx :.: ShelleyBlock proto) Source # 
Instance details

Associated Types

type TranslationError era (GenTx :.: ShelleyBlock proto) Source #

(ShelleyBasedEra era, TranslateEra era WrapTx) ⇒ TranslateEra era (WrapValidatedGenTx :.: ShelleyBlock proto) Source # 
Instance details

Associated Types

type TranslationError era (WrapValidatedGenTx :.: ShelleyBlock proto) Source #

PraosCrypto c ⇒ HasPartialConsensusConfig (Praos c) Source # 
Instance details

Associated Types

type PartialConsensusConfig (Praos c) Source #

PraosCrypto c ⇒ HasPartialConsensusConfig (TPraos c) Source # 
Instance details

Associated Types

type PartialConsensusConfig (TPraos c) Source #

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

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

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

Associated Types

type PartialLedgerConfig (ShelleyBlock proto era) Source #

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

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

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

Instance details

(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era), TxLimits (ShelleyBlock proto era)) ⇒ 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