Commit Graph

51 Commits

Author SHA1 Message Date
Alex Beregszaszi
c66c5c9f1d EVMHost: properly populate implicit access list for Berlin 2021-05-12 16:49:04 +02:00
Alex Beregszaszi
5bfd26287c Upgrade to EVMC 8.0.0 2021-05-12 16:49:04 +02:00
Daniel Kirchner
06a9199967 Change loading of VMs and error messages during test. 2021-05-12 14:48:37 +02:00
Alex Beregszaszi
f1aaae36ee Upgrade to EVMC 7.5.0
One important change: MockedAccount.storage is a map and not unordered_map
2021-04-21 21:05:40 +01:00
Bhargava Shastry
033ee0e2bc Permit Yul interpreter vs Evmone storage comparison. 2021-04-12 10:39:23 +02:00
Bhargava Shastry
788eb02825 EVMHost: Use std::map for storage so that slots are stored in some order. 2021-03-12 09:39:15 +01:00
Bhargava Shastry
a30b071a5d Update test/EVMHost.cpp
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-10 18:10:20 +01:00
Bhargava Shastry
8023fdb537 Extract state printing to a separate class. 2021-03-10 17:41:03 +01:00
Bhargava Shastry
24f42c5541 Filter false positives due to EVM errors.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-10 17:41:03 +01:00
Bhargava Shastry
34c08ea2c6 EVMHost: Add tracing features needed for fuzzing. 2021-03-10 17:41:03 +01:00
Daniel Kirchner
acd3084076 Fuzzer for stack optimiser/code generator. 2021-03-04 17:35:56 +01:00
Bhargava Shastry
e96a3e01f8 EVMHost: Add function to print storage at all addresses in the host. 2021-03-01 20:00:55 +01:00
Alexander Arlt
c44bb7e7ef Replace raw throw with BOOST_THROW_EXCEPTION. 2021-02-18 20:23:59 -05:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Alex Beregszaszi
a8197788d0 Replace the inconsistent use of u160/Address/h160 with h160 only 2020-12-07 16:44:59 +01:00
Alex Beregszaszi
6479138dd4 EVMHost: keep precompile balance/settings across resets
Also set proper codehash for precompiles.
2020-09-24 18:51:39 +01:00
Alexander Arlt
23d9b1567e Add support for ewasm evmc vm. 2020-09-08 12:41:42 -05:00
Sachin Grover
b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
Djordje Mijovic
4b6c322279 Fixing various signedness warnings 2020-06-03 10:37:18 +02:00
Alex Beregszaszi
c9745ea101 EVMHost: enable support for Berlin 2020-05-13 22:56:11 +01:00
Alex Beregszaszi
7353804252 EVMHost: simplify code using new evmc features 2020-05-13 22:56:11 +01:00
chriseth
679f729f2f Implement create2 for evmhost. 2020-01-23 21:20:01 +01:00
Christian Parpart
345f9928ab Library libdevcore renamed to libsolutil. 2020-01-07 15:51:50 +01:00
Christian Parpart
ed45b000d1 Adapt tests directory to C++ namespace changes. 2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
Paweł Bylica
cdcfea73ab EVMHost: Remove unneeded methods 2019-12-02 23:22:27 +01:00
Paweł Bylica
eacc1753fd EVMHost: Remove unnecessary State struct 2019-12-02 23:22:27 +01:00
Paweł Bylica
7a0f311032 EVMHost: Use evmc::MockedAccount 2019-12-02 23:22:10 +01:00
Paweł Bylica
635e2fc9d3 EVMHost: Reuse tx_context from MockedHost 2019-12-02 23:04:02 +01:00
Paweł Bylica
2683c83ad2 EVMHost: Use recorded_logs from MockedHost 2019-12-02 23:04:02 +01:00
Alex Beregszaszi
c4012eee33 Update EVMHost to EVMC 7.1.0
Co-authored-by: Paweł Bylica <chfast@gmail.com>
2019-12-02 21:26:42 +01:00
Alex Beregszaszi
2a62425f0a EVMHost: mark precompiles as existing accounts in the constructor 2019-12-02 20:49:33 +01:00
Alex Beregszaszi
ddf6e067ed EVMHost: disallow Byzantium precompiles on earlier EVM versions 2019-12-02 19:11:18 +01:00
chriseth
d207ae5dc7
Merge pull request #7798 from ethereum/evmc-literals
Use EVMC literals in EVMCHost
2019-11-27 19:12:07 +01:00
Paweł Bylica
38a20190f4
test: Use evmc::VM directly
The evmc::VM works as a RAII wrapper similarly to unique_ptr, so there is no point in using additional unique_ptr.
2019-11-27 18:53:02 +01:00
Alex Beregszaszi
e8b37c3bb5 Use EVMC literals in EVMCHost 2019-11-26 22:20:45 +01:00
Alex Beregszaszi
840aba8929 Add new gas price for deployed bytecode (EIP2028) 2019-11-19 17:09:18 +01:00
Alex Beregszaszi
9a124101ba Set chain_id in EVMHost 2019-11-19 12:28:18 +01:00
Alex Beregszaszi
6b198a261b Support Istanbul in EVMHost 2019-11-19 12:21:06 +01:00
Alex Beregszaszi
1432f0ad28 Adapt EVMHost for EVMC7 2019-11-19 12:21:03 +01:00
Alex Beregszaszi
18542ebf31 Use evmc_load_and_configure to support passing EVMC options 2019-11-07 10:42:41 +00:00
Alex Beregszaszi
882cd3e285 Update EVMC to 6.3.1 2019-11-07 10:41:14 +00:00
Alex Beregszaszi
f77d7c2dc7 Ensure that EVMC capability is checked after loading evmone 2019-11-07 00:27:46 +00:00
Flash Sheridan
733d40ddb5 Fix evmone filename for auto-discovery for windows and macos. 2019-09-11 12:28:05 +02:00
Alex Beregszaszi
5749a5d7c9 Introduce istanbul and berlin versions 2019-08-26 13:15:01 +01:00
chriseth
1258aabee7 Better error message if loading fails. 2019-08-08 17:35:46 +02:00
chriseth
f692cec11d Provide path to libevmone. 2019-08-08 17:35:46 +02:00
chriseth
22e9155ba4 Precompiles. 2019-08-08 17:35:46 +02:00
chriseth
b7d17c578d Count gas for transaction and code deposit. 2019-08-08 17:35:46 +02:00
chriseth
3dec3af638 Use evmone for testing. 2019-08-08 17:35:44 +02:00