Commit Graph

6669 Commits

Author SHA1 Message Date
Kamil Śliwak
cdaa6dd591 Adjust workflow with solc-js checkout now that it's on TypeScrpt 2022-01-25 16:42:37 +01:00
Kamil Śliwak
2e1383eae1 Change the way we run solcjs now that it has been renamed in solc-js 2022-01-25 13:32:02 +01:00
Kamil Śliwak
cf024d9fa3 External test for ElementFi 2022-01-24 11:53:00 +01:00
Kamil Śliwak
36efd084df External test for PRBMath 2022-01-21 23:48:46 +01:00
Kamil Śliwak
aeb9637377 External test for Uniswap V3 2022-01-21 16:10:24 +01:00
Kamil Śliwak
d3cce85a8d externalTests: Make force_hardhat_unlimited_contract_size work with Typescript < 4.0
- The `??=` operator was added in Typescript 4. `??` Was already available on 3.7 so we can use it instead to get projects like Uniswap work.
2022-01-21 16:10:24 +01:00
Daniel Kirchner
de28f31716 Improved stack shuffling in corner cases. 2022-01-21 15:41:30 +01:00
Kamil Śliwak
a7cbb41bf9 externalTests: Add name_hardhat_default_export 2022-01-21 15:18:26 +01:00
Daniel Kirchner
76540b338e
Merge pull request #12561 from ethereum/perpetual-pools-ext-test
External test for Tracer Perpetual Pools
2022-01-21 11:42:26 +01:00
Marenz
a550048cf0 Fix too strict assert for calldata string -> bytes conversions 2022-01-20 15:11:26 +01:00
Daniel Kirchner
0b9ab33fce
Merge pull request #12557 from nishant-sachdeva/adding_stack_height_checker_to_address_provider_in_case_type_function
Adding Stack Height Checker and modifying the number of POP instructions
2022-01-19 21:18:15 +01:00
nishant-sachdeva
27d0480e96 Adding Stack Height Checker and modifying the number of POP instructions to appropriately provide the pointer address 2022-01-20 01:15:08 +05:30
Kamil Śliwak
7b4522f507 External test for Tracer Perpetual Pools 2022-01-19 20:24:25 +01:00
Kamil Śliwak
8f804333fe force_hardhat_unlimited_contract_size: Initialize 'hardhat' network if is not explicitly configured 2022-01-19 20:23:41 +01:00
Kamil Śliwak
93f7d5f8f0 External tests for Pool Together v4 2022-01-19 17:21:03 +01:00
Daniel Kirchner
c3c5937bd7
Merge pull request #12552 from ethereum/missing-bracket
Add missing bracket in test
2022-01-19 16:07:41 +01:00
Marenz
be7c7dd4a9 Make formatting more consistent in natspec tests 2022-01-19 15:35:27 +01:00
Marenz
6d05912d70 Require strict parsing for natspec JSON tests 2022-01-19 15:35:27 +01:00
Daniel Kirchner
92c262d116
Merge pull request #12553 from ethereum/ir-ice-12546
Fix .push() not considering external functions
2022-01-19 13:41:20 +01:00
nishant-sachdeva
a0d6c11860 Equality operator allowed for external function types 2022-01-19 15:20:31 +05:30
Marenz
89d6bff72a Fix .push() not considering external functions 2022-01-18 16:30:31 +01:00
Marenz
7fbf134ce3 Add test for fixed natspec ICE 2022-01-18 13:36:54 +01:00
Daniel Kirchner
cf8a7c3bea
Merge pull request #12544 from ethereum/natspec-ice-12528
Natspec: Fix ICE when overriding a struct getter with a Natspec-documented return value and the name in the struct is different.
2022-01-18 12:48:26 +01:00
Daniel Kirchner
79e9d619a3
Merge pull request #12545 from ethereum/yulGrammarFluke
Allow builtins in yul identifier paths in antlr grammar.
2022-01-17 20:42:14 +01:00
Daniel Kirchner
c91f995ec9
Update test/libsolidity/syntaxTests/inlineAssembly/assignment_to_function_pointer.sol
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-01-17 20:12:11 +01:00
Daniel Kirchner
2d0f6278bb Allow builtins as yul identifier paths in antlr grammar. 2022-01-17 18:42:54 +01:00
Marenz
7c0a121e45 Natspec: Fix ICE when overriding a struct getter with a Natspec-documented return value and the name in the struct is different. 2022-01-17 17:10:07 +01:00
Marenz
57d84c8bfb Fix genetic algorithms CI failure 2022-01-17 13:35:07 +01:00
Marenz
0004ad8764 Fix ICE when a constant variable declaration forward references a struct 2022-01-17 13:24:14 +01:00
Kamil Śliwak
1af0ce0f26 External test for Bleeps 2022-01-14 23:57:14 +01:00
Kamil Śliwak
4de1367ba7 External test for Yield Liquidator V2 2022-01-14 22:37:56 +01:00
Kamil Śliwak
054f1cb304 External test for Euler 2022-01-14 02:14:05 +01:00
Kamil Śliwak
f7a075bd48 externalTests: Add force_hardhat_unlimited_contract_size 2022-01-14 01:46:41 +01:00
Kamil Śliwak
f6ca4132b3 ens: Remove global solc replacement (only necessary with Truffle) 2022-01-14 01:36:47 +01:00
Marenz
2c4c8264e4 Fix wrong error with immutables when base contract c'tor uses return 2022-01-13 13:09:36 +01:00
Leo Alt
098a3cb537 adjust tests for nondeterminism 2022-01-12 18:43:18 +01:00
Daniel Kirchner
1655626e0a Remove counterexample from test. 2022-01-12 17:58:05 +01:00
Leo Alt
9f171c0f06 update smtchecker tests for new z3 2022-01-12 15:13:34 +01:00
Kamil Śliwak
cc49eeda3f trident: Note explaining the hard-coded commit 2022-01-10 21:36:58 +01:00
Kamil Śliwak
7142bfa548 trident: Sort test suites to make the order the same in CI and locally 2022-01-10 21:36:58 +01:00
Kamil Śliwak
823f0da3ee trident: Update to match changes done to other external tests in the preset selection PR 2022-01-10 21:28:32 +01:00
Kamil Śliwak
4842774ab8
Merge pull request #12440 from ethereum/preset-selection-in-ext-tests
Preset selection in external tests
2022-01-10 21:15:45 +01:00
Kamil Śliwak
b8b8fcb463 Switch the trident external test to and earlier, working revision 2022-01-10 18:54:50 +01:00
Kamil Śliwak
b60b596741 externalTests: Add support for cloning repos at a specific commit 2022-01-10 18:38:48 +01:00
Kamil Śliwak
1928b7843b externalTests: Preset selection via command-line arguments 2022-01-10 14:44:00 +01:00
Kamil Śliwak
2d038cddff trident ext test: Patch upstream instread of relying on our fork 2022-01-10 14:37:25 +01:00
Kamil Śliwak
6980fa32e2 External test for sushiswap/trident 2022-01-10 14:37:24 +01:00
Kamil Śliwak
19b1a13c6d externalTests: Add support for hardhat.config.ts 2022-01-10 14:37:24 +01:00
Bhargava Shastry
2c7aed1d7e Add FunctionHoister as a pre-requisite for equal store eliminator. 2022-01-06 14:16:02 +01:00
Mathias L. Baumann
63b6bbe15c
Merge pull request #12471 from ethereum/modifiers-control-flow-11483
Properly generated control flows for inherited modifiers
2022-01-06 13:39:50 +01:00
Marenz
e969aed780 Properly resolve virtual modifiers 2022-01-06 12:52:06 +01:00
chriseth
c16867cb83
Merge pull request #12272 from ethereum/equalStoreEliminator
Equal store eliminator.
2022-01-05 11:24:59 +01:00
chriseth
679f73c1e0
Merge pull request #12276 from ethereum/fuzz-RSE
Yul interpreter: Changes required before merging Redundant store eliminator
2022-01-05 11:23:51 +01:00
Daniel Kirchner
671064b609 Use fixed seed for flaky phaser test for now. 2022-01-04 18:27:31 +01:00
chriseth
6dbe0d0933
Merge pull request #12436 from ethereum/testBatcher
Test batcher.
2022-01-04 16:21:56 +01:00
Bhargava Shastry
b8ad2b2718 Yul interpreter: Add flag to disable memory tracing and dump for fuzzing.
Model revert in yul interpreter.
Add logTrace for a few more instructions and clear trace on revert.
2022-01-04 11:56:27 +01:00
hrkrshnn
85d1a57e65 Added more tests. Updated chromosome. Remove unused headers. 2022-01-04 13:27:39 +05:30
Bhargava Shastry
259a98b82c Impose stricter upper bound on memory accesses in order to prevent overflow/wrap around. 2022-01-03 18:22:42 +01:00
chriseth
e7fc2a176a Test updates. 2022-01-03 15:52:05 +01:00
chriseth
772e100813 Equal store eliminator. 2022-01-03 15:52:05 +01:00
chriseth
2a7f26e2c0 Test batcher. 2021-12-30 15:02:05 +01:00
nishant-sachdeva
bd819c87fa added warning if isoltest gas-cost-expectations are not enforced 2021-12-30 18:51:55 +05:30
chriseth
692614df72
Merge pull request #12437 from ethereum/encodeCallForDeclarations
abi.encodeCall for declarations.
2021-12-29 18:40:18 +01:00
chriseth
4c838d9cf5 abi.encodeCall for declarations. 2021-12-29 12:26:04 +01:00
Leo Alt
fb8c138b8b Do not analyze unecessary contracts 2021-12-24 19:36:32 +01:00
Kamil Śliwak
7e91dba663 Switch ens external test to ens-contracts repo 2021-12-22 14:45:51 +01:00
chriseth
0769e4df5d
Merge pull request #12445 from ethereum/pylint-enable-more-warnings
[pylint] Enable more warnings
2021-12-21 18:20:52 +01:00
Kamil Śliwak
8cfecb45cc Fix ESLint warnings/errors in external test JS 2021-12-21 16:18:46 +01:00
Kamil Śliwak
5b10ff1216 pylint: Enable and fix singleton-comparison warnings 2021-12-21 15:30:11 +01:00
Kamil Śliwak
784ae91b41 pylint: Enable and fix no-self-use warnings 2021-12-21 15:30:11 +01:00
Kamil Śliwak
449f56c15b pylint: Enable and fix consider-using-sys-exit warnings 2021-12-21 15:30:11 +01:00
chriseth
a4b2fc9cb7
Merge pull request #12361 from mejsiej/improved-err-msg-when-getter-returns-nothing
Changed the message of the error thrown when the structure has all it's members omitted
2021-12-20 21:06:14 +01:00
Kamil Śliwak
1124e28628 externalTests: With COMPILE_ONLY=1 still do compilation on all levels if only JS tests fail 2021-12-20 19:14:37 +01:00
mejsiej
ddd9a84141 Improve failure message when generating getter. 2021-12-20 18:16:27 +01:00
chriseth
8da9239c83
Merge pull request #12396 from ethereum/ext-tests-via-ir
External tests via IR
2021-12-20 18:13:02 +01:00
Christian Parpart
b8e64a4883 Fixes CI build error for ArchLinux. 2021-12-20 13:11:00 +01:00
chriseth
3193dfbb5d
Merge pull request #11350 from ethereum/lsp
Language Server
2021-12-16 18:54:26 +01:00
chriseth
1594518cfc
Merge pull request #12417 from nishant-sachdeva/invalid_ir_generated_during_copy_of_dynamically_sized_storage_arrays_of_function_type
Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests
2021-12-16 18:33:54 +01:00
chriseth
835efea427
Merge pull request #12287 from ethereum/abi.encodeCall
Implement typechecked abi.encodeCall()
2021-12-16 18:24:33 +01:00
Christian Parpart
927b24df1f Initial implementation of Language Server 2021-12-16 17:52:49 +01:00
Marenz
7a96953e78 Implement typechecked abi.encodeCall() 2021-12-16 17:35:58 +01:00
nishant-sachdeva
7cc7a0f183 Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests 2021-12-16 21:51:09 +05:30
nishant-sachdeva
19a74506e3 trial test cases extracted from SoliidityEndToEndTest.cpp into .sol files.
removed libevmone.so files from the directory

trial test cases extracted from SoliidityEndToEndTest.cpp into .sol files. Corresponding code in the .cpp file has been commented instead of begin removed pending preliminary reviews

removed libevmone files

Added testcase packed_storage_structs_delete

added test case invalid_enum_logged

added test case enum_referencing

added test case memory_types_initialisation

added test case return string

added test case constant_string_literal.sol

removed extractable keyword from solidityEndtoEnd.cpp, moved copying_bytes_multiassigned.sol to array/copying folder, added recv() function to copying_bytes_multiassigned.sol but this test case is failing now

change typo error in the name of test case library_staticcall_delegatecal.sol to library_staticcall_delegatecall.sol

Added compileToEwasm:false to call_forward_bytes.sol test case and moved it to semanticTests/fallback

added compileToEwasm:false line to library_call_in_homestead

added compileToEwasm: false line to copying_bytes_multiassign, copy_from_calldata_removes_bytes, enum_referencing, library_call_in_homestead, struct_referencing

Added test case internal_types_in_library

Added test case mapping_arguments_in_library

Added test case mapping_returns_in_library

Added test case mapping_returns_in_library_named

Added test case using_library_mappings_public

Added test case library_function_external

Added test case library_stray_values

added test case using_library_mappings_return

added test case using_library_structs

Added test case using_for_function_on_struct and corrections to using_library_structs, using_library_mpapings_return, library_stray_values

Added test case using_for_overload

added test case using_for_by_name

added test case bound_function_in_function

added test case bound_function_in_var

added test case bound_function_to_string

added test case payable_function_calls_library

added function call corrections to copying_bytes_multiassign and call_forward_bytes

Made changes to the test cases as per comments on PR #12289

mentioned in Changelog.md : Extraced some test cases from SolEndToEnd.cpp
2021-12-16 16:56:38 +05:30
nishant-sachdeva
9b55d4788e Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests 2021-12-15 23:50:25 +05:30
Kamil Śliwak
3ec05d02b5 externalTests: Add extra viaIR runs 2021-12-14 13:19:54 +01:00
Kamil Śliwak
d304c84432 externalTests: Replace optimizer levels with named presets 2021-12-14 13:19:53 +01:00
Kamil Śliwak
adfa51c01c externalTests: Measure compilation time 2021-12-14 13:19:21 +01:00
Leo Alt
316be7206f Fix soundness of storage/memory pointers that were not erasing enough knowledge 2021-12-14 12:02:18 +01:00
chriseth
248bc387cd
Merge pull request #12393 from ethereum/dont-compile-twice-in-colony-ext-test
Avoid double compilation in Colony external test
2021-12-13 18:51:21 +01:00
chriseth
0e6388a907 Clarify FileReader interface. 2021-12-13 14:54:58 +01:00
chriseth
9131475b7c
Merge pull request #12394 from ethereum/make-optimizer-level-2-effective-again-in-ext-tests
Make optimizer level 2 in external tests actually different from level 3
2021-12-13 13:02:00 +01:00
Kamil Śliwak
6afb63200c externalTests: Use yarn install instead of yarn in colony ext test to avoid compiling contracts twice 2021-12-13 11:46:13 +01:00
Kamil Śliwak
eb8e304b47 externalTests: Add support for using a native binary 2021-12-10 17:43:57 +01:00
Kamil Śliwak
68ff073b3b externalTests.sh: Remove outdated commented-out command to run gnosis
- A newer command is already enabled above it
2021-12-10 17:40:54 +01:00
Kamil Śliwak
081b80ccb2 externalTests: Refactor setup and input verification 2021-12-10 17:40:54 +01:00
Kamil Śliwak
0edbd90f52 externalTests: Use fail() function to simplify error checks 2021-12-10 17:40:54 +01:00
Kamil Śliwak
5fb0246f1c Use the right config file name in ENS external test 2021-12-10 17:02:35 +01:00
Kamil Śliwak
937597c1cd Use unique name for gnosis-v2 ext test 2021-12-10 15:40:46 +01:00
Kamil Śliwak
8ada7db7e9 externalTests: Fix optimizer level 2 to make it actually run without Yul optimizer 2021-12-10 15:40:46 +01:00
chriseth
4e0f334107
Merge pull request #12275 from nishant-sachdeva/calldata-struct-arugment-with-internal-type-inside
Calldata struct array arugment with internal type inside
2021-12-06 16:55:56 +01:00