Commit Graph

39 Commits

Author SHA1 Message Date
Alex Beregszaszi
24946ec318 EVMHost: implement selfdestruct better 2022-10-20 15:35:41 +02:00
Alex Beregszaszi
f40d1d654d EVMHost: Add size%192 check to bn128pairing
And also refactor resultWithFailure
2022-09-26 21:06:33 +02:00
Alex Beregszaszi
a260000a16 EVMHost: Make it clear which MockedHost helpers are used
And also remove unused helpers.
2022-09-26 02:05:40 +02:00
Alex Beregszaszi
e3c7369413 EVMHost: Simplify some code and dcoument functions 2022-09-26 01:59:52 +02:00
hrkrshnn
1839d195be Clears EIP-2929 account and storage access indicator on new blocks.
For semantic tests each test (in the same test file) happens on a new block, however the storage and
account access indicators were not reset.
2021-05-25 12:32:59 +02:00
Alex Beregszaszi
a54699f452 EVMHost: Fix selfdestruct with non-zero value at beneficiary and value-transfers with insufficient funds
Create a helper for transfering balance between two accounts. Check sufficient funds are available during a call-with-value.
2021-05-14 00:10:49 +01:00
Daniel Kirchner
06a9199967 Change loading of VMs and error messages during test. 2021-05-12 14:48:37 +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
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
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
Paweł Bylica
cdcfea73ab EVMHost: Remove unneeded methods 2019-12-02 23:22:27 +01:00
Paweł Bylica
0bd80ed958 EVMHost: Mark methods as final 2019-12-02 23:22:27 +01:00
Paweł Bylica
19f54857a6 EVMHost: Make m_currentAddress private 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
1718250248 EVMHost: use evmc::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
Paweł Bylica
578d69983d EVMHost: Mark precompiles implementation as static methods 2019-12-02 20:41:50 +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
840aba8929 Add new gas price for deployed bytecode (EIP2028) 2019-11-19 17:09:18 +01:00
Alex Beregszaszi
1432f0ad28 Adapt EVMHost for EVMC7 2019-11-19 12:21:03 +01:00
Alex Beregszaszi
882cd3e285 Update EVMC to 6.3.1 2019-11-07 10:41:14 +00: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
3dec3af638 Use evmone for testing. 2019-08-08 17:35:44 +02:00
Bhargava Shastry
00bca77cca Updated evmc to version tracked by evmone v0.1.0 2019-07-17 14:24:27 +02:00
Christian Parpart
810a0de1aa Add evmc and host interface implementation. Modify fuzzer harness to make use of evmc host/vm. 2019-07-17 10:55:33 +02:00