- Added a new data type
PlutusLedgerApi.Common.SerialisedScript.ScriptForEvaluation
, containing a serialised script and a deserialised script.
-
Renamed
PlutusLedgerApi.Common.SerialisedScript.ScriptForExecution
toPlutusLedgerApi.Common.SerialisedScript.ScriptNamedDeBruijn
. -
Added a function
PlutusLedgerApi.Common.SerialisedScript.deserialiseScript
, which converts aSerialisedScript
into aScriptForEvaluation
. -
Removed
PlutusLedgerApi.Common.SerialisedScript.fromSerialisedScript
andPlutusLedgerApi.Common.SerialisedScript.assertScriptWellFormed
. -
Changed
PlutusLedgerApi.Common.ProtocolVersions.ProtocolVersion
toPlutusLedgerApi.Common.ProtocolVersions.MajorProtocolVersion
. The ledger can only provide the major component of the protocol version (not the minor component), and Plutus should only care about the major component anyway.
evalCtxForTesting
in testlib: use insteadV*.mkEvaluationContext
withV*.costModelParamsForTesting
-
Exported
ChangedParameters
in V3. -
costModelParamsForTesting for all plutus versions (PlutusV1,PlutusV2,PlutusV3)
-
A
readParamName
method counterpart of the existingshowParamName
showParamName
method now operates on Text instead of previous String
- costModelParamsForTesting are now returned in the expected ledger order, instead of alphabetical order
ScriptContext
type for PlutusV3.
-
A CBOR script deserialization error now contains more descriptive (typed) errors, see
DeserialiseFailureInfo
. -
Updated
PlutusLedgerApi.V3.Contexts.ScriptContext
:- The
Proposing
ScriptPurpose
now takes anInteger
argument. - The
ParameterChange
GovernanceAction
now takes aChangedParameters
argument. GovernanceActionId
is made optional inGovernanceAction
.Anchor
is removed fromScriptContext
.
- The
- cost model parameters for
keccak_256
builtin - cost model parameters for
blake2b_224
builtin
- New entries for the BLS12-381 types and builtins
- The new built-in functions have been added to futurePV and the tests modified to deal with the additions.
- GHC 9.6 support
- PlutusV3 is now allowed in protocol version 9.
- Plutus Core version 1.1.0 is now allwed in protocol version 9.
deserialiseUPLC
renamed touncheckedDeserialiseUPLC
since it doesn't do the checks for allowable builtins. This is dangerous in the ledger setting where this check is mandatory, so it needs a scarier name.
- Support for multiple Plutus Core language versions.
- The naming around "Plutus langauge versions" changed to talk about "Plutus ledger languages" following CIP-35.
- Fixed numerous bugs in the behaviour of
Interval
s with open endpoints.
- Exported
mkTermToEvaluate
fromPlutusLedgerApi/Common.hs