Script Language

enum cardano_script_language_t

Script language.

Values:

enumerator CARDANO_SCRIPT_LANGUAGE_NATIVE

The Native scripts form an expression tree, the evaluation of the script produces either true or false.

Note that it is recursive. There are no constraints on the nesting or size, except that imposed by the overall transaction size limit (given that the script must be included in the transaction in a script witnesses).

enumerator CARDANO_SCRIPT_LANGUAGE_PLUTUS_V1

V1 was the initial version of Plutus, introduced in the Alonzo hard fork.

enumerator CARDANO_SCRIPT_LANGUAGE_PLUTUS_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_SCRIPT_LANGUAGE_PLUTUS_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.