198 Commits
Author SHA1 Message Date
chriseth 5e9637bc39 Mapping access with multi-slot keys. 2021-02-24 13:44:23 +01:00
hrkrshnn 2c2c7a4473 Fix IR bug on deleting storage variables of function type.
Calling the zeroing function assumed that the stack slots needed for the type was always 1. This is
false for function types.
2021-02-24 12:43:33 +01:00
hrkrshnn 0135cae222 Fix IR bug: constructor parameter that needs multiple stack slots
When an argument had multiple stack slots, like `function() external`, there wasn't enough variables
assigned for the constructor. This lead to some mismatch between return values and arguments between
some functions.
2021-02-12 17:42:02 +01:00
Djordje Mijovic 993c8c0734 [Sol->Yul] Adding unimplemented assert for fixed point types on right shift. 2021-02-09 16:17:56 +01:00
Djordje Mijovic 97e9829988 [Sol->Yul] Adding unimplemented assert for fixed point type shifting. 2021-02-08 13:13:19 +01:00
Djordje Mijovic 530435439d [Sol->Yul] Fixing string calldata to bytes calldata conversion. 2021-02-04 09:30:19 +01:00
chriseth 4697beeab2 Merge pull request #10769 from ethereum/allocationCleanup
Cleanup allocation.
2021-01-26 11:58:11 +01:00
Alexander Arlt 061fecbc90 [whiskers] Add check that template contain tags. 2021-01-20 15:26:34 -05:00
chriseth 3cc07694ed Cleanup allocation. 2021-01-20 18:25:27 +01:00
chriseth db4b39e09e Round up allocations to multiples of 32. 2021-01-14 21:52:17 +00:00
chriseth 7d6331e26f Use round up function. 2021-01-14 21:01:43 +00:00
chriseth f4479fd7ed Fix array allocation. 2021-01-14 19:56:37 +01:00
chriseth 8905af28c3 Merge pull request #10759 from ethereum/nestedBytesArraySol2Yul
[Sol->Yul] Fixing nested bytes array push.
2021-01-14 11:33:06 +01:00
Djordje Mijovic 7c45509a77 [Sol->Yul] Fixing nested bytes array push. 2021-01-14 10:32:31 +01:00
Alex Beregszaszi c15c6d26b7 Fix YulUtilFunctions::negateNumberWrappingFunction 2021-01-13 21:29:37 +00: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
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 ddb05769a5 [Sol->Yul] Implementing type name. 2020-12-30 17:19:03 +01:00
chriseth 04d83af1d2 Merge pull request #10492 from ethereum/arrayClearingDiffBaseSol2Yul
[Sol->Yul] Fixing array clearing when copying from storage to storage.
2020-12-22 15:15:03 +01:00
chriseth 0437ee7ad9 Fix length check when decoding error data. 2020-12-22 11:08:44 +01:00
chriseth b965446182 Catch panic. 2020-12-22 11:08:44 +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 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
Alex Beregszaszi cad4f74012 Unary minus is not implemented for fixed point type 2020-12-15 18:02:10 +00:00
chriseth ffaf40950a Merge pull request #10605 from ethereum/develop
Merge develop into breaking.
2020-12-15 14:01:01 +01:00
Djordje Mijovic 64f0120622 Change assertions to align to TypeChecker. 2020-12-15 09:21:50 +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
chriseth 561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
chriseth baaf7c0db8 Implement address(...).code in the IR 2020-12-11 03:00:30 +00:00
chriseth 7764ee8d86 Fix copying byte arrays from storage to storage. 2020-12-10 21:47:37 +01:00
chriseth d0551b67d7 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 17:07:56 +01:00
Djordje Mijovic ab74194ca3 [Sol->Yul] Implementing empty byte array push. 2020-12-09 19:31:35 +01:00
chriseth 6de7eaba95 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-01 10:50:13 +01:00
Djordje Mijovic 28e01202af [Sol->Yul] Fixing coping from storage to storage. 2020-12-01 08:50:33 +01:00
chriseth 253889cbf1 Merge remote-tracking branch 'origin/develop' into breaking 2020-11-24 16:22:03 +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
chriseth a0a02f2307 Merge remote-tracking branch 'origin/develop' into breaking 2020-11-23 19:28:08 +01:00
Djordje Mijovic 53a4b4a622 [Sol->Yul] Implementing copying of calldata arrays to memory 2020-11-23 14:52:55 +01:00
chriseth 7f0cc433be Fix mapping conversion. 2020-11-18 20:20:25 +01:00
chriseth a7db4fa4a5 Merge remote-tracking branch 'origin/develop' into breaking 2020-11-18 20:05:02 +01:00
Kamil Śliwak dfa0a0cdff IR codegen: Handle address() with library type argument and external library calls 2020-11-17 20:36:39 +01:00
chriseth 691f7e6eae Fix merge conflicts. 2020-11-17 19:59:23 +01:00
chriseth e8a278eefa Merge remote-tracking branch 'origin/develop' into breaking 2020-11-17 18:51:57 +01:00
chriseth 74ce8d6979 Fix assignment to non-lvalue storage values. 2020-11-17 15:56:34 +01:00
chriseth fffd0306f5 Fix bug in array to storage copy routine. 2020-11-17 14:56:44 +01:00
chriseth 98cc7a1ea9 Copying structs from storage to storage. 2020-11-17 11:06:25 +01:00
chriseth d9fb17a85e Copy value array from storage to storage. 2020-11-17 10:51:34 +01:00