Skip to content

1.71.0.0

Latest

Choose a tag to compare

@kwxm kwxm released this 30 Sep 01:46
261766a

plutus-core

Added

  • Cost models for the keepPolicies and dropPolicies builtins (CIP-0168), with eight new cost model parameters. Both are proportional to the length of the policy list times the depth of the Value's outer map.

  • Plutus Core version 1.2.0, which supports casing on Data.Constr constants.

Changed

  • Value now caches the number of negative amounts per currency, not only in total, which makes keepPolicies and dropPolicies logarithmic in the Value rather than linear in its size. The CPU and memory models of insertCoin, unionValue, scaleValue and unValueData account for maintaining it.

  • keepPolicies and dropPolicies fail on a Value with more than 8191 policies (policyFilterMaxSize).

  • Added builtin semantics variants F and G for Dijkstra era

plutus-ledger-api

Changed

  • Plutus Core 1.2.0 is available in Plutus V1–V4 from protocol version 12. Casing on
    Data.Constr requires both protocol version 12 and Plutus Core 1.2.0; casing
    on other constants is unchanged.

  • defaultCaserBuiltinFor, toMachineParameters, evaluateTerm, and
    machineParametersFor now take a Plutus Core version. Custom casers passed to
    mkDynEvaluationContext now receive that version too.

  • Add new semantic variants for Dijkstra

plutus-tx

Changed

  • keepPolicies and dropPolicies fail on a Value with more than 8191 policies, matching the builtins.

  • Improved efficiency and consistency of the union and unionWith operations of
    PlutusTx.Data.AssocMap.

plutus-tx-plugin

Changed

  • Plinth now targets Plutus Core 1.2.0 by default. Use target-version=1.1.0
    when compiling scripts for protocol versions before 12.

plutus-executables

No changes.

plutus-metatheory

No changes.

Full Changelog: 1.70.0.0...1.71.0.0