Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype MajorProtocolVersion = MajorProtocolVersion {}
- shelleyPV ∷ MajorProtocolVersion
- allegraPV ∷ MajorProtocolVersion
- maryPV ∷ MajorProtocolVersion
- alonzoPV ∷ MajorProtocolVersion
- vasilPV ∷ MajorProtocolVersion
- valentinePV ∷ MajorProtocolVersion
- changPV ∷ MajorProtocolVersion
- plominPV ∷ MajorProtocolVersion
- knownPVs ∷ Set MajorProtocolVersion
- futurePV ∷ MajorProtocolVersion
Documentation
newtype MajorProtocolVersion Source #
This represents the major component of the Cardano protocol version. The ledger can only supply the major component of the protocol version, not the minor component, and Plutus should only need to care about the major component anyway. This relies on careful understanding between us and the ledger as to what this means.
Instances
Protocol Version aliases
shelleyPV ∷ MajorProtocolVersion Source #
Shelley era was introduced in protocol version 2.0
allegraPV ∷ MajorProtocolVersion Source #
Allegra era was introduced in protocol version 3.0
maryPV ∷ MajorProtocolVersion Source #
Mary era was introduced in protocol version 4.0
alonzoPV ∷ MajorProtocolVersion Source #
Alonzo era was introduced in protocol version 5.0
vasilPV ∷ MajorProtocolVersion Source #
The Vasil HF introduced the Babbage era and Plutus V2
valentinePV ∷ MajorProtocolVersion Source #
Valentine was an intra-era HF where builtin functions VerifyEcdsaSecp256k1Signature
and
VerifySchnorrSecp256k1Signature
were enabled.
changPV ∷ MajorProtocolVersion Source #
The Chang HF introduced the Conway era and Plutus V3
plominPV ∷ MajorProtocolVersion Source #
The Plomin HF will be an intra-era HF where some new builtin functions are introduced in Plutus V2 and V3.
knownPVs ∷ Set MajorProtocolVersion Source #
The set of protocol versions that are "known", i.e. that have been released and have actual differences associated with them.
futurePV ∷ MajorProtocolVersion Source #
This is a placeholder for when we don't yet know what protocol version will be used for something. It's a very high protocol version that should never appear in reality. New builtins should always be given this protocol version until they've been finalised.
We should not assign names to future protocol versions until it's confirmed that they are correct, otherwise we could accidentally associate something with the wrong protocol version.