Commit Graph

103 Commits

Author SHA1 Message Date
Alex Beregszaszi 3d47d3802e rust: pass ExecutionMessage directly to EvmcVm.execute() 2019-07-15 11:22:05 +01:00
Alex Beregszaszi 2cba139f15 rust: add more tests to EvmcContainer 2019-07-04 20:48:18 +01:00
Alex Beregszaszi ff3a619b01 rust: add test for ExecutionContext.call() 2019-07-04 20:13:30 +01:00
Alex Beregszaszi 5d72543ac3 rust: make input a slice reference to ExecutionMessage 2019-07-04 20:13:28 +01:00
Alex Beregszaszi 4382bd3662 rust: implement call() 2019-07-04 20:13:00 +01:00
Alex Beregszaszi f827e174a7 rust: use ExecutionMessage in ExecutionContext.call() 2019-07-04 20:12:57 +01:00
Alex Beregszaszi d83c19319a rust: use type aliases 2019-07-04 20:01:00 +01:00
Alex Beregszaszi c9ce3a10d4 rust: add type aliases for certain ffi types 2019-07-04 20:00:34 +01:00
Alex Beregszaszi 48f1903d9c rust: fix type typo in get_balance() 2019-07-04 20:00:22 +01:00
Alex Beregszaszi 6391748c9c rust: add tests for EvmcContainer 2019-07-04 18:09:04 +01:00
Alex Beregszaszi ddcdbfe944 rust: allow empty code in evmc_execute() 2019-07-04 17:23:33 +01:00
Alex Beregszaszi 568b11d71e rust: add two test cases to cover ExecutionMessage 2019-07-04 16:54:10 +01:00
Alex Beregszaszi 96a0dd224e rust: rename some test cases for clarity 2019-07-04 16:36:25 +01:00
Alex Beregszaszi 98ad72ecd9 rust: implement Default for evmc_address/evmc_bytes32
Same as with PartialEq: this may be done via bindgen in the future.
2019-07-03 18:07:22 +01:00
Alex Beregszaszi b52a3dc81b rust: derive Hash trait for ffi data types 2019-07-03 18:07:22 +01:00
Alex Beregszaszi c1e8a897b6 rust: implement PartialEq for evmc_address/evmc_bytes32
Could also force deriving in bindgen with (derive_partialeq(true)),
but that would insert it for complex structures we don't want it for,
such evmc_message and blacklisthing those is tedious and error prone
in case EVMC introduces new structures.
2019-07-03 18:07:16 +01:00
Alex Beregszaszi 593ef3b6ac rust: expect output as slice in ExecutionResult 2019-07-03 15:56:40 +01:00
Alex Beregszaszi 87ad703e62 rust: pass output as reference in ExecutionResult 2019-07-03 15:56:32 +01:00
Alex Beregszaszi b4c585f9bd rust: make allocate_output_data operate on references 2019-07-03 12:16:04 +01:00
Alex Beregszaszi 092356dabb rust: add more comments/rustdoc 2019-06-25 20:15:26 +01:00
Alex Beregszaszi 315137edd2 rust: prefer getters as opposed to pub members on structs 2019-06-25 19:14:42 +01:00
Alex Beregszaszi 31e6964b04 rust: introduce ExecutionMessage wrapper 2019-06-25 18:51:14 +01:00
Alex Beregszaszi beea4e31c9 rust: implement Deref trait for EvmcContainer 2019-06-25 12:36:04 +01:00
Alex Beregszaszi 7769f7372b rust: fix some (mostly stylistic) warnings raised by rustc and clippy 2019-06-25 12:03:09 +01:00
Jake Lang 244fed6ebc rust: Remove implicit crate version in order to allow static C strings 2019-06-19 19:39:51 +01:00
Paweł Bylica 94fe0976e3
EVMC 6.3.0-alpha.1
Bump version: 6.3.0-alpha.0 → 6.3.0-alpha.1
2019-06-19 19:45:16 +02:00
Paweł Bylica 464e226f53
Change versioning scheme from -dev to -alpha.X
This allows making versioned snapshots as "alpha.X" pre-release versions.
2019-06-19 19:42:53 +02:00
Alex Beregszaszi 1fb372ea3e Update rust-bindgen to 0.49.2 2019-06-13 11:16:21 +02:00
Jake Lang dab2b2c57e rust: Fix false positives in sanitizers
Also fix some actual memory leak in the tests.
2019-06-13 10:43:42 +02:00
Alex Beregszaszi 4d07d1a340 rust: unwind execution panics in evmc-declare 2019-06-06 11:42:03 +02:00
Alex Beregszaszi fbba2538e1 rust: add support for the precompiles capability 2019-06-06 00:26:48 +02:00
Jake Lang 2e14aa2d5c rust: Procedural macro for automatic VM declaration 2019-06-04 16:18:23 +01:00
Alex Beregszaszi 4eeb42d074 rust: add failure() and success() helpers to ExecutionResult 2019-05-30 14:55:25 +01:00
Alex Beregszaszi 60bf98fb72 rust: remove support for create_address in ExecutionResult::new 2019-05-22 17:18:45 +01:00
Alex Beregszaszi 1e9f764bd5 rust: remove code duplication in ExecutionResult 2019-05-21 14:35:20 +01:00
Paweł Bylica cf1311a670
EVMC 6.3.0-dev
Bump version: 6.2.1 → 6.3.0-dev
2019-05-06 10:22:28 +02:00
Jake Lang 8d9d206ad0 rust: Implement ExecutionContext (host interface) 2019-05-03 21:06:29 +01:00
Paweł Bylica bc30e5a42f
EVMC 6.2.1
Bump version: 6.2.0 → 6.2.1
2019-04-29 18:05:30 +02:00
Paweł Bylica 6987a50596
EVMC 6.2.0
Bump version: 6.2.0-dev → 6.2.0
2019-04-25 08:56:20 +02:00
Alex Beregszaszi ee8a854444 rust: remove code duplication in ExecutionResult 2019-04-24 18:50:27 +01:00
Paweł Bylica 5112561d85
rust: Add copyright notice headers to source files 2019-04-24 18:36:28 +02:00
Paweł Bylica 39162766df
Update copyright year, include the years of files creation 2019-04-24 18:36:28 +02:00
Alex Beregszaszi 0f97d3ad92
Merge pull request #244 from ethereum/rust-create-address
rust: make create_address optional in ExecutionResult::new()
2019-04-24 16:22:39 +01:00
Paweł Bylica 44279f3e71
go: Use loader error messages 2019-04-24 15:36:41 +02:00
Alex Beregszaszi 0a66479c78 rust: make create_address optional in ExecutionResult::new() 2019-04-24 12:42:44 +01:00
Alex Beregszaszi 0d7becdb4a rust: add ExecutionResult to stack evmc_result conversion 2019-04-24 00:39:44 +01:00
Alex Beregszaszi 0d757c4c3e rust: add test for ExecutionResult without data 2019-04-24 00:27:27 +01:00
Alex Beregszaszi 6be5daefa1 rust: call release_result in tests
Also do not double-consume the input pointer.
2019-04-24 00:27:27 +01:00
Paweł Bylica 14c5356ae6
loader: Expose DLL load errors with evmc_last_error_msg()
Currently only works for errors by dlopen() on Linux and macos, otherwise returns NULL.
2019-04-16 18:06:54 +02:00
Jake Lang 272276b405 rust: Add helpers for execution result handling 2019-03-19 15:09:43 -04:00