hrkrshnn
2fb191175b
Disallow some explicit conversions to address payable
...
The following explicit conversions are disallowed:
1. uint160 -> address payable
2. bytes20 -> address payable
3. literals -> address payable (payable(0) is an exception)
2020-12-15 15:01:40 +01:00
chriseth
4e86390e40
Merge pull request #10590 from ethereum/deposit-test
...
Include the eth2 deposit contract as an external test
2020-12-15 14:57:38 +01:00
Bhargava Shastry
31107e0947
Merge pull request #10594 from ethereum/add-sanitized-gmp-to-ossfuzz-docker
...
ossfuzz docker: Add sanitized build of gmp library that replaces syst…
2020-12-15 14:53:01 +01:00
Bhargava Shastry
aa26adc323
ossfuzz: Update ossfuzz docker image that now contains sanitized libgmp
2020-12-15 14:33:04 +01:00
Bhargava Shastry
e0e30fc600
Merge pull request #10592 from ethereum/abiv2-isabelle-test-values-fix-bugs
...
Abiv2 isabelle fuzzing
2020-12-15 14:29:20 +01:00
chriseth
ffaf40950a
Merge pull request #10605 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 14:01:01 +01:00
chriseth
5f59a949d7
Merge pull request #10598 from ethereum/disable-byte
...
[BREAKING] Disable the type `byte`
2020-12-15 14:00:17 +01:00
chriseth
2a54079d41
Merge pull request #10575 from ethereum/calldataArraySlices
...
Conversion of calldata array slices to memory
2020-12-15 12:21:33 +01:00
Leonardo
2552a9b7b0
Merge pull request #10601 from blishko/smt-fix-constructor-recursive-struct
...
[SMTChecker] Fix internal error on constructor of a recursive struct
2020-12-15 12:15:16 +01:00
Bhargava Shastry
3439e927e5
ossfuzz docker: Add sanitized build of gmp library that replaces system installed lib
2020-12-15 12:11:42 +01:00
Bhargava Shastry
b273e52628
Abiv2 fuzzer: Enable differential fuzzing and remove support for string coding
...
co-authored-by: Leonardo <leo@ethereum.org>
2020-12-15 11:13:10 +01:00
Bhargava Shastry
39f1893956
Fix integer overflow due to large unsigned cpp_int
2020-12-15 11:12:51 +01:00
Martin Blicha
e2c27b8ea4
[SMTChecker] Fix internal error on constructor of a recursive struct
2020-12-15 09:53:52 +01:00
Djordje Mijovic
64f0120622
Change assertions to align to TypeChecker.
2020-12-15 09:21:50 +01:00
Djordje Mijovic
d479c98920
Adding tests for conversion of calldata slices to memory and storage and fixing syntax tests.
2020-12-15 09:21:47 +01:00
Leonardo
d83ce0bcdd
Merge pull request #10599 from blishko/smt-inc-dec-push-fix
...
[SMTChecker] Fix internal error when increment/decrement is applied on a result of push().
2020-12-14 23:52:54 +01:00
Martin Blicha
71f835b71b
[SMTChecker] Fixed internal error when increment/decrement is applied on a result of push().
2020-12-14 22:52:44 +01:00
Djordje Mijovic
8aa4568b10
[Sol->Yul] Implementing conversion from calldata slices to memory arrays.
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-12-14 22:21:37 +01:00
Djordje Mijovic
b99a74fb34
Implementing conversion from calldata slices to memory arrays.
2020-12-14 22:21:37 +01:00
Djordje Mijovic
0efd52a38e
Allowing implicit conversion from calldata slice to memory and storage array types.
2020-12-14 22:21:37 +01:00
Alex Beregszaszi
edbdff8619
Update tests
2020-12-14 19:32:31 +00:00
Alex Beregszaszi
15237c8404
Disable the type byte
2020-12-14 19:18:25 +00:00
chriseth
271a17d908
Merge pull request #10496 from ethereum/address-payable
...
[BREAKING] tx.origin, msg.sender and address(literal) are non-payable addresses
2020-12-14 20:16:52 +01:00
Harikrishnan Mulackal
90a0bbefa3
Merge pull request #10593 from ethereum/someMoreTests
...
Some more tests for overflow.
2020-12-14 19:41:10 +01:00
Leonardo
2ca70bd71a
Merge pull request #10597 from blishko/smt-fix-abstract-modifier
...
[SMTChecker] Fix internal error on abstract modifier
2020-12-14 19:34:44 +01:00
chriseth
9c3690c246
Some more tests for overflow.
2020-12-14 19:12:48 +01:00
hrkrshnn
7438c4dc16
Tests after making all explicit address conversions as non-payable
2020-12-14 18:46:01 +01:00
hrkrshnn
f30c7cbac8
All explicit address conversions return a non-payable address
2020-12-14 18:41:27 +01:00
Martin Blicha
103fa3b7eb
[SMTChecker] Fix internal error on abstract modifier
2020-12-14 18:23:25 +01:00
Leonardo
e21be30df4
Merge pull request #10588 from blishko/smt-push-bytes-fix
...
[SMTChecker] Fix internal error on bytes.push on the LHS of an assignment
2020-12-14 18:19:35 +01:00
Martin Blicha
27402781c4
[SMTChecker] Fixed crash on push to bytes on lhs of an assignment
2020-12-14 17:40:45 +01:00
Leonardo
ccf1626f0d
Merge pull request #10581 from blishko/issue-10524
...
[SMTChecker] Fix handling of function calls where the function identifier is nested in a tuple.
2020-12-14 17:20:18 +01:00
hrkrshnn
88c99a7538
Tests/Docs: changing type of msg.sender and tx.origin into address
...
And also making the type of address(literal) as non-payable address.
2020-12-14 16:55:48 +01:00
hrkrshnn
e1a95cfd42
Disallow conversions from literals to payable address
...
To get a payable address, one has to go through address. For example, `payable(address(0))`.
2020-12-14 16:55:48 +01:00
hrkrshnn
9bd778d728
Make msg.sender and tx.origin have type address
...
Previously both of them had type address payable. The idea is that anything that is not know to be
payable should be non-payable.
2020-12-14 16:55:48 +01:00
Martin Blicha
0be325dc0d
[SMTChecker] Fix handling of function calls where the function identifier is nested in a tuple.
2020-12-14 16:19:24 +01:00
chriseth
d257ab7141
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 16:05:12 +01:00
Alex Beregszaszi
34cab95446
Do not insert SPDX line if it is already present (in semantic tests)
2020-12-14 14:25:58 +00:00
chriseth
e3b009d6a7
Merge pull request #10580 from ethereum/sized-types
...
Disallow leading zeroes in sized-types
2020-12-14 14:44:06 +01:00
chriseth
20ed816c1b
Merge pull request #10589 from ethereum/fixBuildBreaking
...
Fix breaking.
2020-12-14 14:41:01 +01:00
chriseth
0dd2f1edbe
Update counter-examples.
2020-12-14 14:21:35 +01:00
chriseth
b03d110528
Ignore "no version found" check for pragmas containing "99".
2020-12-14 14:18:03 +01:00
chriseth
843e37b6e6
Do not warn about unreachable break.
2020-12-14 14:18:03 +01:00
chriseth
e1e1337aca
Move functions into anonymous namespace.
2020-12-14 14:18:03 +01:00
chriseth
6fff408d82
Fix lexer rules wrt leading zeros.
2020-12-14 14:17:16 +01:00
Alex Beregszaszi
3a7a0e4256
Add test cases for the deposit contract
2020-12-14 13:11:57 +00:00
Alex Beregszaszi
b97a12c299
Initial import of syntaxTests/externalContracts/deposit_contract.sol
...
Imported from https://github.com/axic/eth2-deposit-contract/tree/r2
2020-12-14 12:19:07 +00:00
Alex Beregszaszi
aa042ccb87
Disallow leading zeroes in sized-types
...
Also avoid using boost::lexical_cast for parseSize.
2020-12-14 11:40:14 +00:00
Alex Beregszaszi
4bffd040e2
Add tests for weirdly sized types
...
e.g. bytes00001
2020-12-14 11:40:11 +00:00
chriseth
28374447d2
Merge pull request #10582 from ethereum/addr-literal
...
Fix crash with oversized address literals
2020-12-14 12:14:28 +01:00