ouroboros-consensus-cardano-test-0.1.0.0: Test of the instantation of the Ouroboros consensus layer used by Cardano
Safe HaskellNone
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), PreviousEra era2 ~ era1, TranslateEra era2 NewEpochState, TranslateEra era2 ShelleyGenesis, TranslateEra era2 WrapTx, TranslationError era2 NewEpochState ~ Void, TranslationError era2 ShelleyGenesis ~ Void, TranslationContext era1 ~ (), 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 era1 → ProtVerProtVerProtocolTransitionParamsShelleyBased era2 → ProtocolInfo m (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) Source #

Orphan instances

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

ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ CanHardFork (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 #