Paweł Bylica
62c2839568
EVM-C: Fix evm_context empty struct
2017-08-22 17:55:29 +02:00
Paweł Bylica
0bbed896af
EVM-C: Update evm_revision docs
2017-08-20 16:14:35 +02:00
Paweł Bylica
17ec97bcde
EVM-C: Update EVM revision names
...
Resolves https://github.com/ethereum/evmjit/issues/117 .
2017-08-18 18:38:41 +02:00
Paweł Bylica
25bc753f0e
EVM-C: Rename evm_mode to evm_revision
2017-08-18 18:32:26 +02:00
Paweł Bylica
581ba3ef2e
EVM-C: Improve execution context opaque struct
2017-08-18 18:29:22 +02:00
Paweł Bylica
4c2202ebcf
Merge pull request #127 from ethereum/evmc-query
...
EVM-C: Simplify callbacks
2017-08-18 15:09:32 +02:00
Paweł Bylica
2004671cb2
EVM-C: Fix docs
2017-08-18 14:09:55 +02:00
Paweł Bylica
182d7f3876
EVM-C: Reduce query_fn to account_exists_fn
2017-08-08 10:26:52 +02:00
Paweł Bylica
2d2adcb868
EVM-C: Move code query to separated callback function
2017-08-08 10:11:53 +02:00
Paweł Bylica
2aa1623203
EVM-C: Move balance query to separated callback function
2017-08-07 18:45:26 +02:00
Paweł Bylica
a1fb5e8299
EVM-C: Limit functionality of output in message
...
Do not allow passing debug and error messages in message.output. We should keep the output buffer for passing consensus-critical data only. We still need to design tracing / debugging subsystem for EVM-C. The place of error messages is there.
2017-08-07 18:19:05 +02:00
Yoichi Hirai
56ccdf9d2f
Split Metropolis into Byzantium and Constantinople
2017-08-02 17:51:49 +02:00
Paweł Bylica
d6224857c4
EVM-C: Collect callbacks in evm_host struct
2017-08-01 15:59:40 +02:00
Paweł Bylica
1349c23167
Add STATICCALL support
2017-07-03 13:17:29 +02:00
Paweł Bylica
0bcc1ca70f
Add EVM-C flags to pass STATIC flag for STATICCALL
2017-06-23 17:08:51 +02:00
Paweł Bylica
1bbdc0c0c9
EVM-C: Split get_storage from query callback
2017-06-09 16:16:17 +02:00
Paweł Bylica
34113af8b3
EVM-C: Fix constness, extend examples
2017-06-08 14:48:09 +02:00
Paweł Bylica
4613a0a6b2
EVM-C: Remove address from evm_variant
2017-06-08 12:03:26 +02:00
Paweł Bylica
06b25bf87d
EVM-C: Simplify set_storage callback
2017-06-08 12:00:04 +02:00
Paweł Bylica
cde8027511
EVM-C: Separate selfdestruct function from state_update one
2017-06-08 11:38:08 +02:00
Paweł Bylica
f7e53a12d0
EVM-C: Separate log function from state_update one
2017-06-08 11:07:03 +02:00
Paweł Bylica
497f92bcb8
EVM-C: Replace evm_result payload with 24 bytes union
2017-05-30 12:47:21 +02:00
Paweł Bylica
cb90d9f35c
EVM-C: change call callback to operate on evm_result type
2017-05-22 16:07:29 +02:00
Paweł Bylica
3ddd4fdc18
Add payload to evm_result (stupid name)
2017-05-11 15:28:57 +02:00
Paweł Bylica
a8083aedf4
EVM-C: Update docs
2017-05-08 10:03:48 +02:00
Paweł Bylica
27f3955f8b
EVM-C: Add call kind to evm_message
2017-05-04 17:31:30 +01:00
Paweł Bylica
6d6b2c1928
EVM-C: Include code hash in the message
2017-05-04 17:31:30 +01:00
Paweł Bylica
cc35c5d169
EVM-C: Improve update state callback function
2017-05-04 17:31:30 +01:00
Paweł Bylica
104a4a12c3
EVM-C: Improve query state callback function
2017-05-04 17:31:30 +01:00
Paweł Bylica
58ad722339
EVM-C: Move blockhash query to own function
2017-05-04 17:31:30 +01:00
Paweł Bylica
25a5fe0ceb
EVM-C: Fix C examples
2017-05-04 17:31:30 +01:00
Paweł Bylica
da456c0ae6
EVM-C: Remove transaction context items from query key
2017-05-04 17:31:30 +01:00
Paweł Bylica
fc096859b9
EVM-C: Query function for transaction context
2017-05-04 17:31:30 +01:00
Paweł Bylica
352942c940
EVM-C: transaction context struct
2017-05-04 17:31:30 +01:00
Paweł Bylica
364bbcd69e
EVM-C: clean up evm_query_key
...
Remove items from evm_query already available in evm_message
2017-05-04 17:31:30 +01:00
Paweł Bylica
a5625ee80a
EVM-C: Introduce evm_message
2017-05-04 17:31:30 +01:00
Paweł Bylica
6b94734d1a
EVM-C: Clarify docs about result context and releasing
2017-04-25 19:05:49 +02:00
Paweł Bylica
7c79af5d59
EVM-C: fix typo in comments
2017-04-25 17:02:49 +02:00
Paweł Bylica
5bab6b8d7e
EVM-C: Fix some issues in the example
2017-04-25 17:01:46 +02:00
Paweł Bylica
71dd92123c
EVM-C: Clarify UTF-8 encoding of error messages
2017-04-24 18:23:19 +02:00
Paweł Bylica
c584b84af9
EVM-C: clarify that evm_result::release can be NULL
2017-04-24 18:10:30 +02:00
Paweł Bylica
1fe60a02ba
EVM-C: Simplify and clarify docs of evm_result
2017-04-24 14:00:27 +02:00
Paweł Bylica
d3001b92fd
Add REVERT opcode support
2017-04-03 18:00:26 +02:00
Paweł Bylica
dcf9662874
Add support for Metropolis compatibility mode
2017-04-03 16:13:18 +02:00
Paweł Bylica
67ed0d9bf9
Fix EVM_CALL_FAILURE definition on Windows
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