plutus-ledger-api-1.30.0.0: Interface to the Plutus ledger for the Cardano ledger.
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusLedgerApi.Common.ProtocolVersions

Synopsis

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

Instances details
Generic MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Associated Types

type Rep MajorProtocolVersionTypeType Source #

Show MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Eq MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Ord MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Pretty MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Serialise MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Methods

encodeMajorProtocolVersion → Encoding

decode ∷ Decoder s MajorProtocolVersion

encodeList ∷ [MajorProtocolVersion] → Encoding

decodeList ∷ Decoder s [MajorProtocolVersion]

type Rep MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

type Rep MajorProtocolVersion = D1 ('MetaData "MajorProtocolVersion" "PlutusLedgerApi.Common.ProtocolVersions" "plutus-ledger-api-1.30.0.0-inplace" 'True) (C1 ('MetaCons "MajorProtocolVersion" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMajorProtocolVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Protocol Version aliases

shelleyPVMajorProtocolVersion Source #

Shelley era was introduced in protocol version 2.0

allegraPVMajorProtocolVersion Source #

Allegra era was introduced in protocol version 3.0

maryPVMajorProtocolVersion Source #

Mary era was introduced in protocol version 4.0

alonzoPVMajorProtocolVersion Source #

Alonzo era was introduced in protocol version 5.0

vasilPVMajorProtocolVersion Source #

Vasil era was introduced in protocol version 7.0

valentinePVMajorProtocolVersion Source #

Protocol version 8.0 was the Valentine intra-era HF

conwayPVMajorProtocolVersion Source #

Conway era was introduced in protocol version 9.0

conwayPlus1PVMajorProtocolVersion Source #

The next HF after Conway. It doesn't yet have a name, and it's not yet known whether it will be an intra-era HF or introduce a new era.

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.

futurePVMajorProtocolVersion 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.