Commit Graph

3661 Commits

Author SHA1 Message Date
chriseth
dc79274871 Set default EVM version to Istanbul. 2019-12-04 10:42:14 +01:00
chriseth
d0f9201ed4
Merge pull request #7866 from ethereum/considerInfiniteLoopsNonMovable
[Yul] Mark recursive functions and functions containing loops to be non-movable.
2019-12-03 22:02:20 +01:00
Leonardo Alt
d6e8ca4c54 Fix SMTChecker tests in 060 2019-12-03 21:44:10 +01:00
chriseth
f2790cc5e0
Merge pull request #7886 from ethereum/develop
Merge develop into develop_060
2019-12-03 21:41:49 +01:00
chriseth
f713b7e158 Remove trailing whitespace in test. 2019-12-03 21:38:20 +01:00
chriseth
bbeb093abf Detect loops in call graph generator. 2019-12-03 21:38:20 +01:00
chriseth
37d776a1a6
Merge pull request #7831 from ethereum/mocked-host
Use evmc::MockedHost moar
2019-12-03 21:27:50 +01:00
chriseth
e3ee67da6c
Merge pull request #7792 from ethereum/enableYulOptimizer
Enable yul optimizer by default.
2019-12-03 21:24:22 +01:00
chriseth
287b9be7af
Merge pull request #7872 from ethereum/smt_z3_4_8_7
Update to Z3 4.8.7
2019-12-03 21:23:40 +01:00
chriseth
2d42da3b7d
Merge pull request #7817 from ethereum/bail-on-shadowing-state-vars
Report error on shadowing state variables
2019-12-03 21:22:39 +01:00
Christian Parpart
7bbdfe070f Make shadowing of inherited state variables an error. 2019-12-03 21:20:03 +01:00
chriseth
2f11ac3590 Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-03 21:17:15 +01:00
chriseth
19a6f09cc8 Merge commit '4d2f20570' into develop_060 2019-12-03 21:01:31 +01:00
chriseth
96d777d7f1 Merge commit 'a7d481fb9' into develop_060 2019-12-03 20:47:30 +01:00
Leonardo Alt
5337f58767 Update to Z3 4.8.7 2019-12-03 20:19:20 +01:00
Alex Beregszaszi
c644f43cde Update test expection in use_stack_optimization with YulException 2019-12-03 19:06:48 +01:00
Alex Beregszaszi
7156c908be Drop non-strict version of jsonParse* and always use jsonParseStrict 2019-12-03 16:20:23 +01:00
Daniel Kirchner
c1505d3f44 Fix solc-js tests. 2019-12-03 10:53:11 +01:00
Leonardo Alt
b1577f5e46 [SMTChecker] Fix ICE in array of structs type 2019-12-03 01:12:30 +01:00
Paweł Bylica
cdcfea73ab EVMHost: Remove unneeded methods 2019-12-02 23:22:27 +01:00
Paweł Bylica
0bd80ed958 EVMHost: Mark methods as final 2019-12-02 23:22:27 +01:00
Paweł Bylica
19f54857a6 EVMHost: Make m_currentAddress private 2019-12-02 23:22:27 +01:00
Paweł Bylica
eacc1753fd EVMHost: Remove unnecessary State struct 2019-12-02 23:22:27 +01:00
Paweł Bylica
7a0f311032 EVMHost: Use evmc::MockedAccount 2019-12-02 23:22:10 +01:00
Paweł Bylica
635e2fc9d3 EVMHost: Reuse tx_context from MockedHost 2019-12-02 23:04:02 +01:00
Paweł Bylica
2683c83ad2 EVMHost: Use recorded_logs from MockedHost 2019-12-02 23:04:02 +01:00
Alex Beregszaszi
1718250248 EVMHost: use evmc::MockedHost 2019-12-02 23:04:02 +01:00
Daniel Kirchner
05baa23e8a Require unimplemented functions to be virtual. 2019-12-02 21:59:00 +01:00
Alex Beregszaszi
c4012eee33 Update EVMHost to EVMC 7.1.0
Co-authored-by: Paweł Bylica <chfast@gmail.com>
2019-12-02 21:26:42 +01:00
Alex Beregszaszi
aba2ee0f68 Update EVMC to 7.1.0 2019-12-02 21:26:42 +01:00
Alex Beregszaszi
2a62425f0a EVMHost: mark precompiles as existing accounts in the constructor 2019-12-02 20:49:33 +01:00
Paweł Bylica
578d69983d EVMHost: Mark precompiles implementation as static methods 2019-12-02 20:41:50 +01:00
Alex Beregszaszi
fca0f6e2c1 Disable EndToEnd/snark test on <Byzantium (given the precompiles were introduced after) 2019-12-02 19:37:09 +01:00
Daniel Kirchner
77a9e91443 Enable yul optimizer by default. 2019-12-02 19:30:14 +01:00
Alex Beregszaszi
ddf6e067ed EVMHost: disallow Byzantium precompiles on earlier EVM versions 2019-12-02 19:11:18 +01:00
Erik Kundt
28ebe967a2 Force Gnosis PM fork of 0.6.0 2019-12-02 18:10:39 +01:00
Erik Kundt
1fbcf7bd8b Override Truffle version in Gnosis safe-contracts. 2019-12-02 18:10:39 +01:00
Erik Kundt
f13fa7ed82 Adjusts solc-js test to earlier override of soljson. 2019-12-02 18:10:39 +01:00
Erik Kundt
40b58adcdb Fixes solc path override in Truffle config. 2019-12-02 18:10:39 +01:00
Erik Kundt
3f00a0fc8c Fixes wrong URL of Zeppelin fork. 2019-12-02 18:10:39 +01:00
Erik Kundt
9f1348d7c7 Switches to Colony dappsys fork. 2019-12-02 18:10:39 +01:00
chriseth
c61ed0b22d
Merge pull request #7797 from ethereum/allowTranslationInAssemblyMode
Allow EVM to EWasm translation in assembly mode.
2019-12-02 13:15:06 +01:00
Leonardo
a7d481fb94
Merge pull request #7851 from ethereum/smt_fix_function_type
[SMTChecker] Fix ICE for arrays and mappings of functions.
2019-11-30 13:15:08 +01:00
Alex Beregszaszi
805d4d5a57 LLL: fix test cases after chaind/selfbalance was added 2019-11-30 11:56:22 +01:00
Leonardo
767ce4417f
Merge pull request #7850 from ethereum/smt_fix_typetype
[SMTChecker] Fix visit to IndexAccess that has type Type
2019-11-29 18:18:26 +01:00
Leonardo Alt
5adc2a40b9 [SMTChecker] Fix ICE for arrays and mappings of functions. 2019-11-29 18:06:44 +01:00
Leonardo Alt
9eda95caf9 [SMTChecker] Fix visit to IndexAccess that has type Type 2019-11-29 17:20:50 +01:00
Leonardo Alt
c09da092d2 [SMTChecker] Fix constructors with local vars 2019-11-29 16:59:15 +01:00
Leonardo Alt
84f806e75d Reenable push tests via Yul 2019-11-29 16:52:13 +01:00
Daniel Kirchner
edd80a986d Update emscripten to 1.39.3 2019-11-29 12:55:02 +01:00
Daniel Kirchner
909296582f Remove zeppelin truffle workaround 2019-11-28 21:31:12 +01:00
Daniel Kirchner
025a696bb0 Fix unrelated test failure. 2019-11-28 20:01:36 +01:00
Daniel Kirchner
7d1b0c6023 Fix Yul IR push 2019-11-28 18:11:38 +01:00
chriseth
bee2b9e120 Commandline test. 2019-11-28 16:22:24 +01:00
Leonardo Alt
a352abe00d [SMTChecker] Add support to constructors 2019-11-28 14:43:23 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
chriseth
301215f186
Merge pull request #7461 from sifmelcara/licm
[YulOpt] Implement loop-invariant code motion
2019-11-28 12:00:19 +01:00
mingchuan
db60d123d0 [YulOpt] Implement loop-invariant code motion 2019-11-28 11:59:29 +01:00
Leonardo Alt
240ff30878 [SMTChecker] Do not visit the name of a modifier invocation 2019-11-27 22:34:33 +01:00
chriseth
1ebcc757e1 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-27 19:14:08 +01:00
chriseth
d207ae5dc7
Merge pull request #7798 from ethereum/evmc-literals
Use EVMC literals in EVMCHost
2019-11-27 19:12:07 +01:00
chriseth
80978293ab
Merge pull request #7818 from ethereum/evmc_vm
test: Use evmc::VM directly
2019-11-27 19:11:12 +01:00
Paweł Bylica
38a20190f4
test: Use evmc::VM directly
The evmc::VM works as a RAII wrapper similarly to unique_ptr, so there is no point in using additional unique_ptr.
2019-11-27 18:53:02 +01:00
Mathias Baumann
7bc6645218 Disallow use of virtual and private together 2019-11-27 18:52:41 +01:00
chriseth
0bb88dabb7 Restrict usage of plain "new". 2019-11-27 17:55:11 +01:00
chriseth
9e9b643b93 Tune the suite. 2019-11-27 11:56:11 +01:00
Alex Beregszaszi
e8b37c3bb5 Use EVMC literals in EVMCHost 2019-11-26 22:20:45 +01:00
Alex Beregszaszi
f14b7c7051 Update truffle* tests to use solc-js master_060 2019-11-26 19:11:28 +01:00
Alex Beregszaszi
1a4ee4ea34 Revert "Run solc-js tests against callback-context [REMOVE]"
This reverts commit 3133544313.
2019-11-26 19:11:11 +01:00
chriseth
7c063987c2
Merge pull request #7793 from ethereum/hex-tests
Add comprehensive tests to fromHex/toHex
2019-11-26 19:10:18 +01:00
Alex Beregszaszi
8fd95484fe Add comprehensive tests to fromHex/toHex 2019-11-26 17:34:50 +01:00
Bhargava Shastry
ea9e849ee4 Use pointer to string for efficiency 2019-11-26 17:12:56 +01:00
Bhargava Shastry
41bdc9b673 yul proto fuzzer: Generalize variable references 2019-11-26 17:12:56 +01:00
chriseth
400667fddf Update tests after merge from develop. 2019-11-26 16:27:07 +01:00
chriseth
b0db64ff5b Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-26 16:19:35 +01:00
chriseth
41177bc75c
Merge pull request #7770 from ethereum/yul_string_format
[Yul] Format string literals back to quoted string literals
2019-11-26 15:51:54 +01:00
chriseth
0973ae751a Do not warn about enabled ABIEncoderV2 anymore. 2019-11-26 15:49:42 +01:00
chriseth
d4d0df021d EWasm translation tests. 2019-11-26 15:46:33 +01:00
chriseth
6625f634fc Wasm Interpreter 2019-11-26 15:46:33 +01:00
Mathias L. Baumann
a45eed6dbf
Merge pull request #7584 from ethereum/callback-context
Introduce callback context in libsolc
2019-11-26 15:29:03 +01:00
Leonardo Alt
ce83bfb088 [Yul] Format string literals back to quoted string literals 2019-11-26 15:28:39 +01:00
Gaith Hallak
4a1e85436b Allow splitting string literals into multiple parts 2019-11-26 14:41:30 +03:00
chriseth
b6ad8f06e7
Merge pull request #7782 from ethereum/develop
Merge develop into develop_060
2019-11-25 17:58:09 +01:00
chriseth
78e4197cbc
Merge pull request #7764 from ethereum/ext-test-compile-split
[circleci] Splits out compilation only job for external tests
2019-11-25 17:30:15 +01:00
Alex Beregszaszi
3133544313 Run solc-js tests against callback-context [REMOVE] 2019-11-22 11:50:13 +00:00
Alex Beregszaszi
eedfafbbc4 Introduce callback context in libsolc 2019-11-22 11:42:39 +00:00
Leonardo Alt
ddc478e3e4 Add CallbackKind and use it for the SMT solver 2019-11-21 22:10:21 +00:00
chriseth
0201ff5a02
Merge pull request #7769 from ethereum/libsolc-doc
Document and clarify libsolc's interface
2019-11-21 22:57:32 +01:00
chriseth
a00f824479
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
2019-11-21 21:49:22 +01:00
Alex Beregszaszi
44c1f4a3bf Change the error message of empty callback/error in libsolc 2019-11-21 19:53:16 +00:00
chriseth
a26dd5a428 Remove trailing spaces in output. 2019-11-21 20:09:03 +01:00
chriseth
d5e9271592
Merge pull request #7350 from ethereum/array-length-rvalue
Make `length` member read-only
2019-11-21 19:22:42 +01:00
Alex Beregszaszi
65d4b82cbf Fix DAO test after recent solc-js updates
Updates on the "master_060" branch of solc-js removed the backwards compatibility.
2019-11-21 14:16:57 +00:00
Erik Kundt
26ab2d4c06 Splits out compilation only phase for external tests. 2019-11-21 00:00:27 +01:00
chriseth
8f2595957b
Merge pull request #7719 from ethereum/librarySignatuŕes
Add selector member to public and external library functions.
2019-11-20 18:43:14 +01:00
Leonardo Alt
72eff30778 Fix develop 060 merge 2019-11-20 13:49:40 +01:00
Leonardo Alt
389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
Erik Kundt
01705efb70 Adds and updates Yul tests for push() and pop(). 2019-11-20 12:04:47 +01:00
Daniel Kirchner
372df6b9e1 Implement array push and pop for yul and replace assignments in via yul tests. 2019-11-20 12:04:42 +01:00
chriseth
5deaac0849
Merge pull request #7740 from ethereum/istanbul
Enable support for Istanbul
2019-11-20 10:49:27 +01:00