473 Commits

Author SHA1 Message Date
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
Hans Svensson
c60999edf0 Refactor aeso_aci with dont_unfold, etc. 2019-05-28 11:08:36 +02:00
Hans Svensson
8a16bd4fa1 Add dont_unfold option to type inference function 2019-05-28 11:08:36 +02:00
Hans Svensson
1ed40f1cca Pretty print state variables 'a instead of '1 2019-05-28 11:08:36 +02:00
Hans Svensson
5c98317a5a Make 'indexed' keyword optional 2019-05-28 11:08:36 +02:00
Hans Svensson
33dbeeefad Consider namespaces when collecting used_types 2019-05-28 11:08:36 +02:00
Tobias Lindahl
9cf8733f77 The state is always live to prevent bad optimizations 2019-05-28 09:52:50 +02:00
Ulf Norell
ee03442ddf Return parse error instead of crashing the type checker 2019-05-27 11:58:18 +02:00
Tobias Lindahl
0fa09467f6
Pt 166148534 refactor fate code (#71)
* Change of module names aeb_fate_code -> aeb_fate_ops

* Add missing call instructions

* Use new adt for fate code

* Add default init function if not present and keep init function if present

* Fix BLOCKHASH function for fate

* Rewrite for clarity and Dialyzer
2019-05-23 14:01:41 +02:00
Hans Svensson
94689dd0e9 Prepare for v3.0.0 2019-05-21 09:55:17 +02:00