Commit Graph

1203 Commits

Author SHA1 Message Date
Mathias Baumann
e590a99f39 Detect circular references for library and free functions 2021-03-30 23:06:30 +02:00
chriseth
e877e2bba7 Use all referenced errors. 2021-03-30 21:15:46 +02:00
chriseth
1057fd5355 Take revert statement into account in control flow graph. 2021-03-30 21:15:46 +02:00
chriseth
fb67051467 Revert statement. 2021-03-30 21:15:46 +02:00
chriseth
b04b189959 Syntax for custom errors. 2021-03-30 21:15:18 +02:00
Alex Beregszaszi
e071884bbf Show proper error for misusing the custom natspec tag 2021-03-25 12:45:37 +00:00
Djordje Mijovic
840df80dac Check if all types in bytes.concat are fixed bytes or byte array. 2021-03-24 11:49:21 +01:00
Martin Blicha
e0b7c2c125 Fix compilation on develop 2021-03-24 09:40:02 +01:00
chriseth
e3ea5c631e
Merge pull request #11136 from ethereum/refactor-typepointer
Replace `TypePointer` with `Type const*`
2021-03-23 18:32:38 +01:00
Mathias Baumann
e197ebbdd1 Replace TypePointer with Type const* 2021-03-23 11:47:19 +01:00
Mathias Baumann
bccedf791b Add creationCode/runtimeCode contract creation detection to call graph 2021-03-22 15:44:23 +01:00
chriseth
d2023f5f95 Check for invalid tags. 2021-03-02 16:53:31 +01:00
chriseth
5690020d88 Allow custom natspec tags. 2021-03-02 16:13:28 +01:00
chriseth
f4050e81c6 Provide locations for docstring parsing errors. 2021-03-01 17:34:25 +01:00
chriseth
16db3a84f1 Fix call graph with respect to constants. 2021-02-25 16:00:53 +01:00
Kamil Śliwak
e87cd0afdf Check that there is an interface type before querying validity of location. 2021-02-24 11:22:40 +01:00
chriseth
e33c058a60
Merge pull request #10896 from ethereum/issue-10870
Fix issue with pop on storage array.
2021-02-23 17:49:17 +01:00
hrkrshnn
66d6d20f65 Converted hash collision error into a fatal type error.
The check is performed during ContractLevelChecker. However, the TypeChecker throws in certain cases
when it encounters functions, whose hashes collide.
2021-02-23 17:09:40 +01:00
Alexander Arlt
ae6996efc1 Fix issue with pop on storage array. 2021-02-23 14:26:55 +01:00
Kamil Śliwak
f58b64800f Fix 'switch' style in FunctionCallGraph 2021-02-23 14:02:35 +01:00
Kamil Śliwak
7a85516b82 Remove contract reference from the call graph 2021-02-23 14:01:20 +01:00
Kamil Śliwak
6c28120f19 Move CallGraph structure to a separate module 2021-02-23 10:47:02 +01:00
Kamil Śliwak
74ef7dd790 FunctionCallGraph: operator<< for printing nodes in an unambiguous way 2021-02-23 10:46:28 +01:00
Mathias Baumann
4c1f8d69f9 Implement a Function Call Graph 2021-02-23 10:46:28 +01:00
chriseth
78a097a012 Only warn about variables being shadowed in inline assembly. 2021-02-19 14:29:22 +01:00
Alex Beregszaszi
f766700000 Remove unreachable warning for shift/exp operator 2021-02-16 13:17:58 +00:00
Alex Beregszaszi
efe3199981 Remove unreachable assertion for import resolution 2021-02-16 12:55:01 +00:00
Alex Beregszaszi
fd9050614a Remove untriggerable errors on variadic calls (which have been removed) 2021-02-15 22:45:57 +00:00
Mathias Baumann
3a8a74cbc7 OverrideSpecifier: Check for null before dereferencing 2021-02-04 13:17:28 +01:00
hrkrshnn
ec57c791ef Fix infinite loop when accessing circular constants from inline assembly. 2021-01-26 09:22:05 +01:00
Mathias Baumann
07a1d230cd Fix missing error when accessing unintialized variables. 2021-01-25 14:44:15 +01:00
chriseth
6eea2f5c08
Merge pull request #9959 from a3d4/fix-ice-struct-with-mapping-assignment
Fix ICE caused by const structs with mappings
2021-01-13 15:19:02 +01:00
a3d4
35a25b107f Fix ICE caused by const structs with mappings 2021-01-12 18:39:54 +01:00
chriseth
24aded266e Dereference. 2021-01-12 14:28:27 +01:00
chriseth
7487a7d927 Use drop_exactly. 2021-01-12 14:01:10 +01:00
chriseth
b9de0c6155 Use zip. 2021-01-11 20:54:28 +01:00
chriseth
b965446182 Catch panic. 2020-12-22 11:08:44 +01:00
Alex Beregszaszi
b14a6a10cc Report meaningful error if parsing a version pragma failed 2020-12-18 11:50:37 +00:00
hrkrshnn
f30c7cbac8 All explicit address conversions return a non-payable address 2020-12-14 18:41:27 +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
chriseth
e1e1337aca Move functions into anonymous namespace. 2020-12-14 14:18:03 +01:00
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
Alex Beregszaszi
7b347b9ec2 Introduce address(...).code 2020-12-11 03:00:30 +00:00
Alex Beregszaszi
fa37e69c25 Improved error messages when converting to/from builtin functions 2020-12-10 22:38:15 +00:00
Alex Beregszaszi
bd641a5206 Enable more C++ compiler warnings 2020-12-10 21:03:58 +00:00
Alex Beregszaszi
7cd05bf603 Introduce block.chainid 2020-12-10 17:07:54 +00:00
chriseth
482bda6887 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 12:15:52 +01:00
Mathias Baumann
37cc795034 Fix segfault for empty @return tags in modifiers 2020-12-10 11:54:40 +01:00
chriseth
3f748bbb94
Merge pull request #10336 from ethereum/enablecoderv2bydefault
[BREAKING] Enable ABI coder v2 by default.
2020-12-09 18:05:07 +01:00
chriseth
870fd24723
Merge pull request #9888 from ethereum/account-hash
Support address().codehash
2020-12-09 17:40:56 +01:00