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
Daniel Kirchner
2e984a3651
Remove memoryguard calls from command line test expectations.
2020-10-15 16:25:15 +02:00
Daniel Kirchner
82876fd00e
Disable StackLimitEvader again until we have stronger correctness guarantees.
2020-10-15 16:16:41 +02:00
chriseth
e17d6853a9
Merge pull request #9985 from ethereum/optimizeDeleteStructSol2Yul
...
[Sol->Yul] Optimizing delete struct.
2020-10-15 16:03:06 +02:00
Bhargava Shastry
5023d3decb
ossfuzz: Remove antlr4 build deps
2020-10-15 12:59:18 +02:00
chriseth
837dd004c8
Enable some more Yul tests.
2020-10-14 17:43:19 +02:00
Djordje Mijovic
6f7947cfa5
[Sol->Yul] Optimizing delete struct.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-14 13:35:15 +02:00
chriseth
92a2cddbfa
Merge pull request #10024 from ethereum/outofBoundsGetter
...
Use revert for out-of-bounds array index access in getter.
2020-10-14 12:33:41 +02:00
chriseth
9b1f90512b
Merge pull request #10027 from ethereum/yul-syntax-test-extractions
...
Continued Yul syntax test extractions.
2020-10-14 12:32:39 +02:00
chriseth
56d6855222
Merge pull request #9738 from ethereum/arrayCopyingSol2Yul
...
[Sol->Yul] Implementing copying of arrays to storage
2020-10-14 12:22:09 +02:00
Christian Parpart
626b7cdb09
Extract yul syntax tests: invalid use of builtin identifiers
2020-10-14 12:18:33 +02:00
Christian Parpart
5d40494ed2
Extract yul syntax tests: function
2020-10-14 12:05:46 +02:00
Christian Parpart
5b799b01ab
Extract yul syntax tests: multiple assignment expression
2020-10-14 11:50:25 +02:00
Christian Parpart
99d18336a0
Extract yul syntax tests: recursion depth
2020-10-14 11:45:54 +02:00
Christian Parpart
b1b2d3ef62
Extract yul syntax tests: switch statement
2020-10-14 11:39:10 +02:00
Christian Parpart
c63265ff03
Extract yul syntax tests: for statement
2020-10-14 11:23:10 +02:00
Christian Parpart
2accbbe251
Extract yul syntax tests: if statement
2020-10-14 10:54:18 +02:00
chriseth
8d241fece9
Merge pull request #9849 from ethereum/fixIce9817
...
Fixing ICE on returning struct with mapping from library
2020-10-14 00:05:19 +02:00
Djordje Mijovic
674855f684
[Sol->Yul] Adding new and activating old tests for copying of arrays to storage.
2020-10-13 20:31:11 +02:00
Leonardo Alt
88f783bb1e
Remove more tests because current Spacer crashes
2020-10-13 19:27:49 +01:00
Djordje Mijovic
1272c474ba
Fixing ICE when returning Struct from library
2020-10-13 20:00:11 +02:00
chriseth
5dc3a971cb
Use revert for out-of-bounds array index access in getter.
2020-10-13 18:57:41 +02:00
Leonardo Alt
b9b9c229b4
New tests
2020-10-13 17:49:04 +01:00
Leonardo Alt
47b268d509
Update tests
2020-10-13 17:49:04 +01:00
Leonardo Alt
aec456021d
Add tx constraints to CHC
2020-10-13 17:49:04 +01:00
chriseth
fed6ea0125
Fix error message formatting in isoltest.
2020-10-13 17:20:19 +02:00
Mathias Baumann
32b4f18023
Print warning for unnamed return parameters and no return statement
2020-10-13 13:11:29 +02:00
chriseth
4b342a7cad
Merge pull request #9816 from ethereum/exp-base-literals
...
[Sol->Yul] Optimization for exponentiation when the base is a literal
2020-10-12 19:34:38 +02:00
Harikrishnan Mulackal
dbd5326d0c
Commandline test for exp with literal base
2020-10-12 18:54:58 +02:00
Harikrishnan Mulackal
418aa01c5b
Optimization for exponentiation when the base is a literal
2020-10-12 18:54:58 +02:00
Djordje Mijovic
e23d8f5593
[SMTChecker] Supporting inline arrays.
2020-10-12 16:59:14 +02:00
Kamil Śliwak
e1cc888369
Fix checkBaseABICompatibility() to make it actually check return parameters and not just ordinary parameters twice
2020-10-12 15:14:56 +02:00
Kamil Śliwak
9dc7f5de4a
Enable 4 semantic tests from functionCall.inheritance that now work via Yul
...
- Looks like something overlooked in one of the recently merged PRs.
2020-10-12 15:10:16 +02:00
Kamil Śliwak
3128e82a9a
Look for experimental pragmas in the module containing the definition when generating code for modifiers and inherited functions
2020-10-12 14:29:53 +02:00
chriseth
e7603d7590
Merge pull request #10003 from ethereum/more-tests-and-docs-for-mixed-abi-encoder-use-checks
...
More tests and some minimal docs for mixed ABI encoder use
2020-10-12 14:22:44 +02:00
chriseth
1a125cf755
Merge pull request #10006 from ethereum/bug-9229-fix
...
Fixes internal compiler error with an unused reference to module member.
2020-10-12 13:43:35 +02:00
chriseth
d1b06328a6
Merge pull request #8635 from ethereum/test-coverage-inheritance
...
Improving test coverage wrt. inheritance
2020-10-12 13:40:48 +02:00
Kamil Śliwak
94a49fcc4a
Additional tests for ABIEncoderV1 calls using ABIEncoderV2 types
2020-10-12 13:26:01 +02:00
Christian Parpart
8ac0bee361
Adds some more tests and groups all function call inheritance related together into single sub-directory.
2020-10-12 12:29:55 +02:00
Leonardo Alt
3d2e6252f0
Add/update tests
2020-10-12 11:11:52 +01:00
Leonardo Alt
18cf01c187
Add this and state to CHC
2020-10-12 11:11:52 +01:00
Christian Parpart
712d0805eb
Fixes internal compiler error with an unused reference to module member.
2020-10-12 11:56:01 +02:00
Kamil Śliwak
d9215cf956
Merge pull request #9999 from ethereum/enableTest
...
Enable test that started working for yul.
2020-10-09 19:44:15 +02:00
a3d4
90c8c32d86
If a declaration shadows several others, group them together
2020-10-08 21:01:25 +02:00
chriseth
aa7aa21913
Enable test.
2020-10-08 21:00:50 +02:00
a3d4
f29ebc0847
Fix shadowing/same-name warnings for later declarations
2020-10-08 20:22:04 +02:00
chriseth
3970c4e57d
Merge pull request #9892 from ethereum/constantsAtFileLevel
...
Constants at file-level.
2020-10-08 19:53:33 +02:00
chriseth
f8d5c4db36
Merge pull request #9843 from ethereum/deleteStructSol2Yul
...
[Sol->Yul] Implementing delete struct
2020-10-08 19:08:40 +02:00
chriseth
34e7ae6ff9
New tests.
2020-10-08 18:56:18 +02:00
chriseth
b2f1d558da
Update existing tests.
2020-10-08 18:56:17 +02:00
chriseth
346fe1c6c5
Constants at file-level.
2020-10-08 18:56:17 +02:00
chriseth
b5a08f8641
Merge pull request #9958 from a3d4/fix-ice-storage-parameters-in-libraries
...
Fix ICE caused by storage parameters with nested mappings in libraries
2020-10-08 17:17:09 +02:00
Djordje Mijovic
ad8d840ee7
[Sol->Yul] Implementing conversion of struct to struct pointer.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-08 16:37:57 +02:00
Djordje Mijovic
fa69378f4f
Changing unimplemented test for yul
2020-10-08 15:27:33 +02:00
Djordje Mijovic
4e8275df2c
Enabling triggered tests and adding one new for deleting struct
2020-10-08 15:27:33 +02:00
chriseth
fd6196af16
Copying of arrays from storage to memory.
2020-10-08 15:16:13 +02:00
a3d4
d7b4b4a7aa
Fix ICE caused by storage parameters with nested mappings in libraries
2020-10-07 22:07:57 +02:00
Mathias Baumann
6114cd8e8e
Add missing annotation assignments
2020-10-07 14:52:35 +02:00
Christian Parpart
04079bff6f
Eliminates dead code around GasEstimator
...
- structuralEstimation()
- breakToStatementLevel()
2020-10-07 13:31:40 +02:00
chriseth
431397eddf
Merge pull request #9943 from ethereum/array-cleanup
...
Array cleanup
2020-10-07 11:53:06 +02:00
Kamil Śliwak
33ff79bf82
Add missing checks for parameter compatibilty with ABIEncoderV1 in calls
2020-10-06 21:28:46 +02:00
chriseth
25d408058b
Merge pull request #9954 from ethereum/issue-9948
...
Remove unneeded assert
2020-10-06 16:50:14 +02:00
Harikrishnan Mulackal
1bdbc10110
Properly cleanup after copying dynamic-array to storage for packed types
2020-10-06 16:06:02 +02:00