Commit Graph

7093 Commits

Author SHA1 Message Date
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