Alex Beregszaszi
|
6ad0ea9f23
|
Merge pull request #10773 from ethereum/useArrayAllocationFunction
Fix array allocation.
|
2021-01-14 20:25:31 +00:00 |
|
chriseth
|
f4479fd7ed
|
Fix array allocation.
|
2021-01-14 19:56:37 +01:00 |
|
Alex Beregszaszi
|
7c7fd22062
|
Include revert strings in IR
|
2021-01-14 18:45:12 +01:00 |
|
chriseth
|
7d036dcb81
|
Merge pull request #10762 from ethereum/packedStorageOverflowSol2Yul
[Sol->Yul] Fixing uncheked increment/decrement.
|
2021-01-14 15:32:55 +01:00 |
|
chriseth
|
a65415cdad
|
Fix accessing libraries inside modules.
|
2021-01-14 14:07:08 +01:00 |
|
Djordje Mijovic
|
dc3e76bc2c
|
[Sol->Yul] Fixing uncheked increment/decrement.
|
2021-01-14 13:46:04 +01:00 |
|
chriseth
|
170cd5d2ae
|
Merge pull request #10760 from ethereum/asmConstantsFileLevel
Fix accessing constants at file level from inline assembly.
|
2021-01-14 11:33:47 +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 |
|
chriseth
|
45be47fc6b
|
Merge pull request #10756 from ethereum/fixModifierLookup
Fix modifier lookup
|
2021-01-14 11:28:26 +01:00 |
|
chriseth
|
8ad9290086
|
Fix modifier lookup.
|
2021-01-14 11:01:14 +01:00 |
|
chriseth
|
30305ebbd9
|
Fix accessing constants at file level from inline assembly.
|
2021-01-14 10:51:47 +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 |
|
chriseth
|
5c453acbe8
|
Fix encoding of library return values.
|
2021-01-11 20:37:45 +01:00 |
|
chriseth
|
e807c9bb63
|
Library call guard.
|
2021-01-11 20:37:44 +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 |
|
chriseth
|
994fdb7517
|
Determine encoding type earlier.
|
2021-01-11 11:57:22 +01:00 |
|
Harikrishnan Mulackal
|
5241b7b761
|
Merge pull request #10684 from ethereum/fixIRWrappingExp
Use wrapping arithmetic for exp in unchecked blocks.
|
2021-01-06 18:53:54 +01:00 |
|
Djordje Mijovic
|
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
|
2ab83217e3
|
Use wrapping arithmetic for exp in unchecked blocks.
|
2020-12-22 16:49:55 +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 Mijovic
|
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 |
|
chriseth
|
35908c602b
|
Modifiers for constructors.
|
2020-12-17 17:00:51 +01:00 |
|
chriseth
|
ccaa81fbe7
|
Implement function modifiers.
|
2020-12-17 17:00:51 +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 Mijovic
|
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 |
|
chriseth
|
561280a5cc
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-14 11:33:40 +01:00 |
|
Alex Beregszaszi
|
98d8174d31
|
Simplify Compiler/CompilerContext by removing extra layers of indirection
|
2020-12-11 14:43:51 +00:00 |
|
chriseth
|
baaf7c0db8
|
Implement address(...).code in the IR
|
2020-12-11 03:00:30 +00:00 |
|
Alex Beregszaszi
|
7b347b9ec2
|
Introduce address(...).code
|
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 |
|
Alex Beregszaszi
|
7cd05bf603
|
Introduce block.chainid
|
2020-12-10 17:07:54 +00: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 |
|
Alex Beregszaszi
|
ad6739d0f6
|
Support address().codehash
|
2020-12-09 14:58:27 +00:00 |
|
chriseth
|
806453aca9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 21:00:09 +01:00 |
|
chriseth
|
49d1f541a1
|
Merge pull request #10264 from ethereum/warn-conversion
Enable -Wconversion
|
2020-12-08 20:37:12 +01:00 |
|
chriseth
|
e97ca0a777
|
Evaluate base arguments in derived to base order.
|
2020-12-08 20:27:06 +01:00 |
|
Alex Beregszaszi
|
7e88ba8da0
|
Enable the -Wconversion warning
|
2020-12-08 16:45:24 +00:00 |
|
chriseth
|
a3c5d37d02
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 17:13:48 +01:00 |
|
Alex Beregszaszi
|
a8197788d0
|
Replace the inconsistent use of u160/Address/h160 with h160 only
|
2020-12-07 16:44:59 +01:00 |
|
chriseth
|
73a2843f05
|
Merge pull request #10513 from ethereum/groupDecoder
Group decoding function cases.
|
2020-12-07 14:40:19 +01:00 |
|
chriseth
|
251f722919
|
Group decoding function cases.
|
2020-12-07 14:14:54 +01:00 |
|
Alex Beregszaszi
|
1e2bfbd6b2
|
Enable the -Wextra-semi warning
|
2020-12-04 17:21:19 +01:00 |
|
chriseth
|
9a5902f9d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-02 12:28:02 +01:00 |
|
Kamil Śliwak
|
630fcc3a1d
|
Define a comparator for InternalDispatchMap to ensure deterministic ordering of dispatch functions
|
2020-12-01 16:53:54 +01:00 |
|
Alex Beregszaszi
|
d22434ee57
|
Change ABIEncoderV1 to not pad empty strings
|
2020-12-01 14:32:18 +00:00 |
|
chriseth
|
390640f557
|
Merge pull request #10384 from ethereum/called_directly_feature
Use annotation.calledDirectly to simplify IR codegen
|
2020-12-01 15:07:02 +01:00 |
|
chriseth
|
8279d90ba2
|
Merge pull request #10403 from ethereum/rename-asmdata
Rename AsmData* to AST*
|
2020-12-01 14:33:11 +01:00 |
|
chriseth
|
6de7eaba95
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-01 10:50:13 +01:00 |
|
chriseth
|
388fcddd23
|
Merge pull request #10415 from ethereum/arrayClearingStorageSol2Yul
[Sol->Yul] Fixing copying from storage to storage.
|
2020-12-01 09:43:47 +01:00 |
|
Djordje Mijovic
|
28e01202af
|
[Sol->Yul] Fixing coping from storage to storage.
|
2020-12-01 08:50:33 +01:00 |
|
Mathias Baumann
|
f8e6f4a4eb
|
Use annotation.calledDirectly to simplify IR codegen
|
2020-11-30 18:54:42 +01:00 |
|
Alex Beregszaszi
|
28e65bac46
|
Add unimplemented assert for modifiers in the IR
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
|
2020-11-27 18:34:17 +00:00 |
|
chriseth
|
3e5396598b
|
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
Support BitNot on FixedBytes in IR
|
2020-11-26 14:42:52 +01:00 |
|
Alex Beregszaszi
|
cbae5ca324
|
Support BitNot on FixedBytes in IR
|
2020-11-26 13:20:02 +00: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 |
|
chriseth
|
18de8a56c9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-26 11:48:53 +01:00 |
|
Djordje Mijovic
|
bae32ac402
|
[Sol->Yul] Implementing member access to arrays in calldata structs.
|
2020-11-26 11:46:31 +01:00 |
|
Alex Beregszaszi
|
a22077f736
|
Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
|
2020-11-25 17:58:02 +00:00 |
|
Alex Beregszaszi
|
8d9c332593
|
Properly terminate definitions using define() in IRGenerateForStatements
The lack of termination can result in unparseable output.
|
2020-11-25 16:41:39 +00:00 |
|
chriseth
|
f02bc817af
|
Merge pull request #10388 from ethereum/forwardRevertOnCreate
[Sol->Yul] Forward failure for creation.
|
2020-11-25 10:39:54 +01:00 |
|
Djordje Mijovic
|
200227ab75
|
Support copying dynamically encoded structs from calldata to memory.
|
2020-11-24 20:36:17 +01:00 |
|
chriseth
|
cedb56ed81
|
Forward failure for creation.
|
2020-11-24 19:54:18 +01:00 |
|
chriseth
|
253889cbf1
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-24 16:22:03 +01:00 |
|
chriseth
|
2d235bf7b0
|
Merge pull request #10341 from ethereum/optimizeAllocation
Do not allocate memory objects if they will be assigned directly.
|
2020-11-24 16:05:46 +01:00 |
|
chriseth
|
409e92580f
|
Do not allocate memory objects if they will be assigned directly.
|
2020-11-24 14:11:01 +01:00 |
|
Djordje Mijovic
|
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
|
ee657f5361
|
Merge pull request #10214 from ethereum/fallbackReturn
Allow fallback function to return data.
|
2020-11-23 19:49:59 +01:00 |
|
chriseth
|
a0a02f2307
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-23 19:28:08 +01:00 |
|
chriseth
|
91c88a5f6b
|
Merge pull request #10346 from ethereum/boundFunctions
[Sol->Yul] Bound functions.
|
2020-11-23 19:09:20 +01:00 |
|
chriseth
|
f87edb6efc
|
Bound functions.
|
2020-11-23 18:58:23 +01:00 |
|
Djordje Mijovic
|
53a4b4a622
|
[Sol->Yul] Implementing copying of calldata arrays to memory
|
2020-11-23 14:52:55 +01:00 |
|
Djordje Mijovic
|
4bff99a518
|
Adding additional abi decoding functions for arrays.
Co-authored-by: chriseth <chris@ethereum.org>
|
2020-11-23 14:52:51 +01:00 |
|
chriseth
|
fda352094f
|
Allow fallback function to return data.
|
2020-11-23 14:22:37 +01:00 |
|
Leonardo Alt
|
e4339b0526
|
[SMTChecker] Support named arguments in function calls
|
2020-11-20 11:52:26 -01:00 |
|
chriseth
|
f1d28b1d17
|
Fix string literal assignment to storage.
|
2020-11-19 15:27:21 +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 |
|
chriseth
|
1508b08f3e
|
Implement inline assembly access to constants.
|
2020-11-18 12:35:23 +01:00 |
|
chriseth
|
9f0a631948
|
Merge pull request #10208 from ethereum/offsetLengthCalldata
Support .offset and .length for dynamic calldata arrays
|
2020-11-18 12:09:11 +01:00 |
|
chriseth
|
2665eaa4fa
|
Support .offset and .length for calldata bytes and string arrays.
|
2020-11-18 01:45:56 +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
|
e64fd99fb5
|
Fix qualified modifier lookup.
|
2020-11-17 18:33:45 +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 |
|
chriseth
|
62893aa1a1
|
Copy byte arrays from storage to storage.
|
2020-11-16 19:06:33 +01:00 |
|
Kamil Śliwak
|
ade71d58f8
|
Assume that enums always take 1-byte in the codegen and type system
|
2020-11-16 18:58:19 +01:00 |
|
chriseth
|
d744a8fb48
|
Fail on invalid storage encoding for byte arrays.
|
2020-11-12 11:12:42 +01:00 |
|
chriseth
|
14ed67ac4b
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-11 20:33:40 +01: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 |
|
chriseth
|
141277dadf
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-10 17:28:36 +01:00 |
|
chriseth
|
6cc264ff0a
|
Merge pull request #10221 from ethereum/refactorArrayConversions
[Sol->Yul] Refactor array conversions
|
2020-11-10 16:18:11 +01:00 |
|
hrkrshnn
|
2348b721bb
|
Tests after changing type of super to TypeType
|
2020-11-10 15:38:21 +01:00 |
|
hrkrshnn
|
9eafa1fa1a
|
Change type of super to TypeType
|
2020-11-10 15:38:21 +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 |
|
chriseth
|
768ac9514b
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-09 14:48:48 +01:00 |
|
chriseth
|
04195439b7
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-11-09 14:28:05 +01:00 |
|
Kamil Śliwak
|
c970fb46ce
|
YulUtilFunctions::conversionFunction: Add more info to the assertion that fails on invalid conversion
|
2020-11-09 13:41:03 +01:00 |
|
chriseth
|
b40fb527de
|
Remove access to functions from inline assembly (unused code).
|
2020-11-05 14:43:29 +01:00 |
|
chriseth
|
1f3239d097
|
Simplify split parameter.
|
2020-11-03 14:34:18 +01:00 |
|
chriseth
|
fea3f848f9
|
Prepare store for external function types.
|
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
|
5ffee049fa
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-03 14:05:14 +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 |
|
chriseth
|
22b31054b6
|
Merge pull request #10174 from ethereum/storeInternalFunctions
Implement internal functions in storage.
|
2020-11-03 09:56:12 +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 |
|
chriseth
|
1066af3b98
|
Copy byte array to storage.
|
2020-10-29 18:53:15 +01:00 |
|
chriseth
|
14d7ca49c0
|
Rename function.
|
2020-10-29 18:53:15 +01:00 |
|
chriseth
|
f215042cf6
|
Fix style.
|
2020-10-29 17:35:55 +01:00 |
|
chriseth
|
e93a84ccd4
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-10-28 18:19:31 +01:00 |
|
chriseth
|
0c12b2e53a
|
Bit operations for fixed bytes types.
|
2020-10-28 18:04:54 +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 |
|
chriseth
|
20f39ab6e9
|
Merge pull request #10097 from ethereum/develop
Merge develop into breaking.
|
2020-10-23 10:30:24 +02:00 |
|
chriseth
|
bfd267459c
|
Panic codes.
|
2020-10-22 19:25:55 +02:00 |
|
chriseth
|
bfc8e26007
|
Remove low-level log functions.
|
2020-10-22 17:50:14 +02:00 |
|
chriseth
|
a83ad58109
|
Merge pull request #10081 from ethereum/maskBytes
Extract mask bytes function.
|
2020-10-21 10:09:40 +02:00 |
|
chriseth
|
3920f398aa
|
Update libsolidity/codegen/YulUtilFunctions.h
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
|
2020-10-21 09:48:22 +02:00 |
|
chriseth
|
53d6721e47
|
Extract mask bytes function.
|
2020-10-20 17:36:46 +02:00 |
|
Mathias Baumann
|
a4dc110b38
|
Fix dependency tracking for abstract contracts for Yul codegen
|
2020-10-20 16:58:24 +02:00 |
|
chriseth
|
6979952995
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-10-19 18:02:50 +02:00 |
|
chriseth
|
527c073bb9
|
Checked arithmetic by default.
|
2020-10-19 16:58:37 +02: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 |
|
Daniel Kirchner
|
0dca223b45
|
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
|
2020-10-15 18:14:41 +02:00 |
|
chriseth
|
00fb152316
|
Merge pull request #10048 from ethereum/develop
Merge develop into breaking
|
2020-10-15 17:30:11 +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 |
|