Hans Svensson
d4c6187739
Merge pull request #130 from aeternity/PT-168026424-prepare_sophia_4_0_RC1
...
Preparing 4.0.0-rc1
2019-08-22 16:02:06 +02:00
Hans Svensson
2620aa64b4
Add some no_implicit_stdlib for now
2019-08-22 15:21:41 +02:00
Ulf Norell
20064b72fa
Compile tail-calls to current function to jumps
2019-08-22 14:50:15 +02:00
Ulf Norell
a942561907
Improved optimizations of FATE code
2019-08-22 14:49:48 +02:00
Hans Svensson
bde76c8580
Preparing 4.0.0-rc1
2019-08-22 13:30:00 +02:00
Ulf Norell
e94b5379ed
Deadcode elimination pass
2019-08-21 12:19:01 +02:00
Ulf Norell
cbc8909954
Add default init function in fcode pass instead of in assembler
2019-08-21 11:51:36 +02:00
Ulf Norell
bbf043f4ee
Merge pull request #126 from radrow/listcompfixes
...
Fixed comprehension dependencies
2019-08-21 11:51:16 +02:00
Ulf Norell
ba41ab457d
Merge pull request #127 from aeternity/radrow-patch-1
...
Fixed intersperse in stdlib
2019-08-21 11:51:04 +02:00
Hans Svensson
ebdd38c505
Change ecverify into verify_sig and then add an actual ecverify
2019-08-21 09:29:40 +02:00
Radosław Rowicki
5dbca47d34
Fixed intersperse in stdlib
2019-08-20 20:16:52 +02:00
radrow
79d491e4a8
Fixed comprehension dependencies
2019-08-20 18:44:47 +02:00
Hans Svensson
bb0c3b54df
ACI should also track payable
2019-08-19 08:57:31 +02:00
Hans Svensson
d0485304b6
Please dialyzer
2019-08-19 08:57:31 +02:00
Hans Svensson
e9505e240f
Add Address.is_payable(address)
2019-08-19 08:57:31 +02:00
Hans Svensson
f27d37d624
Add payable modifier for contracts and entrypoints
2019-08-19 08:57:31 +02:00
Ulf Norell
522d977be9
Remote calls now take typerep arguments
2019-08-16 09:12:04 +02:00
Tino Breddin
dd26649f7d
[PT-167805291] Add opcode for ecrecover ( #122 )
...
* Add opcode for ecrecover
* Update aebytecode
* Extend signature bytes type used for ecrecover
* Add ecrecover to changelog
* Add some type specs
* Please dialyzer
2019-08-14 21:02:46 +02:00
Radosław Rowicki
b669d2df1e
Added list comprehensions and standard List, Option, Func, Pair, and Triple library ( #105 )
...
* Added standard List library and list comprehensions
Added List library.
Flatmaps WIP
Fixed dependency in flat_map
fcode generation
Updated tests to use custom list lib
Added comprehension test
Added stdlib
sanity
Test
* Extended stdlib for lists. Added error message for redefinition of stdlibx
* Fixed type template
* Improved stdlib
* More functions
* Fixed cyclic includes
* Refixed imports and added few tests
* Added fail test
* Undelete removed type spec
* Remove typo
* Fix iter function
* Fixed typo
* Added if guards and let statements in list comp
* Added more fail tests
* Option stliv
* 2 and 3 tuple stdlib
* Updated stdlib to new syntax. Added recursor and changed all/any functions
* Fixed performance issues. Changed include management
* Fixed hash type
2019-08-14 13:53:58 +02:00
Ulf Norell
448adb8890
Don't generate remote tail calls
2019-08-13 15:52:47 +02:00
Thomas Arts
cecc977898
Compiler returns abi_version
2019-08-06 13:11:31 +02:00
Ulf Norell
74933b0616
Merge pull request #117 from aeternity/PT-167701356-split-store
...
PT-167701356 split store
2019-08-06 12:27:18 +02:00
Hans Svensson
d526e55c26
to_sophia_value should also use no_code option
2019-08-05 15:19:22 +02:00
Ulf Norell
2d6381dc6f
Generate INIT function which writes the state instead of returning it
2019-08-05 14:36:59 +02:00
Hans Svensson
3663b4e5d0
Add no_code option to aeso_compile (for encode/decode calldata)
2019-08-05 14:33:53 +02:00
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