Commit Graph

428 Commits

Author SHA1 Message Date
Kamil Śliwak
1a4cc4e64d Fix type check for nested arrays in abi.encode/decode functions in ABIEncoderV1
- Without this fix, nested arrays are not detected as unsupported and compiler fails on an UnimplementedError.
- Now it's consistent with how structs are handled in ABIEncoderV1.
2020-09-17 17:29:16 +02:00
chriseth
5000785ff8
Merge pull request #9822 from ethereum/fix-ice-on-returning-string-literal-in-calldata
Mark string literals as not implicitly convertible to calldata arrays
2020-09-16 14:23:47 +02:00
Kamil Śliwak
3ba3bde65e Mark string literals as not implicitly convertible to calldata arrays 2020-09-16 12:44:57 +02:00
Kamil Śliwak
2916ae5bda Fix static arrays with dynamic elements not being treated as dynamic in FunctionType::returnParameterTypesWithoutDynamicTypes() 2020-09-16 11:15:52 +02:00
a3d4
e7a6534d4f Unify collision warnings 2020-09-14 02:17:53 +02:00
Kamil Śliwak
5e9dd67a0a FunctionType::canTakeArguments(): Use the correct index when comparing named parameter types 2020-09-09 14:45:58 +02:00
Kamil Śliwak
41bcb97e36 Don't consider contracts implicitly convertible to the type of super
- `super` for all intents and purposes behaves like a type and should be a TypeType rather than ContractType. We have an issue to fix it but it's a breaking change. Until then let's at least not treat other contracts as convertible to the ContractType that `super` represents.
2020-09-08 00:29:44 +02:00
Kamil Śliwak
7681c7dddf Remove dead code from ContractType::isImplicitlyConvertibleTo() 2020-09-08 00:26:29 +02:00
Harikrishnan Mulackal
7826564226 Fix infinite loop for structs in library function parameter 2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal
1c066b1059 Allow type(Contract).name for abstract contracts and interfaces 2020-08-27 13:37:08 +02:00
Harikrishnan Mulackal
6f22899153 Disallow the exponent to be a signed integer literal 2020-08-27 12:08:45 +02:00
chriseth
9324fb4f20 Free functions. 2020-08-18 11:46:59 +02:00
chriseth
c96e997a3c Fix member lookup for constructor in library. 2020-08-04 10:51:40 +02:00
Alex Beregszaszi
6fe8e63eee Remove inconsistently used isValidUTF8 helper 2020-07-27 18:21:17 +01:00
chriseth
42063f2158
Merge pull request #9490 from ethereum/renameSlotToSelector
Rename external function slot to selector.
2020-07-27 10:42:47 +02:00
Djordje Mijovic
e7d5a7da10 [TypeChecker] Remove function input and return parameter names from mobileType 2020-07-23 14:39:49 +02:00
chriseth
147a80aa24 Rename external function slot to selector. 2020-07-23 14:19:15 +02:00
chriseth
9be5ed1220 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-21 11:35:28 +02:00
Sachin Grover
b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
chriseth
f28bede34a Refactor storageSizeUpperBound. 2020-07-14 10:45:02 +02:00
Daniel Kirchner
38c6ecbbe2 Remove finney and szabo denominations. 2020-07-13 18:07:10 +02:00
chriseth
8eee3ed3a2
Merge pull request #9388 from ethereum/develop
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
a3d4
efc5ee207d Fix internal compiler error caused by oversized objects 2020-07-10 11:39:07 +02:00
Mathias Baumann
6b37f1c025 Remove visiblity of libraries in inherited contracts. 2020-07-09 16:38:29 +02:00
chriseth
3e3f9a472f Merge remote-tracking branch 'origin/develop' into breaking 2020-06-30 18:56:51 +02:00
Harikrishnan Mulackal
d41eaeba56 Added containsNestedMapping() 2020-06-30 16:15:03 +05:30
Mathias Baumann
02328f3bbb Add unit denomination `gwei` 2020-06-24 18:24:56 +02:00
chriseth
71cb7551f4
Merge pull request #9208 from ethereum/develop
Merge develop into breaking.
2020-06-16 16:11:41 +02:00
chriseth
645c3508a8 Prepare for allowing bound functions and using for everywhere. 2020-06-15 21:20:18 +02:00
chriseth
8155ad2187 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-15 17:11:41 +02:00
chriseth
012ba9537b
Merge pull request #9184 from ethereum/fixUsingForStorage
Fix using for with explicit reference types.
2020-06-11 14:00:28 +02:00
chriseth
5c71b3fbb0
Merge pull request #9173 from ethereum/fixBoundCalldata
Fix bound functions with calldata parameters.
2020-06-11 13:31:30 +02:00
chriseth
549c90612c Fix using for with explicit reference types. 2020-06-11 13:04:41 +02:00
chriseth
d4e3491f35
Merge pull request #9177 from ethereum/fixYulStructMemberAccess
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
2020-06-11 09:41:04 +02:00
Leonardo
d7f29a33b9
Merge pull request #9096 from ethereum/conversionWarningsLibSol
Adding fixes for signedness warnings in libsolidity
2020-06-11 01:06:32 +02:00
Daniel Kirchner
90b66a7362 Fix struct member access for memory and implement for calldata. 2020-06-10 20:01:30 +02:00
chriseth
baabe65a84 Fix bound functions with calldata parameters. 2020-06-10 17:37:59 +02:00
Djordje Mijovic
e73fe17277 Fixing ICE on calling externally a function that returns calldata pointers
Co-authored-by: chriseth <chris@ethereum.org>
2020-06-10 14:41:45 +02:00
Djordje Mijovic
c6e4943089 Adding fixes for signedness warnings in libsolidity
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
chriseth
d12db7ec52
Merge pull request #8994 from ethereum/fixInvertedBinaryOp
Fix type inversion for shift and exp operators.
2020-06-03 14:11:16 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
a6c773bd96 Fix type inversion for shift and exp operators. 2020-06-03 13:46:26 +02:00
a3d4
c959341720 Add errorId to Error class 2020-05-28 15:00:33 +02:00
chriseth
894478ff8c
Merge pull request #9038 from ethereum/develop
Merge develop into breaking.
2020-05-27 15:24:27 +02:00
chriseth
e4b31e7230 Introduce named concept for types. 2020-05-26 18:17:25 +02:00
Mathias Baumann
b3cafe4583 Fix ICE by avoiding copyForLocation() on ArraySliceType 2020-05-26 17:27:46 +02:00
chriseth
9604174151 Rename asCallableFunction. 2020-05-26 11:35:12 +02:00
Djordje Mijovic
4c3e78d046 Disallowing shifts by signed types 2020-05-26 10:18:21 +02:00
chriseth
2d1e7d9504
Merge pull request #8931 from random-internet-cat/lazy-init
Add LazyInit
2020-05-14 18:54:19 +02:00