Commit Graph

7050 Commits

Author SHA1 Message Date
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
Marenz
9c4ea1dc68 lsp.py: Add missing check for non-interactive 2022-06-07 15:30:14 +02:00
a3d4
423f3d3088 Fix ICE caused by an immutable struct 2022-06-07 10:29:45 +02:00
nishant-sachdeva
61306a6f9d disabling more zeppline tests that expect reverts with specific errors and they're broken via IR due to Hardhat heuristics.
Updated zeppelin.sh

Added cautionary comment for two sed commands that depend on the order of occurrence of the patterns in the files.
L122, and L123 both are referencing the 3rd occurrence of the patterns from their respective files.
This could result in an error in the future when the code is further modified.
2022-06-06 19:15:40 +05:30
Marenz
6c9754a784 lsp.py: Fix various problems with subdirectory edge cases
* fix properly path parsing with nested subdirectories
* fix regex to be able to handle `file://..`
* fix not checking all expected diagnostics
* Some extra comments and renames
2022-05-31 16:17:35 +02:00
Matheus Aguiar
3904a0d5ce Revert workaround introduced in euler tests because it is no longer needed.
This reverts commit 98efb46031.
2022-05-31 09:00:00 -03:00
Kamil Śliwak
1543cfc904
Merge pull request #13067 from ethereum/disable-zeppelin-test-cases-failing-after-relaxing-inlining
Disable more zeppelin test cases in which Hardhat's heuristics break after relaxing inlining.
2022-05-25 23:04:05 +02:00
Matheus Aguiar
be12f90775 Disable zeppelin test cases in which Hardhat's heuristics break after relaxing inilining.
Also disabled one test because of hardhat issue 2115 (revert due to overflow misdetected).
2022-05-25 16:24:18 -03:00
Kamil Śliwak
c8612078c4 Remove the ethers.js 5.6.2 workaround from all ext tests except for gnosis and uniswap 2022-05-25 16:20:49 +02:00
Kamil Śliwak
6937799587 gnosis: Pin typescript dependency at <= 4.7.0 2022-05-25 15:52:21 +02:00
chriseth
a8dc762850
Merge pull request #12818 from ethereum/benchmark-downloader
Benchmark downloader (script + CI job)
2022-05-23 15:41:13 +02:00
Kamil Śliwak
9618cb947d download_benchmarks: Script for downloading benchmark results from CircleCI 2022-05-23 14:18:29 +02:00
chriseth
77038aa40e Update test expectations. 2022-05-23 13:37:50 +02:00
Kamil Śliwak
f08d349791 Separate some inlining tests into pre- and post-homestead 2022-05-23 13:37:50 +02:00
Kamil Śliwak
49d5c0a292 Disable external test cases where Hardhat's heuristics break after relaxing inlining 2022-05-23 13:37:36 +02:00
chriseth
f0e43921f7
Merge pull request #12921 from ethereum/add_event_and_error_selector_fields_on_the_line_of_function_selector_field
Adding event and error selector fields
2022-05-23 11:34:13 +02:00
chriseth
2bbc9a1445
Merge pull request #13040 from ethereum/returndatacopyOptimizer
Do not remove potentially reverting returndatacopy cases.
2022-05-23 11:32:26 +02:00
Matheus Aguiar
98efb46031 Patches issue https://github.com/euler-xyz/euler-contracts/issues/119.
After issue is resolved, this should be reverted/changed.
2022-05-23 11:26:50 +02:00
Daniel Kirchner
9fa907aac2 Do not remove potentially reverting returndatacopy cases. 2022-05-23 11:01:03 +02:00
chriseth
30335c13ff
Merge pull request #13001 from matheusaaguiar/develop
Don't add an empty data slot to ABI-encoded empty strings from storage
2022-05-23 10:56:30 +02:00
nishant-sachdeva
d4c06d2b4e Adding event and error selector fields on the lines of the function selector fields 2022-05-23 10:49:16 +02:00
Kamil Śliwak
3f4d9cb035 Disable more external tests failing due to Hardhat heuristics 2022-05-20 15:59:57 +02:00
Kamil Śliwak
54c5b3de68 Re-enable the optimized IR preset in all external tests 2022-05-20 14:50:57 +02:00
Daniel Kirchner
953bc9fed2
Merge pull request #12983 from ethereum/hint-via-ir
Recommend `via-ir` whenever a stack too deep error is encountered.
2022-05-20 12:26:25 +02:00
Daniel Kirchner
a2f768d29a Remove empty settings. 2022-05-19 20:23:28 +02:00
Daniel Kirchner
58d21f1e9d Remove // compileViaYul: also 2022-05-19 20:23:28 +02:00
Daniel Kirchner
788dc6b4c8 Remove canEnableViaYul logic and default to compiling also via yul. 2022-05-19 20:23:28 +02:00
Daniel Kirchner
e93ad30e43 Remove obsolete enforce-via-yul logic and CI run. 2022-05-19 20:23:28 +02:00
nishant-sachdeva
7ff4cab0b9 issue has already been fixed. Adding test cases for confirmation 2022-05-19 15:36:59 +05:30
Matheus Aguiar
33ea6a679d Fixed bug that added a superfluous empty slot for data when encoding an empty string coming from storage.
Added tests covering empty string, uninitialized string, emptry string literal, byte arrays and explicit call to `abi.encode`.
2022-05-18 14:50:26 -03:00
Marenz
0234e2aa6b lsp.py: Fix broken console reading 2022-05-18 14:54:19 +02:00
Marenz
ca3af4b2a2 LSP: Implement semantic tokens 2022-05-18 14:54:16 +02:00
Kamil Śliwak
1164d1b4dd Switch ENS external test to master branch 2022-05-17 13:02:12 +02:00
Kamil Śliwak
27e5afa23d Patch external tests for the override data alignment issue until our patches are accepted upstream 2022-05-17 13:02:12 +02:00
chriseth
dfa0bcf760 More strict override check for data locations. 2022-05-17 13:02:12 +02:00
Kamil Śliwak
adf3eaac9b gnosis: Update upstream repo URL 2022-05-17 10:57:21 +02:00
Kamil Śliwak
c57bc47060 gnosis: Disable newly added tests broken due to Hardhat heuristics 2022-05-17 10:57:21 +02:00
Kamil Śliwak
91177d74ee perpetual-pools: Remove the ethers@5.6.1 workaround 2022-05-16 20:52:53 +02:00
Kamil Śliwak
e9f1bd00cc gnosis: Workaround for problems caused by forcing ethers@5.6.1 in external tests 2022-05-16 20:52:30 +02:00
Kamil Śliwak
3bfb79df0c gnosis: Workaround for getStorageAt() bug in Hardhat 2.9.5 2022-05-13 19:05:21 +02:00
Daniel Kirchner
12ee9aed50
Merge pull request #13013 from ethereum/revert-disallow-returndatacopy-in-pure-functions
Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
2022-05-13 18:52:37 +02:00