Release 0.83.0
Environments are now local or global
Previously, a single environment in the CSL evaluator tracked all bindings, whether they resulted from global definitions or from let
or function arguments.
Now, there are separate structures for global vs local environments.
If your code invokes the CSL evaluator, then it will need to be adapted as follows:
CSLEvaluationContext
andCSLRuntimeContext
have been removed. Replace references to them with references to their respective supertypesEvaluationContext
andRuntimeContext
.Initializing the evaluation machinery by creating an
EvaluationContext
now requires aCSLEnv.Global
parameter. This will usually be constructed from a list of top-level definitions usingenvFromTopLevelDefs
.Closure minimization has become unnecessary and has been removed, so function arguments named
minimizeClosures
andfvExp
andfvContract
are no longer necessary and should be deleted.
Running the Corda CSL Platform upgrade script
Like version 0.82.0, the new version also requires that you migrate your Corda contracts to the new sic ABI.
The process is exactly identical to the previous process, except that the artifact id is now com.deondigital:upgrade-from-0-82-0-to-0-83-0
.