Commit Graph

7290 Commits

Author SHA1 Message Date
Daniel
f441e1323a
Merge pull request #13384 from zemse/develop
Allow named parameters in mapping types
2023-01-09 17:59:29 +01:00
Nikola Matic
5ecf3075fb Silence version check grep and up the node heap limit 2023-01-05 16:55:16 +01:00
Nikola Matic
17d57da082 Unpin v4-core dependency and neutralize packages 2023-01-04 12:02:13 +01:00
Pierre Grimaud
b314e1b37d
docs: fix typos 2022-12-25 22:39:50 +01:00
andy53
3bc535e1a1 Report when no contracts to compile
updates
2022-12-19 13:47:03 +01:00
Nikola Matic
4d627e6fc4 fixup! External tests maintenance 2022-12-16 14:49:01 +01:00
Nikola Matic
d1a158368a External tests maintenance 2022-12-16 11:34:00 +01:00
Nikola Matic
cca1b460c9 Unpeg fixed dependency from elementfi external test 2022-12-15 16:45:44 +01:00
Nikola Matic
ab78f69bf5 Pin v4-core dependecy to fix failing exteral pooltogether test 2022-12-15 12:53:57 +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
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
chriseth
0cf7236729 Add optimizor club benchmark. 2022-12-02 18:40:49 +01:00
chriseth
5e74e95b67 Update test/benchmarks/run.sh
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-12-02 14:08:41 +01:00
chriseth
a0f8cc922f Add optimizor club benchmark. 2022-12-02 14:08:41 +01:00
Daniel
851cc09742
Merge pull request #13516 from ethereum/fix-yul-interpreter-memory-access
Fix memory expansion semantics in the yul interpreter.
2022-12-01 15:42:41 +01:00
Rodrigo Q. Saramago
0fb04432fa
Quick fix of prb-math 2022-11-30 16:24:44 +01:00
Leo Alt
77698f8108 Fix internal error when deleting struct member of function type 2022-11-30 12:47:32 +01:00
Kamil Śliwak
d0fb8c2e87 Fix another instance of the spurious unreachable warning, this time in SemVerMatcher 2022-11-29 23:26:22 +01:00
Leo Alt
608b424afc Fix internal error when using user defined value types as mapping indices or struct members. 2022-11-29 13:04:01 +01:00
Leo
cc8baf7ea8
Merge pull request #13754 from ethereum/smt_fix_assignment
Fix internal error in assignment chains
2022-11-29 11:58:36 +01:00
Leo Alt
be8b05e6bf Make isoltest not check SMTChecker counterexamples by default. 2022-11-28 20:55:15 +01:00
Leo Alt
07870d0318 Fix internal error in assignment chains that also assign to fully qualified state variables (, for example), where the contract expression is a tuble. 2022-11-28 18:45:50 +01:00
Leo Alt
a5dab6181c Fix internal error when the abstract-nondet SMTChecker natspec annotation is used with a wrong option multiple times for the same function 2022-11-28 16:59:35 +01:00
Leo Alt
9a8dd4242f Fix SMTChecker bug when a public library function is called internally by an internal library function, which in turn is called internally by a contract. 2022-11-28 13:07:18 +01:00
Vinay
9e7b85ac4b Improve Error Reporting of SemVer Parser 2022-11-25 13:09:09 -03:00
Nikola Matić
bf1a2c7cee
Merge pull request #13734 from ethereum/add_perf_benchmarks
Add performance benchmarks.
2022-11-25 07:44:02 -05:00
chriseth
e9cc770d80 Add performance benchmarks. 2022-11-25 10:29:29 +01:00
Alexander Arlt
fe68200f30
[tests] Refactor scripts/ASTImportTest.sh. (#13576)
* [tests] Refactor scripts/ASTImportTest.sh.

Co-authored-by: Nuno Santos <nuno.santos@ethereum.org>
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-11-24 16:16:16 +01:00
Leo Alt
d660f0cab0 adjust nondeterministic tests 2022-11-24 13:08:06 +01:00
Leo Alt
504b70b6af update smt tests 2022-11-24 13:08:06 +01:00
Leo Alt
c3a7adad27 update cli tests 2022-11-24 13:08:06 +01:00
Daniel
eb2f874eac
Merge pull request #13733 from ethereum/eofSetting
Add experimental EOF options for CLI and Standard JSON.
2022-11-23 20:37:24 +01:00
Daniel Kirchner
bf26d3be5a Add experimental EOF options for CLI and Standard JSON.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-11-23 19:53:44 +01:00
Leo Alt
24df40de9a Allow running Eldarica from the command line 2022-11-22 21:16:45 +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
Bhargava Shastry
2c27405cbb Fix zero size memory expansion semantics in the yul interpreter. 2022-11-21 11:53:42 +01:00
Daniel Kirchner
1b6063ede4 Disable zeppelin test failing due to hardhat heuristics. 2022-11-14 21:26:36 +01:00
chriseth
5ba8c109f4 Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
Ishtiaque Zahid
3abf2724a1 changed output of formatNumberReadable so that it shows powers of two and one-less-than powers of two in a more compact format 2022-11-14 17:37:38 +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
Alex Beregszaszi
5a35c50d16 test: Support tracking gas refunds 2022-11-10 22:00:38 +01:00
nishant-sachdeva
efbd3666a7 added optimization. shl comes out from being distributed over and 2022-11-11 01:16:14 +05:30
Alex Beregszaszi
47ed36e0db Upgrade CI and download instructions to evmone 0.9.1 and hera 0.6.0 2022-11-09 21:27:40 +01:00
Alex Beregszaszi
b49008af9e Support EVMC_PARIS with randao from merge block 2022-11-09 21:27:40 +01:00
Alex Beregszaszi
5df92a374b Update EVMHost to match EVMC10 changes 2022-11-09 21:27:40 +01:00
Alex Beregszaszi
458857d0d6 Upgrade to evmc 10.0.0 2022-11-09 11:45:40 +01:00
Paweł Bylica
4830194383
test: Update test expectations 2022-11-09 10:15:17 +01:00
Paweł Bylica
199f36585a
test: Improve precision of SSTORE cost in EVMHost
Add "original" field to storage_value to precise track "dirty" state of
a storage slot as defined in EIP-2200. In case a current storage value
is restored to original (after multiple modifications in a single
transaction), the storage slot is not considered "dirty" any more.
Previously, we only had a bool dirty flag to model this and a storage
slot was always considered "dirty" after first modification.
2022-11-09 10:15:14 +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
Duc Thanh Nguyen
4aac4c7bc4 Add Natspec devdoc inheritance support for events 2022-11-08 15:53:10 +01:00
wechman
52bfb8bd2d Minor test naming/style corrections 2022-11-07 23:16:02 +01:00
wechman
6da09e8d9a Error message tweak: built-in unary/binary operator 2022-11-07 17:13:41 +01:00
wechman
4c9a58eb0f Don't include location in a message about binding function to a type 2022-11-07 17:13:09 +01:00
Alex Beregszaszi
b74b55198d Update tests 2022-11-04 10:48:30 +01:00
wechman
d5428af5bb Make the message about name not referring to a user-defined type more generic 2022-11-04 08:46:53 +01:00
wechman
c297183467 Test that built-ins cannot be bound to structs 2022-11-04 08:46:53 +01:00
Alex Beregszaszi
18a5aee38c EVMHost: Introduce gas metering for precompiles 2022-11-03 22:18:34 +01:00
Nikola Matic
d5d573dfbe Peg hardhat-tenderly to fix GP2 external tests
Empty
2022-11-03 09:07:58 +01:00
Daniel
0c168b154c
Merge pull request #13579 from ethereum/refactor-json
[libsolutil] Add new JSON helper functions.
2022-11-02 10:25:04 +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
Daniel
05217fa8be
Merge pull request #13633 from ethereum/solc-return-codes
[solc] Exit code 2 for exceptions.
2022-11-01 14:18:41 +01:00
Daniel
bbaf8a4eb4
Merge pull request #13283 from ethereum/yulDebugger
Yul Debugger
2022-11-01 14:04:56 +01:00
Alexander Arlt
5b9096a381 [solc] Exit code 2 for exceptions. 2022-11-01 12:56:05 +01:00
Alexander Arlt
c23093e0f0 [libsolutil] Add new JSON helper functions. 2022-10-26 09:33:03 -05:00
Christian Parpart
4915c8eb8e
Merge pull request #13609 from ethereum/lsp-hover-provider
Adds basic `textDocument/hover`
2022-10-26 14:38:35 +02:00
Kamil Śliwak
05c457181e
Merge pull request #13227 from ethereum/functions_taking_calldata_args_should_be_assignable_to_function_pointer_of_same_type
functions taking calldata args should be assignable to function pointers of same type
2022-10-26 14:35:24 +02:00
Christian Parpart
9e7fe985bf [Language Server]: Add basic document hover support. 2022-10-26 13:53:29 +02:00
George Plotnikov
6374b4fe23 regenerating tests expectation 2022-10-26 15:13:47 +05:00
George Plotnikov
376b923a79 adding support for no-pretty-print 2022-10-26 15:13:11 +05: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
andy53
54965fb0ae fix emit statments being printed on the same line
Update test/libsolidity/semanticTests/emit_three_identical_events.sol

Co-authored-by: Kamil Śliwak <cameel2@gmail.com>

Update test/libsolidity/semanticTests/emit_two_identical_events.sol

Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2022-10-25 19:22:07 +02:00
Kamil Śliwak
fb3d0a874e
Merge pull request #13643 from ethereum/ext-gp2-bug-fix
Fix gp2 ext test failing to build, not being able to resolve the the keyv dependency
2022-10-24 13:06:21 +02:00
Kamil Śliwak
b4c85c6d37
Merge pull request #13594 from ethereum/evmc-selfdestruct
EVMHost: implement selfdestruct better
2022-10-21 21:07:22 +02:00
Kamil Śliwak
5c5045ee26
Merge pull request #13644 from ethereum/builtin-tests
test: Move hashing algorithm tests to semanticTests
2022-10-21 20:17:47 +02:00
Alex Beregszaszi
4f07be6348 test: Move hashing algorithm tests to semanticTests 2022-10-21 15:59:47 +02:00
Rodrigo Q. Saramago
11e13f5a41
Replace npm by yarn 2022-10-20 20:32:36 -03:00
Kamil Śliwak
720db45d88
Merge pull request #13622 from ethereum/fix-failing-build
Silence integer precision loss warning for protobuf fuzzers.
2022-10-21 00:13:55 +02:00
Nikola Matić
af257408e4
Merge pull request #13638 from Bojidar00/move-files
refactor: Move error generating tests to /invalid
2022-10-20 09:23:47 -05:00
Alex Beregszaszi
24946ec318 EVMHost: implement selfdestruct better 2022-10-20 15:35:41 +02:00
Bojidar00
af9a1d8a18 refactor: Move error generating tests to /invalid 2022-10-20 14:04:12 +03:00
Kamil Śliwak
ed3d3959aa Rename command line tests for the --no-cbor-metadata/appendCBOR option 2022-10-19 21:28:45 +02:00
Kamil Śliwak
4679ae0275
Merge pull request #13629 from ethereum/metadata-standard-json-bugfix
fix: `bytecodeHash` cannot be set to non-none for `appendCBOR=false`
2022-10-19 21:21:41 +02:00
Daniel
2cb618a5c3
Merge pull request #13593 from ethereum/test-selfdestruct
Add test for selfdestruct
2022-10-17 17:43:08 +02:00
hrkrshnn
6854e2b5d6 fix: bytecodeHash cannot be set to non-none for appendCBOR=false
Testing: see `test/cmdlineTests/metadata_append_standard_json_error`

Closes: https://github.com/ethereum/solidity/issues/13628
2022-10-13 02:07:20 +02:00
Bhargava Shastry
898fbe9335 Silence integer precision loss warning for protobuf fuzzers. 2022-10-12 12:10:43 +02:00
Nikola Matić
16c4c7565a
Merge pull request #13546 from KatyaPrusakova/move-nonstruct-test
test copy_from_calldata.sol folder location update
2022-10-06 19:02:50 +02:00
Prusakova Katya
2d4aa990fb test copy_from_calldata.sol folder location update
Rename copy_from_calldata
2022-10-06 18:14:15 +02:00
Kamil Śliwak
70b0fb6366
Merge pull request #13560 from rajgaur98/develop
Updated Whiskers for checking invalid tags
2022-10-04 17:33:05 +02:00
Kamil Śliwak
53e0a47a1c
Merge pull request #13265 from ethereum/no-append-metadata
Add `--no-append-metadata` in CLI and `metadata.append` in JSON
2022-10-04 17:32:22 +02:00
Alex Beregszaszi
96168a1438 Add test for selfdestruct
Also drop less useful EndToEndTest
2022-10-01 11:45:46 +02:00
Rajkumar gaur
bfd83c966a Updated Whiskers for checking invalid tags
For Example, raise an error if it contains invalid tags like
<?ba<!b</b
2022-09-29 07:36:29 +05:30
Alex Beregszaszi
0357cedb5c Update tests and include new for create/create2 calculation 2022-09-27 22:31:46 +02:00
Alex Beregszaszi
9aa304d43a EVMHost: Calculate address for CREATE properly 2022-09-27 22:31:45 +02:00
Alex Beregszaszi
5f8b48793c
Merge pull request #13571 from ethereum/explicit-fixedhash
Drop implicit alignment argument from FixedHash (and improve FunctionSelector helpers)
2022-09-27 22:30:34 +02:00
Alex Beregszaszi
2a41295d03 Drop implicit alignment argument from FixedHash 2022-09-27 17:58:32 +02:00
Alex Beregszaszi
725253551e Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
Alex Beregszaszi
d1b8991c03
Merge pull request #13565 from ethereum/evmc-cleanup
EVMHost: a few more simplifications
2022-09-27 17:56:05 +02:00
Bhargava Shastry
bd57de6d68 Document legacy and IR behavior for call to zero initialized variable of function type. 2022-09-27 14:09:09 +02:00
Alex Beregszaszi
0f484ec93b Replace use of boost::algorithm::all_of with ranges::all_of 2022-09-27 03:33:13 +02:00
Alex Beregszaszi
8230022e18 Remove unused include of boost/variant 2022-09-27 03:27:37 +02:00
Alex Beregszaszi
565423c934 Replace use of boost::adapters::filtered with ranges::views::filter 2022-09-27 03:14:17 +02:00
Alex Beregszaszi
50182d7ee0 EVMHost: replace precompileALTBN128PairingProduct with mapping 2022-09-26 21:39:18 +02:00
Alex Beregszaszi
f40d1d654d EVMHost: Add size%192 check to bn128pairing
And also refactor resultWithFailure
2022-09-26 21:06:33 +02:00
hrkrshnn
d32661c0af Added tests for --no-append-metadata
- Command line tests
- Documented the standard json
- Changelog
- A Change in SolidityExecutionFramework to prevent flaky gas tests
- A boost test for --no-append-metadata
- Removed an outdated comment
2022-09-26 20:40:34 +02:00
Alex Beregszaszi
c967a621eb EVMHost: Reduce code duplication in precompiles 2022-09-26 15:38:55 +02:00
Alex Beregszaszi
a260000a16 EVMHost: Make it clear which MockedHost helpers are used
And also remove unused helpers.
2022-09-26 02:05:40 +02:00
Alex Beregszaszi
e3c7369413 EVMHost: Simplify some code and dcoument functions 2022-09-26 01:59:52 +02:00
Miles Liu
dad1a56321
Pretty print expected json output of command line tests 2022-09-22 18:49:55 +08:00
Miles Liu
4e929ee145
Fix stripping in CLI tests does not produce correct JSON formatting 2022-09-21 21:25:09 +08:00
Nishant Sachdeva
37597f9e88
Merge pull request #13162 from ethereum/cleanup_helpers_around_errors
cleaning up helpers around errors
2022-09-20 20:49:45 +05:30
nishant-sachdeva
eafd7218b7 refactored struct message to use std::variant for _typeOrSeverity 2022-09-20 19:20:43 +05:30
Nikola Matic
1f244cc1b3 Fix Euler tests by pinning v3-periphery 2022-09-20 14:12:57 +02:00
nishant-sachdeva
c8011d8719 Cleaning up helpers around errors 2022-09-19 10:51:14 +05:30
Daniel Kirchner
1fbee8259a
Merge pull request #13464 from ethereum/copying_reference_types
Add tests for copying reference types between data locations
2022-09-15 15:44:38 +02:00
Daniel Kirchner
5f63b3ca21
Merge pull request #13519 from ethereum/boost-tests-for-non-delimited-optimizer-sequence
Boost tests for non-delimited optimizer sequence
2022-09-14 13:10:03 +02:00
Marenz
692a99f891 yulRun: Add recursion protection 2022-09-14 11:40:23 +02:00
Marenz
d10d967008 yulRun: Fix unexpected return value for call* instructions and add tests 2022-09-14 11:40:08 +02:00
Marenz
b8699e7687 YulRunner: Add support for interactive inspection of the state 2022-09-14 11:40:02 +02:00
Marenz
4b69b5fdc1 YulRunner: Add support for external calls to the same contract 2022-09-14 11:40:02 +02:00
Marenz
53b67334c5 YulRunner: Add support for memoryguard() and literal parameters 2022-09-14 11:40:02 +02:00
Daniel Kirchner
1730e43bf7
Merge pull request #13514 from ethereum/yul-interpreter-create2
Fix create2 memory access in yul interpreter.
2022-09-14 11:19:11 +02:00
Nikola Matic
12ea1158bf Remove std qualifier from string in Metadata tests 2022-09-14 09:12:03 +02:00
Nikola Matic
4a52be8fe7 Boost tests for non-delimited optimizer sequence 2022-09-13 19:39:15 +02:00
Nikola Matic
e37dc8e975 Address review comments 2022-09-13 17:23:31 +02:00
Nikola Matic
feba1bfeff Rework metadata and cover with tests 2022-09-12 11:13:49 +02:00
Nikola Matic
314a1cc92f Command line tests and minor touch ups 2022-09-12 11:13:49 +02:00
Nikola Matic
ddf0d784ac Changelog and docs 2022-09-12 11:13:47 +02:00
Nikola Matic
f6f0d6a360 Make hardcoded parts of the optimizer sequence configurable 2022-09-12 10:57:36 +02:00
Bhargava Shastry
69d9869d21 Fix create2 memory access in yul interpreter. 2022-09-12 09:53:31 +02:00
wechman
0eae9e70ff Tests for copying structs between data locations 2022-09-09 09:58:41 +02:00
wechman
dfe8fce369 Tests for copying nested array of structs between data locations 2022-09-09 09:42:40 +02:00
wechman
c4d97120bd Add test for copying elements of nested storage array 2022-09-09 09:42:40 +02:00
Daniel Kirchner
a33da17300 Bugfix and tests.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-09-08 11:54:14 +02:00
Daniel Kirchner
d5e2925326 broken yul optimizer test 2022-09-07 16:49:58 +02:00
wechman
0262621b9f fixup! Add test for copying reference types between data locations 2022-09-07 10:45:53 +02:00
wechman
c5d8c5ad05 Add test for copying reference types between data locations 2022-09-07 10:45:53 +02:00
Nikola Matic
71d1209996 Pin hardhat version in bleeps tests 2022-09-06 17:55:23 +02:00
Nikola Matić
b4b5f7b355
Merge pull request #13489 from ethereum/pin-hardhat-version-in-yield-liquidator-tests
Pin hardhat version in yield-liquidator tests
2022-09-06 12:49:51 +02:00
Nikola Matic
8c4bbf1f4e Pin hardhat version in yield-liquidator tests 2022-09-06 11:06:31 +02:00
Nikola Matic
deab2bf37e Add comment to pinned GP2 hardhat version 2022-09-06 08:10:55 +02:00
Nikola Matic
53059936cc Pin hardhat version in GP2 external tests 2022-09-05 20:52:46 +02:00
Daniel Kirchner
99f15ff04e
Merge pull request #13481 from ethereum/fix-artifacts-check-in-hardhat-external-tests
Fix compiler version check in hardhat artifacts json
2022-09-05 16:03:22 +02:00
Nikola Matic
e5769d784e Fix compiler version check in hardhat artifacts json 2022-09-05 15:00:53 +02:00
Damian Wechman
6b99162457
Merge pull request #13406 from ethereum/slot_on_reference_fix
Fix `.slot` accessing via mapping reference in assembly
2022-09-05 14:00:18 +02:00
Leo
e048ba4d75
Merge pull request #13439 from ethereum/z3_4_8_11_smt_tests
Update SMT tests with z3 4.11.0
2022-08-30 12:51:13 +02:00
Leo Alt
16c0838f75 Update docker images and tests 2022-08-30 11:51:59 +02:00
Marenz
f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Leo Alt
e99e93ff5b Fix pylint warning 2022-08-29 11:50:29 +02:00
Nikola Matić
7bfec3ba70
Merge pull request #13430 from ethereum/fix-gnosis-test-inconsistent-dependency
Fix inconsistent nested dependency in safe-contracts
2022-08-26 17:12:50 +02:00
Nikola Matic
71c3c26b29 Fix inconsistent nested dependency in safe-contracts 2022-08-26 09:40:03 +02:00
Christian Parpart
3fc7debbef lsp: Code-review fixups. 2022-08-24 16:27:05 +02:00
Christian Parpart
d0854cb485 Applying CI-reported fixes. 2022-08-22 12:49:06 +02:00
Christian Parpart
d31e4dcc0a lsp: Finishing last missing test wrt complex nested project directory structure and specifying custom includes, while using some (one) of them. 2022-08-22 12:49:06 +02:00
Christian Parpart
122fbc6ff7 Adds include-paths-nested test case. 2022-08-22 12:49:06 +02:00
Christian Parpart
b6ba43234e lsp: Always load all solidity files from project for analyzing.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-22 12:49:04 +02:00
Mathias L. Baumann
a3de6cd60e
Merge pull request #12762 from ethereum/emptyReturnRevert
Optimize ``return(x,0) -> pop(x) return(0,0)`` (and also for ``revert``).
2022-08-22 12:42:48 +02:00
Marenz
1b5332c2b9 Fix spelling mistakes and CI spellcheck job 2022-08-18 14:38:19 +02:00
wechman
cf3bae0839 Fix "slot" access via mapping reference in assembly 2022-08-17 07:53:52 +02:00
Nikola Matić
bb41ddd7ab
Merge pull request #13404 from ethereum/peg-hardhat-ethers-version
Peg hardhat-ethers version
2022-08-16 19:43:06 +02:00
Nikola Matic
6b6cfa1795 Peg hardhat-ethers version 2022-08-16 17:52:27 +02:00
Alexander Arlt
ee2c4cddcd test/cmdlineTests.sh: fix verbosity. 2022-08-15 17:37:08 +02:00
Daniel Kirchner
a9c21863d4 Update tests. 2022-08-15 16:24:10 +02:00
Daniel Kirchner
733b0f63f6 Disable failing chainlink tests. 2022-08-15 15:42:51 +02:00
Daniel Kirchner
e996fe6247 Yul Optimizer: Simplify start offset of zero-length operations. 2022-08-15 15:42:51 +02:00
Matheus Aguiar
2282ea5e56 Added overflow checks after multiplication operation is executed. 2022-08-12 10:18:05 -03:00
Bhargava Shastry
c48be40ab8
Merge pull request #13380 from ethereum/multiple-indirections
Permit multiple indirections in coding calldata to and from memory/calldata
2022-08-12 12:20:28 +02:00
Bhargava Shastry
e3ed29d3b3 Permit multiple indirections in coding calldata to and from memory/calldata. 2022-08-12 09:33:06 +02:00
wechman
99ac7e09bb fixup! Calldata validation tests 2022-08-11 07:55:10 +02:00
wechman
60e7e4a24c fixup! Calldata validation tests 2022-08-11 07:39:02 +02:00
wechman
123a410795 fixup! Calldata validation tests 2022-08-11 07:38:54 +02:00
wechman
d066dd2bc0 Calldata validation tests 2022-08-11 07:38:28 +02:00
Kamil Śliwak
80f77dc1ad
Merge pull request #13360 from ethereum/update-bugs-by-version-no-error-on-update
`update_bugs_by_version.py`: don't fail when the list gets updated
2022-08-10 15:51:41 +02:00
Daniel Kirchner
9a429e2300 Fix ICE on invalid tuple assignments. 2022-08-09 12:41:47 +02:00
Kamil Śliwak
8874627dda update_bugs_by_version: Don't fail when the list gets updated 2022-08-08 17:29:47 +02:00
Marenz
22c7cd22b9 Fix wrong cleanup when copying from calldata to memory
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-08 13:07:16 +02:00
Kamil Śliwak
5b0f4a724a
Merge pull request #13354 from ethereum/fuzz-calldata-to-calldata-coding
Place calldata to calldata coder sanity checks.
2022-08-08 12:40:38 +02:00
Bhargava Shastry
53947404e4 Place calldata to calldata coder sanity checks.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-08 11:04:51 +02:00
Nikola Matic
40de2b0442 Add full stops to error messages 2022-08-05 09:52:48 +02:00
Duc Thanh Nguyen
a9e03f5e4a Fix out-of-range compiler crash for nested tuple assignment involving
outer unary tuple
2022-08-04 12:45:46 -04:00
Nikola Matic
1543d23601 Disable failing zeppelin tests 2022-08-04 17:22:42 +02:00
Matheus Aguiar
9acf693aa2 Fixed bad cast when abiEncodeCall receives a tuple from a function. 2022-08-03 18:48:38 -03:00
rodrigobaraglia
95bc553ffc replace boost/range/for_each with standard for loop over rangev3/view/zip in ContractABIUtils::overwriteParameters 2022-07-27 12:54:42 -03:00
Marenz
a1f6a3da9b Disable faulty zeppelin tests that detect a wrong revert reason 2022-07-27 15:57:50 +02:00
Duc Thanh Nguyen
5072472917 Fix abi.encodeCall checks 2022-07-25 12:40:54 -04:00
Christian Parpart
5aeb80ec3c lsp.py: Pass trace option during initialization already. 2022-07-13 16:41:30 +02:00
Christian Parpart
d89008da0a lsp: Adding test for custom include paths. 2022-07-13 13:57:04 +02:00
Christian Parpart
31227e442e lsp: Adds support for include paths and have {projectUri}/node_modules added by default.
- Factor out FileRepository's path resolving into own public function.
- Fixes sourceUnitNameToUri() path resolving in relation to include paths being used.
- Adding an solAssert().
- adds nother test for include-paths (bad include)
- Fixes a case on Windows there an ill-formed URI was generated.
- Dropping unnecessary if-branch when translating from sourceUnitName to URI.
2022-07-12 15:25:33 +02:00
Christian Parpart
5918955615 lsp: Fixes lsp.py to not bail out when no response is expected.
This is required for another PR to support sending notifications as part of the I/O being documented as comments.
2022-07-12 14:35:14 +02:00
Marenz
16b64f3aee LSP rename 2022-07-08 11:52:45 +02:00
Mathias L. Baumann
b2ac0dada4
Merge pull request #13210 from timweri/display_human_readable_type_name_in_conversion
Display human readable type name in error messages
2022-07-06 17:31:53 +02:00
Duc Thanh Nguyen
0a14368315 Display human readable type name in conversion error message 2022-07-06 10:49:51 -04:00
Kamil Śliwak
a53f15f45f
Merge pull request #13240 from derekg/test-fix
Fix C++ compilation errors on 32-bit Raspbian due to `unsigned` -> `int` conversion
2022-07-04 22:08:06 +02:00
Mathias L. Baumann
d4e2c2cc89
Merge pull request #13185 from ethereum/functionCall_locations
Add location for parameter names in FunctionCall ASTNode
2022-07-04 16:40:45 +02:00
Derek Gottfrid
3f62ab069c fix test w/ signed issues 2022-07-03 16:33:22 -04:00
Mathias L. Baumann
48669b4bec
Merge pull request #13219 from ethereum/whiskers
Add whiskers test for weird case
2022-06-30 17:45:54 +02:00
Alex Beregszaszi
cae1571aa7 Add whiskers test for weird case 2022-06-30 17:00:23 +02:00
William Entriken
2a957413d0 Update naming of Mainnet 2022-06-30 16:47:11 +02:00
Mathias L. Baumann
05496064fe
Merge pull request #13189 from ethereum/fix-externalTests-script
Enabled external tests to use relative paths to solc binary.
2022-06-29 19:46:00 +02:00
Matheus Aguiar
5b8a9509fc Enable each external script to work with solc binary relative path. 2022-06-29 13:55:21 -03:00
Marenz
3a5218d3d5 Add location for parameter names in FunctionCall ASTNode 2022-06-29 18:37:36 +02:00
Marenz
ee710eadd4 Add location for member in MemberAccess ASTNode 2022-06-29 18:37:09 +02:00
Marenz
4d8a14b653 Fix external test ens
By using the last known working commit.
Only a temporary measure.
2022-06-29 17:54:35 +02:00
chriseth
b70e064e8f
Merge pull request #13130 from ethereum/check-overflow-after-add-sub-operations
Check overflow after add sub operations
2022-06-27 15:33:57 +02:00
Mathias L. Baumann
9d72842635
Merge pull request #13163 from Ruko97/formatNumberReadable_signed_int
formatNumberReadable now prints signed integers as well
2022-06-27 12:31:32 +02:00
Ishtiaque Zahid
61febbd249 formatNumberReadable now prints signed integers as well 2022-06-24 07:15:15 +06:00
Matheus Aguiar
4fd5c11af7 Checks for overflow/underflow after add/sub operations. 2022-06-23 14:41:12 -03:00
Mathias L. Baumann
3ed9a38abc
Merge pull request #12966 from a3d4/fix-ice-structtype-nativemembers
Fix ICE caused by an immutable struct with mapping
2022-06-23 16:11:28 +02:00
Mathias L. Baumann
70ca05fd73
Merge pull request #13183 from ethereum/identifierPath_locations
Add all path locations to the IdentifierPath ASTNode
2022-06-23 14:39:41 +02:00
ywon0925
0ee38c5d54 Rename boostTest.cpp to soltest.cpp, changed CMakeLists.txt accordingly 2022-06-22 21:14:42 +09:00
ywon0925
b78960c604 Add a Catch to handle exception 2022-06-22 21:14:42 +09:00
Daniel Kirchner
d1e382f2a8 Python Z3 proofs of the rules. 2022-06-22 09:26:09 +02:00
Daniel Lupu
8c5f5c7db0 add rules for mod(mul(X, Y), A) & mod(add(X, Y), A) 2022-06-22 09:26:09 +02:00
Marenz
5d2e134378 Add all path locations to the IdentifierPath ASTNode 2022-06-21 14:19:45 +02:00
chriseth
c3ea86612e
Merge pull request #13161 from ethereum/rename-converter
Rename ASTJsonConverter to ASTJsonExporter
2022-06-20 14:49:42 +02:00
Daniel Kirchner
14ef22c112 Hot fix for library name updates in isoltest semantics tests. 2022-06-17 16:02:05 +02:00
Marenz
c88c74ceb8 Rename ASTJsonConverter to ASTJsonExporter
given that we have an ASTJsonImporter this name makes more sense.
2022-06-16 18:05:51 +02:00
Daniel Kirchner
384bb8b8f7 More gas adjustments. 2022-06-16 15:24:22 +02:00
Daniel Kirchner
9c3a0f11f9 Review suggested test adjustments. 2022-06-16 15:05:21 +02:00
Daniel Kirchner
c3781f7a1c Gas cost updates. 2022-06-16 15:05:21 +02:00
Daniel Kirchner
1a9e66f4b0 Tests 2022-06-16 15:05:21 +02:00
Nishant Sachdeva
b80f4baae2
Merge pull request #12928 from StrongerXi/expand-purity-check-for-foreign-constants
Propagate purity information for member access to foreign pure variables
2022-06-16 17:53:49 +05:30
Ryan
3b2c6de61c Propagate purity information for member access to foreign pure variables 2022-06-16 17:11:55 +05:30
Midhun07
697821b96b Disallowed --metadata-literal, --model-checker-show-unproved, --model-checker-div-mod-no-slacks ----metadata-hash=swarm outside of compiler mode 2022-06-16 17:09:33 +05:30
Daniel Kirchner
416c3dc1a4
Merge pull request #13139 from ethereum/lvalueBytesPushWarning
Warn about multiple assignments to storage byte pushes.
2022-06-15 14:39:46 +02:00
Daniel Kirchner
16245f7b9b Warn about multiple assignments to storage byte pushes and fix warnings about multiple storage to storage copies.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-06-15 13:53:05 +02:00
Samuel Osewa
c21265f9f8 Changed error message for for Unicode character in non-unicode string literal
Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
2022-06-15 16:12:24 +05:30
Daniel Kirchner
53c4facf4e Fix compilation error. 2022-06-15 11:14:50 +02:00
Daniel Kirchner
187f0f070d Some review suggestions. 2022-06-14 18:27:52 +02:00
Daniel Kirchner
5989f45e9e Test updates. 2022-06-14 18:26:16 +02:00
Daniel Kirchner
7a84e9c875 Bugfix. 2022-06-14 18:26:16 +02:00
Daniel Kirchner
a27b063c10 Test for buggy behaviour. 2022-06-14 18:26:16 +02:00
Kamil Śliwak
dccc06cc29
Merge pull request #13135 from ethereum/foreign-event-access-revert-and-selector-cleanup
Revert access to foreign events and clean up event/error selector tests/docs
2022-06-14 18:14:30 +02:00
Matheus Aguiar
d0d71714a1 Changed sed command in zeppelin.sh to match renamed test file. 2022-06-14 10:32:57 -03:00
Kamil Śliwak
5375dfff9d Refactor error/event selector tests
- Remove redundant semantic tests for error selector
- Consolidate semanticTests/error/ and semanticTests/errors/ dirs
- Make "selector syntax test" for errors and event an actual test for syntax rather than a copy of the same semantic test
2022-06-14 12:04:19 +02:00
Kamil Śliwak
acbdcc3711 Revert the change that made events accessible in other contacts via qualified access 2022-06-14 12:04:14 +02:00
Daniel Kirchner
aa7e4e02bb A few more tests. 2022-06-10 20:12:09 +02:00
chriseth
51ef6a62da Fix removal of memory stores in inline assembly blocks. 2022-06-10 17:32:28 +02:00
chriseth
14cdb76e4b Add failing test 2022-06-10 17:32:28 +02:00
Matheus Aguiar
f15e53ce4d Added printSelectedOptions and toString as method of CommonOptions and used the former to print settings in failed semanticTests. 2022-06-09 11:19:46 -03:00
Mathias L. Baumann
cf1b9a5241
Merge pull request #13109 from sourabhxyz/develop
Fix commandline tests not detecting a snippet with a broken free function definition
2022-06-09 15:31:54 +02:00
Kamil Śliwak
8e67b28e0f Make the checks that detect if a docs snippet should compile a bit more robust against comments 2022-06-08 21:32:30 +02:00
Kamil Śliwak
0b80a56294 External test for Gnosis Protocol v2 2022-06-08 20:23:39 +02:00
Kamil Śliwak
5c76d8ee77 External test for Chainlink 2022-06-08 20:21:58 +02:00
Ryan
4b7ed2d47a Display human readable type name in conversion error message 2022-06-08 18:23:51 +05:30