package archetype
Archetype language compiler
Install
Dune Dependency
Authors
Maintainers
Sources
1.4.0.tar.gz
md5=20d51a71524f6ec9539dd2824a89e86d
sha512=3641612594af991084f4b123586b384cc992b1ded567b1d83159219e57b4c92e4f9d59c287b27b00c4bdada31bf98f8e3a59eb287ce860bfa628f1920866b821
doc/CHANGES.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.
[1.4.0] - 2022-12-06
Added
- Add
min_block_time
constant
Changed
- Improve type-checking (e.g. can now use named composite types in contract parameter)
pair
is now n-ary (instead of binary right comb)
[1.3.6] - 2022-11-24
Added
- add
tx_rollup_l2_address
type
Changed
- Improve contract interface
[1.3.5] - 2022-09-22
Changed
emit
instruction generates Kathmandu event
Fixed
- Tuple and record operator assigment
[1.3.4] - 2022-09-09
Changed
- Improve contract interface
[1.3.3] - 2022-08-18
Added
- Import for
tz
files - Offchain views support (
-t offchain-views
) make_event
builtin- Contract interface for binding generation service
Fixed
- Generate error message for side effect instructions in functions and views
Changed
- BREAKING:
emit
instruction generatesEMIT
michelson instruction instead of a call to event well contrat
[1.3.2] - 2022-07-07
Added
asset_container
typemake_asset
,create_contract
builtin,update
on set typeto_container
,put_remove
asset method
Changed
- BREAKING: constant
caller
(and any other constant) are no longer available as initial storage value.
[1.3.1] - 2022-06-22
Added
constant
entry section+=
and-=
onmap
/set
forupdate
/add_update
Changed
- Jakarta protocol: update
sapling_verify_update
signature const
parameter behavior
Fixed
- Instructions for
operations
andmetadata
[1.3.0] - 2022-06-16
Added
- Asset access
my_asset[]
- Type
asset_value
- Add
otherwise
inno transfer
,called by
,source by
andstate is
section - Arithmetic operations
div
andmod
betweentez
- Ternary operator with
bool
,option
otherwise
for entry section
Changed
- Short-circuit evaluation for boolean condition (
and
andor
) - Optimize simple
add_update
- Optimize
reverse
for list - BREAKING: some identifiers and fail messages have been renamed, for more informations https://archetype-lang.org/blog/v13#renamings
Fixed
- Multiplication between rational and tez with big value
[1.2.16] - 2022-05-17
Added
- New high-level type:
iterable_big_map
- Add
const
declaration in code block
Changed
- Asset flagged
big_map
with one field generates abig_map
instead ofset
[1.2.15] - 2022-04-22
Changed
- BREAKING:
transfer
andemit
instructions are executed in the declaration order - replace
view
type byasset_view
[1.2.14] - 2022-04-01
Added
- Ithaca support:
sub_mutez
,map
foroption
type - builtins:
isnat
,to_nat
not
operator forint
andnat
Changed
- Add type in event
[1.2.13] - 2022-03-10
Added
- Event support (event type and emit instruction)
Fixed
- Arithmetic for bls curves
- Unit literal as simple expression
[1.2.12] - 2022-03-02
Added
- Sapling and timelock support
- Show entry command
- Output option in cli
Fixed
- Empty bytes literal
[1.2.11] - 2021-12-14
Added
- emptylist
as literal of empty list
Fixed
- views are now present in javascript output
- match ... with nested in lambda body
[1.2.10] - 2021-11-10
Added
- on-chain view
Changed
- improve michelson output
Fixed
addupdate
when there is default value in asset
[1.2.9] - 2021-10-03
Added
callview
, call on-chain view
Fixed
addupdate
on partition
[1.2.8] - 2021-09-07
Added
contract_address
(contract -> address) andkey_address
(key -> address)require_some
, same asopt_get
with an extra arg for custom failedsub_nat
substraction which returnsnat
require_entrypoint
, same asrequire_some(entrypoint<...>(...))
mutez_to_nat
, converttez
tonat
in mutez- michelson optimizations
Changed
- entrypoints are generated with a complete binary tree.
Removed
- Breaking : remove implicit cast from
tez
tonat
(c.f.mutez_to_nat
)
[1.2.7] - 2021-08-11
Added
- npm package for archetype compiler (https://www.npmjs.com/package/@completium/archetype)
- support
tez
type forsum
method
Changed
- default call contract (
transfer 0tz to addr call default<nat>(2)
) - change type of string in mlw archetype library
[1.2.6] - 2021-06-24
Added
- test mode
[1.2.5] - 2021-05-08
Added
sourced by
, same ascalled by
with source
Changed
- minor fixes
[1.2.4] - 2021-05-03
Added
update
function for map (likeUPDATE
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
returnsoption<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 bymatch ... 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
andreverse
builtin functions for listgetter
entry
Changed
- remove
set_
andmap_
prefix for container builtins - replace
entrysig
bycontract
[1.1.2] - 2020-08-13
Changed
- Refactoring of whyml generation
[1.1.1] - 2020-08-11
Added
- in
require
andfailif
section, add custom failed with respectivellyotherwise
andwith
to_string
convert argument to a string (only avalaible fornat
type for now)
Changed
fail
can take any type argumentdorequire
anddofailif
take two arguments, the second is forfail
[1.1.0] - 2020-08-05
Added
chain_id
constantunion
inter
anddiff
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 andtransfer
withentrysig
andself
map
andset
containersrecord
structure
Removed
contract
declaration
Changed
- syntax of composite type (i.e.
list<string>
instead ofstring list
) rational
are mapped toint * nat
Fixed
caller
as asset key ininitialized 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
byaggregate
- Replace
list
byset
container for asset container fields (Aggregate | Partition). - Rename
action
byentry
[0.1.14] - 2020-04-25
Added
- Crypto functions
slice
,concat
andlength
functionsisnone
,issome
,getopt
option functionsfloor
andceil
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
andUpdateAdd
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 ofid1 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
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
- [1.4.0] - 2022-12-06
- [1.3.6] - 2022-11-24
- [1.3.5] - 2022-09-22
- [1.3.4] - 2022-09-09
- [1.3.3] - 2022-08-18
- [1.3.2] - 2022-07-07
- [1.3.1] - 2022-06-22
- [1.3.0] - 2022-06-16
- [1.2.16] - 2022-05-17
- [1.2.15] - 2022-04-22
- [1.2.14] - 2022-04-01
- [1.2.13] - 2022-03-10
- [1.2.12] - 2022-03-02
- [1.2.11] - 2021-12-14
- [1.2.10] - 2021-11-10
- [1.2.9] - 2021-10-03
- [1.2.8] - 2021-09-07
- [1.2.7] - 2021-08-11
- [1.2.6] - 2021-06-24
- [1.2.5] - 2021-05-08
- [1.2.4] - 2021-05-03
- [1.2.3] - 2021-04-12
- [1.2.2] - 2021-03-09
- [1.2.1] - 2020-10-01
- [1.2.0] - 2020-09-15
- [1.1.2] - 2020-08-13
- [1.1.1] - 2020-08-11
- [1.1.0] - 2020-08-05
- [1.0.0] - 2020-06-27
- [0.1.14] - 2020-04-25
- [0.1.13] - 2020-03-05
- [0.1.12] - 2020-01-09
- [0.1.11] - 2019-12-12
- [0.1.10] - 2019-11-02
- [0.1.8] - 2019-10-25
- [0.1.6] - 2019-10-15
- [0.1.5] - 2019-09-28
- [0.1.4] - 2019-09-21