Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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), 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)
- protocolInfoShelleyBasedHardFork ∷ ∀ m proto1 era1 proto2 era2. (IOLike m, ShelleyBasedHardForkConstraints proto1 era1 proto2 era2) ⇒ ProtocolParamsShelleyBased (EraCrypto era1) → ProtVer → ProtVer → TransitionConfig era2 → TriggerHardFork → (ProtocolInfo (ShelleyBasedHardForkBlock proto1 era1 proto2 era2), m [BlockForging 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), 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) → ProtVer → ProtVer → TransitionConfig era2 → TriggerHardFork → (ProtocolInfo (ShelleyBasedHardForkBlock proto1 era1 proto2 era2), m [BlockForging m (ShelleyBasedHardForkBlock proto1 era1 proto2 era2)]) Source #