308 Commits

Author SHA1 Message Date
Ulf Norell
79ae92a068 Add missing error message 2019-08-05 14:01:35 +02:00
Hans Svensson
2bf6ab7655
Merge pull request #110 from radrow/patch-1
Covered qid case in ast_typerep
2019-08-05 09:15:12 +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
Radosław Rowicki
c97eb99921
Fixed double parens in ACI pp
Co-Authored-By: Ulf Norell <ulf.norell@gmail.com>
2019-07-29 11:01:38 +02:00
Radosław Rowicki
4c78ab3aee
Covered qid case in ast_typerep
Because `qid` was not accepted the following code 

```
contract Test = 
   datatype myOption('a) = MyNone | MySome('a)
   entrypoint optionFn(v: myOption(string)): myOption(string) = v
```
Used to lead to `function_clause` error.

Bug copyright (c) @nduchak
2019-07-26 15:31:06 +02:00
radrow
5ff983b0b3 Updated tests 2019-07-22 13:56:45 +02:00
radrow
4c72045a86 Changed tuple type parsing rule 2019-07-20 19:00:53 +02:00
radrow
7daf218b2a Changed 'require' function return type to Unit 2019-07-19 18:10:54 +02:00
radrow
973850e6a6 Fix pat split 2019-07-11 18:28:50 +02:00
Tobias Lindahl
c4660fe0cf Properly decode revert strings for fate as well 2019-07-09 16:24:56 +02:00
Tobias Lindahl
9be528a579 Use EXIT for internal errors to burn all gas 2019-07-09 14:36:09 +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
Hans Svensson
41011d15cc Prepare 3.2.0 2019-06-28 11:51:51 +02:00
Ulf Norell
dc5fd74934 Fix include path not being added if giving explicit options 2019-06-28 10:28:16 +02:00
Ulf Norell
85408a12a2 Update ACI to new entrypoint declarations
also make ACI understand namespaces
2019-06-28 09:36:07 +02:00
Ulf Norell
79137e058e Revamp private/public functions
Problem: having public as the default makes it very easy to accidentally
export local function by forgetting the `private` modifier.

Solution: functions are private by default and must be declared as `entrypoint`s
to be exported. So `entrypoint foo() = ...` instead of `function foo() = ...`.

We still accept the `private` modifier although it is redundant.
2019-06-28 09:36:07 +02:00
Hans Svensson
a617a6469d Change Chain.block_hash to return option(hash) 2019-06-27 14:19:39 +02:00
Hans Svensson
502a4e6464 Fix to_sophia_value for FATE backend 2019-06-27 10:42:31 +02:00
Ulf Norell
292d1aa65b Fix namespace bug
Don't unfold record types until all contracts/namespaces have been checked
2019-06-27 09:15:27 +02:00
Hans Svensson
2bf5e59e2b Pre-compute and switch to Blake2b for event name hash 2019-06-26 13:34:57 +02:00
Tobias Lindahl
c26ace6c2c Implement aens instructions for fate 2019-06-26 13:24:48 +02:00
Ulf Norell
523d6b03a9 Allow bytes(N) as indices if N =< 32 and payload if N > 32 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
0cf6a52b26 Compile events 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
0ef7c59771 Fix issues discovered by dialyzer 2019-06-24 14:29:20 +02:00
Ulf Norell
cee8a4ecf3 Compile bytes_to_X in AEVM backend 2019-06-24 14:09:20 +02:00
Ulf Norell
bde5a3c071 Compile bytes_to_X in FATE backend 2019-06-24 11:44:23 +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
Ulf Norell
4f9d4e5c07 Update compiler for bytes 2019-06-20 14:36:08 +02:00
Thomas Arts
c745827c53
Update src/aeso_vm_decode.erl
Co-Authored-By: Hans Svensson <hanssv@gmail.com>
2019-06-20 14:19:39 +02:00
Thomas Arts
389e931674 Unit type instead of bool 2019-06-20 13:13:28 +02:00
Thomas Arts
d571993405 Fix type spec 2019-06-20 13:13:25 +02:00
Thomas Arts
66528c8a6a Move translate_vm to aeso_vm_decode 2019-06-20 13:10:08 +02:00
Thomas Arts
46c746da1c Refactor string_to_code 2019-06-20 13:10:08 +02:00
Thomas Arts
1c346af85e whitespaces 2019-06-20 13:10:08 +02:00
Tobias Lindahl
03c6ae1c74 Add type information to oracle instructions 2019-06-20 09:23:09 +02:00
Tobias Lindahl
990df562e0
Handle oracle operation in FATE (#90)
* Handle oracle operation in FATE

Keep oracle type information on fcode level

Introduce typereps as values

Handle oracle registration

Handle oracle query object and oracle_query op

Handle oracle get question

Handle oracle query fee

Handle oracle get answer

Handle oracle respond

Handle oracle extend

* Address review comment
2019-06-18 14:32:08 +02:00
Hans Svensson
81f277127d Handle signature, hash and map in create_calldata for FATE 2019-06-14 16:08:59 +02:00
Hans Svensson
11dc632927 Add handling of auth_tx_hash 2019-06-14 13:14:24 +02:00
Thomas Arts
e5c64a5fad Add lit_to_fate and fix cons translation 2019-06-14 12:41:36 +02:00
Thomas Arts
a34558412d Arguments are in the body of the call, use term_to_fate before serializing them 2019-06-14 12:41:21 +02:00
Thomas Arts
95c41b8eee Avoid hash collisions in calldata creation 2019-06-14 12:41:21 +02:00
Ulf Norell
17a1fd8095 Add require builtin 2019-06-14 10:27:07 +02:00
Thomas Arts
46963a8326 Update aeso_compiler 2019-06-11 15:25:01 +02:00
Hans Svensson
a14fa93920 Add contract_to_address to FATE 2019-06-11 12:05:58 +02:00
Hans Svensson
3e2281a834 Make fate-backend also return a Map 2019-06-10 15:13:34 +02:00