Commit Graph

19187 Commits

Author SHA1 Message Date
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
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
chriseth
e37e3099aa
Merge pull request #10583 from ethereum/fix-doc-pragma-checks
Fix checks for code snippets embedded in docs
2020-12-14 11:30:12 +01:00
chriseth
12f31c49ee
Merge pull request #10584 from ethereum/fix-minor-bugs-in-shell-scripts
Fix minor bugs in shell scripts
2020-12-14 10:01:48 +01:00
Kamil Śliwak
4a16b13a57 get_version.sh: Quote the ? wildcard that could otherwise break the regex in the presence of a single-letter file name 2020-12-12 07:49:54 +01:00
Kamil Śliwak
893a5b6e60 Remove unused variables 2020-12-12 06:30:57 +01:00
Kamil Śliwak
f712662a66 ASTImportTest.sh: Fix the script ignoring all but the first file from a multi-source test when testing input equivalence 2020-12-12 06:30:57 +01:00
Kamil Śliwak
81668eb26a soltest_all: Fix an error being printed to a file called 2 rather than to stderr 2020-12-12 06:30:57 +01:00
Kamil Śliwak
ac12274acd cmdlineTests.sh: Fix the script failing to detect that --ast option does not exist 2020-12-12 06:30:57 +01:00
Kamil Śliwak
1f2ffa99c2 cmdlineTests.sh: Fix test_solc_assembly_output including garbage in the tested output 2020-12-12 06:30:57 +01:00
Kamil Śliwak
0f6f4314b6 Fix code snippets in docs not passing tests on versions matching their pragmas 2020-12-12 04:52:16 +01:00
Kamil Śliwak
304b2fe232 docs_version_pragma_check.sh: Fail when there is no matching release 2020-12-12 04:52:16 +01:00
Kamil Śliwak
6fc45b3e02 docs_version_pragma_check.sh: Fix bad variable name making the script skip ^ and >= pragmas 2020-12-12 04:52:16 +01:00
Kamil Śliwak
784871c424 docs_version_pragma_check.sh: Get binaries from soliditylang.org, not github.io 2020-12-12 04:52:16 +01:00
Kamil Śliwak
74b5560f7e docs_version_pragma_check.sh: Fix broken variable comparison hiding missing compiler version warnings 2020-12-12 04:51:16 +01:00
Kamil Śliwak
2481f2c6bb common_cmdline.sh: Fix misspelled $args 2020-12-12 04:51:11 +01:00
Alex Beregszaszi
33ff2b16ff Fix crash with oversized address literals 2020-12-11 23:45:23 +00:00
Leonardo
db9aa36d6c
Merge pull request #10567 from blishko/unary-operators-fix
[SMTChecker] Fix CHC analysis of increment/decrement
2020-12-11 18:52:12 +01:00
Leonardo
da9cede0fe
Merge pull request #10348 from ethereum/simplify-compiler
Simplify abstraction of Compiler/CompilerContext/CompilerStack
2020-12-11 17:42:36 +01:00
Martin Blicha
8927015e5a [SMTChecker] Adding unary increment and decrement as under/overflow verification targets for the CHC engine 2020-12-11 17:41:50 +01:00
Leonardo
7972d8eb98
Merge pull request #10578 from ethereum/ast-test
Properly print sources in ASTJSONTest
2020-12-11 17:41:31 +01:00
Leonardo
adead3072d
Merge pull request #10570 from ethereum/abiv2-isabelle-test-values-fix-bugs
Ensure empty arrays are not visited and fix formatting issues
2020-12-11 17:38:15 +01:00
Harikrishnan Mulackal
2139f93410
Merge pull request #10556 from ethereum/external-test-readme
README describing the workflow around external tests and their repositories
2020-12-11 17:37:38 +01:00
Alex Beregszaszi
4a7f2ddc6d Properly print sources in ASTJSONTest 2020-12-11 15:28:54 +00:00
Alex Beregszaszi
ccd1f283aa
Merge pull request #9360 from ethereum/rich-function-type
Improve error message when assigning builtin functions
2020-12-11 15:25:59 +00:00
Alex Beregszaszi
bcaefb57b8 Add evmAssembly and evmRuntimeAssembly pointer in CompilerStack
This is a preparation for allowing those outputs to be served from the IR too
2020-12-11 14:53:29 +00:00
Alex Beregszaszi
98d8174d31 Simplify Compiler/CompilerContext by removing extra layers of indirection 2020-12-11 14:43:51 +00:00
Daniel Kirchner
dc5f7a7405
Merge pull request #10448 from ethereum/fixedhash
Add comprehensive tests for FixedHash
2020-12-11 15:31:20 +01:00
Alex Beregszaszi
b40b82535c Add comprehensive tests for FixedHash
Also explicitly disallow FixedHash<0>, given most functions were not working with it, and it is not very useful.
2020-12-11 12:20:37 +00:00
Daniel Kirchner
8db2cad45c
Merge pull request #10555 from ethereum/address-code
[BREAKING] Introduce address(...).code
2020-12-11 12:34:20 +01:00
chriseth
baaf7c0db8 Implement address(...).code in the IR 2020-12-11 03:00:30 +00:00
Alex Beregszaszi
7b347b9ec2 Introduce address(...).code 2020-12-11 03:00:30 +00:00
Alex Beregszaszi
03e805ab5a Reformat FixedHash.h for readability 2020-12-10 22:49:40 +00:00
Alex Beregszaszi
fa37e69c25 Improved error messages when converting to/from builtin functions 2020-12-10 22:38:15 +00:00