Ulf Norell
33a1d5f4fb
Perform sanity checks both in serialize and deserialize
2019-06-20 14:30:04 +02:00
Ulf Norell
eeaf646a86
Allow variants as map keys
2019-06-20 14:30:04 +02:00
Ulf Norell
f421c1e361
Add bytes type and values
...
and remove hash and signature
2019-06-20 14:27:18 +02:00
Thomas Arts
f91c8fabdd
Merge pull request #51 from aeternity/PT-166696064-decode-calldata-fate
...
Pt 166696064 decode calldata fate
2019-06-20 13:05:44 +02:00
Tobias Lindahl
9dfc5f4f1d
Merge pull request #55 from aeternity/PT-166786424-check-oracle-types
...
Add oracle types to some oracle instructions
2019-06-20 09:21:23 +02:00
Thomas Arts
1fda6912da
Fix error
2019-06-19 17:41:47 +02:00
Thomas Arts
9840b22546
Add decoding function
2019-06-19 17:41:47 +02:00
Thomas Arts
e3f843fd91
Do not return types, create_calldata does not need those
2019-06-19 17:41:47 +02:00
Hans Svensson
768e0d4fbb
Fix incorrect type spec
2019-06-19 13:25:05 +02:00
Tobias Lindahl
f92e23c955
Add oracle types to some oracle instructions
2019-06-19 12:11:22 +02:00
Tobias Lindahl
e321882b98
Pt 166233685 fate oracles ( #52 )
...
* Introduce typereps
* Use typereps for registering oracles
* Add TTL to oracle register
* Introduce oracle query object and ORACLE_QUERY operation
* Stub the remaining oracle instructions
* Adapt oracle respond and extend
* Document oracle ops
* Add unit tests for all oracle instructions
2019-06-18 13:56:48 +02:00
Hans Svensson
c1fb3a47c7
More functions in aeb_fate_abi
2019-06-18 13:51:06 +02:00
Hans Svensson
a0c3a990ed
Add function_name_from_function_hash to aeb_fate_abi
2019-06-18 11:59:54 +02:00
Hans Svensson
506f9ca72e
Add AUTH_TX_HASH operation
2019-06-11 15:31:16 +02:00
Thomas Arts
242700e084
Add creation of fate calldata
2019-06-11 14:47:38 +02:00
Hans Svensson
896290ad3b
contract_to_address instruction
2019-06-11 09:20:13 +02:00
Ulf Norell
876e8504c8
crypto instructions
2019-06-05 14:21:47 +02:00
Ulf Norell
409d761b18
Add serialization of any and type variables
2019-06-05 11:13:52 +02:00
Thomas Arts
b8b316aae0
Make sorting idempotent
2019-06-03 14:49:13 +02:00
Thomas Arts
ffebc13d08
Make sort testable
2019-06-03 14:45:08 +02:00
Thomas Arts
3ff4df42ff
Make sure arguments not provided are maskes 2#00.
2019-06-03 13:43:49 +02:00
Thomas Arts
e8390e52d1
Bug fix and little different way of writing logic
2019-06-03 11:07:00 +02:00
Erik Stenman
58daf1bb5c
Add quick check test for order and handle variants.
2019-05-31 14:42:00 +02:00
Erik Stenman
cb8e2b07a4
Use FATE order to sort maps iterator.
2019-05-31 13:52:07 +02:00
Erik Stenman
46f9d34447
Total order for FATE types.
2019-05-31 13:17:50 +02:00
Erik Stenman
942c7fb069
Add first draft of total order for FATE terms.
2019-05-30 12:31:40 +02:00
Thomas Arts
a5bfdf63d5
Define a specific sorting for key-Value pairs
...
Sort on key and check: no duplicates and no maps and variants as key
2019-05-29 16:23:43 +02:00
Thomas Arts
41860b041e
We should not deserialize function blocks only containing opcodes, but not a function
2019-05-29 16:23:43 +02:00
Thomas Arts
25ef7e7fe3
Remove special cases for NIL and empty MAP
2019-05-29 11:18:41 +02:00
Thomas Arts
bcc409f302
serialize and deserialize integers with validity check
2019-05-29 11:17:13 +02:00
Thomas Arts
42719e7000
Fail on deserializing negative zero
2019-05-29 08:52:24 +02:00
Thomas Arts
f7a4c40c50
Only decode correctly encoded negative binaries
2019-05-29 08:21:25 +02:00
Thomas Arts
ec0af8046a
Safer serialization of opcode arguments
2019-05-28 19:09:42 +02:00
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