Commit Graph

19280 Commits

Author SHA1 Message Date
chriseth
53368eff9b
Merge pull request #10604 from ethereum/strict-address-payable
[BREAKING] Strict address payable
2020-12-15 18:25:31 +01:00
chriseth
67b7267735
Merge pull request #10613 from ethereum/fix-10609
Asmanalysis: Add test case that demonstrates bug
2020-12-15 18:21:54 +01:00
Bhargava Shastry
b45a5d7605 Asmanalysis: Add test case that demonstrates bug 2020-12-15 17:57:19 +01:00
chriseth
1521e9e4d5
Merge pull request #10611 from ethereum/fix-10609
AsmAnalysis: Fix out of bounds read due to incorrect bounds checking …
2020-12-15 16:42:27 +01:00
chriseth
43863bc982
Merge pull request #10610 from ethereum/recently080
Recently released 0.8.
2020-12-15 16:38:25 +01:00
Bhargava Shastry
9b38176c77 AsmAnalysis: Fix out of bounds read due to incorrect bounds checking on literal arguments 2020-12-15 15:38:59 +01:00
chriseth
3c270ca7f7
Merge pull request #10608 from ethereum/develop
Merge develop into breaking.
2020-12-15 15:24:53 +01:00
chriseth
29f46f0b8a Recently released 0.8. 2020-12-15 15:24:01 +01:00
hrkrshnn
571f9dafca Documentation for the PR about making address conversions nonpayable 2020-12-15 15:04:45 +01:00
hrkrshnn
fdaede9b3e Tests after disallowing some explicit payable conversions 2020-12-15 15:01:40 +01:00
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