Matheus Aguiar
969aea6d33
Added new kind of test: check for specific properties of AST
2023-08-21 12:37:40 -03:00
Kamil Śliwak
18db62cf41
Unify preamble handling between test cases based on AnalysisFramework
2023-08-17 17:39:27 +02:00
Kamil Śliwak
a59fc39f10
Use printErrorInformation() over printExceptionInformation() where possible
2023-08-11 14:15:56 +02:00
Kamil Śliwak
8407c8c615
SourceReferenceFormatter: Support full range of options in formatErrorInformation()
2023-08-11 14:15:56 +02:00
Alejandro Criado-Pérez
29358806f4
updated protoToAbiv2.h
2023-07-09 01:45:54 +02:00
Bhargava Shastry
5d7533b540
Merge pull request #14227 from ethereum/update-codegen-fuzzer
...
Stack optimizer fuzzer: Detect stack-too-deep during optimization
2023-07-03 14:52:27 +02:00
Martin Blicha
29041c8101
Remove ReasoningBasedSimplifier from libyul
...
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.
Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
Bhargava Shastry
87d0c84960
Stack optimizer fuzzer: Detect stack-too-deep during optimization
...
Co-authored-by: r0qs <deepmarolaest@gmail.com>
2023-06-27 10:32:23 +02:00
Pawel Gebal
d4be1d9c2f
Add --print-smt flag to output SMTChecker SMTLIB code
2023-06-16 14:04:07 +02:00
Pawel Gebal
f15b826431
Add optional bounds to unroll loops in BMC model checker
2023-06-02 18:32:38 +02:00
Alexander Arlt
c5673278a7
Remove EWASM backend.
2023-05-11 10:56:55 -05:00
Bhargava Shastry
889f0721a2
Make use of IR codegen pipeline and selectively report stack too deep errors for the new pipeline.
2023-05-05 11:39:56 +02:00
Rodrigo Q. Saramago
28c7fdae09
Migrate yulStackShuffling tests to isoltest
2023-04-25 15:53:01 +02:00
Rodrigo Q. Saramago
524db30f12
Update ubuntu ossfuzz references
2023-04-19 00:18:11 +02:00
hrkrshnn
41ce3feb0a
test: some tests for push0
...
1. `push0_disallowed.yul`: checks if `push0()` is a valid builtin in strict Yul
2. `push0_disallowed.sol`: checks if `push0()` is a valid builtin in inline assembly
3. `push0.sol`: simple semantic test that returns 0
4. `evmone_support.sol`: tests if push0 works properly in evmone
5. Updated some bytecode too large tests to use `shanghai` as version
6. Updated various tests where `push1 0` was hardcoded in different forms / expectations on bytecode
size (`Assembler.cpp`, `GasCosts.cpp`, `SolidityCompiler.cpp`, `SolidityExpressionCompiler.cpp`)
2023-04-12 00:10:24 +02:00
Leo Alt
aacbe72079
group unsupported warnings
2023-03-15 17:06:06 +01:00
Leo Alt
21c0f78650
Report safe properties in BMC and CHC
2023-03-09 14:59:32 +01:00
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
Rodrigo Q. Saramago
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 Kirchner
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 Shastry
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