ouroboros-consensus-cardano-0.25.1.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), 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, MemPack (TxOut (LedgerState (ShelleyBlock proto1 era1))), MemPack (TxOut (LedgerState (ShelleyBlock proto2 era2)))) 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 ⇒ SerializeTablesWithHint (LedgerState (HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2))) Source # 
Instance details

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 #