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
b1e882b115
Merge pull request #77 from aeternity/fate-compiler-improvements
...
Update to new TUPLE instruction
2019-05-28 19:00:57 +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
c045e5d653
Merge pull request #76 from aeternity/map-update-bug
...
Fix bug when compiling map updates with default values
2019-05-28 14:03:00 +02:00
Ulf Norell
a95913e793
Fix bug when compiling map updates with default values
2019-05-28 13:47:22 +02:00
Hans Svensson
ec678878fa
Update aeso_aci.md
2019-05-28 13:26:22 +02:00
Hans Svensson
4b0837dc59
Leave state/event blank if not present
2019-05-28 13:07:24 +02:00
Tobias Lindahl
ed96dc1d42
Merge pull request #74 from aeternity/PT-166282300-add-missing-fate-instructions
...
Add missing instructions for FATE
2019-05-28 13:05:59 +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
ea17dae93e
Silence compiler warning
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
098dac65e2
Merge pull request #73 from aeternity/PT-162805991-fate-state
...
The state is always live to prevent bad optimizations
2019-05-28 09:59:22 +02:00
Tobias Lindahl
9cf8733f77
The state is always live to prevent bad optimizations
2019-05-28 09:52:50 +02:00
Ulf Norell
98f349f67c
Merge pull request #72 from aeternity/bad-record-compiler-crash
...
Bad record compiler crash
2019-05-27 12:18:24 +02:00
Ulf Norell
96547ea2ec
Test for record field parse error
2019-05-27 12:04:38 +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
dcae96ed21
Merge pull request #70 from aeternity/PT-166147620-prepare_v3
...
PT-166147620 Prepare for v3.0.0
v3.0.0
2019-05-21 10:37:41 +02:00
Hans Svensson
94689dd0e9
Prepare for v3.0.0
2019-05-21 09:55:17 +02:00
Hans Svensson
be7c0e1bd4
Remove escript aesophia
2019-05-21 09:54:42 +02:00
Ulf Norell
8eaafa736c
Merge pull request #69 from aeternity/PT-162578475-stateful
...
Check stateful annotations
2019-05-15 15:44:37 +02:00
Ulf Norell
cf5a8aeb5f
changelog
2019-05-14 10:10:53 +02:00
Ulf Norell
9e555a3121
Fix type definition
2019-05-14 09:42:27 +02:00
Ulf Norell
d051fa6c89
Remove bad code
2019-05-14 09:42:17 +02:00
Tobias Lindahl
d4238c0bdc
Merge pull request #68 from aeternity/PT-165964555-make-remote-calls-to-contract-objects
...
Keep the contract type in fate code
2019-05-14 09:41:31 +02:00
Ulf Norell
389072fb12
Add stateful to __call
2019-05-14 09:32:52 +02:00
Tobias Lindahl
1760593170
Keep the contract type in fate code
2019-05-14 09:29:52 +02:00
Ulf Norell
d8dd6b900f
Remove unused test contract
2019-05-13 17:51:56 +02:00
Ulf Norell
74d4048d9f
Check that init doesn't read or write the state
2019-05-13 17:51:47 +02:00
Ulf Norell
6bd2b7c483
Remember source location when computing used names
2019-05-13 17:50:34 +02:00
Ulf Norell
5aed8b3ef5
Check stateful annotations
...
Functions must be annotated as `stateful` in order to
- Update the contract state (using `put`)
- Call `Chain.spend` or other primitive functions that cost tokens
- Call an Oracle or AENS function that requires a signature
- Make a remote call with a non-zero value
- Construct a lambda calling a stateful function
It does not need to be stateful to
- Read the contract state
- Call another contract with value=0, even when the remote function is stateful
2019-05-13 13:39:17 +02:00
Ulf Norell
e1a798aef4
Check for repeated argument names to functions
...
(PT-159592825)
2019-05-10 15:51:42 +02:00
Ulf Norell
23cc8e1132
Letrec and letfun ( #65 )
...
* Type check and compile letfuns
* Minor code simplification
* Remove let rec from Sophia
2019-05-10 13:27:57 +02:00
Tobias Lindahl
691ae72fbb
Merge pull request #66 from aeternity/PT-165857097-add-call-value-instruction
...
Add call value instruction in fate
2019-05-10 13:15:22 +02:00
Tobias Lindahl
8830095c7e
Add call value instruction in fate
2019-05-10 12:38:58 +02:00
Tobias Lindahl
251b876495
Add value and gas to remote calls ( #64 )
...
* Add value and gas to remote calls
2019-05-10 09:00:36 +02:00