Commit Graph

5325 Commits

Author SHA1 Message Date
Leonardo
9e07981920
Merge pull request #10477 from ethereum/smt_isoltest_cex
[SMTChecker] Move CHC counterexamples to primary location
2020-12-09 20:37:24 +01:00
Leonardo Alt
3c142e0e94 Move CHC counterexamples to primary location 2020-12-09 19:55:18 +01:00
Djordje Mijovic
ab74194ca3 [Sol->Yul] Implementing empty byte array push. 2020-12-09 19:31:35 +01:00
Bhargava Shastry
2e3cba996a Isabelle abiv2 fuzzer: Add type string 2020-12-09 18:10:10 +01:00
Kamil Śliwak
165cab9e9d Switch the external tests back to the usual branches from solidity-external-tests 2020-12-09 17:33:13 +01:00
Daniel Kirchner
e691b7402a Move standard-json "modelCheckerSettings" key to "settings.modelChecker". 2020-12-09 15:53:32 +01:00
Leonardo Alt
a961a76263 Do not run SMTChecker when file level functions/constants are present. 2020-12-09 12:18:55 +01:00
Leonardo
3ca4a5136d
Merge pull request #10539 from blishko/test-issue-10502
[SMTChecker] Adding test witnessing that SMTChecker no longer crashes when producing CEX with arrays
2020-12-09 11:03:53 +01:00
Martin Blicha
de34fe8aa3 [SMTChecker] Adding test witnessing that SMTChecker no longer crashes when producing CEX with arrays 2020-12-09 09:13:39 +01:00
Alex Beregszaszi
47b10fd751 Report warning if contract uses abicoder v1, but IR is requested 2020-12-09 01:20:58 +00:00
chriseth
0d7f9ae183
Merge pull request #10520 from ethereum/fix-initial-optimizer-settings-in-external-tests
Fix initial optimizer settings in external tests
2020-12-08 20:52:59 +01:00
chriseth
49d1f541a1
Merge pull request #10264 from ethereum/warn-conversion
Enable -Wconversion
2020-12-08 20:37:12 +01:00
chriseth
672abc2276
Merge pull request #10530 from ethereum/changeConstructorOrder
[Sol->Yul] Evaluate base arguments in derived to base order.
2020-12-08 20:32:48 +01:00
chriseth
e97ca0a777 Evaluate base arguments in derived to base order. 2020-12-08 20:27:06 +01:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Kamil Śliwak
a66ab1eb4e Simplify functions for setting solc version in Truffle config 2020-12-08 16:23:37 +01:00
Kamil Śliwak
8cd6e15333 When changing compiler settings in Truffle config, always set all of them 2020-12-08 16:21:46 +01:00
Kamil Śliwak
5868eb7879 Take into account optimization level when creating initial Truffle settings for external tests 2020-12-08 16:11:17 +01:00
Kamil Śliwak
c6643712f7 Refactor truffle_run_test() to make optimizer settings reusable 2020-12-08 16:11:16 +01:00
Kamil Śliwak
609f1746c9 force_solc_settings: Stop using the outdated 'solc' key for compiler settings in truffle-config.js
- Settings were moved under 'compilers' in Truffle 5.0.0 and none of the projects use older Truffle.
2020-12-08 16:10:42 +01:00
Kamil Śliwak
a64a2fa186 Remove unused find_truffle_config 2020-12-08 16:10:11 +01:00
Leonardo
71a4a4efb1
Merge pull request #10529 from blishko/compound_assignment
[SMTChecker] Remove assert that is not true for compound assignment with right shift
2020-12-08 15:43:36 +01:00
Bhargava Shastry
fe6543a7c8 Abiv2 isabelle: Add fuzzer test harness skeleton and update CMake 2020-12-08 13:05:23 +01:00
Martin Blicha
12aa654bad added test 2020-12-08 13:05:16 +01:00
chriseth
759db0e646 Properly filter requested artefacts inside the EVM objects. 2020-12-07 22:03:06 +01:00
Martin Blicha
ff0c794674 [SMTChecker] Fixing conversion from StringLiteral to FixedBytes 2020-12-07 19:30:51 +01:00
Leonardo Alt
b7ac207391 [SMTChecker] Support return in CHC 2020-12-07 18:17:33 +01:00
chriseth
8623e7fbe8
Merge pull request #10429 from ethereum/fix-and-enable-external-tests
Fix and enable external tests
2020-12-07 16:48:44 +01:00
Alex Beregszaszi
a8197788d0 Replace the inconsistent use of u160/Address/h160 with h160 only 2020-12-07 16:44:59 +01:00
chriseth
73a2843f05
Merge pull request #10513 from ethereum/groupDecoder
Group decoding function cases.
2020-12-07 14:40:19 +01:00
chriseth
50d5c77197
Merge pull request #10512 from ethereum/external-tests-remove-force-abi-v2
Remove the option for forcing ABIv2 from external tests
2020-12-07 14:39:10 +01:00
chriseth
254119d146
Merge pull request #10506 from ethereum/superInLibs
Make super unavailable in libraries.
2020-12-07 14:36:42 +01:00
Daniel Kirchner
6c70208d5f
Merge pull request #10359 from ethereum/extra-semi
Enable the -Wextra-semi warning
2020-12-07 14:35:30 +01:00
chriseth
251f722919 Group decoding function cases. 2020-12-07 14:14:54 +01:00
Kamil Śliwak
c7b95e385f external tests: Update solc-js dependencies after forcefully replacing it
- Otherwise it fails if the external project uses a version that is too old and does not have some newly added dependencies
2020-12-07 14:09:18 +01:00
Kamil Śliwak
70a2fc58b0 Add jobs and scripts running external tests for Gnosis v2 2020-12-07 14:09:18 +01:00
Kamil Śliwak
e05241adfc Update Colony, Gnosis and OpenZeppelin external tests to run on updated 0.7.x branches from solidity-external-tests 2020-12-07 14:09:18 +01:00
chriseth
b86c91d1a3 Make super unavailable in libraries. 2020-12-07 13:59:50 +01:00
Kamil Śliwak
4d76e22439 Remove the option for forcing ABIv2 from external tests 2020-12-07 13:55:57 +01:00
Bhargava Shastry
83fc7d3f7d
Merge pull request #10487 from ethereum/yul-interpreter-expression-nesting-level
Yul interpreter: Introduce expression evaluation maximum nesting depth
2020-12-07 11:26:14 +01:00
Kamil Śliwak
3619a0a0f4
Merge pull request #10464 from ethereum/enable-shellcheck-for-external-test-scripts
Enable shellcheck for external test scripts
2020-12-04 18:56:09 +01:00
Bhargava Shastry
32fd692c51 Yul interpreter: Introduce expression evaluation maximum nesting depth 2020-12-04 17:27:03 +01:00
Alex Beregszaszi
1e2bfbd6b2 Enable the -Wextra-semi warning 2020-12-04 17:21:19 +01:00
Djordje Mijovic
2839a1b0bf [Sol->Yul] Documenting difference in initialization order in case of inheritance.
Co-authored-by: Leonardo <leo@ethereum.org>

Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-12-04 16:32:56 +01:00
Bhargava Shastry
0d6cae304b abiv2 proto fuzzer: Move anon namespace utility functions to common source 2020-12-04 15:33:41 +01:00
Leonardo Alt
7490ffbe13 Use nonlinear clauses instead of inlining for base constructors 2020-12-04 13:25:56 +01:00
Kamil Śliwak
55ccfc32f5 Remove external test scripts from shellcheck ignores 2020-12-03 22:17:44 +01:00
Kamil Śliwak
8080be9445 external test scripts: Replace global $SOLJSON variable with a parameter 2020-12-03 22:17:44 +01:00
Kamil Śliwak
fcf0538224 external test scripts: Replace global $FORCE_ABIv2 variable with a parameter 2020-12-03 22:17:44 +01:00
Kamil Śliwak
3590311e6f external test scripts: Replace the old dollar expressions with newer variants 2020-12-03 22:17:44 +01:00
Kamil Śliwak
0a29218848 external test scripts: Quote variables properly 2020-12-03 22:17:44 +01:00
chriseth
75266ea8d4
Merge pull request #10488 from ethereum/fixDocsRevertData
Fix documentation about revert data.
2020-12-03 19:21:44 +01:00
chriseth
61fd76cb27 Fix documentation about revert data. 2020-12-03 18:47:16 +01:00
chriseth
e04cc80438
Merge pull request #9555 from ethereum/yul-parser-refactor
Yul parser refactor
2020-12-03 18:07:31 +01:00
chriseth
27e44b85e3
Merge pull request #10419 from ethereum/bug-namesimplifier
Fix a bug in NameSimplifier.
2020-12-03 17:52:40 +01:00
Alex Beregszaszi
a9be2e4bb8 update tests 2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043 Ensure that builtins must be executed 2020-12-03 17:15:44 +01:00
Alex Beregszaszi
43353bb6ca update tests 2020-12-03 17:15:43 +01:00
Alex Beregszaszi
3da2b67b67 simplify parser 2020-12-03 17:14:49 +01:00
Bhargava Shastry
e1b44500dd Yul interpreter: Smaller execution timeout for tests and additional test cases 2020-12-03 10:08:41 +01:00
Leonardo
088b694f0b
Merge pull request #10207 from ethereum/smt_tests_asserts
[SMTChecker] Add uncovered test and replace uncovered tests by asserts
2020-12-03 08:59:48 +01:00
Martin Blicha
2ee633f404 [SMTChecker] Added support for public getters through this. 2020-12-02 16:06:48 +01:00
hrkrshnn
3efac3eef0 NameSimplifier is removed from steps available to users. 2020-12-02 13:48:01 +01:00
Kamil Śliwak
23a9e517e7 Force the use of latest Truffle in ENS external tests 2020-12-02 01:26:16 +01:00
Kamil Śliwak
bbf2471f64 External tests: Replace hard-coded version in force_truffle_version() with a parameter 2020-12-02 01:26:16 +01:00
chriseth
e10712c173
Merge pull request #10454 from ethereum/ewasm-cleanup
[ewasm] Clean up some builtins and fix text representation of `select`
2020-12-01 17:34:48 +01:00
Alex Beregszaszi
d22434ee57 Change ABIEncoderV1 to not pad empty strings 2020-12-01 14:32:18 +00:00
chriseth
390640f557
Merge pull request #10384 from ethereum/called_directly_feature
Use annotation.calledDirectly to simplify IR codegen
2020-12-01 15:07:02 +01:00
chriseth
8279d90ba2
Merge pull request #10403 from ethereum/rename-asmdata
Rename AsmData* to AST*
2020-12-01 14:33:11 +01:00
chriseth
1944d5ce44
Merge pull request #9722 from ethereum/fix-9676
Add Solidity test case generator framework
2020-12-01 14:26:12 +01:00
Alex Beregszaszi
04cf4867fe [ewasm] Clean up opcodes/builtins in the binary encoder
Also make sure that `i32.drop/i64.drop` won't silently drop its arguments, as they may have side-effects.
2020-12-01 12:50:54 +00:00
Alex Beregszaszi
a29a7ad680 [ewasm] Properly encode i32/i64.select in the text format 2020-12-01 11:22:38 +00:00
Mathias Baumann
ea5b63914a Add test to cover (L.f)() case 2020-12-01 12:02:29 +01:00
chriseth
388fcddd23
Merge pull request #10415 from ethereum/arrayClearingStorageSol2Yul
[Sol->Yul] Fixing copying from storage to storage.
2020-12-01 09:43:47 +01:00
Djordje Mijovic
bd86588459 Adding more tests for array copying from storage to storage. 2020-12-01 08:50:36 +01:00
Djordje Mijovic
28e01202af [Sol->Yul] Fixing coping from storage to storage. 2020-12-01 08:50:33 +01:00
Leonardo Alt
fa561dbd0e Add uncovered test and replace uncovered tests by asserts 2020-11-30 18:46:47 +01:00
Harikrishnan Mulackal
91e67472bf
Merge pull request #10383 from ethereum/add-ens-external-tests
External tests: Add ENS contracts
2020-11-30 18:15:15 +01:00
Alex Beregszaszi
7e7a42c6ad
Merge pull request #10441 from ethereum/fix-version-pragma-replacement-in-external-tests
Fix command for stripping version pragmas in external tests
2020-11-30 15:24:20 +00:00
chriseth
ce6e52b052
Merge pull request #10430 from ethereum/wasm-select
[ewasm] Add i32.select/i64.select
2020-11-30 14:42:26 +01:00
Kamil Śliwak
dc57451775 Replace the command for stripping version pragmas in external tests with one that does not break on ^<=> 2020-11-30 14:25:46 +01:00
Bhargava Shastry
d6ecedd16c External tests: Add ENS contracts 2020-11-30 13:53:28 +01:00
Leonardo
3287341f1e
Merge pull request #10316 from blishko/bmc_branches
[SMTChecker] Handle branches with return statements properly in BMC engine
2020-11-30 13:50:09 +01:00
Alex Beregszaszi
a7ee1355bd [ewasm] Use select instruction where appropriate 2020-11-30 12:10:32 +00:00
Alex Beregszaszi
9640cfd77e [ewasm] Add i32.select/i64.select 2020-11-30 11:58:33 +00:00
Martin Blicha
cd06d68cbe [SMTChecker] Keeping better track of path condition through branches with return statement in the BMC engine. 2020-11-30 11:47:49 +01:00
Alex Beregszaszi
06af2fb38a [ewasm] Change eq() in polyfill to branch-less version 2020-11-27 22:47:55 +00:00
Kamil Śliwak
fb01884e69
Merge pull request #10424 from ethereum/ir-modifiers
Add unimplemented assert for modifiers in the IR
2020-11-27 20:06:54 +01:00
Alex Beregszaszi
28e65bac46 Add unimplemented assert for modifiers in the IR
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
2020-11-27 18:34:17 +00:00
Alexander Arlt
46844d433d buildpack-deps: Update hera to 0.3.2. 2020-11-26 18:28:17 -05:00
chriseth
3e5396598b
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
Support BitNot on FixedBytes in IR
2020-11-26 14:42:52 +01:00
Alex Beregszaszi
cbae5ca324 Support BitNot on FixedBytes in IR 2020-11-26 13:20:02 +00:00
Djordje Mijovic
565d0cd4eb Support copying of nested calldata arrays to memory. 2020-11-26 12:13:29 +01:00
Djordje Mijovic
bae32ac402 [Sol->Yul] Implementing member access to arrays in calldata structs. 2020-11-26 11:46:31 +01:00
Đorđe Mijović
5f732cb3ca
Merge pull request #10402 from ethereum/ir-fix-library-call
Properly terminate definitions using define() in IRGenerateForStatements
2020-11-26 10:07:27 +01:00
Alex Beregszaszi
a22077f736 Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Alex Beregszaszi
8d9c332593 Properly terminate definitions using define() in IRGenerateForStatements
The lack of termination can result in unparseable output.
2020-11-25 16:41:39 +00:00
Đorđe Mijović
7eb5fc31f8
Merge pull request #10394 from ethereum/viayul-tests
Switch compileViaYul to also where appropriate
2020-11-25 16:46:30 +01:00
Alex Beregszaszi
159f50e189 Turn on semantic tests for the old codegen where possible
These were marked IR-only, but they do pass on the old codegen too.

Also add old codegen version of semantictests/revertStrings/function_entry_checks.
2020-11-25 14:33:39 +00:00
Djordje Mijovic
5077deb285 Fixing pragmas to abicoder v2. 2020-11-25 15:13:57 +01:00