Ulf Norell
f42353b300
Handle encoding/decoding bits
...
Fixes GH-174
2019-11-18 12:16:04 +01:00
Ulf Norell
baf527b5fa
Handle encoding/decoding bits
...
Fixes GH-174
2019-11-18 11:35:08 +01:00
skkw
126e04ae42
support for AENS.update call
2019-11-12 14:27:46 +01:00
Ulf Norell
f5b2732b04
Don't get rid of store updates!
2019-10-10 14:19:56 +02:00
Ulf Norell
5fc6e18cd2
Add Address.to_contract
...
Casts an address to a (any) contract type.
2019-09-30 14:47:05 +02:00
Ulf Norell
214a5f0a91
Fix issues with liveness analysis
2019-09-24 16:23:50 +02:00
Ulf Norell
b752965443
don't call aeb_fate_ops with {store, _} arg
...
(to not upset dialyzer)
2019-09-24 10:47:26 +02:00
Ulf Norell
0019d92e45
Don't confuse variables and store registers in fate asm generation
2019-09-23 16:52:16 +02:00
Ulf Norell
3ea8470dc8
Compile Bytes.concat and split to FATE
2019-09-09 18:40:45 +02:00
Ulf Norell
58ab771dff
Make init
do the state updates in FATE (instead of a new INIT function)
2019-09-03 09:01:11 +02:00
sennui
83d06977f9
add extra argument to claim for bidding
2019-09-01 10:58:49 +02:00
Ulf Norell
07cf162703
Fix performance problem in FATE optimiser caused by debug printing
2019-08-23 10:07:43 +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
Ulf Norell
cbc8909954
Add default init function in fcode pass instead of in assembler
2019-08-21 11:51:36 +02:00
Hans Svensson
ebdd38c505
Change ecverify into verify_sig and then add an actual ecverify
2019-08-21 09:29:40 +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
Ulf Norell
448adb8890
Don't generate remote tail calls
2019-08-13 15:52:47 +02:00
Ulf Norell
2d6381dc6f
Generate INIT function which writes the state instead of returning it
2019-08-05 14:36:59 +02:00
Tobias Lindahl
9be528a579
Use EXIT for internal errors to burn all gas
2019-07-09 14:36:09 +02:00
Tobias Lindahl
c26ace6c2c
Implement aens instructions for fate
2019-06-26 13:24:48 +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
bde5a3c071
Compile bytes_to_X in FATE backend
2019-06-24 11:44:23 +02:00
Ulf Norell
4f9d4e5c07
Update compiler for bytes
2019-06-20 14:36: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
Hans Svensson
a14fa93920
Add contract_to_address to FATE
2019-06-11 12:05:58 +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
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
80ed24a4f6
Fix bug in basic block generation
...
(JUMPIF ends a basic block)
2019-06-03 10:30:25 +02:00
Ulf Norell
e44a890292
Fix bug in compilation of Map.lookup
2019-05-28 16:19:39 +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
Tobias Lindahl
60d9581fae
Add missing instructions for FATE
2019-05-28 11:35:24 +02:00
Tobias Lindahl
9cf8733f77
The state is always live to prevent bad optimizations
2019-05-28 09:52:50 +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
Tobias Lindahl
1760593170
Keep the contract type in fate code
2019-05-14 09:29:52 +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