ouroboros-consensus-cardano-0.24.0.0: 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), BlockProtocol (ShelleyBlock proto1 era1) ~ proto1, BlockProtocol (ShelleyBlock proto2 era2) ~ proto2, TranslateTxMeasure (TxMeasure (ShelleyBlock proto1 era1)) (TxMeasure (ShelleyBlock proto2 era2)), PreviousEra era2 ~ era1, TranslateEra era2 NewEpochState, TranslateEra era2 WrapTx, TranslationError era2 NewEpochState ~ Void, ProtoCrypto proto1 ~ ProtoCrypto proto2, PraosCrypto (ProtoCrypto proto1), proto1 ~ TPraos (ProtoCrypto proto1), proto1 ~ proto2) Source #

Orphan instances

Show (CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) Source # 
Instance details

Methods

showsPrecIntCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → ShowS #

showCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → String #

showList ∷ [CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)] → ShowS #

Eq (CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) Source # 
Instance details

Methods

(==)CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Bool #

(/=)CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Bool #

Ord (CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) Source # 
Instance details

Methods

compareCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Ordering #

(<)CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Bool #

(<=)CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Bool #

(>)CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Bool #

(>=)CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Bool #

maxCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) #

minCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) #

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

Methods

typeNameString Source #

packedByteCountCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Int Source #

packMCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → Pack s () Source #

unpackMBuffer b ⇒ Unpack b (CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) Source #

NoThunks (CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) Source # 
Instance details

Methods

noThunksContextCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → IO (Maybe ThunkInfo) Source #

wNoThunksContextCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → IO (Maybe ThunkInfo) Source #

showTypeOfProxy (CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) → String Source #

ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ IndexedMemPack (LedgerState (HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) EmptyMK) (DefaultHardForkTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) Source # 
Instance details

ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ BlockSupportsHFLedgerQuery '[ShelleyBlock proto1 era1, ShelleyBlock proto2 era2] Source # 
Instance details

Methods

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

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

queryLedgerGetTraversingFilterIndex '[ShelleyBlock proto1 era1, ShelleyBlock proto2 era2] x → BlockQuery x 'QFTraverseTables result → TxOut (LedgerState (HardForkBlock '[ShelleyBlock proto1 era1, ShelleyBlock proto2 era2])) → Bool Source #

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

Associated Types

type HardForkTxMeasure (ShelleyBasedHardForkEras proto1 era1 proto2 era2) 
Instance details

Defined in Test.ThreadNet.Infra.ShelleyBasedHardFork

type HardForkTxMeasure (ShelleyBasedHardForkEras proto1 era1 proto2 era2) = TxMeasure (ShelleyBlock proto2 era2)
ShelleyBasedHardForkConstraints proto1 era1 proto2 era2 ⇒ HasCanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source # 
Instance details

Associated Types

newtype CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) 
Instance details

Defined in Test.ThreadNet.Infra.ShelleyBasedHardFork

Methods

injectCanonicalTxInIndex (ShelleyBasedHardForkEras proto1 era1 proto2 era2) x → TxIn (LedgerState x) → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source #

ejectCanonicalTxInIndex (ShelleyBasedHardForkEras proto1 era1 proto2 era2) x → CanonicalTxIn (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → TxIn (LedgerState x) Source #

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

Associated Types

type HardForkTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2) 
Instance details

Defined in Test.ThreadNet.Infra.ShelleyBasedHardFork

type HardForkTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2) = DefaultHardForkTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2)

Methods

injectHardForkTxOutIndex (ShelleyBasedHardForkEras proto1 era1 proto2 era2) x → TxOut (LedgerState x) → HardForkTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source #

ejectHardForkTxOutIndex (ShelleyBasedHardForkEras proto1 era1 proto2 era2) x → HardForkTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2) → TxOut (LedgerState x) Source #

txOutEjectionsNP ((K (NS WrapTxOut (ShelleyBasedHardForkEras proto1 era1 proto2 era2)) ∷ TypeType) -.-> WrapTxOut) (ShelleyBasedHardForkEras proto1 era1 proto2 era2) Source #

txOutTranslationsTails (Fn2 WrapTxOut) (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) 
Instance details

Defined in Test.ThreadNet.Infra.ShelleyBasedHardFork

type TxGenExtra (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) = NP WrapTxGenExtra (ShelleyBasedHardForkEras proto1 era1 proto2 era2)

Methods

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