Changelog
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.
Unreleased
Added
edo features:
- add new cryptographic hash functions:
sha3
and keccak
- add
total_voting_power
constant and voting_power
operation - add
level
constant - add
ticket
type and associated instructions (create_ticket
, read_ticket
, split_ticket
, join_tickets
) - add sapling types (
sapling_state
and sapling_transaction
) and operations (sapling_empty_state
and sapling_verify_update
) - add bls curves types (
bls12_381_fr
, bls12_381_g1
and bls12_381_g2
), arthmetic (+
, *
, unary -
) and operation (pairing_check
)
[1.2.5] - 2021-05-08
Added
sourced by
, same as called by
with source
Changed
[1.2.4] - 2021-05-03
Added
update
function for map (like UPDATE
in michelson)state is
section in entrycalled by
supports asset with a key typed address- failure id in fails specification section (i.e.
... f1 with InvalidCaller(msg : string): ...
) - metadata can be defined in the source file (
with metadata
) - instruction for container (
my_map.update(key, some(value))
)
Changed
slice
returns option<byte|string>
- fail message and expression (see documentation)
- syntax
enum
declaration with args (enum my_enum = | A <nat> | B <string>
)
Removed
[1.2.3] - 2021-04-12
Added
date_from_timestamp
function (convert a timestamp typed int to date)const
for parameter, which processes like a constant instead of a variable by default
Changed
[1.2.2] - 2021-03-09
Added
- records shaping with
as
- add
parameter
- add left and right shift operators (
<<|
and |>>
) - add divmod and three-way comparison operators (resp. EDIV and COMPARE in michelson)
- add
Unit
literal
Changed
- handle decimal for percent and currency literals
- getter send
transferred
(AMOUNT) instead of 0tz
Removed
- Execution language target (LIGO, SmartPy and Scaml)
head_tail
(replace by match ... with ... end
)
[1.2.1] - 2020-10-01
Added
- Add contract metadata tzip-16 (https://gitlab.com/tzip/tzip/-/blob/master/proposals/tzip-16/tzip-16.md)
[1.2.0] - 2020-09-15
Added
- Michelson backend
- specification declaration for asset, variable, entry and function
fails
section in specification declarationxor
operatorhead_tail
and reverse
builtin functions for listgetter
entry
Changed
- remove
set_
and map_
prefix for container builtins - replace
entrysig
by contract
[1.1.2] - 2020-08-13
Changed
- Refactoring of whyml generation
[1.1.1] - 2020-08-11
Added
- in
require
and failif
section, add custom failed with respectivelly otherwise
and with
to_string
convert argument to a string (only avalaible for nat
type for now)
Changed
fail
can take any type argumentdorequire
and dofailif
take two arguments, the second is for fail
[1.1.0] - 2020-08-05
Added
chain_id
constantunion
inter
and diff
operator for view in formula- multi-keys asset :
identified by
can take several field name nat
type (comparison and arithmetic operations)- support for entrypoints with
entrysig
type, entrypoint
function and transfer
with entrysig
and self
map
and set
containersrecord
structure
Removed
Changed
- syntax of composite type (i.e.
list<string>
instead of string list
) rational
are mapped to int * nat
Fixed
caller
as asset key in initialized by
section
[1.0.0] - 2020-06-27
Added
- Introduce
container_kind
in model pack
, unpack
functionsremoveif
for collection, aggregate and partition
Changed
- Replace
collection
by aggregate
- Replace
list
by set
container for asset container fields (Aggregate | Partition). - Rename
action
by entry
[0.1.14] - 2020-04-25
Added
- Crypto functions
slice
, concat
and length
functionsisnone
, issome
, getopt
option functionsfloor
and ceil
functions- add percent literal
Update
- Remove key asset for execution generation
- Mlw support for new view type
[0.1.13] - 2020-03-05
Added
- Contract calls
- Handle rational type
- Handle date and duration type
- Add list container
- Add print-type-contract command (-ptc)
- Add
addupdate
method for asset - Add
bytes
type
Changed
- Add guard condition in
Add
and UpdateAdd
api storage - Syntax : add identifier on signature of contract argument
- Refactor and update syntax for transition
- Verification api for asset
- Syntax : extension arguments are enclosed by parentheses
[0.1.12] - 2020-01-09
Added
Changed
- Syntax : add ':' between identifier and type in declaration
id : type
(instead of id1 type1
) - Syntax : add ',' between arguments in funciton
(id1 : type1, id2 : type2)
(instead of (id1 : type1) (id2 : type2)
) - Accept transfer is enable by default (use
refuse transfer
to disable it)
[0.1.11] - 2019-12-12
Added
- Invariants on constants and variables
- Date and duration support
- Shadow fields in asset
Changed
- Improve loop generation in ligo output (issue #107)
- Refactoring storage in model module
- Enchance ligo output printer
- Remove keys list of assets in order to decrease storage size
[0.1.10] - 2019-11-02
Fixed
[0.1.8] - 2019-10-25
Added
- Add variable declaration
var id = val
- Typing for transition entry
Changed
- Update syntax for for and iter loop
for : loop i in col do ... done
Removed
Fixed
[0.1.6] - 2019-10-15
Added
- Add focus property command for vscode extension
Changed
- Update syntax for security predicate arguments
[0.1.5] - 2019-09-28
Added
- Create a share directory for contracts and extensions
Changed
- Update of the archetype syntax
- Fix mlw generation
[0.1.4] - 2019-09-21
Added
- Initial release of Archetype compiler.
- The main example is miles_with_expiration.arl contract.
- For more informations: https://docs.archetype-lang.org