170 Commits

Author SHA1 Message Date
Ulf Norell
dd94a6bd67 add pragma to check compiler version 2019-09-27 17:31:10 +02:00
Ulf Norell
f81dc88526 Allow underscore separators in number and bytes literals
For instance, `1_000_000_000` or `#FFFF_FFFF_FFFF_FFFF`
2019-09-23 14:04:09 +02:00
Ulf Norell
981027b2e7 Test case for function application source location 2019-09-14 12:12:55 +02:00
Hans Svensson
f34b6ed982 Fix numeric escapes 2019-09-12 21:17:01 +02:00
Ulf Norell
cc531f9957 Test case for Bytes.concat/split 2019-09-09 18:40:45 +02:00
Ulf Norell
e2ab41eeb2 Add Bytes.concat and Bytes.split to type checker 2019-09-09 18:40:45 +02:00
Ulf Norell
9dac134477 Print the error kind in error messages 2019-09-06 09:51:17 +02:00
Hans Svensson
f07d1904ba Less redundant error message 2019-09-05 15:28:03 +02:00
Hans Svensson
5a1acd9d18 Make aeso_compiler errors structured as well 2019-09-05 14:20:40 +02:00
Hans Svensson
37a37a169d File not found error 2019-09-05 11:16:31 +02:00
Ulf Norell
97d58fcacd Nicer error for missing event type 2019-09-04 11:03:33 +02:00
Ulf Norell
d8adfce465 Tests for unapplied builtins 2019-09-04 10:45:43 +02:00
Ulf Norell
602e99512f Fail gracefully on higher-order state in AEVM and accept it in FATE 2019-09-03 17:24:40 +02:00
Ulf Norell
325d69e96d Fail gracefully on bad top-level declaration 2019-09-03 17:24:06 +02:00
Ulf Norell
412b0b8b6d Improve some parse errors 2019-09-03 16:51:04 +02:00
Ulf Norell
61faa3e2dd Fix missing file name from type errors 2019-09-03 15:01:29 +02:00
Ulf Norell
69a4c1365b Test case for calling init function from inside the contract 2019-09-03 14:47:13 +02:00
Ulf Norell
30de1db163 More code errors 2019-09-03 14:35:13 +02:00
Ulf Norell
0533ab27e1 Check that there are no maps in map keys already in type checker 2019-09-03 14:35:13 +02:00
Ulf Norell
510935d945 Framework and tests for code generation (icode/fcode) errors 2019-09-03 14:35:13 +02:00
Hans Svensson
249b61238e Structured parse_errors and type_errors 2019-09-03 14:35:13 +02:00
Ulf Norell
470970d937 Disallow calling init from inside the contract 2019-09-03 12:22:15 +02:00
sennui
83d06977f9 add extra argument to claim for bidding 2019-09-01 10:58:49 +02:00
Ulf Norell
062309e578 Type variables mentioned in local functions should not be flexible
(cc #112)
2019-08-30 14:22:31 +02:00
Ulf Norell
6fd39d4cb1 Add checks for polymorphic/higher order oracles and higher order entrypoints (AEVM) 2019-08-30 11:18:20 +02:00
Ulf Norell
850221aaf3 Remove no_implicit_stdlib option 2019-08-27 14:10:40 +02:00
Ulf Norell
3f1c23ace3 Use .. in list comprehension test 2019-08-27 14:00:23 +02:00
Ulf Norell
0efbcf302c Fix roundtrip test to ignore ListInternal 2019-08-27 14:00:02 +02:00
Ulf Norell
cfd036b199 Test deadcode elimination for FATE backend 2019-08-21 11:51:36 +02:00
Hans Svensson
ebdd38c505 Change ecverify into verify_sig and then add an actual ecverify 2019-08-21 09:29:40 +02:00
Hans Svensson
bb0c3b54df ACI should also track payable 2019-08-19 08:57:31 +02:00
Hans Svensson
e9505e240f Add Address.is_payable(address) 2019-08-19 08:57:31 +02:00
Hans Svensson
f27d37d624 Add payable modifier for contracts and entrypoints 2019-08-19 08:57:31 +02:00
Radosław Rowicki
b669d2df1e Added list comprehensions and standard List, Option, Func, Pair, and Triple library (#105)
* Added standard List library and list comprehensions

Added List library.

Flatmaps WIP

Fixed dependency in flat_map

fcode generation

Updated tests to use custom list lib

Added comprehension test

Added stdlib

sanity

Test

* Extended stdlib for lists. Added error message for redefinition of stdlibx

* Fixed type template

* Improved stdlib

* More functions

* Fixed cyclic includes

* Refixed imports and added few tests

* Added fail test

* Undelete removed type spec

* Remove typo

* Fix iter function

* Fixed typo

* Added if guards and let statements in list comp

* Added more fail tests

* Option stliv

* 2 and 3 tuple stdlib

* Updated stdlib to new syntax. Added recursor and changed all/any functions

* Fixed performance issues. Changed include management

* Fixed hash type
2019-08-14 13:53:58 +02:00
Hans Svensson
4478fee6e6 Add ACI calldata test 2019-08-05 14:33:53 +02:00
Ulf Norell
46a996ead8 Update test case 2019-08-05 09:20:09 +02:00
Ulf Norell
5ff7aa5821
Merge pull request #109 from radrow/tuple-type
Change tuple typing syntax
2019-08-05 09:13:30 +02:00
Radosław Rowicki
045df292be Fixed pretty printing and pattern split (#111) 2019-07-29 14:27:01 +03:00
radrow
5ff983b0b3 Updated tests 2019-07-22 13:56:45 +02:00
Tobias Lindahl
6f873e45b8 Use a name string rather than a name hash in transfer and revoke 2019-07-01 07:42:08 +02:00
Ulf Norell
6a59e455ce Update tests for entrypoints 2019-06-28 09:42:28 +02:00
Hans Svensson
a617a6469d Change Chain.block_hash to return option(hash) 2019-06-27 14:19:39 +02:00
Ulf Norell
259bae1720 Test case for another name space bug 2019-06-27 09:15:27 +02:00
Tobias Lindahl
c26ace6c2c Implement aens instructions for fate 2019-06-26 13:24:48 +02:00
Ulf Norell
3c8d9561a0 More thorough test for different event types 2019-06-25 19:58:14 +02:00
Ulf Norell
961f557215 Events now compile to FATE 2019-06-25 19:58:14 +02:00
Ulf Norell
a3efaf71a7 Compile oracle check functions in FATE backend 2019-06-25 16:27:48 +02:00
Ulf Norell
6612c29758 Type check Bytes.to_X builtins 2019-06-24 11:44:07 +02:00
Ulf Norell
7fa98892a8 Fix compiler crash on missing let body 2019-06-21 14:16:26 +02:00
Ulf Norell
d38367e023 Fix bug in type checker 2019-06-20 16:02:19 +02:00