104 Commits

Author SHA1 Message Date
Paweł Bylica
dcf9662874 Add support for Metropolis compatibility mode 2017-04-03 16:13:18 +02:00
Paweł Bylica
4ee5aff2d4 Merge pull request #108 from ethereum/evmc
EVM-C update
2017-01-20 14:24:27 +01:00
Paweł Bylica
67ed0d9bf9 Fix EVM_CALL_FAILURE definition on Windows 2017-01-19 14:32:22 +01:00
Paweł Bylica
faa1aab946 Always build examples if included 2017-01-19 14:32:22 +01:00
Paweł Bylica
96a1a9020b EVM-C: Use enums to represent constants 2017-01-19 14:32:22 +01:00
Paweł Bylica
66b2ae9663 EVM-C: return by explicit output param
In evm_query_fn, return result by explicit output parameter to avoid C ABI issues and inrease portability. C compiler would do the same implicitly.
2017-01-19 14:32:22 +01:00
Paweł Bylica
575337b449 EVM-C: pass callback argument explicitly by pointer
We try to avoid C ABI complex rules like passing structs by value to increase portability.
2017-01-19 14:32:22 +01:00
Paweł Bylica
3d2e365661 EVM-C: introduce factory -- simpler interface
Replace evm_interface with evm_factory. The factory provides ABI protection and the function for creating EVM instances. After the instance is create you can discard the factory as it is no longer needed.
2017-01-19 14:32:22 +01:00
Paweł Bylica
bfd39abfb2 EVM-C: Drop address field from evm_result
The evm_result was planned to be used as the return struct of the call callback. The address was added to support CREATE, but it is never used and the union here confuses many languages like Go and Python.
2017-01-19 14:32:21 +01:00
Paweł Bylica
5967bf4707 Merge pull request #107 from ethereum/extcodesize
EVM-C: separate EXTCODESIZE from EXTCODE(COPY)
2016-12-06 19:00:42 +01:00
Paweł Bylica
04cb34fb7d EVM-C: separate EXTCODESIZE from EXTCODE(COPY) 2016-12-06 13:47:57 +01:00
Paweł Bylica
915da0b984 Merge pull request #106 from ethereum/antidos
Support for Anti DoS hard forks
2016-11-24 16:28:01 +01:00
Paweł Bylica
a4a6b9f60b EVM-C add modes for recent hard forks 2016-11-22 17:39:15 +01:00
Paweł Bylica
f26d533abc Merge pull request #102: Fix evmjit-standalone 2016-09-28 10:25:42 -05:00
Paweł Bylica
d1d3ed03ae Fix example 2016-09-28 16:50:13 +02:00
Paweł Bylica
bdbfe79001 Merge pull request #101 from ethereum/evmc
EVM-C: Attach result_release function to the result itself
2016-09-28 06:56:51 -05:00
Paweł Bylica
aceb7af658 EVM-C: reorder and add create_address to evm_result 2016-09-28 13:19:02 +02:00
Paweł Bylica
8b9867c971 EVM-C: Attach result_release function to the result itself 2016-09-27 17:14:19 +02:00
Paweł Bylica
6f88571130 Merge pull request #100: Move CALL cost calculations to VM 2016-09-27 08:52:59 -05:00
Paweł Bylica
9c2ef341a7 EVM-C: add call depth query 2016-09-26 16:28:12 +02:00
Paweł Bylica
344552bbe1 Move CALL cost calculations to VM
Delegating CALL cost calculations to Env is bad idea and has bugs.
2016-09-14 13:50:45 +02:00
Paweł Bylica
1b19ee8c27 Merge pull request #93: Install 2016-09-01 10:26:24 +02:00
Paweł Bylica
81b8a6bb06 Merge pull request #87: EVM-C: documentation updates for the query/update 2016-09-01 10:25:44 +02:00
Alex Beregszaszi
ce780dd595 EVM-C: use new format for evm_query descriptions 2016-09-01 03:22:23 +01:00
Alex Beregszaszi
4fbe3a05d9 EVM-C: mark empty args as n/a in query/update 2016-09-01 03:08:24 +01:00
Alex Beregszaszi
800e8f531f EVM-C: remove question marks (all fields are defined) 2016-09-01 03:07:18 +01:00
Paweł Bylica
f566621105 Merge pull request #92: EVM-C: evm_uint256be 2016-08-31 14:05:16 +02:00
Paweł Bylica
1e28593836 EVM-C: remove note about 8-byte alignment 2016-08-31 13:45:24 +02:00
Paweł Bylica
dfd21b50c6 EVM-C: mark the section of the header for Python CFFI 2016-08-31 12:01:28 +02:00
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
50c49b0b9d Merge pull request #90: Static libs 2016-08-29 22:37:53 +02:00
Paweł Bylica
a600339545 Merge pull request #89: EVM-C tweaks 2016-08-29 22:32:25 +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
80581b3df7 Merge pull request #84: EVM-C: Drop evm_get_info()
Closes https://github.com/ethereum/evmjit/issues/73
2016-08-25 22:16:30 +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
e0b0e0b027 Merge pull request #83: EVM-C: Extend evm_result 2016-08-25 14:22:58 +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
ff8847670d EVM-C: Update examples 2016-08-25 12:20:39 +02:00
Paweł Bylica
cd72d30018 EVM-C: Extend evm_result 2016-08-25 12:11:24 +02:00
Alex Beregszaszi
6d2b6efa90 EVM-C: update capi.c to reflect the new error handling 2016-08-24 12:43:35 +01: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