Commit Graph

72 Commits

Author SHA1 Message Date
Alex Beregszaszi 2ec50258cd Rename evm.h to evmc.h 2018-03-28 14:40:18 +01:00
Alex Beregszaszi 19ce0eb4ab Rename evm_/EVM_ to evmc_/EVMC_ 2018-03-28 14:39:38 +01:00
Paweł Bylica 4d763dadab
Add main CMake script 2018-03-28 15:20:08 +02:00
Paweł Bylica ccc3106233 EVM-C: Change get_code() to copy_code() 2018-03-27 12:45:22 +02:00
Paweł Bylica 82f1936fa2 EVM-C: Add get_code_size() callback function 2018-03-26 15:08:10 +02:00
Alex Beregszaszi 0877e9d9bd Do not pollute the header with examplevm_create() 2018-01-24 22:38:17 +00:00
Paweł Bylica b0de6dcd46 EVM-C: Rename message.address -> message.destination 2018-01-23 11:00:55 +01:00
Dmitri Makarov a154b61c51 Prepare for LLVM 5.0 upgrade, but still compatible with LLVM 3.9 2017-12-11 20:13:49 +01:00
Paweł Bylica 2e92618966 Fix example 2017-10-24 13:50:35 +02:00
Paweł Bylica 52d6cc55a9 EVM-C: Rename evm_uint160be -> evm_address 2017-09-26 16:51:34 +02:00
Paweł Bylica 7448400879 EVM-C: Rename evm_result::code -> evm_result::status_code 2017-09-26 16:51:34 +02:00
Paweł Bylica 431c9d2def EVM-C: Rename evm_result_code -> evm_status_code 2017-09-26 14:04:21 +02:00
Paweł Bylica 5ff2b98c14 EVM-C: Remove factory 2017-09-22 19:16:52 +02:00
Paweł Bylica 61d533aad7 EVM-C: Move ABI version from factory to instance 2017-09-22 18:50:20 +02:00
Paweł Bylica c5ae54f6ee Rename some vars: mode -> rev 2017-08-20 16:18:27 +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 9503ac90c2 EVM-C: Improve example 2017-08-18 13:40:25 +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
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 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 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 a77c7a8f9c EVM-C: Update docs 2017-05-08 14:55:04 +02:00
Paweł Bylica 5fd3350b42 EVM-C: Add storage update example 2017-05-04 17:31:30 +01: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 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 5bab6b8d7e EVM-C: Fix some issues in the example 2017-04-25 17:01:46 +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 beac0977f8 EVM-C: Add examples of evm_result usages 2017-04-24 17:32:28 +02:00
Paweł Bylica faa1aab946 Always build examples if included 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 d1d3ed03ae Fix example 2016-09-28 16:50:13 +02:00
Paweł Bylica 8b9867c971 EVM-C: Attach result_release function to the result itself 2016-09-27 17:14:19 +02:00