Commit Graph

5242 Commits

Author SHA1 Message Date
Daniel Kirchner
fd1db21d64 tmp 2023-06-25 07:50:09 +02:00
Daniel Kirchner
5bfe862bc4 tmp 2023-06-25 07:04:50 +02:00
Daniel Kirchner
6f352cbcbe tmp 2023-06-25 04:22:13 +02:00
Daniel Kirchner
947deaec96 tmp 2023-06-25 03:53:03 +02:00
Daniel Kirchner
d882a08582 tmp 2023-06-25 03:44:37 +02:00
Daniel Kirchner
1bc8caf54a tmp 2023-06-24 19:30:05 +02:00
Daniel Kirchner
423972883c tmp 2023-06-24 19:12:14 +02:00
Daniel Kirchner
955ada39e5 tmp 2023-06-24 18:53:47 +02:00
Daniel Kirchner
f9d6e805ba tmp 2023-06-24 18:38:55 +02:00
Daniel Kirchner
bd4be335d4 tmp 2023-06-24 10:10:00 +02:00
Daniel Kirchner
60e1e53f20 tmp 2023-06-24 07:55:10 +02:00
Daniel Kirchner
4a84818669 tmp 2023-06-24 07:47:33 +02:00
Daniel Kirchner
0d1679cee0 tmp 2023-06-24 06:24:28 +02:00
Daniel Kirchner
62a5291bbd tmp 2023-06-24 01:45:56 +02:00
Daniel Kirchner
7d094b3be6 tmp 2023-06-24 01:21:14 +02:00
Daniel Kirchner
315270f3bb tmp 2023-06-23 18:37:58 +02:00
Daniel Kirchner
14a34ae088 tmp 2023-06-21 02:15:01 +02:00
Daniel Kirchner
7a8c997438 tmp 2023-06-21 01:50:00 +02:00
Daniel Kirchner
3286d1cec2 tmp 2023-06-21 01:08:34 +02:00
Daniel Kirchner
1c1110f734 tmp 2023-06-20 22:26:52 +02:00
Daniel Kirchner
3249979969 tmp 2023-06-20 04:45:30 +02:00
Daniel Kirchner
bd0e0fcdbe tmp 2023-06-20 04:08:23 +02:00
Daniel Kirchner
4357b0316b tmp 2023-06-19 22:06:36 +02:00
Daniel Kirchner
71f7bf7206 tmp 2023-06-19 16:24:07 +02:00
Daniel Kirchner
fb959b3066 Scanner hack. 2023-06-13 20:42:59 +02:00
Daniel Kirchner
d2cde10388 tmp 2023-06-13 17:38:46 +02:00
Daniel Kirchner
17eeef6369 Use separate instances of the stateless DocStringTagParser during analysis. 2023-06-13 17:31:10 +02:00
Daniel Kirchner
33c12e2195 Do not assume successful analysis on fatal error. 2023-06-13 17:31:10 +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
Leo
a0933fa80a
Merge pull request #14276 from ethereum/smtchecker-fix-ice
SMTChecker: External function call with struct member is not getter
2023-05-30 13:46:35 +02:00
Leo
ceab4dfee5
Merge pull request #14269 from blishko/smtchecker-fix-analysis-external-calls
[SMTChecker] Remember verification targets from trusted external calls
2023-05-30 13:45:37 +02:00
Martin Blicha
8ca453f82e SMTChecker: External function call with struct member is not getter
if a struct has a member that is a function pointer with `external`
attribute, and such a member is called, it is currently incorrectly
treated as a public getter in SMTEncoder.

The proposed fix is to make SMTEncoder::publicGetter more strict in
deciding whether an expression is a public getter.
The added condition, that the access happens on a state variable, is
exactly what is checked later with an assertion that is currently
failing.
2023-05-26 14:23:45 +02:00
Nikola Matić
477b621f2e
Merge pull request #14274 from ethereum/enable-access-to-foreign-events 2023-05-26 13:49:13 +02:00
Martin Blicha
b0419da654 [SMTChecker] Remember verification targets from trusted external calls
Previously, we did not remember trusted external calls for later phase
when we compute possible verification targets for each function.
This led to false negative in cases where verification target can be
violated, but not by calling a public function directly, but only when
it is called as an external function from other function.

The added test cases witnesses this behaviour. The underflow in
`dec` cannot happen in any other way except what the `dec` is called
from `f`.

The same problem did not occur when the functions are called internally,
because for such cases, we have already been remembering these calls in
the callgraph in the CHC engine.
2023-05-26 13:03:44 +02:00
Nikola Matic
5893e099fe Allow qualified access to events from other contracts 2023-05-26 12:52:52 +02:00
GiokaMarkella
28a1abf89a Yul AST output on the CLI and in Standard JSON 2023-05-26 12:35:31 +02:00
Nikola Matic
7a34d34045 Restrict experimental solidity to constantinople and above 2023-05-17 17:03:43 +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
Daniel
9804085934
Merge pull request #14216 from ethereum/fix_bmc_side_effects_in_statement
Fix encoding of side-effects inside if and ternary in BMC
2023-05-15 13:34:22 +02:00
Alexander Arlt
c5673278a7 Remove EWASM backend. 2023-05-11 10:56:55 -05:00
Leo Alt
678461e828 Fix encoding of side-effects inside if and conditional statements in the BMC engine 2023-05-11 16:44:09 +02:00
Daniel
44a30e47ca
Merge pull request #14171 from ethereum/ast-import-via-standard-json
Add support to import AST via Standard JSON.
2023-05-09 22:22:31 +02:00
Alexander Arlt
4837d42361 Add experimental support to import AST via Standard JSON. 2023-05-09 14:07:38 -05:00
Nikola Matic
3bab14747e Fix hidden-overload in Types and remove CMake hack 2023-05-09 19:33:23 +02:00
Nikola Matic
9a87b587d5 Disallow immutable initialization in try catch statements
Trigger github
2023-05-09 14:48:14 +02: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