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
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