Daniel
a77d4e281f
Merge pull request #14139 from ethereum/make-plus-binary-only
...
Make plus binary only (second attempt)
2023-04-18 21:20:31 +02:00
Matheus Aguiar
64f57ac3c7
Fix null dereference in using for directive when operator name is empty
2023-04-18 14:23:58 -03:00
Kamil Śliwak
8a14680851
Disallow unary plus at the parsing stage
2023-04-18 16:47:00 +02:00
Nikola Matić
8194acb3b7
Merge pull request #14119 from veniger/natspec-struct
...
Adds NatSpec to AST for struct definitions.
2023-04-18 16:05:20 +02:00
Marko Veniger
07def48f45
Adds NatSpec to AST for struct definitions.
2023-04-18 13:10:21 +02:00
Daniel Kirchner
421738b50d
Fix calldata handling during creation in EVMHost.
2023-04-18 12:53:50 +02:00
Alex Beregszaszi
71bea997aa
Add and update tests
2023-04-15 13:47:11 +02:00
Kamil Śliwak
593e207094
Merge pull request #14104 from ethereum/extract-parse-literal
...
Refactor literal parsing before adding suffixes
2023-04-12 14:52:04 +02:00
Daniel
6bc6ae94a6
Merge pull request #14050 from ethereum/contract-ast-internal-function-ids
...
Annotate internal function IDs
2023-04-12 14:11:39 +02:00
Kamil Śliwak
c1fffa892d
Parser: Extract literal parsing into a separate function
2023-04-12 12:30:05 +02:00
Kamil Śliwak
46457cfc25
Merge pull request #14103 from ethereum/extra-tests
...
A few extra tests for operators, denominations and virtual functions
2023-04-12 11:32:26 +02:00
hrkrshnn
41ce3feb0a
test: some tests for push0
...
1. `push0_disallowed.yul`: checks if `push0()` is a valid builtin in strict Yul
2. `push0_disallowed.sol`: checks if `push0()` is a valid builtin in inline assembly
3. `push0.sol`: simple semantic test that returns 0
4. `evmone_support.sol`: tests if push0 works properly in evmone
5. Updated some bytecode too large tests to use `shanghai` as version
6. Updated various tests where `push1 0` was hardcoded in different forms / expectations on bytecode
size (`Assembler.cpp`, `GasCosts.cpp`, `SolidityCompiler.cpp`, `SolidityExpressionCompiler.cpp`)
2023-04-12 00:10:24 +02:00
Kamil Śliwak
66fcd542bc
Tests for denominations in array sizes
2023-04-07 14:54:09 +02:00
Kamil Śliwak
fc7cd54849
Tests for changing virtual function mutability when overriding
2023-04-07 14:49:55 +02:00
Kamil Śliwak
5687f6e934
Tests for literal denominations with non-integer literals
2023-04-07 14:48:13 +02:00
Kamil Śliwak
8dd6f77692
Extra test for operator cleanup
2023-04-07 14:47:34 +02:00
Kamil Śliwak
9020efec58
Merge pull request #14087 from ethereum/better-error-for-invalid-call
...
Better error message when trying to call things that are not functions
2023-04-05 17:38:10 +02:00
Christian Parpart
be8752b5d3
Adds natspec to AST for enum definition.
2023-04-05 14:58:32 +02:00
Kamil Śliwak
a019f400d0
Better error message when trying to call things that are not functions
2023-04-04 17:30:37 +02:00
Kamil Śliwak
79d975a77d
Merge pull request #14078 from ethereum/fix_missing_keyword_unicode
...
Fix missing keyword `unicode` in grammar
2023-04-03 12:53:20 +02:00
Matheus Aguiar
4aa310034c
Added missing keyword unicode to Lexer
2023-03-28 13:51:43 -03:00
Leo Alt
ce9a7ee954
update smtchecker tests
2023-03-28 18:23:54 +02:00
Matheus Aguiar
0158de60be
Refactored NumberUnit and FunctionDefinition. Added OctalNumber. Fixed number followed by identifier with no whitespace.
2023-03-24 16:19:33 -03:00
Rodrigo Q. Saramago
a0e62bbd3d
Annotate function ID of functions that may be called via the internal dispatch.
...
Co-authored-by: Daniel <daniel@ekpyron.org>
2023-03-20 20:14:41 +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