Commit Graph

19990 Commits

Author SHA1 Message Date
chriseth
1057fd5355 Take revert statement into account in control flow graph. 2021-03-30 21:15:46 +02:00
chriseth
d5669696d5 Code generation for errors. 2021-03-30 21:15:46 +02:00
chriseth
3353107779 Grammar for revert statement. 2021-03-30 21:15:46 +02:00
chriseth
b552e5aeeb AST import and export for revert statement. 2021-03-30 21:15:46 +02:00
chriseth
fb67051467 Revert statement. 2021-03-30 21:15:46 +02:00
chriseth
b04b189959 Syntax for custom errors. 2021-03-30 21:15:18 +02:00
Martin Blicha
2d231f1859 [SMTChecker] Changed SMTEncoder::mergeVariables to work regardless which branch has been visited first 2021-03-30 20:35:44 +02:00
Leonardo
510bbaf672
Merge pull request #11122 from ethereum/smt_cex_local_vars
[SMTChecker] Show local variables in cex
2021-03-30 19:14:35 +02:00
Kamil Śliwak
879f1b3e26 docs: Mention that low-level calls do not have an extcodesize check 2021-03-30 18:10:00 +02:00
Kamil Śliwak
8c6bbf607f docs: Explain that public library functions cannot be called internally from the outside 2021-03-30 18:10:00 +02:00
Kamil Śliwak
e1464fa4fb docs: Clarify how modifiers can affect function arguments and return values 2021-03-30 18:10:00 +02:00
Leonardo Alt
ba97d6ac4e Add local vars to cex 2021-03-30 17:55:21 +02:00
Kamil Śliwak
67dea6c4f1 docs: Clarify which functions can be assigned to function variables 2021-03-30 14:31:51 +02:00
Kamil Śliwak
36f769662b docs: Add selector to the index 2021-03-30 14:31:51 +02:00
Kamil Śliwak
4053805356 docs: Yul create() and create2() return zero address on failure 2021-03-30 14:31:51 +02:00
Kamil Śliwak
797554668c docs: Newly allocated arrays are initialized with default values 2021-03-30 14:31:51 +02:00
Kamil Śliwak
259bf3f23a docs: The default visibility level for state variables is internal 2021-03-30 14:31:51 +02:00
Kamil Śliwak
60090fb4a9 docs: Calldata arguments are no longer limited to external functions 2021-03-30 14:31:51 +02:00
Kamil Śliwak
93bfc76216 docs: Mention explicitly that bitwise operators do not perform overflow/underflow checks 2021-03-30 14:31:51 +02:00
Leonardo
a7e2a8acb2
Merge pull request #11145 from ethereum/smt_out_of_bounds
[SMTChecker] Add `out of bounds` verification target
2021-03-30 14:24:50 +02:00
Harikrishnan Mulackal
24536f7f8e
Merge pull request #11186 from ethereum/docs_readme
Docs: Update Readme "contact us" sentence and add social badges
2021-03-30 13:12:02 +02:00
Leonardo Alt
dbd067d6db Report out of bounds index access 2021-03-30 10:28:48 +02:00
Kamil Śliwak
03a0998b5b solc-bin: Validate version reported by the compiler in the bytecode PR check 2021-03-29 20:17:45 +02:00
chriseth
2346ec1c0c
Merge pull request #11189 from ethereum/fix-top-ref-in-solc-bin-bytecode-pr-check
[solc-bin] Fix commit range used by bytecode PR check
2021-03-29 18:44:33 +02:00
Kamil Śliwak
d68d4727eb Fix bytecode PR check ignoring TOP_REF and always using HEAD as the end of the commit range 2021-03-29 17:48:49 +02:00
Kamil Śliwak
d4e95a76e4 bytecode_reports_for_modified_binaries.sh: Add a helper for exiting with an error message 2021-03-29 17:48:38 +02:00
chriseth
bb49bc5892
Merge pull request #10418 from ethereum/function-specializer
Function specializer
2021-03-29 15:48:01 +02:00
franzihei
7cac6f9011 Docs: Update Readme "contact us" sentence and social badges 2021-03-29 12:23:46 +02:00
chriseth
3598167499
Merge pull request #11185 from zayneio/docs-fix-typo
Fix typo in documentation
2021-03-29 11:15:36 +02:00
hrkrshnn
0100f48e05 FunctionSpecializer: skip specializing recursive functions
This avoids potential pathological behaviour, like in Ackermann function.
2021-03-29 11:02:31 +02:00
hrkrshnn
bd5e47dc55 Changelog and adding the name to the doc 2021-03-29 11:02:31 +02:00
hrkrshnn
2c75d1dfe4 Isoltest gas update for FunctionSpecializer 2021-03-29 11:02:31 +02:00
hrkrshnn
09998ceb0c Tests for FunctionSpecializer 2021-03-29 11:02:18 +02:00
hrkrshnn
45a3747701 Added FunctionSpecializer to the optimization suite 2021-03-29 11:02:18 +02:00
hrkrshnn
22ebdc7438 Implemented FunctionSpecializer
Optimiser step that specializes the function with its literal arguments.
2021-03-29 11:02:18 +02:00
hrkrshnn
8564d08228 Added a helper class FunctionCopier in ASTCopier
Helper class that creates a copy of the function definition, replacing the names of the variable
declaration with a new name.
2021-03-29 11:02:18 +02:00
zayneio
3643024fb0 Fix typo in documentation 2021-03-28 17:02:18 -04:00
Kamil Śliwak
c37bf89384
Merge pull request #11180 from ethereum/fix-trace-diff-fp
Fix false positive caused by early termination due to nested expressi…
2021-03-26 23:00:42 +01:00
Alex Beregszaszi
f24b2254ed
Merge pull request #11177 from ethereum/doc-pygment
Update pygments-lexer-solidity to 0.7.0
2021-03-26 15:34:02 +00:00
Leonardo
dcc0267cf4
Merge pull request #11179 from ethereum/smt_fix_bfs_order
[SMTChecker] Fix target warning order nondeterminism
2021-03-26 14:00:47 +01:00
Bhargava Shastry
f3f1ccc34f Fix false positive caused by early termination due to nested expressions. 2021-03-26 13:35:57 +01:00
Leonardo Alt
d1db41a5c8 Fix target warning order nondeterminism 2021-03-26 12:13:52 +01:00
Alex Beregszaszi
522fdc158d Update pygments-lexer-solidity to 0.7.0 2021-03-25 20:29:05 +00:00
Đorđe Mijović
d75a132f33
Merge pull request #11166 from ethereum/cmdLineTestsDevVersionFix 2021-03-25 19:06:26 +01:00
Leonardo
b3bbdacd48
Merge pull request #11126 from blishko/smt-no-targets-for-abstract
[SMTChecker] Do not create verification targets for contracts that cannot be deployed.
2021-03-25 18:04:02 +01:00
Djordje Mijovic
8da630f67b Updating pragma for docs example for bytes concat. 2021-03-25 17:11:39 +01:00
Djordje Mijovic
08993a3282 Enabling running cmd line tests on currently unreleased version.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-03-25 17:11:31 +01:00
chriseth
ecf7f21d55
Merge pull request #11172 from Schaeff/patch-1
Make bug report template consistent with feature request template
2021-03-25 15:50:11 +01:00
Thibaut Schaeffer
ccc8b4bbeb
Update bug_report.md 2021-03-25 15:45:46 +01:00
Martin Blicha
85358dfe30 [SMTChecker] Do not create targets for contracts that cannot be deployed 2021-03-25 15:38:37 +01:00