Kamil Śliwak
b0a986ffff
Allow event definitions at file level
2023-09-15 14:47:40 +02:00
Nikola Matic
fdc6699159
Rematerialize zero literals with default cleanup sequence
...
Add unused pruner step to the end of the default cleanup sequence
2023-09-04 15:40:33 +02:00
Kamil Śliwak
38decf05dd
Update gas expectations
2023-08-22 20:00:03 +02:00
Kamil Śliwak
ffd495bd89
Increase gas in call_options_overload test to make it pass on homestead
...
- After the test framework changes it fails via Yul on Homestead but passes on all other EVM versions and on legacy. The test itself does not seem to be testing these specific numbers so and increasing them resolves the problem.
2023-08-22 20:00:03 +02:00
Nikola Matic
96e7b4f46b
Rematerialize zero literals
2023-08-07 17:33:16 +02:00
Nikola Matic
964bdc711c
Fix ICE when emitting event from another contract
2023-07-21 21:49:09 +02:00
r0qs and Kamil Śliwak
86602852be
Add buglist entry
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it >
2023-07-18 18:15:32 +02:00
Daniel Kirchner
5c7214cbe3
Always generate code for .selector member access.
2023-07-18 18:15:32 +02:00
Daniel Kirchner
110e2a656d
Restrict mobile types of function types.
...
Move ternary tests to semanticTests
2023-07-18 14:13:36 +02:00
Matheus Aguiar
f3fc19080a
Override mobileType of MagicType to null
2023-07-18 10:56:02 +02:00
Kamil Śliwak
dad2bf6472
Relax restrictions on immutable initialization
2023-07-14 15:29:32 +02:00
Nikola Matic
5893e099fe
Allow qualified access to events from other contracts
2023-05-26 12:52:52 +02:00
Alexander Arlt
c5673278a7
Remove EWASM backend.
2023-05-11 10:56:55 -05:00
Daniel Kirchner
75a0c486a8
Adjust gas expectations due to new creation costs.
2023-05-09 18:22:44 +02:00
Daniel Kirchner and Rodrigo Q. Saramago
44da8507b1
Change default EVM version to Shanghai.
...
Co-authored-by: Rodrigo Q. Saramago <rodrigoqsaramago@gmail.com >
2023-05-08 16:34:23 +02:00
Daniel Kirchner
421738b50d
Fix calldata handling during creation in EVMHost.
2023-04-18 12:53:50 +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
chriseth
fac5666dc9
Re-implement unused assign / unused store eliminator.
2023-03-20 13:49:37 +01:00
wechman
aba5ac5e2a
User-defined operators: Tests
2023-02-22 00:40: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
chriseth
695b250557
Update gas costs.
2023-02-09 10:47:12 +01:00
Matheus Aguiar
2b70b08d5f
Allow library external functions to be bound with using for
2023-02-02 13:39:19 -03:00
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
7779b6f352
Forbid private library functions to be attached outside their declaration scope
2023-01-17 16:27:35 -03: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
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
chriseth
79c52b3c9e
Re-use knowledge about keccak calls.
...
Re-use knowledge about keccak calls.
Update gas cost.
More tests.
Fix bug.
Update libyul/optimiser/DataFlowAnalyzer.cpp
Remove util prefixes
fix test
More test cases.
Add Changelog entry
2022-12-07 14:16:13 +01:00
Daniel
3109ce2dbc
Merge pull request #12132 from ethereum/userDefinedSideEffectsCodeTransform
...
Use side-effects of user defined functions in evm code transform.
2022-11-22 14:26:57 +01:00
Alex Beregszaszi
eb8af2caec
Add basic support for the EVM version Paris
...
This mostly means testing with evmone, but instruction renaming of difficulty->prevrandao is omitted.
2022-11-21 14:56:46 +01:00
chriseth
5ba8c109f4
Use side-effects of user defined functions in evm code transform.
2022-11-14 21:26:36 +01:00
Alex Beregszaszi
54b4598390
Move some tests from viaYul to appropriate groups
2022-11-10 22:21:15 +01:00
Alex Beregszaszi
0f65e17b7b
Update tests
2022-11-10 22:21:15 +01:00
nishant-sachdeva
efbd3666a7
added optimization. shl comes out from being distributed over and
2022-11-11 01:16:14 +05:30
Paweł Bylica
4830194383
test: Update test expectations
2022-11-09 10:15:17 +01:00
chriseth
cffacac9de
Hash number literals according to their value instead of their string representation.
2022-11-08 20:34:10 +01:00
Daniel
9a60c06335
Merge pull request #11087 from ethereum/precompile-prices
...
EVMHost: charge gas for precompiles
2022-11-08 19:56:42 +01:00
Paweł Bylica
c4b6f5f00b
test: Properly clear storage dirty flag
...
Clear storage dirty flag between transactions in EVMHost. The EIP-2200
dirty flag should be persisted only in a single transaction.
2022-11-08 18:13:17 +01:00
Alex Beregszaszi
b74b55198d
Update tests
2022-11-04 10:48:30 +01:00
Daniel
7ac4c70c9b
Merge pull request #13569 from ethereum/document-call-to-zero-init-function-type
...
Document legacy and IR behavior for call to zero initialized variable of function type
2022-11-01 15:42:12 +01:00
nishant-sachdeva
8c0740748e
functions taking calldata args should be assignable to function pointers of same type
2022-10-26 13:29:02 +05:30