Paweł Bylica
04ddc0fb93
EVM-C: update docs
2016-08-31 12:00:40 +02:00
Paweł Bylica
2a99b13573
EVM-C: Replace evm_{uint|hash}256 with single evm_uint256be
...
All values transfered to/from a VM must be passed as big-endian integers.
2016-08-31 11:40:02 +02:00
Paweł Bylica
4b650928bb
EVM-C: Avoid examplevm_get_interface() being implicitly variadic
2016-08-29 10:37:46 +02:00
Paweł Bylica
12efc07993
EVM-C: Extend docs of evm_update_fn
2016-08-29 09:30:19 +02:00
Paweł Bylica
1c4ba40573
Fix type in EVM-C docs. NFC
2016-08-29 09:06:47 +02:00
Paweł Bylica
e70eae3e7a
EVM-C: evm_prepare_code(): move code_hash parameter before code parameter
2016-08-28 20:40:27 +02:00
Paweł Bylica
0b9b01e05c
EVM-C: Simplify evm_hash256 struct
2016-08-28 20:40:20 +02:00
Paweł Bylica
aa1fa5ee32
EVM-C: Add ABI versioning support
2016-08-25 22:02:36 +02:00
Paweł Bylica
93f16f9380
EVM-C: Drop evm_get_info()
2016-08-25 15:01:49 +02:00
Paweł Bylica
2e6b278a59
EVM-C: Rename evm_result_error_code -> evm_result_code
2016-08-25 13:50:11 +02:00
Paweł Bylica
85ee6de4be
EVM-C: Update docs
2016-08-25 12:48:54 +02:00
Paweł Bylica
b889ea4daa
EVM-C: Change #define EVM_CALL_FAILURE to static const global variable
2016-08-25 12:40:16 +02:00
Paweł Bylica
cd72d30018
EVM-C: Extend evm_result
2016-08-25 12:11:24 +02:00
Alex Beregszaszi
971033adda
EVM-C: start result codes from 1
2016-08-24 12:40:55 +01:00
Alex Beregszaszi
baeade4d10
EVM-C: rename EVM_RESULT_* to EVM_*
2016-08-24 12:30:52 +01:00
Alex Beregszaszi
f107589c59
EVM-C: rename EVM_EXCEPTION to EVM_CALL_EXCEPTION
2016-08-24 12:30:51 +01:00
Alex Beregszaszi
9046d6edd5
EVM-C: include the rest of the result codes from cpp-ethereum
2016-08-24 11:02:59 +01:00
Alex Beregszaszi
75f257a3a7
EVM-C: include last_pc in evm_result
2016-08-24 10:47:17 +01:00
Alex Beregszaszi
0e129f5fed
EVM-C: demote EVM_EXCEPTION to only be used with evm_query_fn
2016-08-24 10:47:17 +01:00
Alex Beregszaszi
abc914afd2
EVM-C: include evm_result_outcome in evm_result
2016-08-24 10:47:17 +01:00
Paweł Bylica
530b6684b2
EVM-C: Rename evm_fn_table -> evm_interface
2016-08-23 21:51:42 +02:00
Paweł Bylica
81edf123db
EVM-C: Replace #pargma once with #ifndef include guards
2016-08-23 20:04:08 +02:00
Paweł Bylica
c4b226a035
EVM-C: Move evmjit to separated header & update docs
2016-08-23 13:50:25 +02:00
Paweł Bylica
efb73335c2
Update EVM-C examples
2016-08-23 13:07:33 +02:00
Paweł Bylica
5defa1d222
EVM-C: Support multiple implementation
...
Support multiple VM implementations by EVM-C in a single application by exporting only a function table (like vtable in OOP) for each implementation. The symbol name convention is `<vm-name>_get_fn_table()`.
2016-08-23 12:09:39 +02:00
Paweł Bylica
77326672fd
EVM-C: Use int istead of bool type
2016-08-23 11:55:06 +02:00
Paweł Bylica
091963ce09
Merge remote-tracking branch 'origin/develop' into evmc
...
# Conflicts:
# examples/capi.c
2016-08-23 09:37:15 +02:00
Paweł Bylica
609b6b2390
EVM-C: rename evm_release_result_resources() -> evm_release_result()
2016-08-23 00:54:46 +02:00
Alex Beregszaszi
8ae6f4eae6
EVM-C: mark evm_hash160 big-endian
2016-08-22 21:37:30 +01:00
Alex Beregszaszi
9c3ff6d4b3
EVM-C: response is 20 bytes address to CREATE (and not 160 bytes)
2016-08-22 21:37:30 +01:00
Alex Beregszaszi
787644293c
EVM-C: highlight CREATE in evm_call_fn
2016-08-22 21:37:30 +01:00
Alex Beregszaszi
2b46c72c39
EVM-C: trying to fix Doxygen for evm_update_fn
2016-08-22 21:37:30 +01:00
Paweł Bylica
70be53cf4d
EVM-C: better names for functions supporting JITs
...
Rename evmjit_is_code_ready() to evm_get_code_status() and evmjit_compile() to evm_prepare_code().
2016-08-22 22:18:42 +02:00
Paweł Bylica
2b6773f128
EVM-C: Change evm_destroy_result() to evm_release_result_resources()
...
Be explicit how releasing execution result works. Also pass result by pointer.
2016-08-22 21:40:20 +02:00
Alex Beregszaszi
5c5c7087af
EVM-C: use evm_variant::data for EVM_CODE_BY_ADDRESS so that Doxygen picks it up correctly
2016-08-22 12:06:15 +01:00
Alex Beregszaszi
d14fd8563f
EVM-C: update description of evm_query_fn to match current implementation
2016-08-22 12:06:15 +01:00
Alex Beregszaszi
ce75278de7
EMV-C: include description for evm_update_fn
2016-08-22 11:42:07 +01:00
Alex Beregszaszi
d529efcf00
EVM-C: include struct keyword where types are not typedef'd
2016-08-22 11:42:07 +01:00
Paweł Bylica
a4bb85250d
EVM-C: allow correct symbol exporting
...
This is a bit strange but MSVC requires dllexport spec to be applied to some (not all) function declarations. So the evm.h header will now use EXPORT macro for that if that macro is defined by the implementation.
2016-07-29 13:14:12 +02:00
Paweł Bylica
2f68fdf592
EVM-C: improve enums
...
Explicitly enumarate enum members to be easier to use by langugaes not supporting C enums (like Python ctypes module).
2016-07-29 12:07:11 +02:00
Paweł Bylica
0fea9c9094
EVM-C: Move evm_mode param directly to evm_execute()
2016-07-28 12:45:01 +02:00
Paweł Bylica
ae3d37d361
EVM-C: Use unsigned char (uint8_t) to reference arrays of bytes
2016-07-26 14:00:59 +02:00
Paweł Bylica
180fa2b23e
Extend EVM-C with code compilation support suitable for jits
2016-07-26 13:31:04 +02:00
Paweł Bylica
d26635abc2
EVM-C: get rid of evm_bytes_view type
2016-07-20 14:15:04 +02:00
Paweł Bylica
a7bfe3d201
Implement CREATE using evm_call() function form EVM-C API
2016-07-15 16:40:34 +02:00
Paweł Bylica
9869772ad7
EVM-C: use EVM_EXCEPTION constant as a call failure indicator
2016-07-15 14:37:06 +02:00
Paweł Bylica
f92ce99a5a
Simplify evm_call_fn of EVM-C and fix C ABI calls
2016-07-15 14:21:02 +02:00
Paweł Bylica
c83060626f
Implement calls using evm_call() function form EVM-C API
2016-07-14 16:56:16 +02:00
Paweł Bylica
4198c0d503
EVM-C: Pass logs using evm_update() function
2016-07-05 13:18:36 +02:00
Paweł Bylica
4d0fd3e24e
EVM-C: Register selfdestruction by evm_update()
...
This allows simplifying the return structure.
2016-07-05 00:55:04 +02:00