Thomas Arts
302c1c211d
Erik's fix to LONG strings
2019-05-28 18:11:42 +02:00
Thomas Arts
453f68fa39
Serialize only code blocks that have operators in right order
2019-05-28 18:11:42 +02:00
Thomas Arts
aa9d2bf893
Do not allow empty code blocks
2019-05-28 18:11:42 +02:00
Thomas Arts
5d7bd73bcb
Serialization of functions only succeeds for 4 byte iudentifiers
2019-05-28 18:11:42 +02:00
Thomas Arts
34b9684b6b
Deserialize code without functions
2019-05-28 18:11:42 +02:00
Thomas Arts
ccbb0ed6c7
Make code easier to test
2019-05-28 18:11:42 +02:00
Ulf Norell
f1298870e5
Merge pull request #47 from aeternity/add-target-register-to-tuple
...
Add target register to TUPLE
2019-05-28 14:17:16 +02:00
Ulf Norell
f115feb16d
Print state variables as storeN
instead of var-N
2019-05-28 11:53:13 +02:00
Tobias Lindahl
241a96ebaa
Change the correct function name to not shadow builting guard ( #46 )
2019-05-28 11:32:52 +02:00
Ulf Norell
880cf573aa
Add a target register to TUPLE instruction
2019-05-28 11:24:38 +02:00
Tobias Lindahl
89f5ebc84b
Add missing basic instructions ( #45 )
...
* Add missing basic instructions
* MAP_SIZE
* MAP_TO_LIST
* STR_LENGTH
* Change name of erlang function to not shadow builtin guard
2019-05-28 11:15:04 +02:00
Erik Stenman
e98298cce4
Add accepted types to operator declarations. Check opcode numbering. ( #43 )
...
* Add accepted types to operator declarations.
* Check opcode numbering.
2019-05-24 13:21:49 +02:00
Erik Stenman
0d1899b32a
Pt 165352420 dissallow stack n ( #42 )
...
* Get rid of redundant arity field from op defs. Reorder and renumber ops. Fix bb_end for abort and exit.
* FATE does not accept arbitrary stack positions, only the accumulator aka stack 0.
2019-05-23 13:40:49 +02:00
Erik Stenman
3e0e289f2f
Get rid of redundant arity field from op defs. Reorder and renumber ops. Fix bb_end for abort and exit. ( #41 )
2019-05-23 13:37:32 +02:00
Tobias Lindahl
11a8997ac7
Pt 166148534 refactor fate code ( #40 )
...
* Change names of generated aeb_fate_code -> aeb_fate_ops
* Break out fate code to separate adt module
* Fix documentation of the SPEND op
* More compact implementation of serialization/deserialization
* Changed argument specification order
2019-05-23 08:15:18 +02:00
Tobias Lindahl
a9389e4e69
Add the CALL_VALUE instruction
2019-05-09 10:57:18 +02:00
Tobias Lindahl
2d3cede235
Add value to remote calls and the new ops CALL_GR and CALL_GTR
2019-05-09 10:57:18 +02:00
Hans Svensson
5fd076f043
Add CREATOR opcode and address check primops
2019-05-09 09:35:48 +02:00
Ulf Norell
2555868990
Merge pull request #37 from aeternity/fate-compiler
...
Fate compiler
2019-05-07 13:04:53 +02:00
Tobias Lindahl
b6019eb81b
Fix object parsing
2019-05-07 11:16:05 +02:00
Ulf Norell
91fc56c322
Change local calls to allow dynamic function name
2019-05-07 09:04:24 +02:00
Ulf Norell
1887486d36
Replace STR_EQ by APPEND
...
STR_EQ is not needed, the regular EQ instruction can handle strings as well. Having
an instruction for list append is quite handy though (would need two passes to do it
tail recursive in FATE assembly)
2019-05-07 09:04:24 +02:00
Ulf Norell
bf6741eac4
Format of li should be {immediate, [integer()]}
2019-05-07 08:38:23 +02:00
Ulf Norell
491489ca7d
Change ~w to ~p
2019-05-07 08:38:23 +02:00
Thomas Arts
d69375e72b
Fix types
2019-05-02 13:08:43 +02:00
Tobias Lindahl
dfca41c98d
Correct arity for BLOCKHASH
2019-05-02 10:33:26 +02:00
Hans Svensson
4e325ff203
Revert bytes(N) from ABI encode it in word/tuple
2019-04-23 16:21:11 +02:00
Hans Svensson
230e2187ce
Add bytes(int) as type + ecverify_secp256k1
2019-04-23 09:30:45 +02:00
Erik Stenman
a6a2686d53
Fixing edoc build the easy way. Real documentation in Readme.md. ( #30 )
2019-04-15 12:18:16 +02:00
Erik Stenman
56cf62b487
Add setelement instruction. ( #29 )
2019-04-12 15:47:16 +02:00
Tobias Lindahl
431b311ae5
Differ between BALANCE for the current contract and BALANCE_OTHER for a remote address
2019-04-12 11:04:56 +02:00
Thomas Arts
436ba457e9
Robuster way to create binaries from strings
2019-04-10 15:43:50 +02:00
Thomas Arts
0261b76314
tuple_to_list is now replaced by a constructor and the "convenience" functions will be moved to apps/aefate tests were they are needed
2019-04-10 15:43:25 +02:00
Thomas Arts
6466ddb866
Bump version
2019-04-09 14:02:21 +02:00
Thomas Arts
a670d1ca6c
Remove the quotes from scanned string
2019-04-09 09:05:26 +02:00
Thomas Arts
96c0fab3ab
Remove fate_type_type is not a fate_type
2019-04-09 08:29:55 +02:00
Thomas Arts
90659342c0
Quote the string
2019-04-08 16:29:55 +02:00
Thomas Arts
f88fe008bf
Add fate_bits as type
2019-04-08 16:29:45 +02:00
Thomas Arts
f5f007e74d
Since the binaries are likely to be strings, unicode conversion makes more sense.
2019-04-08 16:29:31 +02:00
Thomas Arts
0c01215b6a
fix arities formatting
2019-04-08 14:49:17 +02:00
Thomas Arts
fa64bbb56c
Don't forget z
2019-04-08 13:41:23 +02:00
Thomas Arts
fe7e3a638a
Fix scan error
2019-04-08 12:29:18 +02:00
Thomas Arts
15ee836ddb
Explanatory comment
2019-04-08 11:53:00 +02:00
Thomas Arts
68e6a2163e
fate_type_type should be {variant, List} without explicitly storing the size
2019-04-08 11:53:00 +02:00
Robert Virding
54aace97af
Remove local blake2 module
2019-04-01 16:51:35 +02:00
Robert Virding
7e7f061b34
Move TYPEREP defs to aebytecode
2019-03-30 23:06:24 +01:00
Robert Virding
333bf53537
Change function references from aeso_sophia to aeb_aevm_data
2019-03-30 23:06:24 +01:00
Robert Virding
8425eb80c5
Remove old_create_calldata function
...
This function contained calls back to major aesophia modules in this
module so these have now been cleared.
2019-03-30 23:06:24 +01:00
Robert Virding
c00c4a5ac3
First commit of moved functions
...
Most function references to aeso_ have been converted to aeb_.
2019-03-30 23:06:24 +01:00
Erik Stenman
662b611e6d
New representation of variant values. ( #23 )
...
* New representation of variant values.
* Specify type of elments (byte) in arities list.
2019-03-29 14:52:22 +01:00