Plutus Language Version¶
-
enum cardano_plutus_language_version_t¶
The Cardano ledger tags scripts with a language that determines what the ledger will do with the script.
In most cases this language will be very similar to the ones that came before, we refer to these as ‘Plutus language versions’. However, from the ledger’s perspective they are entirely unrelated and there is generally no requirement that they be similar or compatible in any way.
Values:
-
enumerator CARDANO_PLUTUS_LANGUAGE_VERSION_V1¶
V1 was the initial version of Plutus, introduced in the Alonzo hard fork.
-
enumerator CARDANO_PLUTUS_LANGUAGE_VERSION_V2¶
V2 was introduced in the Vasil hard fork.
The main changes in V2 of Plutus were to the interface to scripts. The ScriptContext was extended to include the following information:
The full “redeemers” structure, which contains all the redeemers used in the transaction
Reference inputs in the transaction (proposed in CIP-31)
Inline datums in the transaction (proposed in CIP-32)
Reference scripts in the transaction (proposed in CIP-33)
-
enumerator CARDANO_PLUTUS_LANGUAGE_VERSION_V3¶
V3 was introduced in the Conway hard fork.
The main changes in V3 of Plutus were to the interface to scripts. The ScriptContext was extended to include the following information:
A Map with all the votes that were included in the transaction.
A list with Proposals that will be turned into GovernanceActions, that everyone can vote on
Optional amount for the current treasury. If included it will be checked to be equal the current amount in the treasury.
Optional amount for donating to the current treasury. If included, specified amount will go into the treasury.
-
enumerator CARDANO_PLUTUS_LANGUAGE_VERSION_V1¶