Commit Graph

90 Commits

Author SHA1 Message Date
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
Alex Beregszaszi 2694347116 Always generate Rust enums 2019-03-13 20:34:54 +01:00
Alex Beregszaszi 680327f6fa Add higher-level evmc-vm binding 2019-03-13 15:54:20 +01:00
Alex Beregszaszi c1445d88cb Move Rust code to evmc-sys 2019-03-13 15:54:04 +01:00
Alex Beregszaszi 58906e218b Add basic Rust bindings 2019-03-13 15:53:42 +01:00
Paweł Bylica 1ad5f5ecbf
go: Add unit test for HostContext / TxContext 2019-03-12 17:59:06 +01:00
Paweł Bylica 0a0bb0b92e
go: Add unit test for Execute() 2019-03-12 17:59:06 +01:00
Paweł Bylica 65d68faed2
go: Run unit tests with example_vm 2019-03-12 14:34:46 +01:00
Paweł Bylica 7eb9677c4e
go: Combine tx context into TxContext struct 2019-03-12 14:34:46 +01:00
Paweł Bylica ace9abdaf6
Rename Constantinople2 to Petersburg 2019-03-12 00:43:32 +01:00
Alex Beregszaszi cdc3f21dae
Reserve post-Constantinople EVM revision number as Constantinople2
Co-authored-by: Paweł Bylica <chfast@gmail.com>
2019-01-21 16:22:07 +01:00
Paweł Bylica 9aff0e98e8
Merge branch 'release/6.0'
# Conflicts:
#	.bumpversion.cfg
#	CHANGELOG.md
#	CMakeLists.txt
2019-01-16 10:43:34 +01:00
Paweł Bylica 18b3e99816
go: Fix support for CREATE2 salt 2019-01-15 15:26:38 +01:00
Alex Beregszaszi f064fdcbd8 Add Istanbul to evmc_revision 2019-01-14 13:42:17 +00:00