Commit Graph

823 Commits

Author SHA1 Message Date
Martin Blicha
475cfe2532 Ignore standard error output from solvers 2023-09-05 12:39:20 +02:00
Martin Blicha
d8c1a124e7 Bring back solving with temporary file for Eldarica 2023-09-05 12:39:19 +02:00
Martin Blicha
497ca183b4 Small cleanup 2023-09-05 12:39:19 +02:00
Martin Blicha
1b68b5764d SMTChecker: Ignore model checking without callback 2023-09-05 12:39:19 +02:00
Martin Blicha
b6326f4d4d Do not stop reading solver's output after it terminated 2023-09-05 12:39:19 +02:00
Martin Blicha
b8f89fa45d SMTSolverCommand: Use pipe instead of temporary file for the query 2023-09-05 12:39:19 +02:00
Martin Blicha
342df8a515 Ensure SMT-LIB file is complete 2023-09-05 12:39:19 +02:00
Martin Blicha
d9dc8f475e Enable resource limit for Z3 2023-09-05 12:39:19 +02:00
Martin Blicha
f4b849972c Remove smtlib2 solver option 2023-09-05 12:39:17 +02:00
Martin Blicha
72974adb92 Fix check for SMT query in UniversalCallback 2023-09-05 12:37:56 +02:00
Martin Blicha
e7fe310bc2 Remove unnecessary header 2023-09-05 12:37:56 +02:00
Martin Blicha
1e190abf6e Initial work on unified way to interact with solvers 2023-09-05 12:37:56 +02:00
Nikola Matic
fdc6699159 Rematerialize zero literals with default cleanup sequence
Add unused pruner step to the end of the default cleanup sequence
2023-09-04 15:40:33 +02:00
Kamil Śliwak
9adbced98e Remove parser error recovery mode 2023-08-22 12:00:11 +02:00
Kamil Śliwak
b17757ea17 CompilerStack: Extend inconsistent error sanity check to cover stopAfter: parsing as well 2023-08-21 17:50:41 +02:00
Kamil Śliwak
a15ef59eec Remove the ability to produce an AST in presence of errors in --error-recovery mode
This reverts commit 7fd7cc1e76.
2023-08-21 17:50:41 +02:00
Kamil Śliwak
e8d050a1ce Simplify redundant state check in CompilerStack::analyze() 2023-08-21 17:50:41 +02:00
Nikola Matic
f344dc164e Purge using namespace from libsolidity/lsp and parsing 2023-08-16 17:07:52 +02:00
Nikola Matic
342ba0324f Purge using namespace std from libsolidity/interface 2023-08-15 15:45:15 +02:00
Kamil Śliwak
4020552e1d SourceReferenceFormatter: Remove the ineffective _withErrorIds parameter from formatExceptionInformation() 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
r0qs
ea7ee3d5fe
Fix yul ast ID to 0 instead of 1. 2023-07-28 17:48:35 +02:00
Nikola Matic
964bdc711c Fix ICE when emitting event from another contract 2023-07-21 21:49:09 +02:00
Kamil Śliwak
3ecf968001
Merge pull request #14328 from ethereum/fix-incomplete-ast-in-standard-json-on-analysis-fail
Fix incomplete AST in standard json on analysis fail
2023-06-19 18:26:33 +02:00
Pawel Gebal
d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Kamil Śliwak
712229a5c6 Fix StandardCompiler returning an incomplete AST in Standard JSON in case of an early exit during analysis 2023-06-15 10:50:04 +02:00
Kamil Śliwak
b1a773be2f IRGenerator: Leave IR optimization up to the caller to avoid unnecessarily doing it twice 2023-06-07 19:44:40 +02:00
Kamil Śliwak
25be38905f YulStack: When Yul optimization is not requested, run Yul optimizer with a minimal sequence instead of disabling it 2023-06-07 12:13:38 +02:00
Nikola Matic
47969adf91 Experimental standard library
Change import syntax and cover with tests
2023-06-06 17:16:23 +02:00
Pawel Gebal
f15b826431 Add optional bounds to unroll loops in BMC model checker 2023-06-02 18:32:38 +02:00
GiokaMarkella
28a1abf89a Yul AST output on the CLI and in Standard JSON 2023-05-26 12:35:31 +02:00
Nikola Matic
8a41f4ac7e Introduce solidity-next pragma
Exclude pragma experimental error from ANTLR tests

Test for first pragma after non-pragma declaration

Resolve import pragmas

Change pragma name from next to solidity

Add Changelog entries

Address review comments
2023-05-15 19:25:13 +02:00
Alexander Arlt
c5673278a7 Remove EWASM backend. 2023-05-11 10:56:55 -05:00
Alexander Arlt
4837d42361 Add experimental support to import AST via Standard JSON. 2023-05-09 14:07:38 -05:00
Rodrigo Q. Saramago
a29f77369a
Move AST annotation of internal function dispatch IDs to ContractDefinition
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2023-05-06 20:31:27 +02:00
chriseth
1e63615206 Export all events.
Update tests.

Additional tests

Revert changes to the Natspec
2023-05-03 14:08:27 -03:00
Kamil Śliwak
f5b2044ed1 Remove unused CompilerStack::m_sourceJsons 2023-04-20 20:01:45 +02:00
Alexander Arlt
611e02c038 Rename assemble() to assembleYul() in CompilerStack and CommandLineInterface 2023-04-20 20:01:45 +02:00
Kamil Śliwak
ded9ef17e8 Misc small refactors: Use ranges::views::keys and fmt::format() 2023-04-20 20:01:45 +02:00
Alexander Arlt
2f78e9549a Misc small refactors: Superfluous std::, trailing commas in lists, whitespace, missing breaks, import order 2023-04-20 19:53:48 +02:00
Alex Beregszaszi
3edcfce478 Add warning for EIP-3860 enforced initcode limits 2023-04-15 13:43:05 +02:00
Rodrigo Q. Saramago
a0e62bbd3d
Annotate function ID of functions that may be called via the internal dispatch.
Co-authored-by: Daniel <daniel@ekpyron.org>
2023-03-20 20:14:41 +01: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
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
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
Daniel
eb2f874eac
Merge pull request #13733 from ethereum/eofSetting
Add experimental EOF options for CLI and Standard JSON.
2022-11-23 20:37:24 +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
Leo Alt
24df40de9a Allow running Eldarica from the command line 2022-11-22 21:16:45 +01:00
Duc Thanh Nguyen
4aac4c7bc4 Add Natspec devdoc inheritance support for events 2022-11-08 15:53:10 +01:00