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.
edo features:
sha3 and keccaktotal_voting_power constant and voting_power operationlevel constantticket type and associated instructions (create_ticket, read_ticket, split_ticket, join_tickets)sapling_state and sapling_transaction) and operations (sapling_empty_state and sapling_verify_update)bls12_381_fr, bls12_381_g1 and bls12_381_g2), arthmetic (+, *, unary -) and operation (pairing_check)addupdate 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