Commit Graph

4537 Commits

Author SHA1 Message Date
Kamil Śliwak
65d1ae5d48 Tests for suffixes with reserved names that could otherwise cause ambiguities 2023-03-23 13:02:22 +01:00
Kamil Śliwak
a65a0233a3 fixup! User-defined literal suffixes: Tests 2023-03-23 12:57:52 +01:00
Kamil Śliwak
4caee63ec8 Tests for multipart string concatenation 2023-03-23 12:53:16 +01:00
Kamil Śliwak
d7db1f097a Extra test for operator cleanup 2023-03-23 11:37:46 +01:00
Kamil Śliwak
58f1e78e18 Suffix cleanup test 2023-03-23 11:36:08 +01:00
Kamil Śliwak
06b7114ae1 fixup! Tests for suffixes used to define operators 2023-03-22 19:25:04 +01:00
Kamil Śliwak
88fa1c89c5 fixup! Tests for shadowing a builtin 2023-03-22 18:44:59 +01:00
Kamil Śliwak
4adfb76467 Tests for suffixes making external calls 2023-03-22 13:16:31 +01:00
Kamil Śliwak
08d54f274a Tests for recursive suffix calls 2023-03-22 13:16:31 +01:00
Kamil Śliwak
9aacc8d943 Tests for shadowing a builtin 2023-03-22 13:16:31 +01:00
Kamil Śliwak
1b867a3edf Tests for checked/unchecked suffixes 2023-03-22 13:16:31 +01:00
Kamil Śliwak
79342f45e7 Tests for suffixes used to define operators 2023-03-22 13:16:31 +01:00
Kamil Śliwak
2c7ab0cf48 Tests for suffixes + operators 2023-03-22 13:16:31 +01:00
Kamil Śliwak
d0701ccc44 User-defined literal suffixes: Tests 2023-03-22 13:16:31 +01:00
Kamil Śliwak
fda86c21f8 User-defined literal suffixes: Parsing and grammar 2023-03-22 13:16:31 +01:00
Kamil Śliwak
3b067616de Allow marking free functions as suffixes 2023-03-22 13:16:31 +01:00
chriseth
fac5666dc9 Re-implement unused assign / unused store eliminator. 2023-03-20 13:49:37 +01:00
Leo Alt
aacbe72079 group unsupported warnings 2023-03-15 17:06:06 +01:00
Leo Alt
21c0f78650 Report safe properties in BMC and CHC 2023-03-09 14:59:32 +01:00
wechman
aba5ac5e2a User-defined operators: Tests 2023-02-22 00:40:03 +01:00
Kamil Śliwak
fa0d3a44a7 Tests for using enums and fixed-point types as user-defined types 2023-02-21 23:42:22 +01:00
Kamil Śliwak
38b5ae578b Fix typo in test name: singed -> signed 2023-02-21 21:30:03 +01:00
Daniel Kirchner
4064116df4 Do not duplicate subassemblies.
Add LinkerObject check and more tests
2023-02-20 22:20:45 +01:00
chriseth
01b10e2515 Gas updates. 2023-02-15 21:33:06 +01:00
chriseth
07750ea23a More aggressive runtime code exclusion. 2023-02-15 21:33:06 +01:00
Kamil Śliwak
1a981af548 Only suggest removing parentheses from a construction call if they're empty 2023-02-15 14:27:03 +01:00
Kamil Śliwak
73183d3df9 Fix missing base constructor arguments being treated as an unimplemented function 2023-02-15 14:27:03 +01:00
Kamil Śliwak
bc3cbfa18d Add more tests tests for calls to base constructor with missing or wrong arguments 2023-02-15 14:17:55 +01:00
Kamil Śliwak
16bc4c6b5f Fix test for replacing base constructor 2023-02-15 14:17:55 +01:00
chriseth
91b14174d8
Merge pull request #13702 from ethereum/new_knowledge_engine
Re-implement KnowledgeBase using groups of constantly-spaced variables.
2023-02-13 20:05:47 +01:00
Leo
59f9ab4dee
Merge pull request #13939 from pgebal/fix_handling_bitwise_operators_when_parsing_z3_call_result
Fixes handling bitwise operators for z3 model checker
2023-02-09 12:16:28 +01:00
chriseth
695b250557 Update gas costs. 2023-02-09 10:47:12 +01:00
Pawel Gebal
a38549dc19 Fixes handling bitwise operators for z3 model checker 2023-02-08 18:37:17 +01:00
Leo Alt
db9c11a2a5 fix abstract nondet exception 2023-02-08 16:59:37 +01:00
Leo Alt
8d91ccf028 [SMTChecker] Add a new trusted mode which assumes that code that is
available at compile time is trusted.
2023-02-06 17:02:33 +01:00
Matheus Aguiar
2b70b08d5f Allow library external functions to be bound with using for 2023-02-02 13:39:19 -03:00
Rodrigo Q. Saramago
feba4de509
Add paris constraints to SMTChecker
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
Co-authored-by: Leo <leo@ethereum.org>
2023-01-31 11:03:04 +01:00
Rodrigo Q. Saramago
d9d9ab30a2 Update default evm version to paris 2023-01-30 17:57:08 +01:00
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
vlad
484ee8a621 Additional tests for edge cases for mutability, visibility, location, experimental, global, indexed and anonymous 2023-01-20 20:05:36 +01:00
vlad
7fbd36855d Disallow usage of the indexed attribute for modifier parameters Added tests for edge cases of several keywords 2023-01-20 19:53:02 +01:00
vlad
6a0ea174b8 Disallow several indexed attributes for the same event parameter 2023-01-20 19:53:02 +01:00
Matheus Aguiar
7779b6f352 Forbid private library functions to be attached outside their declaration scope 2023-01-17 16:27:35 -03:00
Nikola Matic
83c1f62026 Source location for named mapping keys 2023-01-17 12:25:23 +01:00
Daniel
f441e1323a
Merge pull request #13384 from zemse/develop
Allow named parameters in mapping types
2023-01-09 17:59:29 +01:00
Pierre Grimaud
b314e1b37d
docs: fix typos 2022-12-25 22:39:50 +01:00
Soham Zemse
fa78e0f3d4 feat: allow named parameters in mapping types
Co-authored-by: Hari <webmail.hari@gmail.com>

test: add parser and abi test cases

docs: add example on using named parameters for mappings

- Add changelog

feat: update antlr grammar to allow named parameters in mappings

fix: prevent conflicting mapping parameter names

ref: change order of mapping initializers

test: update expectations and fix build

test: add more tests

fix: use common error & code for conflicting params

fix: issue with accessing nested mapping

test: add conflicting params tests for more nested levels

Update libsolidity/analysis/DeclarationTypeChecker.cpp

Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>

fix: error reported with the same code twice

test: add more tests for 3 level nested mapping

Address review comments
2022-12-08 11:56:58 +01:00
Kamil Śliwak
71506bd3b3 Consistent terminology for attached/bound functions (file rename) 2022-12-07 19:31:44 +01:00
wechman
64a4f32bc2 Consistent terminology for attached/bound functions 2022-12-07 19:31:41 +01:00