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
Leo Alt
6a126f6ccb
Update tests and hashes for z3 4.8.17
2022-05-13 15:25:10 +02:00
Matheus Aguiar
35661479b6
Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
...
This reverts commit f567eb1fb2
.
Correcting Bugfixes section of Changelog.
2022-05-13 08:35:21 -03:00
Daniel Kirchner
aafda389ea
Merge pull request #12907 from ethereum/calldataReencodeValidationBug
...
Calldatasize-check during ABI encoding from calldata values with nested dynamic arrays.
2022-05-12 17:56:44 +02:00
Daniel Kirchner
352a3c5f4b
Bug list entry, changelog entry and tests.
2022-05-12 13:08:30 +02:00
Leo Alt
cbaba6f913
update tests
2022-05-11 20:02:31 +02:00
Daniel Kirchner
d3a837b340
Bugfix.
2022-05-11 18:17:47 +02:00
Daniel Kirchner
d92ed3fd29
Test case for the buggy behaviour.
2022-05-11 18:17:47 +02:00
Daniel Kirchner
cbf9a4f1ed
Add bogus return to switch.
2022-05-11 13:58:06 +02:00
Kamil Śliwak
0e0d1972f9
Disable non-deterministic counterexamples in some SMT tests
...
- The counterexamples sometimes do appear and the tests fail.
2022-05-10 12:48:01 +02:00
Marenz
893122eb89
lsp.py: Support subdirectories
2022-05-09 14:54:55 +02:00
Marenz
02dfeb5427
lsp.py: Trigger fatal error when importing outside of test dir
2022-05-09 14:22:23 +02:00
Christian Parpart
e8d07772d9
lsp.py: Port to support running on Windows & adapt to changes due to prior merged PR.
...
- lsp.py: Fixes invalid-syntax by Python interpreter on Windows CI (older Python version).
- lsp.py: Savely strip CRLF from right side of the string, ignoring accidental multiple occurrences of \r (such as \r\r\n).
- lsp.py: Fixes reading single character from stdin (wrt. Windows platform).
- lsp.py: Adds header line reading to I/O tracing (useful for debugging).
- lsp.py: When running the tests on Windows, don't care test file content's newlines but simply expect LFs (instead of CRLF for example).
- Apply pylint notes.
- Fixing use of @functools.lru_cache for older python versions (CircleCI Windows)
2022-05-09 11:37:11 +02:00
Christian Parpart
c2f245b40a
Fixes to lsp.py with respect to Windows drive-letter paths in URI.
2022-05-09 11:37:11 +02:00
hrkrshnn
5ae17c8e65
Recommend via-ir
whenever a stack too deep error is encountered.
2022-05-05 19:22:03 +02:00
Leo Alt
201c6c6819
fix smt flaky test
2022-05-05 11:38:16 +02:00
Leo Alt
cba3d18f66
adjust for osx nondeterminism
2022-05-04 19:04:54 +02:00
Leo Alt
4fd7de36f1
update smt tests z3 4.8.16
2022-05-03 14:23:27 +02:00
chriseth
df29ea72f0
Merge pull request #12836 from ethereum/fixUsingGlobal
...
Fix using global with libraries.
2022-05-02 12:41:34 +02:00
chriseth
505fa7763f
Fix checks for "using for ... global" for libraries.
2022-05-02 12:40:56 +02:00
Alexey Shekhirin
cb24e5d545
fix(parser): error for unexpected token
2022-04-29 16:13:04 +04:00
chriseth
d55b84ff63
Merge pull request #12861 from ethereum/disallow-returndatacopy-in-pure-functions
...
Disallow RETURNDATACOPY and RETURNDATASIZE in inline assembly in pure functions
2022-04-28 13:15:04 +02:00
Christian Parpart
fbecdbe76d
Merge pull request #12798 from ethereum/lsp-tests-expectations
...
LSP.py: Implement expectations directly in the test files
2022-04-25 15:27:57 +02:00
Kamil Śliwak
8e085432bb
External test for Brink
2022-04-13 13:43:48 +02:00
Kamil Śliwak
e30d0a6199
externalTests: Allow adding extra settings to presets
2022-04-13 13:43:48 +02:00
Marenz
afd9feead4
LSP.py: Implement simple send/respond framework
2022-04-13 13:22:05 +02:00
Leo Alt
f9fa76c9d3
smt encode call
2022-04-11 12:19:41 +02:00
Joshua Quinones
e1a59397c6
Renamed AssemblyStack to YulStack
...
All files, references, variables, comments, etc. were renamed to YulStack.
2022-04-08 20:28:55 +02:00
Kamil Śliwak
f567eb1fb2
Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions
2022-04-08 14:48:35 +02:00
Kamil Śliwak
fb7c969ce8
Tests for assembly instructions allowed with mutable/view/pure functions
2022-04-08 14:47:32 +02:00
Christian Parpart
e74f03056c
Merge pull request #12283 from ethereum/soltest-graceful-error-handling
...
Graceful error handling in soltest/isoltest + improved soltestAssert()
2022-04-07 13:12:43 +02:00
Daniel Kirchner
52f5ffd876
Merge pull request #12804 from ethereum/benchmark-differ
...
Benchmark differ
2022-04-07 09:24:01 +02:00
Kamil Śliwak
b3048ccf07
Use EXIT_FAILURE and EXIT_SUCCESS constants in exit() and when returning from main()
2022-04-06 22:27:08 +02:00
Kamil Śliwak
7c83559881
soltest: Handle CLI validation errors gracefully
2022-04-06 22:26:21 +02:00
Kamil Śliwak
cf6704ae06
isoltest: Do not return an error code from --help
2022-04-06 22:26:21 +02:00
Kamil Śliwak
7bace8d25d
soltest: Don't assume that parse() can never return false
2022-04-06 22:26:21 +02:00
Kamil Śliwak
ed8403f456
isoltest: Handle parsing errors differently from unexpected exceptions
2022-04-06 22:26:21 +02:00
Kamil Śliwak
0bb885dab2
Bring soltestAssert() up to date with solAssert()
...
- Allow omitting description.
- Provide a default description.
- Use a custom exception type derived from util::Exception rather than std::exception.
2022-04-06 22:26:10 +02:00
Daniel Kirchner
c71d0aec83
Merge pull request #12898 from ethereum/via-ir-equivalence-tests
...
Create split_on_empty_lines_into_numbered_files function in scripts/common.sh
2022-04-06 13:16:24 +02:00
wechman
4d8a34370e
Create split_on_empty_lines_into_numbered_files function in scripts/common.sh
2022-04-06 07:26:18 +02:00
Ryan
3a17274691
Improve error message for static array with size too large
2022-04-05 17:36:37 +02:00
Kamil Śliwak
8c9856c52c
benchmark_diff: Add table mode with support for json, console and markdown output
2022-04-05 15:43:18 +02:00
Kamil Śliwak
ee5e878ad7
benchmark_diff: A Python script for diffing summarized benchmarks from external tests
2022-04-05 15:40:28 +02:00
Damian Wechman
d0bd365d2c
Merge pull request #12179 from akali/pretty-json
...
Set handlers use unified jsonPrint with prettifier if needed
2022-04-05 07:05:53 +02:00
Daniel Kirchner
fd763fa6ad
Merge pull request #12851 from ethereum/via-ir-equivalence-tests
...
Tests for the equivalence of one and two-stage compilation via IR ports multi-file contracts
2022-04-04 20:19:27 +02:00
Aisultan Kali
96376264e8
Set handlers use unified jsonPrint with prettifier if needed
2022-04-04 20:17:11 +02:00
Kamil Śliwak
1bc1f8bdbb
Merge pull request #12835 from dtedesco1/develop
...
Fix MultiSigWallet.sol order of functions
2022-04-04 17:37:28 +02:00
Kamil Śliwak
c06308146a
Merge pull request #12828 from ethereum/errorForUnary
...
Use error message for unary operators.
2022-04-04 17:13:28 +02:00
dtedesco1
2fabb3db8f
attempt rebase, fix free function, fix check errors
2022-04-04 22:49:12 +08:00
Kamil Śliwak
c7222044a2
externalTests.sh: Fix broken ${} syntax in the script
2022-04-04 14:16:42 +02:00
chriseth
755e043a6d
Use error message for unary operators.
2022-04-04 16:53:36 +05:30
wechman
1e7688e8a1
Tests for the equivalence of one and two-stage compilation via IR supports multi-file contracts
2022-04-04 11:09:43 +02:00
Kamil Śliwak
73443c0ada
elementfi: Switch all presets to compile-only
2022-04-01 23:06:21 +02:00
Kamil Śliwak
5ef0048d85
zeppelin: Disable the newly added Polygon-Child test, failing via IR due to Hardhat heuristics
2022-04-01 23:06:21 +02:00
Kamil Śliwak
b445e7e74c
Revert "perpetual-pools: Use Hardhat 2.8.4 to work around @openzeppelin/hardhat-upgrades's problem with parallel compilation on Hardhat 2.9.0"
...
This reverts commit 30008465bf
.
2022-03-28 19:51:46 +02:00
Kamil Śliwak
34c06c27a5
Downgrade ethers.js to 5.6.1 in ens, gnosis, euler, perpetual-pools and uniswap external tests
2022-03-28 17:56:30 +02:00
nishant-sachdeva
4c6066bfad
typeCheckAbiEncodeCallFunction should type check the arguments on functionPointerType->asExternallyCallableFunction instead of teh plain function type
2022-03-24 18:53:46 +05:30
Alexander Arlt
1a0988e503
libevmasm: refactor asm-json export & add support for source list.
2022-03-23 15:58:07 -05:00
Christian Parpart
13a4c79a9b
lsp.py: Adds --fail-fast (-f) to terminate early on first failure.
2022-03-23 17:34:04 +01:00
Marenz
0bf674b442
LSP test: Minor refactoring and better exception reporting
2022-03-21 13:23:02 +01:00
chriseth
430ecb6e16
Merge pull request #12795 from ethereum/morePopRemovalInPeepholeOptimizer
...
More pop removal in peephole optimizer.
2022-03-17 12:22:48 +01:00
chriseth
af86a80536
Merge pull request #12796 from ethereum/refactorStackCompressor
...
Refactor stack compressor
2022-03-16 16:36:41 +01:00
Daniel Kirchner
4b9c01752d
Test updates.
2022-03-16 15:34:38 +01:00
chriseth
75abe92eb2
Refactor stack compressor.
2022-03-15 21:28:47 +01:00
Daniel Kirchner
5cd98006d4
Fill in junk in stack layouts on terminating control flow paths.
2022-03-15 18:36:55 +01:00
Daniel Kirchner
b6cd3e154c
Test case for current behaviour.
2022-03-15 18:36:30 +01:00
chriseth
5afa2adec2
Merge pull request #12775 from ethereum/refactorDataFlowAnalyzer
...
Refactor data flow analyzer state access.
2022-03-15 15:52:40 +01:00
Daniel Kirchner
8cb01a9953
Fix and updated test.
2022-03-15 10:23:09 +01:00
Daniel Kirchner
db27051024
Test for old behaviour.
2022-03-15 10:23:09 +01:00
chriseth
eab4ca906c
Refactor data flow analyzer state access.
2022-03-14 19:32:33 +01:00
chriseth
e154d43176
Merge pull request #12288 from ethereum/exportUsing
...
Using global
2022-03-14 18:57:26 +01:00
chriseth
9188519f11
Using for with global binding.
2022-03-14 17:39:14 +01:00
Bhargava Shastry
e19c366532
Merge pull request #12789 from ethereum/yulFuzzerCustomMutation
...
Permit control flow mutations in global scope of a Yul program.
2022-03-14 16:23:18 +01:00
chriseth
7f360e61fc
Merge pull request #12781 from ethereum/fixImportDirectiveVisits
...
Fix import directive visits in type checker and view pure checker.
2022-03-14 15:35:37 +01:00
chriseth
3d8fc6b126
Merge pull request #12760 from ethereum/viaIRNonExperimental
...
Mark viaIR code generation as non-experimental.
2022-03-14 15:30:15 +01:00
Bhargava Shastry
e0d9dec874
Permit control flow mutations in global scope of a Yul program.
2022-03-14 15:04:32 +01:00
Daniel Kirchner
0f1a63c3fa
Fix import directive visits in type checker and view pure checker.
2022-03-14 14:53:06 +01:00
Daniel Kirchner
0172f61340
No longer mark Yul as experimental.
2022-03-14 14:48:01 +01:00
Daniel Kirchner
e58c0b561d
Mark viaIR code generation as non-experimental.
2022-03-14 14:48:00 +01:00
wechman
8a254b7a7f
Use sol file to validate test variants
2022-03-14 14:21:30 +01:00
wechman
4c1224e3bf
Generate ASTJSONTest variants only if a file with expected result exists
2022-03-14 14:21:30 +01:00
wechman
371a531381
Add "fail after parsing" scenario to ASTJSON tests
2022-03-14 14:21:30 +01:00
wechman
f431c6f058
Support compilation fail scenarios in ASTJSON tests
2022-03-14 14:21:06 +01:00
wechman
38639417e1
Non-fatal erros do not stop ASTJSON test execution
2022-03-14 14:21:06 +01:00
wechman
5f7ff667b9
Fix syntax errors in ASTJSON tests
2022-03-14 14:21:06 +01:00
wechman
d609409624
Add not_existing_import.json to ASTJSON tests
2022-03-14 14:21:06 +01:00
chriseth
3f6beaa0ad
Merge pull request #12121 from ethereum/extend-using-statement
...
Extend using statement
2022-03-14 14:10:16 +01:00
hrkrshnn
672951ccc7
Extend using-for.
2022-03-14 12:33:44 +01:00
Christian Parpart
2b2f8acc12
LSP: Implements goto-definition.
2022-03-14 11:59:41 +01:00
chriseth
60463cfd11
Merge pull request #12716 from ethereum/set-c-locale
...
Don't set locale used by C++ stdlib to the value from `LC_ALL` env variable even if it's valid
2022-03-14 10:38:19 +01:00
nishant-sachdeva
b7a9daa2f8
Generate warning when rational numbers are converted to their mobile type without explicit requests
2022-03-14 14:04:46 +05:30
Kamil Śliwak
2d834eaf67
A script and CI job for testing the compiler with different locales
2022-03-14 09:08:01 +01:00
Daniel Kirchner
26963775fe
Merge pull request #12736 from ethereum/reenable-tests-via-ir-in-ext-tests
...
Re-enable running tests via IR in external tests in cases where they don't pass due to Hardhat heuristics
2022-03-11 13:44:55 +01:00
Daniel Kirchner
09f667948b
Merge pull request #12746 from tfire/fix/remove-namespace-ast-annotations
...
Remove use of `using namespace` in header file
2022-03-11 12:49:13 +01:00
Nishant Sachdeva
1827df8a2d
Merge pull request #12779 from nishant-sachdeva/distinguish_different_types_in_error_messages_from_abiEncodecall
...
Error messages from abi encodecall are giving more details about the types of the involved variables
2022-03-11 16:50:45 +05:30
Daniel Kirchner
c13e611e98
Merge pull request #12768 from ethereum/euler-timeout-fix-attempt-2
...
Euler timeout fix: switch to TEST_TIMEOUT variable
2022-03-11 12:04:05 +01:00
nishant-sachdeva
624d2d3968
Error messages from abi encodecall are giving more details about the types of the involved variables
2022-03-11 16:14:55 +05:30
Tyler
3357567453
Fix CommonSyntaxTest.cpp and others
2022-03-10 18:16:12 -05:00
Tyler
1c58b91075
Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations
2022-03-10 17:39:29 -05:00
Tyler
1653b6c5b7
more qualifying
2022-03-10 17:36:46 -05:00
chriseth
4f02be110c
Unused store eliminator.
2022-03-10 18:25:28 +01:00
Kamil Śliwak
b5caa77482
euler: Use project's own TEST_TIMEOUT var for changing the timeout instead of mocha settings
2022-03-10 14:52:51 +01:00
chriseth
b3fe042884
Optimize eq iszero jumpi to xor jumpi and remove double jump.
2022-03-10 14:41:41 +01:00
Kamil Śliwak
e9f3f9361d
Re-enable running tests in external tests via IR in cases where they don't pass due to Hardhat heuristics
2022-03-10 14:13:00 +01:00
Daniel Kirchner
794752c649
Merge pull request #12765 from ethereum/euler-timeout-fix
...
Increase Hardhat timeout in Euler ext test
2022-03-10 13:15:59 +01:00
chriseth
6ab31420af
Remove unneeded header files.
2022-03-10 09:55:05 +01:00
chriseth
eff76f0f82
Merge pull request #12195 from ethereum/update-gnosis-ext-test
...
Run GnosisSafe external tests with Hardhat and directly on upstream
2022-03-10 08:42:11 +01:00
Tyler
047034544e
Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations
2022-03-09 18:55:22 -05:00
Kamil Śliwak
9ef600e572
euler: Override Hardhat test timeout
2022-03-09 20:37:08 +01:00
Kamil Śliwak
304c3984ad
Update gnosis external test to use upstream directly and use Hardhat
2022-03-09 19:57:16 +01:00
Kamil Śliwak
bebdcccacd
Merge pull request #12764 from ethereum/elementfi-disable-flaky-mockerc20yearnvault-tests
...
Disable flaky ElementFi tests in `mockERC20YearnVaultTest`
2022-03-09 19:55:05 +01:00
Kamil Śliwak
68bdb7f2e0
Disable flaky ElementFi tests
2022-03-09 18:58:02 +01:00
Daniel Kirchner
e7a3814977
Unit test.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
e0c837b33b
Remove isCreation flag from OptimiserSettings.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
0a9d752b8b
Add test case and adjust tests.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
ce0a3e93f2
Store whether an evmasm Assembly is creation code.
2022-03-09 17:42:29 +01:00
Tyler
519e1c9402
Specify namespaces
...
Fix references into solidity::util
2022-03-08 00:09:17 -05:00
chriseth
77c40cd2af
Merge pull request #12740 from ethereum/remove-locale-dependent-operations
...
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:56:58 +01:00
wechman
52dfccca98
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:23:08 +01:00