Commit Graph
4671 Commits
Author SHA1 Message Date
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 049c7f7a8e Disallow using modifiers not in the current contract or in base contracts. 2020-11-17 18:33:45 +01:00
chriseth e64fd99fb5 Fix qualified modifier lookup. 2020-11-17 18:33:45 +01:00
Kamil Śliwak 4174f38b02 StandardCompiler: Include file names in link references 2020-11-17 17:51:04 +01:00
chriseth 74ce8d6979 Fix assignment to non-lvalue storage values. 2020-11-17 15:56:34 +01:00
chriseth df53b53aa5 Merge pull request #10315 from ethereum/fixToStorageCopy
[SolYul] Fix bug in array to storage copy routine.
2020-11-17 15:56:21 +01:00
chriseth fffd0306f5 Fix bug in array to storage copy routine. 2020-11-17 14:56:44 +01:00
chriseth bb97363abf Merge pull request #9989 from ethereum/issue-9947
Natspec: Fix internal error when different return name was inherited
2020-11-17 13:54:03 +01:00
Mathias Baumann 559b27aaad Natspec: Fix internal error when different return name was inherited 2020-11-17 11:56:32 +01:00
chriseth adaf1ff7df Merge pull request #10272 from ethereum/storageStorageCopyForStructs
Storage storage copy for structs
2020-11-17 11:47:48 +01:00
Leonardo 65c2089b43 Merge pull request #10310 from blishko/issue-10306
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
2020-11-17 09:34:49 -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 7ccb4fea2b Merge pull request #10270 from ethereum/copyByteArrayFromStorageToStorage
[SolYul] Copy byte arrays from storage to storage.
2020-11-17 00:30:30 +01:00
Martin Blicha 07427c798c [SMTChecker] Adding a dummy frame to the call stack for the implicit constructor 2020-11-16 22:46:17 +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
Kamil Śliwak 1bf700e088 Return a type error when an enum has more than 256 members 2020-11-16 18:58:19 +01:00
Kamil Śliwak b97c6c55ad StandardCompiler: Don't assume that link reference always contains a colon 2020-11-16 17:41:54 +01:00
Leonardo f1846b57a2 Merge pull request #10244 from blishko/this-external-calls
[SMTChecker] Analyzing external calls to `this`
2020-11-13 11:28:34 +00:00
Martin Blicha 5ca7a24896 [SMTChecker] Added support for precise modeling of external calls to this.
Modeling external calls to this, since we can trust these calls.

fixed problem with transaction data not being restored after trusted external call

update to the tests

additional tests

changelog entry

added tests for external getters of this
2020-11-13 11:49:09 +01:00
Alex Beregszaszi a3381d7260 Add settings.viaIR to standard json 2020-11-12 22:38:44 +00:00
Alex Beregszaszi 301d7ea39e Add viaIR option to CompilerStack
It also sets the experimental flag in the metadata to true.
2020-11-12 22:34:31 +00:00
Alex Beregszaszi fcedaba7f7 [ewasm] Allow compiling abstract/interface contracts 2020-11-12 15:26:11 +00: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 e7e76131c8 Merge pull request #10265 from ethereum/fixMappingInit
Fix initializing mapping return variables.
2020-11-11 18:42:45 +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
Alex Beregszaszi 2f899bbffa [SMTChecker] Avoid implicit conversion 2020-11-11 16:29:03 +00:00
chriseth 141277dadf Merge remote-tracking branch 'origin/develop' into breaking 2020-11-10 17:28:36 +01:00
Leonardo 55ac5de472 Merge pull request #10240 from ethereum/immutablesPureValue
Immutables with literal values are pure.
2020-11-10 15:23:33 +00: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 da92fe548e Merge remote-tracking branch 'origin/develop' into breaking 2020-11-10 13:48:32 +01:00
chriseth b981a2a74a Merge pull request #10229 from ethereum/linking-in-assembly-mode
Linking in assembly mode
2020-11-10 13:21:57 +01:00
chriseth 3c1d990964 Merge pull request #10224 from ethereum/strict-literal-to-enum-conversion
[BREAKING] Strict explicit conversion between literals and enums
2020-11-10 13:15:12 +01:00
chriseth 765ed13814 Immutables with literal values are pure. 2020-11-10 13:08:42 +01:00
Leonardo 25b2a38d8b Merge pull request #10202 from ethereum/smt_fix_modifiers_branches
[SMTChecker] Fix CHC false positives when using branches inside modifiers
2020-11-09 16:42:30 +00:00
Kamil Śliwak df8e182b46 Link binaries produced in assembly mode 2020-11-09 17:17:43 +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
hrkrshnn 03f58c6b52 Strict explicit conversion between literals and enums
Explicit conversions between literals and enums are only allowed if the literal can represent a
value in the enum.
2020-11-06 19:15:02 +01:00