ouroboros-consensus-cardano-0.1.0.0: The instantation of the Ouroboros consensus layer used by Cardano
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Cardano.CanHardFork

Synopsis

Documentation

data ByronPartialLedgerConfig Source #

When Byron is part of the hard-fork combinator, we use the partial ledger config. Standalone Byron uses the regular ledger config. This means that the partial ledger config is the perfect place to store the trigger condition for the hard fork to Shelley, as we don't have to modify the ledger config for standalone Byron.

Instances

Instances details
Generic ByronPartialLedgerConfig Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Associated Types

type Rep ByronPartialLedgerConfigTypeType Source #

NoThunks ByronPartialLedgerConfig Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

noThunks ∷ Context → ByronPartialLedgerConfigIO (Maybe ThunkInfo) #

wNoThunks ∷ Context → ByronPartialLedgerConfigIO (Maybe ThunkInfo) #

showTypeOfProxy ByronPartialLedgerConfigString #

type Rep ByronPartialLedgerConfig Source # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

type Rep ByronPartialLedgerConfig = D1 ('MetaData "ByronPartialLedgerConfig" "Ouroboros.Consensus.Cardano.CanHardFork" "ouroboros-consensus-cardano-0.1.0.0-inplace" 'False) (C1 ('MetaCons "ByronPartialLedgerConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronLedgerConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerConfig ByronBlock)) :*: S1 ('MetaSel ('Just "byronTriggerHardFork") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TriggerHardFork)))

data TriggerHardFork Source #

The trigger condition that will cause the hard fork transition.

Constructors

TriggerHardForkAtVersion !Word16

Trigger the transition when the on-chain protocol major version (from the ledger state) reaches this number.

Note: The HFC logic does not require the trigger version for one era to be the successor of the trigger version for the previous era.

TriggerHardForkAtEpoch !EpochNo

For testing only, trigger the transition at a specific hard-coded epoch, irrespective of the ledger state.

TriggerHardForkNever

Never trigger a hard fork

Instances

Instances details
Show TriggerHardFork 
Instance details

Defined in Ouroboros.Consensus.HardFork.Simple

Generic TriggerHardFork 
Instance details

Defined in Ouroboros.Consensus.HardFork.Simple

Associated Types

type Rep TriggerHardForkTypeType Source #

NoThunks TriggerHardFork 
Instance details

Defined in Ouroboros.Consensus.HardFork.Simple

Methods

noThunks ∷ Context → TriggerHardForkIO (Maybe ThunkInfo) #

wNoThunks ∷ Context → TriggerHardForkIO (Maybe ThunkInfo) #

showTypeOfProxy TriggerHardForkString #

type Rep TriggerHardFork 
Instance details

Defined in Ouroboros.Consensus.HardFork.Simple

type Rep TriggerHardFork = D1 ('MetaData "TriggerHardFork" "Ouroboros.Consensus.HardFork.Simple" "ouroboros-consensus-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TriggerHardForkAtVersion" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word16)) :+: (C1 ('MetaCons "TriggerHardForkAtEpoch" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo)) :+: C1 ('MetaCons "TriggerHardForkNever" 'PrefixI 'False) (U1TypeType)))

Re-exports of Shelley code

data ShelleyPartialLedgerConfig era Source #

Constructors

ShelleyPartialLedgerConfig 

Fields

Instances

Instances details
Generic (ShelleyPartialLedgerConfig era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

type Rep (ShelleyPartialLedgerConfig era) ∷ TypeType Source #

ShelleyBasedEra era ⇒ NoThunks (ShelleyPartialLedgerConfig era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

noThunks ∷ Context → ShelleyPartialLedgerConfig era → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → ShelleyPartialLedgerConfig era → IO (Maybe ThunkInfo) #

showTypeOfProxy (ShelleyPartialLedgerConfig era) → String #

type Rep (ShelleyPartialLedgerConfig era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type Rep (ShelleyPartialLedgerConfig era) = D1 ('MetaData "ShelleyPartialLedgerConfig" "Ouroboros.Consensus.Shelley.ShelleyHFC" "ouroboros-consensus-shelley-0.1.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)))

forecastAcrossShelley Source #

Arguments

∷ (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 (Ticked (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