Commit Graph

53 Commits

Author SHA1 Message Date
Nikola Matic
e7543d487d Issue warning when using deprecated SELFDESTRUCT 2023-01-25 16:55:11 +01:00
Rodrigo Q. Saramago
ef6ff2f055
Adds support for the EVM version "Paris".
Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2023-01-23 18:50:36 +00:00
Matheus Aguiar
35661479b6 Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
This reverts commit f567eb1fb2.

Correcting Bugfixes section of Changelog.
2022-05-13 08:35:21 -03:00
Kamil Śliwak
f567eb1fb2 Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions 2022-04-08 14:48:35 +02:00
Kamil Śliwak
fb7c969ce8 Tests for assembly instructions allowed with mutable/view/pure functions 2022-04-08 14:47:32 +02:00
Marenz
175580fe90 Make error message less confusing 2022-02-17 16:52:36 +01:00
hrkrshnn
43605d9299 Tests and Changelog for basefee. 2021-08-11 09:51:12 +02:00
chriseth
8da5d6a854 Update test expectations. 2021-06-04 12:04:04 +02:00
Mathias Baumann
56ebea8b2f ControlFlowAnalyser: Also consider called functions in a flow 2021-06-01 15:54:37 +02:00
Alex Beregszaszi
1be07c2b36 Trivial isoltest updates: missing // ---- at the end 2021-04-20 17:38:29 +02:00
Alex Beregszaszi
84c05d35f3 Trivial isoltest updates: normalized whitespace 2021-04-20 17:38:29 +02:00
hrkrshnn
7438c4dc16 Tests after making all explicit address conversions as non-payable 2020-12-14 18:46:01 +01:00
Alex Beregszaszi
7cd05bf603 Introduce block.chainid 2020-12-10 17:07:54 +00:00
chriseth
1c99537b5a
Merge pull request #10550 from ethereum/chainIdView
[BREAKING] Mark chainid as view.
2020-12-09 17:41:27 +01:00
Daniel Kirchner
588535566f Mark chainid as view. 2020-12-09 16:55:51 +01:00
Alex Beregszaszi
ad6739d0f6 Support address().codehash 2020-12-09 14:58:27 +00:00
hrkrshnn
9e5d7b9910 Test updates after disallowing Integer -> Contract conversion 2020-12-03 17:53:00 +01:00
chriseth
765ed13814 Immutables with literal values are pure. 2020-11-10 13:08:42 +01:00
Mathias Baumann
32b4f18023 Print warning for unnamed return parameters and no return statement 2020-10-13 13:11:29 +02:00
Alex Beregszaszi
32cb5207b3 Add more tests to ViewPureChecker 2020-10-02 11:57:35 +01:00
chriseth
fc2e9ec2ff Use .slot and .offest to access storage items. 2020-07-13 14:59:22 +02:00
chriseth
d67734df6f Fix error IDs. 2020-06-22 18:56:32 +02:00
chriseth
1441b97131 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-22 18:40:20 +02:00
a3d4
e04cedafc5 Added error codes to SyntaxTest expectations (updated tests) 2020-06-22 16:51:47 +02:00
Harikrishnan Mulackal
a207613f17 Docs, changelog and tests 2020-05-05 21:11:15 +05:30
hrkrshnn
bd0b06e8db Tests, Docs and Changelog 2020-04-28 16:03:52 +05:30
Mathias Baumann
ac7b31e559 Validate immutable variables 2020-04-02 13:52:27 +02:00
chriseth
fa148f2483 Parsing of immutable state variable. 2020-03-12 17:11:24 +01:00
Djordje Mijovic
58c6b90705 Deprecated warning for .value() and .gas() on function and constructror calls 2020-03-04 12:51:49 +01:00
Erik Kundt
d05afb34d6 Adjusts syntax tests to read-only array length. 2019-11-19 21:11:09 +01:00
Mathias Baumann
5b8ff78176 Implement virtual keyword 2019-11-14 11:49:39 +01:00
Daniel Kirchner
3321fc56ea Split fallback function and introduce "fallback()" and "receive()" syntax. 2019-11-04 17:17:58 +01:00
Mathias Baumann
6c6a9054b2 Implement override checking 2019-10-30 17:31:33 +01:00
Christian Parpart
e40c498260 Adapting the tests to strict inline assembly. 2019-10-25 15:01:25 +02:00
chriseth
2b91022b25 Fix view/pure checker for access to base. 2019-07-03 11:19:57 +02:00
Daniel Kirchner
4d38df6920 Set state mutability of function type members `gas and value` to pure. 2019-06-13 18:27:53 +02:00
chriseth
7506b5752a Do not require payable for callvalue instruction. 2019-05-22 11:30:29 +02:00
Leonardo Alt
0386d39942 Add test with internal function 2019-03-19 20:45:27 +01:00
Leonardo Alt
9acec99c31 Issue error for callvalue in nonpayable function 2019-03-19 20:45:27 +01:00
Leonardo Alt
508aae8a67 Disable state mutability warning for functions with empty body 2018-12-12 14:43:44 +01:00
Daniel Kirchner
879251a78b Update test suite to use address payable. 2018-09-12 16:21:43 +02:00
chriseth
a996ea266c
Merge pull request #4590 from ethereum/msgValueModifier
Warn if modifier uses msg.value in non-payable function
2018-09-05 10:32:10 +02:00
Daniel Kirchner
82f512a7d4 Add return data to bare calls. 2018-09-04 13:31:10 +02:00
chriseth
431c2fbcf3 Turn warning into error. 2018-09-03 18:35:57 +02:00
Erik Kundt
75a92b0ffd Warns if modifier uses msg.value in non-payable function. 2018-09-03 18:35:57 +02:00
Daniel Kirchner
7d7abeb149 Disallow ambiguous conversions between number literals and bytesXX types. 2018-08-13 14:27:01 +02:00
Christian Parpart
9b8a05ebfb Update tests to remove support for loose assembly 2018-08-02 13:37:13 +01:00
Christian Parpart
5d9320c70b Disallow loos assembly in Solidity by permanently setting it to SyntaxError (from Warning) 2018-08-02 13:36:05 +01:00
Daniel Kirchner
f5be38bff1 Extend view pure test suite. 2018-07-04 11:25:45 +02:00
Daniel Kirchner
0a738b4ac4 Adjust tests wrt strict view pure checker. 2018-07-04 10:14:58 +02:00