package archetype

  1. Overview
  2. Docs
Archetype language compiler

Install

Dune Dependency

Authors

Maintainers

Sources

1.2.4.tar.gz
md5=f42988b3f9152be241a982ab094d36c0
sha512=4e1a4d7d253fb14472ceff295eeda4b1b426265d3d353baed67ce899797ded07e8a7635bfe7a82ed514c8a3a77ccc5d1b1730e7703085c23851ee47ec894ad48

CHANGES.md.html

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.4] - 2021-05-03

Added

  • update function for map (like UPDATE in michelson)

  • state is section in entry

  • called 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

  • role type

[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

  • Improve js ouptut

[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 declaration

  • xor operator

  • head_tail and reverse builtin functions for list

  • getter 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 argument

  • dorequire and dofailif take two arguments, the second is for fail

[1.1.0] - 2020-08-05

Added

  • chain_id constant

  • union 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 containers

  • record structure

Removed

  • contract declaration

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 functions

  • removeif 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 functions

  • isnone, issome, getopt option functions

  • floor 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

  • Add Scaml output

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

  • Fix why3 generation

[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

  • Remove namespace syntax

Fixed

  • Improve LIGO generation

[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

OCaml

Innovation. Community. Security.