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

Test.ThreadNet.Infra.ShelleyBasedHardFork

Description

Test infrastructure to test hard-forking from one Shelley-based era to another, e.g., Shelley to Allegra.

Synopsis

Blocks

type ShelleyBasedHardForkBlock proto1 era1 proto2 era2 = HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source #

type ShelleyBasedHardForkEras proto1 era1 proto2 era2 = '[ShelleyBlock proto1 era1, ShelleyBlock proto2 era2] Source #

Two eras, both Shelley-based.

Transactions

pattern GenTxShelley1GenTx (ShelleyBlock proto1 era1) → ShelleyBasedHardForkGenTx proto1 era1 proto2 era2 Source #

pattern GenTxShelley2GenTx (ShelleyBlock proto2 era2) → ShelleyBasedHardForkGenTx proto1 era1 proto2 era2 Source #

Node

type ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 = (ShelleyCompatible proto1 era1, ShelleyCompatible proto2 era2, LedgerSupportsProtocol (ShelleyBlock proto1 era1), LedgerSupportsProtocol (ShelleyBlock proto2 era2), TxLimits (ShelleyBlock proto1 era1), TxLimits (ShelleyBlock proto2 era2), TranslateTxMeasure (TxMeasure (ShelleyBlock proto1 era1)) (TxMeasure (ShelleyBlock proto2 era2)), PreviousEra era2 ~ era1, TranslateEra era2 NewEpochState, TranslateEra era2 WrapTx, TranslationError era2 NewEpochState ~ Void, EraCrypto era1 ~ EraCrypto era2, PraosCrypto (EraCrypto era1), proto1 ~ TPraos (EraCrypto era1), proto1 ~ proto2) Source #

protocolInfoShelleyBasedHardFork ∷ ∀ m proto1 era1 proto2 era2. (IOLike m, ShelleyBasedHardForkConstraints proto1 era1 proto2 era2) ⇒ ProtocolParamsShelleyBased (EraCrypto era1) → ProtVerProtVerTransitionConfig era2 → TriggerHardFork → (ProtocolInfo (ShelleyBasedHardForkBlock proto1 era1 proto2 era2), m [BlockForging m (ShelleyBasedHardForkBlock proto1 era1 proto2 era2)]) Source #

Orphan instances

ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ CanHardFork (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source # 
Instance details

Associated Types

type HardForkTxMeasure (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source #

ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ SerialiseHFC (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source # 
Instance details

ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ SupportedNetworkProtocolVersion (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) Source # 
Instance details

(TxGen (ShelleyBlock proto1 era1), TxGen (ShelleyBlock proto2 era2), ShelleyBasedHardForkConstraints proto1 era1 proto2 era2) ⇒ TxGen (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) Source #

Use a generic implementation for TxGen

Instance details

Associated Types

type TxGenExtra (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) Source #

Methods

testGenTxsCoreNodeIdNumCoreNodesSlotNoTopLevelConfig (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) → TxGenExtra (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) → LedgerState (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) → Gen [GenTx (ShelleyBasedHardForkBlock proto1 era1 proto2 era2)] Source #