Martin Blicha
07427c798c
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
2020-11-16 22:46:17 +01:00
Alex Beregszaszi
d7814358a6
Merge pull request #10292 from ethereum/cli-check-for-duplicate-libraries
...
[CLI] Reject duplicates in --libraries
2020-11-16 21:12:00 +00:00
Leonardo
81b3a13333
Merge pull request #10289 from ethereum/fix-standard-json-crash-on-linker-references-without-colon
...
Fix standard JSON crash on linker references without a colon
2020-11-16 19:27:35 -01:00
Kamil Śliwak
1a4d38c0ac
CommandLineInterface: Report an error if library appears multiple times in the --libraries option
2020-11-16 21:22:47 +01:00
chriseth
c3b862c073
Merge pull request #10294 from ethereum/cmdline-tests-fix-bytecode-removal-leaving-out-every-other-part
...
Fix bytecode replacement in command-line tests not detecting all bytecode segments between linker references
2020-11-16 20:22:56 +01:00
chriseth
62893aa1a1
Copy byte arrays from storage to storage.
2020-11-16 19:06:33 +01:00
chriseth
5431afcc8c
Merge pull request #10287 from ethereum/refactorMoveTests3
...
Moving mostly array tests to semanticTests
2020-11-16 18:50:40 +01:00
Kamil Śliwak
b97c6c55ad
StandardCompiler: Don't assume that link reference always contains a colon
2020-11-16 17:41:54 +01:00
Kamil Śliwak
543f804226
StandardCompiler: Add helpers to streamline comparing link references in tests
2020-11-16 17:41:54 +01:00
Kamil Śliwak
738769db4c
cmdlineTest.sh: Fix regex for bytecode removal removing only every other piece between two references
...
- Matched fragments must not overlap for the regex to work correctly.
2020-11-14 03:18:46 +01:00
Djordje Mijovic
1428a939a6
Moving some more array tests to semanticTests.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
29d480d0ed
Moving some byte array pop tests to semanticTests.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
31981bad12
Organizing array tests into more directories.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
11033c9536
Moving some bytes and array tests to semanticTests
2020-11-13 12:32:39 +01:00
Djordje Mijovic
bdf05bf8a0
Moving try catch test to semantic tests.
2020-11-13 12:32:35 +01:00
Leonardo
f1846b57a2
Merge pull request #10244 from blishko/this-external-calls
...
[SMTChecker] Analyzing external calls to `this`
2020-11-13 11:28:34 +00:00
Martin Blicha
5ca7a24896
[SMTChecker] Added support for precise modeling of external calls to this
.
...
Modeling external calls to this, since we can trust these calls.
fixed problem with transaction data not being restored after trusted external call
update to the tests
additional tests
changelog entry
added tests for external getters of this
2020-11-13 11:49:09 +01:00
Alex Beregszaszi
a3381d7260
Add settings.viaIR to standard json
2020-11-12 22:38:44 +00:00
Alex Beregszaszi
e074582bf1
Add --experimental-via-ir option to solc
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
301d7ea39e
Add viaIR option to CompilerStack
...
It also sets the experimental flag in the metadata to true.
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
fcedaba7f7
[ewasm] Allow compiling abstract/interface contracts
2020-11-12 15:26:11 +00:00
Alex Beregszaszi
a63d850f50
Improve ewasm commandline tests
2020-11-12 15:25:54 +00:00
chriseth
44eb63fad0
Merge pull request #10263 from ethereum/fixTryCreateYul
...
Fix Yul codegen for try with create.
2020-11-11 20:10:54 +01:00
chriseth
571e1e5269
Merge pull request #10266 from ethereum/fixCalldataIndexAccess
...
Fix calldata index access.
2020-11-11 19:03:19 +01:00
chriseth
8f570a3184
Fix calldata index access.
2020-11-11 18:42:26 +01:00
chriseth
01d7d50750
Fix initializing mapping return variables.
2020-11-11 18:08:42 +01:00
chriseth
59da25056b
Fix Yul codegen for try with create.
2020-11-11 17:52:50 +01:00
Kamil Śliwak
ed55d48727
cmdlineTests.sh: Fix buggy calculation of the number of input files
2020-11-11 13:47:36 +01:00
chriseth
0f6d3bc4ed
Merge pull request #10192 from ethereum/refactorMoveTests2
...
Moving tests to semanticTests part2
2020-11-11 13:45:02 +01:00
Alex Beregszaszi
6f6bcdd526
[ewasm] Display custom sections as hex string in the text output
2020-11-10 23:48:24 +01:00
Alex Beregszaszi
e5396e42c3
Add wasm support to libyul/ObjectCompilerTest
2020-11-10 23:24:49 +01:00
chriseth
d3a016b597
Merge pull request #10251 from ethereum/cmdline-tests-input-sol-by-default
...
Assume input.sol by default in command-line tests (restores old behavior) (reopened)
2020-11-10 17:29:58 +01:00
Kamil Śliwak
25badc4095
cmdlineTests.sh: When there's no input file assume input.sol instead of reporting an error
2020-11-10 16:55:11 +01:00
Djordje Mijovic
6915d9d2a8
Moving some struct tests to semanticTests
2020-11-10 16:37:29 +01:00
Djordje Mijovic
490064590a
Moving more abi decoder tests to semanticTests.
2020-11-10 16:37:26 +01:00
Djordje Mijovic
a838adc481
Moving some more array tests to semanticTests
2020-11-10 16:37:26 +01:00
Leonardo
55ac5de472
Merge pull request #10240 from ethereum/immutablesPureValue
...
Immutables with literal values are pure.
2020-11-10 15:23:33 +00:00
chriseth
6cc264ff0a
Merge pull request #10221 from ethereum/refactorArrayConversions
...
[Sol->Yul] Refactor array conversions
2020-11-10 16:18:11 +01:00
Djordje Mijovic
362a36ed59
Enabling test for old codegen.
2020-11-10 15:13:48 +01:00
chriseth
eaba9a680a
Merge pull request #10199 from ethereum/readfile
...
[CLI] Improve error handling of missing/unwriteable files
2020-11-10 13:50:40 +01:00
chriseth
fc50169d00
Merge pull request #10233 from ethereum/cmdline-tests-arbitrary-input-extension
...
Arbitrary input file extensions in command-line tests
2020-11-10 13:45:56 +01:00
chriseth
b981a2a74a
Merge pull request #10229 from ethereum/linking-in-assembly-mode
...
Linking in assembly mode
2020-11-10 13:21:57 +01:00
chriseth
3db94fbc48
Merge pull request #10212 from ethereum/testfileparser
...
Refactor and simplify TestFileParser
2020-11-10 13:15:35 +01:00
chriseth
74339ac0d7
Merge pull request #10227 from ethereum/cmdline-tests-for-linking
...
Command-line tests for linking
2020-11-10 13:12:33 +01:00
Alex Beregszaszi
81c448fb4c
Rework TestFileParser
2020-11-10 13:09:07 +01:00
Alex Beregszaszi
c002fcc39f
Untangle headers and namespaces in TestFileParser
2020-11-10 13:09:07 +01:00
chriseth
765ed13814
Immutables with literal values are pure.
2020-11-10 13:08:42 +01:00
chriseth
9230ddf110
Merge pull request #10225 from ethereum/cmdline-tests-bytecode-output-with-linker-references
...
Strip bytecode from command-line test output but preserve link references
2020-11-09 18:14:33 +01:00
Leonardo
25b2a38d8b
Merge pull request #10202 from ethereum/smt_fix_modifiers_branches
...
[SMTChecker] Fix CHC false positives when using branches inside modifiers
2020-11-09 16:42:30 +00:00
Kamil Śliwak
df8e182b46
Link binaries produced in assembly mode
2020-11-09 17:17:43 +01:00
Kamil Śliwak
6ef1e4cfd4
Command-line tests for linking in assembly mode
2020-11-09 17:17:27 +01:00
Kamil Śliwak
a0d22422b0
Command-line tests for linking in Solidity mode
2020-11-09 17:17:27 +01:00
Kamil Śliwak
06ea7c66f7
Use consistent style for stuff removed from the output of command-line tests
2020-11-09 17:17:15 +01:00
Kamil Śliwak
0e4edc8424
Strip bytecode from command-line test output but leave linker references intact
2020-11-09 17:17:15 +01:00
Kamil Śliwak
a6ef907f55
cmdlineTests.sh: Allow arbitrary extensions for input files
2020-11-09 17:10:15 +01:00
Kamil Śliwak
dfb5516446
cmdlineTests.sh: Remove double slashes from input file paths
...
- `${tdir}` already ends with a slash so something like `${tdir}/input.json` evaluates to `test_dir//input.json`.
2020-11-09 17:07:47 +01:00
Kamil Śliwak
7f1389a6cd
cmdlineTests.sh: Print task name before the error about ambiguous input
...
- Otherwise it looks as if the error applies to a test that actually succeeded.
2020-11-09 17:00:30 +01:00
Leonardo Alt
00858c0ccf
Isoltets SMTChecker option and BMC specific tests
2020-11-06 15:03:38 +00:00
Leonardo Alt
1b6abfa37f
Make timeout tests harder
2020-11-06 13:35:07 +00:00
Kamil Śliwak
3c4273a06c
cmdlineTests: Use .yul extension for Yul files
...
- Currently many files have .sol extension because originally the test script required it but this has changed some time ago.
2020-11-05 18:05:23 +01:00
chriseth
8814e32b31
Merge pull request #10193 from ethereum/revert-test
...
Add tests for empty string literals in the ABI and fix TestFileParser
2020-11-05 15:31:11 +01:00
Alex Beregszaszi
1536e49b3d
Add more syntax tests for uncovered cases
2020-11-05 10:30:09 +00:00
Leonardo Alt
1dbd8f8d67
Fix CHC false positives when using branches inside modifiers
2020-11-04 21:47:07 +00:00
Alex Beregszaszi
f2a51bcf38
Fix TestFileParser to support empty strings
...
Previously empty strings would be replaced with the token name, e.g. "string" in this case.
2020-11-04 17:49:23 +00:00
Alex Beregszaszi
39f6286e9f
Add tests for ABI coding empty strings and string literals
...
Include the case of revert("")
2020-11-04 17:48:59 +00:00
Alex Beregszaszi
9ebd3da3ff
[CLI] Report error on missing file for --standard-json
2020-11-04 16:35:19 +00:00
Alex Beregszaszi
3c7f642227
Change readFile/readFileAsString to throw FileNotFound exception
2020-11-04 16:35:19 +00:00
Christian Parpart
1a9a3b115c
Moving the surplus_input
inline assembly test to yulSyntaxTests.
2020-11-04 12:03:33 +01:00
Christian Parpart
f55844e0f2
InlineAssembly: Extracting remaining tests.
2020-11-04 12:03:33 +01:00
Christian Parpart
3597c8343d
InlineAssembly: Extracting tests for name clashes.
2020-11-04 12:03:33 +01:00
Christian Parpart
55f9eab51f
InlineAssembly: Extracting tests for function definition and calls.
2020-11-04 12:03:33 +01:00
Christian Parpart
f2117b87f7
InlineAssembly: Extracting tests for for-statements.
2020-11-04 12:03:33 +01:00
Christian Parpart
671b1c950e
InlineAssembly: Extracting function expression tests
2020-11-04 12:03:33 +01:00
Christian Parpart
616f03f577
InlineAssembly: Extracting tests for variable declaration
2020-11-04 12:03:33 +01:00
Christian Parpart
cc230ddda3
InlineAssembly: Extracting tests for switch statement
2020-11-04 12:03:33 +01:00
Christian Parpart
6f872dbebf
InlineAssembly: Extracting tests for if statement
2020-11-04 12:03:33 +01:00
Leonardo
62535c2fd4
Merge pull request #10181 from ethereum/smt_user_timeout
...
[SMTChecker] User timeout option
2020-11-04 10:55:28 +00:00
Leonardo
a8045ba5eb
Merge pull request #10177 from ethereum/smt_chc_fix_warnings
...
[SMTChecker] Report SMTEncoder warnings also via CHC
2020-11-03 16:41:16 +00:00
Harikrishnan Mulackal
24cce56215
Merge pull request #10189 from ethereum/underscore-tests
...
Add syntax and semantic tests for underscore
2020-11-03 17:06:31 +01:00
Leonardo Alt
daf859c15b
[SMTChecker] report SMTEncoder warnings also via CHC
2020-11-03 16:06:17 +00:00
Alex Beregszaszi
b0864a4af9
Add syntax and semantic tests for underscore
2020-11-03 15:22:57 +00:00
chriseth
26cf6f189d
Test with storage struct containing external function.
2020-11-03 14:34:18 +01:00
chriseth
1f3239d097
Simplify split parameter.
2020-11-03 14:34:18 +01:00
chriseth
06d0459a72
Merge pull request #10187 from ethereum/validateExternal
...
[SolYul] Properly validate external functions from calldata.
2020-11-03 14:29:28 +01:00
chriseth
4e6ae00f89
Merge pull request #10096 from ethereum/pragmaabicoder
...
Introduce abicoder pragma.
2020-11-03 13:53:59 +01:00
chriseth
9305ab987e
Merge pull request #10185 from ethereum/refatorMoveTests
...
Move some tests to semanticTests
2020-11-03 13:50:30 +01:00
chriseth
e27a1b786b
Wording in error messages.
2020-11-03 13:31:51 +01:00
chriseth
834da7be90
Introduce abicoder pragma.
2020-11-03 13:31:50 +01:00
chriseth
c16b535804
Validate external functions from calldata.
2020-11-03 13:28:08 +01:00
Djordje Mijovic
3f60223c41
Moving enum test to semanticTests
2020-11-03 13:13:21 +01:00
Leonardo Alt
d03ddeb0fa
[SMTChecker] User timeout option
2020-11-03 10:46:11 +00:00
Djordje Mijovic
73fcd9b5f0
Moving some array tests to semanticTests
2020-11-03 11:34:22 +01:00
Djordje Mijovic
18a464f4f4
Moving some tests to semantic tests.
2020-11-03 11:00:52 +01:00
chriseth
22b31054b6
Merge pull request #10174 from ethereum/storeInternalFunctions
...
Implement internal functions in storage.
2020-11-03 09:56:12 +01:00
Đorđe Mijović
e0529989da
Merge pull request #10180 from ethereum/convertDuringStoring
...
[SolYul] Convert properly during storing.
2020-11-03 08:42:14 +01:00
chriseth
129b095b09
Implement internal functions in storage.
2020-11-02 23:10:03 +01:00
chriseth
49bd3f2af4
Convert properly during storing.
2020-11-02 21:15:34 +01:00
Leonardo Alt
e38d0db683
[SMTChecker] Fix internal error when array.push() is used as LHS of assignment
2020-11-02 13:32:53 +00:00
Leonardo Alt
94e2506132
Fix inherited state vars for BMC
2020-11-02 11:42:39 +00:00
Martin Blicha
c1a57ffbfe
[SMTChecker] More precise creation of verification targets.
2020-10-30 19:11:28 +01:00
chriseth
ef503f180c
New test.
2020-10-29 18:53:15 +01:00
chriseth
6ec5612f35
Enable more tests.
2020-10-29 18:53:15 +01:00
chriseth
1066af3b98
Copy byte array to storage.
2020-10-29 18:53:15 +01:00
chriseth
b6f7640801
Merge pull request #10146 from ethereum/stop-after-parsing-script
...
Fix test/stopAfterParseTests.sh for macos.
2020-10-29 18:15:22 +01:00
chriseth
ace810b078
Merge pull request #10137 from ethereum/fixedBytesOps
...
[Sol->Yul] Bit operations for fixed bytes types.
2020-10-29 18:04:07 +01:00
Đorđe Mijović
3bb35d80ff
Merge pull request #10150 from ethereum/isoltestStorageEmpty
...
Empty storage option for isoltest.
2020-10-29 15:02:36 +01:00
chriseth
3b8c038647
Empty storage option for isoltest.
2020-10-29 13:55:07 +01:00
Alex Beregszaszi
bcd31daf94
[ewasm] Terminate on out-of-bounds access in EwasmInterpreter
2020-10-29 10:26:41 +00:00
Alexander Arlt
ff7c47a1f3
Fix test/stopAfterParseTests.sh for macos.
2020-10-28 17:59:56 -05:00
chriseth
d00ef95a72
Refactor isoltest function call kind.
2020-10-28 19:04:24 +01:00
chriseth
0c12b2e53a
Bit operations for fixed bytes types.
2020-10-28 18:04:54 +01:00
chriseth
7b26c099b3
Merge pull request #10122 from ethereum/ewasm-interpreter
...
[ewasm] Fix EwasmBuiltinInterpreter to follow the specs
2020-10-28 13:11:44 +01:00
chriseth
fb40f29594
Merge pull request #10133 from ethereum/asm-error-codes
...
Split error codes for EVM opcodes
2020-10-28 13:00:23 +01:00
Alex Beregszaszi
6b2942e7f0
[ewasm] Properly touch memory in EwasmInterpreter
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
9dc5ceae94
[ewasm] Implement "create" properly in EwasmInterpreter
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
62028c90f0
[ewasm] Overhaul memory handling in EwasmInterpreter
...
Introduce writeMemory and read/writeBytes32/Address helpers.
Fix read/writeU128/U256 to be little-endian.
Update each instruction to follow the specification.
2020-10-28 11:57:18 +00:00
Alex Beregszaszi
24d8c2ed90
Split error codes for EVM opcodes
2020-10-28 11:45:46 +00:00
Đorđe Mijović
1f50b86aad
Merge pull request #10073 from ethereum/smt_format_array_cex
...
Format array cex
2020-10-28 12:39:19 +01:00
Leonardo Alt
25f75ce547
Remove nondet tests
2020-10-28 11:03:42 +00:00
chriseth
cc4b44058d
Merge pull request #10126 from ethereum/fixIceStructCalldataToStorageSol2Yul
...
[Sol->Yul] Fixing ice when copying struct that contains nested array to storage
2020-10-28 11:46:22 +01:00
Leonardo
07c454949f
Merge pull request #10127 from ethereum/fixIceSmtBitwise
...
[SMTChecker] Fix ICE when using >>>
2020-10-28 09:28:18 +00:00
Djordje Mijovic
28f92064b9
[Sol->Yul] Fixing ice when copying struct that contains nested array to storage
2020-10-28 09:28:40 +01:00
Djordje Mijovic
9cc37c3fa4
[SMTChecker] Fix ICE when using >>>
2020-10-28 09:25:14 +01:00
Leonardo Alt
4755cfe157
Fix assignment to contract member access
2020-10-26 14:39:02 +00:00
Leonardo Alt
d3d77e482c
Fix ICE on conditions with tuples of rationals
2020-10-23 14:47:53 +01:00
Martin Blicha
ade3b9951c
[SMTChecker] Added support for selector when expression's value is known at compile time
2020-10-22 14:18:52 +02:00
Leonardo Alt
b087fa9750
[SMTChecker] Fix ICE implicit conversion string literal -> byte
2020-10-21 22:03:01 +01:00
Martin Blicha
f0d81601db
[SMTChecker] Adding division by zero checks in the CHC engine
2020-10-21 14:48:33 +02:00
Mathias Baumann
a4dc110b38
Fix dependency tracking for abstract contracts for Yul codegen
2020-10-20 16:58:24 +02:00
Mathias Baumann
e991465336
Fix dependency tracking for abstract contracts
2020-10-20 16:58:24 +02:00
Leonardo Alt
cf35785328
Add unknown message to all verification targets
2020-10-19 20:54:13 +01:00
Leonardo Alt
b67ade5163
Move modelCheckerSettings out of settings in StandardCompiler
2020-10-19 10:39:06 +01:00
Daniel Kirchner
79d9a1ca81
Tests for abi.encode.
2020-10-16 20:24:43 +02:00
Daniel Kirchner
e06d4303fb
Semantic tests.
2020-10-16 19:40:41 +02:00
Daniel Kirchner
909ce9164a
Allow arrays of contract types as type expressions e.g. for abi.decode.
2020-10-16 19:40:41 +02:00
Leonardo
eedd12ad1d
Merge pull request #10056 from ethereum/smt_fix_develop
...
Fix SMT command line test
2020-10-16 18:37:55 +01:00
Leonardo Alt
289ac23fe6
Fix smt cmdlinetest
2020-10-16 17:58:45 +01:00
Daniel Kirchner
db4dd51739
Merge pull request #10055 from ethereum/userDefinedLibraryTypes
...
Disallow invalid use of library names as type names.
2020-10-16 18:55:42 +02:00
Daniel Kirchner
3f14c904b0
Disallow invalid use of library names as type names.
2020-10-16 18:25:08 +02:00
Leonardo
a097f9f124
Merge pull request #10025 from ethereum/smt_crypto_functions
...
[SMTChecker] Support crypto functions in CHC
2020-10-16 16:40:29 +01:00
Leonardo
8d7bdcaba7
Merge pull request #10036 from ethereum/smt_cli_option
...
Add CLI option to choose model checker engine
2020-10-16 16:37:33 +01:00
Martin Blicha
8c351278ac
[SMTChecker] added test to check correct handling of the sign of the modulo operation
2020-10-16 16:17:32 +02:00
Martin Blicha
78c8fbc7ce
[SMTChecker] encoding division and modulo operations using slack variables
2020-10-16 16:06:31 +02:00
Leonardo Alt
4e49135318
Add CLI option to choose model checker engine
2020-10-16 15:01:47 +01:00
Leonardo Alt
54f76e081a
[SMTChecker] Support crypto functions in CHC
2020-10-16 14:57:13 +01:00
Djordje Mijovic
5f0b8dd716
[Sol->Yul] Changing yul unimplemented test as delete bytes is implemented now.
2020-10-15 22:05:40 +02:00
Djordje Mijovic
4a66723ff9
[Sol->Yul] Implementing resizing of dynamic byte arrays
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-10-15 22:05:35 +02:00
chriseth
c9ed1b9ae9
Merge pull request #10047 from ethereum/removeMemoryGuards
...
Disable StackLimitEvader again until we have stronger correctness guarantees.
2020-10-15 18:56:33 +02:00
chriseth
89bdad2096
Merge pull request #10043 from ethereum/emptyArrayCopy
...
Fix empty array copy bug.
2020-10-15 17:07:54 +02:00
chriseth
38abadf502
Fix empty array copy bug.
2020-10-15 16:48:08 +02:00