482 Commits

Author SHA1 Message Date
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
Ulf Norell
95f1262b21 Missing compiler cases for crypto ops 2019-06-05 18:19:53 +02:00
Ulf Norell
2bbb16654f Compile crypto ops 2019-06-05 14:16:33 +02:00
Ulf Norell
66c392e8af Make dialyzer bugger off 2019-06-05 12:16:19 +02:00
Ulf Norell
6236b33115 Crash with a nicer error on r.address
Fate doesn't have a contract to address instruction yet
2019-06-05 12:11:49 +02:00
Ulf Norell
3b352d8093 Generate type variables for polymorphic functions 2019-06-03 13:41:31 +02:00
Ulf Norell
a60d04d794 Fix minor code generation issues 2019-06-03 13:41:07 +02:00
Ulf Norell
10d9c62d53 Skeleton for inliner 2019-06-03 13:41:07 +02:00
Tobias Lindahl
344ec74eaa Fix arg order for map_delete and renaming of vars for map_update 2019-06-03 13:20:03 +02:00
Hans Svensson
07c445082a Prepare v3.1.0 2019-06-03 10:58:28 +02:00
Ulf Norell
80ed24a4f6 Fix bug in basic block generation
(JUMPIF ends a basic block)
2019-06-03 10:30:25 +02:00
Hans Svensson
05256eeb60
Merge pull request #79 from aeternity/negative_literals_in_calldata
Allow negative literals in calldata and result
2019-06-03 09:21:22 +02:00
Ulf Norell
7592390059
Merge pull request #78 from radrow/builtins
Popularized use of builtin_call function
2019-06-03 09:19:03 +02:00
Hans Svensson
bb4ef61a50 Allow negative literals in calldata and result 2019-06-03 09:08:53 +02:00
radrow
bb5a710626 Popularized use of builtin_call function 2019-05-31 12:21:48 +02:00
Hans Svensson
758fecbb9b
Merge pull request #75 from aeternity/fix_aci
Restructure and improve ACI
2019-05-31 11:33:07 +02:00
Ulf Norell
bea524635b Add backend argument (aevm | fate) to aeso_compiler options
and test fate backend on (most) compilable contracts
2019-05-28 16:40:54 +02:00
Ulf Norell
e44a890292 Fix bug in compilation of Map.lookup 2019-05-28 16:19:39 +02:00
Hans Svensson
d3a13eafed A record should be _one_ object 2019-05-28 14:25:37 +02:00
Ulf Norell
0532c54ca0 Pretty print state variables 2019-05-28 14:18:38 +02:00
Ulf Norell
02d0025fd7 Don't use POP 2019-05-28 14:18:38 +02:00
Ulf Norell
0409a658b0 Update to new TUPLE instruction
... and minor fixes
2019-05-28 14:18:38 +02:00
Ulf Norell
a95913e793 Fix bug when compiling map updates with default values 2019-05-28 13:47:22 +02:00
Hans Svensson
4b0837dc59 Leave state/event blank if not present 2019-05-28 13:07:24 +02:00
Tobias Lindahl
60d9581fae Add missing instructions for FATE 2019-05-28 11:35:24 +02:00
Hans Svensson
0ded431df8 Fix interface and use atoms instead of binaries 2019-05-28 11:18:21 +02:00
Hans Svensson
e7419b79fd Put state and event types at the top level 2019-05-28 11:08:36 +02:00