All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
asset_container typemake_asset, create_contract builtin, update on set typeto_container, put_remove asset methodcaller (and any other constant) are no longer available as initial storage value.constant entry section+= and -= on map/set for update/add_updatesapling_verify_update signatureconst parameter behavioroperations and metadatamy_asset[]asset_valueotherwise in no transfer, called by, source by and state is sectiondiv and mod between tezbool, optionotherwise for entry sectionand and or)add_updatereverse for listiterable_big_mapconst declaration in code blockbig_map with one field generates a big_map instead of settransfer and emit instructions are executed in the declaration orderview type by asset_viewsub_mutez, map for option typeisnat, to_natnot operator for int and nataddupdate when there is default value in assetcallview, call on-chain viewaddupdate on partitioncontract_address (contract -> address) and key_address (key -> address)require_some, same as opt_get with an extra arg for custom failedsub_nat substraction which returns natrequire_entrypoint, same as require_some(entrypoint<...>(...))mutez_to_nat, convert tez to nat in muteztez to nat (c.f. mutez_to_nat)tez type for sum methodtransfer 0tz to addr call default<nat>(2))sourced by, same as called by with sourceupdate function for map (like UPDATE in michelson)state is section in entrycalled by supports asset with a key typed address... f1 with InvalidCaller(msg : string): ...)with metadata)my_map.update(key, some(value)))slice returns option<byte|string>enum declaration with args (enum my_enum = | A <nat> | B <string>)role typedate_from_timestamp function (convert a timestamp typed int to date)const for parameter, which processes like a constant instead of a variable by defaultasparameter<<| and |>>)Unit literaltransferred (AMOUNT) instead of 0tzhead_tail (replace by match ... with ... end)fails section in specification declarationxor operatorhead_tail and reverse builtin functions for listgetter entryset_ and map_ prefix for container builtinsentrysig by contractrequire and failif section, add custom failed with respectivelly otherwise and withto_string convert argument to a string (only avalaible for nat type for now)fail can take any type argumentdorequire and dofailif take two arguments, the second is for failchain_id constantunion inter and diff operator for view in formulaidentified by can take several field namenat type (comparison and arithmetic operations)entrysig type, entrypoint function and transfer with entrysig and selfmap and set containersrecord structurecontract declarationlist<string> instead of string list)rational are mapped to int * natcaller as asset key in initialized by sectioncontainer_kind in modelpack, unpack functionsremoveif for collection, aggregate and partitioncollection by aggregatelist by set container for asset container fields (Aggregate | Partition).action by entryslice, concat and length functionsisnone, issome, getopt option functionsfloor and ceil functionsaddupdate method for assetbytes typeAdd and UpdateAdd api storageid : type (instead of id1 type1)(id1 : type1, id2 : type2) (instead of (id1 : type1) (id2 : type2))refuse transfer to disable it)var id = valfor : loop i in col do ... done