Commit Graph
100 Commits
Author SHA1 Message Date
Djordje Mijovic 7c45509a77 [Sol->Yul] Fixing nested bytes array push. 2021-01-14 10:32:31 +01:00
Djordje Mijovic 85b8325f0b [Sol->Yul] Implementing dynamic array push for arrays of structs. 2021-01-11 17:49:42 +01:00
Djordje Mijovic b06936b11c [refactor] Move copying struct to storage to it's own util function. 2021-01-11 16:26:14 +01:00
Đorđe Mijović 0e32fa8209 Merge pull request #10579 from ethereum/supportMetaTypeNameSol2Yul
[Sol->Yul] Implementing type name.
2020-12-30 18:46:24 +01:00
Djordje Mijovic 67c92b7f6e Updating gas costs and cmdline tests. 2020-12-30 17:48:41 +01:00
047d693ac9 Refactoring copyLiteralToMemoryFunction and reusing it from other functions.
Co-authored-by: Leonardo <leo@ethereum.org>

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2020-12-30 17:31:20 +01:00
Djordje Mijovic b74c08143f Deleting yul unimplemented test. 2020-12-30 17:19:04 +01:00
Djordje Mijovic ddb05769a5 [Sol->Yul] Implementing type name. 2020-12-30 17:19:03 +01:00
Đorđe Mijović 1837e0ae7f Merge pull request #10661 from ethereum/smt_checked
[SMTChecker] Checked arithmetic and unchecked blocks
2020-12-30 16:00:31 +01:00
Đorđe Mijović 8e9a5a02c2 Merge pull request #10691 from ethereum/arrayCopyIRCheck
Adding more tests for array copying.
2020-12-28 14:05:46 +01:00
Djordje MijovicandHarikrishnan Mulackal c41f996c7b Adding more tests for array copying.
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-12-28 13:16:24 +01:00
Djordje Mijovicandchriseth a204596c3e [Sol->Yul] Disable old codegen test viaYul and create new one that fits IR semantics.
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-22 15:11:07 +01:00
Đorđe Mijović b78443ac75 Merge pull request #10577 from ethereum/deleteMappingSol2Yul
[Sol->Yul] Skipping mapping types when deleting structs and arrays.
2020-12-21 20:08:51 +01:00
Djordje Mijovic adb9d0c41a [Sol->Yul] Fixing array clearing when copying from storage to storage. 2020-12-21 17:33:06 +01:00
Djordje Mijovic 8b6397e8fb Adding more syntax and semantic tests. 2020-12-21 15:30:49 +01:00
Đorđe Mijović 21dc6c8356 Merge pull request #10552 from ethereum/gettersSol2Yul
[Sol->Yul] Implementing getter for struct with bytes member
2020-12-21 15:29:29 +01:00
Djordje Mijovic 7b2614576f Activating some tests viaYul after implementing getters for bytes. 2020-12-21 14:46:13 +01:00
Djordje Mijovicandchriseth 2d5a2c65a8 [Sol->Yul] Implementing getters for bytes and structs containing bytes member.
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-21 14:46:06 +01:00
Djordje Mijovic 9b8634f2a7 [Sol->Yul] Skipping mapping types when deleting structs and arrays. 2020-12-21 13:19:25 +01:00
Đorđe Mijović 9328503265 Merge pull request #10572 from ethereum/smt_abi
[SMTChecker] Support ABI functions as uninterpreted functions
2020-12-17 15:53:05 +01:00
Djordje Mijovic 64f0120622 Change assertions to align to TypeChecker. 2020-12-15 09:21:50 +01:00
Djordje Mijovic d479c98920 Adding tests for conversion of calldata slices to memory and storage and fixing syntax tests. 2020-12-15 09:21:47 +01:00
Djordje MijovicandKamil Śliwak 8aa4568b10 [Sol->Yul] Implementing conversion from calldata slices to memory arrays.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-12-14 22:21:37 +01:00
Djordje Mijovic b99a74fb34 Implementing conversion from calldata slices to memory arrays. 2020-12-14 22:21:37 +01:00
Djordje Mijovic 0efd52a38e Allowing implicit conversion from calldata slice to memory and storage array types. 2020-12-14 22:21:37 +01:00
Đorđe Mijović 9e4f3bad06 Merge pull request #10569 from ethereum/byteArrayStorageStorage
Fix copying byte arrays from storage to storage.
2020-12-10 22:52:50 +01:00
Djordje Mijovic ab74194ca3 [Sol->Yul] Implementing empty byte array push. 2020-12-09 19:31:35 +01:00
Djordje Mijovic acb93f3a97 Disallowing usage of msg.data in receive() function. 2020-12-08 11:49:20 +01:00
Đorđe Mijović 0015e8cd84 Merge pull request #10497 from ethereum/constructorDifferenceSol2Yul
[Sol->Yul] Documenting difference in initialization order in case of inheritance
2020-12-04 17:08:48 +01:00
2839a1b0bf [Sol->Yul] Documenting difference in initialization order in case of inheritance.
Co-authored-by: Leonardo <leo@ethereum.org>

Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-12-04 16:32:56 +01:00
Djordje Mijovic bd86588459 Adding more tests for array copying from storage to storage. 2020-12-01 08:50:36 +01:00
Djordje Mijovic 28e01202af [Sol->Yul] Fixing coping from storage to storage. 2020-12-01 08:50:33 +01:00
Djordje Mijovic 26d454d8a8 Using auto to avoid type name duplication. 2020-11-26 12:13:32 +01:00
Djordje Mijovic 565d0cd4eb Support copying of nested calldata arrays to memory. 2020-11-26 12:13:29 +01:00
Djordje Mijovic bae32ac402 [Sol->Yul] Implementing member access to arrays in calldata structs. 2020-11-26 11:46:31 +01:00
Đorđe Mijović 5f732cb3ca Merge pull request #10402 from ethereum/ir-fix-library-call
Properly terminate definitions using define() in IRGenerateForStatements
2020-11-26 10:07:27 +01:00
Đorđe Mijović 7eb5fc31f8 Merge pull request #10394 from ethereum/viayul-tests
Switch compileViaYul to also where appropriate
2020-11-25 16:46:30 +01:00
Djordje Mijovic 5077deb285 Fixing pragmas to abicoder v2. 2020-11-25 15:13:57 +01:00
Đorđe Mijović ae34fba49b Merge pull request #10380 from ethereum/smtLogicErrorInt2Bv
[SMTChecker] Fix SMT logic error when doing compound assignment with string literals
2020-11-24 20:55:55 +01:00
Djordje Mijovic 200227ab75 Support copying dynamically encoded structs from calldata to memory. 2020-11-24 20:36:17 +01:00
Djordje Mijovic 26c43cfc66 [SMTChecker] Fix SMT logic error when doing compound assignment with string literlas. 2020-11-24 19:14:15 +01:00
Djordje MijovicandLeonardo eea6513b5d [Sol->Yul] Implementing copying dynamically encoded structs from calldata to memory
Co-authored-by: Leonardo <leo@ethereum.org>
2020-11-23 23:22:34 +01:00
Djordje Mijovic 41ec7cc23e Adding new tests and activating old tests. 2020-11-23 14:52:55 +01:00
Djordje Mijovic 53a4b4a622 [Sol->Yul] Implementing copying of calldata arrays to memory 2020-11-23 14:52:55 +01:00
Djordje Mijovicandchriseth 4bff99a518 Adding additional abi decoding functions for arrays.
Co-authored-by: chriseth <chris@ethereum.org>
2020-11-23 14:52:51 +01:00
Djordje Mijovic 2b52677a82 Fixing some calldata to storage tests. 2020-11-23 14:52:51 +01:00
Đorđe Mijović 5c92c2eb81 Merge pull request #10327 from ritzdorf/patch-3
Differences in struct layout between memory and storage
2020-11-19 14:41:09 +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
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
Djordje Mijovic 362a36ed59 Enabling test for old codegen. 2020-11-10 15:13:48 +01:00
Djordje Mijovic efba9e45e4 [Sol->Yul] Refactoring array conversions so that they end up in same function. 2020-11-10 15:13:45 +01:00
Đorđe Mijović 2f3b0bf9ef Merge pull request #10182 from ethereum/storeExternalFunctions
Store external functions
2020-11-03 15:09:42 +01:00
Djordje Mijovic 3f60223c41 Moving enum test to semanticTests 2020-11-03 13:13:21 +01: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
Đorđe Mijović e0529989da Merge pull request #10180 from ethereum/convertDuringStoring
[SolYul] Convert properly during storing.
2020-11-03 08:42:14 +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
Đorđe Mijović cfc1eb0029 Merge pull request #10132 from ethereum/smt_docs_types
Update SMT types docs
2020-10-28 16:30:58 +01: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
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
Djordje Mijovic 5f0b8dd716 [Sol->Yul] Changing yul unimplemented test as delete bytes is implemented now. 2020-10-15 22:05:40 +02:00
Djordje Mijovicandchriseth 4a66723ff9 [Sol->Yul] Implementing resizing of dynamic byte arrays
Co-authored-by: chriseth <chris@ethereum.org>
2020-10-15 22:05:35 +02:00
Djordje MijovicandDaniel Kirchner 6f7947cfa5 [Sol->Yul] Optimizing delete struct.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-10-14 13:35:15 +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
Djordje Mijovicandchriseth 850a94bdc9 [Sol->Yul] Implementing arrays copying to storage.
Co-authored-by: chriseth <chris@ethereum.org>
2020-10-13 20:31:08 +02:00
Djordje Mijovic 1272c474ba Fixing ICE when returning Struct from library 2020-10-13 20:00:11 +02:00
Đorđe Mijović 52f9db141b Merge pull request #9977 from ethereum/smtArrayLiterals
[SMTChecker] Supporting inline arrays.
2020-10-12 17:43:31 +02:00
Djordje Mijovic e23d8f5593 [SMTChecker] Supporting inline arrays. 2020-10-12 16:59:14 +02:00
Djordje Mijovicandchriseth 1c142c500a [Sol->Yul] Adding documentation section about breaking changes when using ir
Co-authored-by: chriseth <chris@ethereum.org>
2020-10-12 15:46:38 +02:00
Djordje MijovicandDaniel Kirchner 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
Djordje Mijovic 700390a68b [Sol->Yul] Implementing deleting storage structs 2020-10-08 15:27:33 +02:00
Djordje Mijovic 3ede1f1bca Adding support for recursive functions in MultiUseYulFunctionCollector 2020-10-08 15:27:33 +02:00
Djordje Mijovic 818afcbec2 [Sol->Yul] Implementing push for nested storage arrays and storage arrays of structs. 2020-10-06 13:06:40 +02:00
Djordje Mijovic 03eeb49a66 Adding test for deleting packed storage array. 2020-10-01 10:25:04 +02:00
Djordje Mijovic aa23ebc8e6 [Sol->Yul] Implementing array resizing for packed array types. 2020-10-01 10:25:00 +02:00
Đorđe Mijović 858b4507e2 Merge pull request #9854 from ethereum/bitwiseSmt
[SMTChecker] Support compound shifts and bitwise and, or, and xor
2020-09-23 12:35:48 +02:00
Djordje Mijovic 96bafb9ba3 [SMTChecker] Updating old and adding new tests for compound shift operators. 2020-09-23 11:31:37 +02:00
Djordje Mijovic 79f550dba9 [SMTChecker] Supporting compound shift operators. 2020-09-23 11:31:37 +02:00
Djordje Mijovic 0193952106 [SMTChecker] Updating old and adding new tests for compound bitwise xor operator. 2020-09-23 11:31:37 +02:00
Djordje Mijovic e2e0b33ee7 [SMTChecker] Updating old and adding new tests for compound bitwise or operator. 2020-09-23 11:31:41 +02:00
Djordje Mijovic 69df163dcb [SMTChecker] Updating old and adding new tests for compound bitwise and operator. 2020-09-23 11:31:37 +02:00
Djordje Mijovic 773e000227 [SMTChecker] Implementing compound bitwise And/Or/Xor operators 2020-09-23 11:31:37 +02:00
Djordje Mijovic ec6d21cde2 [Sol->Yul] Fixing storage array index access 2020-09-08 16:02:56 +02:00
Djordje Mijovic a740cb619b Adding tests for copying structs with function pointers between storage and memory 2020-09-02 12:28:53 +02:00
Djordje Mijovic 1fab5b79fb Refactoring signature for updateStorageValueFunction 2020-09-02 12:28:53 +02:00
Djordje MijovicandDaniel Kirchner 15163b2270 Refactoring readFromStorage util frunctions
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-09-02 12:28:53 +02:00
Djordje Mijovic 23f6369a46 Implementing struct copying from calldata to storage 2020-09-02 12:28:53 +02:00
Djordje Mijovic 762e3f3cee [Sol->Yul] Implementing struct copying from calldata to storage 2020-09-02 12:28:53 +02:00
Djordje Mijovic 381784dd89 [Sol->Yul] Implementing struct copying from storage to memory 2020-09-02 12:28:53 +02:00
Djordje Mijovic b89c863e11 [Sol->Yul] Implementing struct copying from memory to storage 2020-09-02 12:28:53 +02:00
Djordje Mijovic e7a05324af Adding simple array copying tests 2020-09-02 09:39:28 +02:00