Commit Graph

549 Commits

Author SHA1 Message Date
Paweł Bylica cead905a2e Merge pull request #80: EVM-C: Support multiple VMs 2016-08-24 10:15:14 +02:00
Paweł Bylica 530b6684b2 EVM-C: Rename evm_fn_table -> evm_interface 2016-08-23 21:51:42 +02:00
Paweł Bylica 85cdeea4e6 EVM-C: Bring back set_option to ExampleVM 2016-08-23 21:24:22 +02:00
Paweł Bylica e0ff4b350e EVM-C: Build examples without #pragma warning suppressions 2016-08-23 21:10:11 +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 0bbda440a3 Merge pull request #79: EVM-C renames 2016-08-23 10:39:42 +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 82f89664a0 Merge pull request #78: EVM-C: description fixes and ExampleVM 2016-08-23 09:26:29 +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 8c2f9d44e8 EVM-C: improve capi.c and compile against ExampleVM 2016-08-22 21:51:43 +01:00
Alex Beregszaszi 2bb6a4a690 EVM-C: include ExampleVM in CMake 2016-08-22 21:39:34 +01: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
Alex Beregszaszi fc47787b79 EVM-C: include ExampleVM 2016-08-22 21:37:25 +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
Paweł Bylica 6c4089ad80 Merge pull request #75: EVM-C updates
Evm-C updates
2016-08-22 15:14:43 +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 62ccafd8b2 Merge pull request #70: Implement full EVM-C interface 2016-08-17 19:27:24 +02: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 801a38f6a4 Merge pull request #67: Use EVM-C callbacks functions
Merge remote-tracking branch 'origin/evmc' into develop.
2016-07-26 13:29:23 +02:00
Paweł Bylica d26635abc2 EVM-C: get rid of evm_bytes_view type 2016-07-20 14:15:04 +02:00
Paweł Bylica 8684f22c43 Fix build of CAPI example 2016-07-20 13:31:09 +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
Paweł Bylica c7d4a57a90 EVM-C: Change store_storage() to update() function
Change store_storage() function to more generic update() function for modifying a contract state. The update() function is going to be used also for logs and selfdesctruction.
2016-07-05 00:03:25 +02:00
Paweł Bylica 7db0430bd8 EVM-C: Add forgotten blockhash query. 2016-07-04 18:34:03 +02:00
Paweł Bylica eab17398a6 Merge pull request #55: EVM-C: C interface to EVM
The draft of the EVM-C -- C interface to Ethereum Virtual Machine.
2016-06-24 12:53:14 +02:00
Paweł Bylica 565faa0b40 docs: Add doxygen config to produce documentation of EVM-C 2016-06-24 11:41:10 +02:00
Paweł Bylica 57afb98d2c Example usage of EVM-C 2016-06-24 11:40:06 +02:00
Paweł Bylica 945b2f54ad EVM-C: C interface to EVM
The draft of the EVM-C -- C interface to Ethereum Virtual Machine.
2016-06-24 11:35:33 +02:00
Paweł Bylica 651685f1e4 Create LICENSE.md 2015-01-29 15:35:34 +01:00