Safe Haskell | None |
---|---|
Language | Haskell2010 |
Test.ThreadNet.Infra.ShelleyBasedHardFork
Description
Test infrastructure to test hard-forking from one Shelley-based era to another, e.g., Shelley to Allegra.
Synopsis
- type ShelleyBasedHardForkBlock proto1 era1 proto2 era2 = HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2)
- type ShelleyBasedHardForkEras proto1 era1 proto2 era2 = '[ShelleyBlock proto1 era1, ShelleyBlock proto2 era2]
- pattern GenTxShelley1 ∷ GenTx (ShelleyBlock proto1 era1) → ShelleyBasedHardForkGenTx proto1 era1 proto2 era2
- pattern GenTxShelley2 ∷ GenTx (ShelleyBlock proto2 era2) → ShelleyBasedHardForkGenTx proto1 era1 proto2 era2
- 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)
- protocolInfoShelleyBasedHardFork ∷ ∀ m proto1 era1 proto2 era2. (IOLike m, ShelleyBasedHardForkConstraints proto1 era1 proto2 era2) ⇒ ProtocolParamsShelleyBased era1 → ProtVer → ProtVer → ProtocolTransitionParamsShelleyBased era2 → ProtocolInfo m (ShelleyBasedHardForkBlock proto1 era1 proto2 era2)
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 GenTxShelley1 ∷ GenTx (ShelleyBlock proto1 era1) → ShelleyBasedHardForkGenTx proto1 era1 proto2 era2 Source #
pattern GenTxShelley2 ∷ GenTx (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 → ProtVer → ProtVer → ProtocolTransitionParamsShelleyBased era2 → ProtocolInfo m (ShelleyBasedHardForkBlock proto1 era1 proto2 era2) Source #