-
PlutusV3 cost model parameter names updated for
ByteStringToInteger
andIntegerToByteString
. -
PlutusLedgerApi.V1.Value.currencySymbolValueOf
, which calculates the total amount for the givenCurrencySymbol
.
- Changed the
TxId
'sBuiltingData
representation: removed a newtype constructor wrapping the underlyingBuiltinByteString
.
-
More fields in the V3 script context use
Lovelace
-
Removed
GovernanceActionId
from theVoting
script purpose. It is not needed because the script for a given voter will be run only once for all votes. -
Updated the
Certifying
andProposing
script purposes, whose arguments now consist of both an integer index and the actual argument (TxCert
andProposalProcedure
). -
Updated the
NewCommittee
variant ofGovernanceAction
toUpdateCommittee
.
-
Added functions for converting between
Lovelace
andValue
:lovelaceValue
andlovelaceValueOf
. -
Added some helper functions for Plutus V3 ScriptContext.
-
Improved the efficiency of
PlutusLedgerApi.V1.Value.leq
andPlutusLedgerApi.V1.Value.geq
. -
Use
Lovelace
instead ofValue
intxInfoFee
,txInfoCurrentTreasuryAmount
andtxInfoTreasuryDonation
for Plutus V3. -
Added constitution script hash to
ParameterChange
andTreasuryWithdrawals
in theScriptContext
of Plutus V3.
- Added two constructors,
TxCertPoolRegister
andTxCertPoolRetire
, toPlutusLedgerApi.V3.Contexts.TxCert
.
- Exposed
unSatInt
andfromSatInt
fromplutus-ledger-api
. AddedNFData
andNoThunks
forCostModelApplyError
.
- Optimized equality checking of
Value
s in #5593
- 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