Commit Graph
574 Commits
Author SHA1 Message Date
Bhargava Shastry 1ac3abfbb7 Strict assembly fuzzer: Change optimization setting from full to minimal. 2023-02-24 22:42:07 +01:00
Daniel 665bf29a84 Merge pull request #12958 from ethereum/yul-fuzzer-bound-memory-accesses
Yul grammar generator: Bound memory accesses.
2023-02-07 15:47:20 +01:00
Leo Alt 8d91ccf028 [SMTChecker] Add a new trusted mode which assumes that code that is
available at compile time is trusted.
2023-02-06 17:02:33 +01:00
Bhargava Shastry 5c6e12b2c0 Update existing and add new test cases. 2023-02-02 11:40:39 +01:00
Bhargava Shastry f8880cad82 Yul grammar generator: Bound memory accesses. 2023-02-02 08:10:53 +01:00
Bhargava Shastry 564cf85725 Yul proto converter: Output prevrandao for evm versions >= paris 2023-01-30 09:19:33 +01:00
ef6ff2f055 Adds support for the EVM version "Paris".
Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2023-01-23 18:50:36 +00:00
Pierre Grimaud b314e1b37d docs: fix typos 2022-12-25 22:39:50 +01:00
Daniel 851cc09742 Merge pull request #13516 from ethereum/fix-yul-interpreter-memory-access
Fix memory expansion semantics in the yul interpreter.
2022-12-01 15:42:41 +01:00
Daniel KirchnerandKamil Śliwak bf26d3be5a Add experimental EOF options for CLI and Standard JSON.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-11-23 19:53:44 +01:00
Alex Beregszaszi eb8af2caec Add basic support for the EVM version Paris
This mostly means testing with evmone, but instruction renaming of difficulty->prevrandao is omitted.
2022-11-21 14:56:46 +01:00
Bhargava Shastry 2c27405cbb Fix zero size memory expansion semantics in the yul interpreter. 2022-11-21 11:53:42 +01:00
Alex Beregszaszi 5df92a374b Update EVMHost to match EVMC10 changes 2022-11-09 21:27:40 +01:00
Daniel 05217fa8be Merge pull request #13633 from ethereum/solc-return-codes
[solc] Exit code 2 for exceptions.
2022-11-01 14:18:41 +01:00
Daniel bbaf8a4eb4 Merge pull request #13283 from ethereum/yulDebugger
Yul Debugger
2022-11-01 14:04:56 +01:00
Alexander Arlt 5b9096a381 [solc] Exit code 2 for exceptions. 2022-11-01 12:56:05 +01:00
Bhargava Shastry 898fbe9335 Silence integer precision loss warning for protobuf fuzzers. 2022-10-12 12:10:43 +02:00
Alex Beregszaszi 5f8b48793c Merge pull request #13571 from ethereum/explicit-fixedhash
Drop implicit alignment argument from FixedHash (and improve FunctionSelector helpers)
2022-09-27 22:30:34 +02:00
Alex Beregszaszi 2a41295d03 Drop implicit alignment argument from FixedHash 2022-09-27 17:58:32 +02:00
Alex Beregszaszi 0f484ec93b Replace use of boost::algorithm::all_of with ranges::all_of 2022-09-27 03:33:13 +02:00
Alex Beregszaszi 8230022e18 Remove unused include of boost/variant 2022-09-27 03:27:37 +02:00
nishant-sachdeva eafd7218b7 refactored struct message to use std::variant for _typeOrSeverity 2022-09-20 19:20:43 +05:30
nishant-sachdeva c8011d8719 Cleaning up helpers around errors 2022-09-19 10:51:14 +05:30
Marenz 692a99f891 yulRun: Add recursion protection 2022-09-14 11:40:23 +02:00
Marenz d10d967008 yulRun: Fix unexpected return value for call* instructions and add tests 2022-09-14 11:40:08 +02:00
Marenz b8699e7687 YulRunner: Add support for interactive inspection of the state 2022-09-14 11:40:02 +02:00
Marenz 4b69b5fdc1 YulRunner: Add support for external calls to the same contract 2022-09-14 11:40:02 +02:00
Marenz 53b67334c5 YulRunner: Add support for memoryguard() and literal parameters 2022-09-14 11:40:02 +02:00
Bhargava Shastry 69d9869d21 Fix create2 memory access in yul interpreter. 2022-09-12 09:53:31 +02:00
Bhargava Shastry e3ed29d3b3 Permit multiple indirections in coding calldata to and from memory/calldata. 2022-08-12 09:33:06 +02:00
Bhargava ShastryandKamil Śliwak 53947404e4 Place calldata to calldata coder sanity checks.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-08 11:04:51 +02:00
ywon0925 b78960c604 Add a Catch to handle exception 2022-06-22 21:14:42 +09:00
Daniel Kirchner e93ad30e43 Remove obsolete enforce-via-yul logic and CI run. 2022-05-19 20:23:28 +02:00
Joshua Quinones e1a59397c6 Renamed AssemblyStack to YulStack
All files, references, variables, comments, etc. were renamed to YulStack.
2022-04-08 20:28:55 +02:00
Kamil Śliwak b3048ccf07 Use EXIT_FAILURE and EXIT_SUCCESS constants in exit() and when returning from main() 2022-04-06 22:27:08 +02:00
Kamil Śliwak cf6704ae06 isoltest: Do not return an error code from --help 2022-04-06 22:26:21 +02:00
Kamil Śliwak ed8403f456 isoltest: Handle parsing errors differently from unexpected exceptions 2022-04-06 22:26:21 +02:00
Bhargava Shastry e0d9dec874 Permit control flow mutations in global scope of a Yul program. 2022-03-14 15:04:32 +01:00
Daniel Kirchner ce0a3e93f2 Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
chriseth 77c40cd2af Merge pull request #12740 from ethereum/remove-locale-dependent-operations
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:56:58 +01:00
wechman 52dfccca98 Replace all locale-dependent operations with locale-agnostic counterparts 2022-03-07 17:23:08 +01:00
Daniel Kirchner 6b6e163be5 Tests. 2022-03-02 16:42:28 +01:00
Marenz 46075d04d9 Include used events in `--hashes` output 2022-02-09 13:50:42 +01:00
Marenz 3e7c68d9b0 Merge identifier query methods into one 2022-02-08 17:44:21 +01:00
Bhargava Shastry 4bcd69e7bd Code transform fuzzer: Only test against latest EVM version. 2022-01-27 14:49:44 +01:00
Bhargava Shastry cfda0e41ce Filter log statements and remove gas comparison. 2022-01-26 15:58:12 +01:00
chriseth 679f73c1e0 Merge pull request #12276 from ethereum/fuzz-RSE
Yul interpreter: Changes required before merging Redundant store eliminator
2022-01-05 11:23:51 +01:00
chriseth 6dbe0d0933 Merge pull request #12436 from ethereum/testBatcher
Test batcher.
2022-01-04 16:21:56 +01:00
Bhargava Shastry b8ad2b2718 Yul interpreter: Add flag to disable memory tracing and dump for fuzzing.
Model revert in yul interpreter.
Add logTrace for a few more instructions and clear trace on revert.
2022-01-04 11:56:27 +01:00
Bhargava Shastry 259a98b82c Impose stricter upper bound on memory accesses in order to prevent overflow/wrap around. 2022-01-03 18:22:42 +01:00