5067 Commits
Author SHA1 Message Date
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
Alex Beregszaszi 3bce2a2294 Remove the legacy AST JSON output 2020-11-25 11:40:33 +00:00
hrkrshnn 1a6f0fe52f Disallow declarations to have names "this", "super" and "_".
There will be a declaration error 3726 if these names are used in the contract. Note that there is
an existing warning about shadowing a built-in for "this" and "super".
2020-11-25 11:14:13 +01:00
chriseth f02bc817af Merge pull request #10388 from ethereum/forwardRevertOnCreate
[Sol->Yul] Forward failure for creation.
2020-11-25 10:39:54 +01:00
chriseth bdc571cfb6 Merge pull request #10385 from ethereum/activateStructCopyingOldCodegen
Support copying dynamically encoded structs from calldata to memory.
2020-11-25 10:07:13 +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
Djordje Mijovic 26c43cfc66 [SMTChecker] Fix SMT logic error when doing compound assignment with string literlas. 2020-11-24 19:14:15 +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 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
Leonardo 61425e3541 Merge pull request #10378 from ethereum/smt_fix_spellcheck
Fix spelling in SMTChecker comment
2020-11-23 18:14:58 -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
Leonardo Alt 68cfa0a901 Fix spelling in SMTChecker comment 2020-11-23 19:40:29 +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
Martin Blicha 66125b79d6 [SMTChecker] Do not report warning when encountered a Type identifier. The operations are supported now. 2020-11-23 15:41:57 +01:00
chriseth f313668ef1 Merge pull request #10211 from ethereum/copyArrayCalldata2MemSol2Yul
[Sol->Yul] Copying arrays from calldata to memory
2020-11-23 15:02:18 +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
chriseth 67ec5f6b17 Override semantics for fallback function. 2020-11-23 14:22:37 +01:00
chriseth fda352094f Allow fallback function to return data. 2020-11-23 14:22:37 +01:00
Martin Blicha 80d743426f [SMTChecker] Added support for struct constructor. 2020-11-23 13:45:17 +01:00
Leonardo 61069ec77d Merge pull request #10355 from blishko/smtchecker-refactoring
[SMTChecker] Small refactoring of assignments to provide a common low-level point for model checking engines to hook into.
2020-11-20 14:31:32 -01:00
Leonardo ae8f484ed4 Merge pull request #10234 from ethereum/smt_named_arguments
[SMTChecker] Support named arguments in function calls
2020-11-20 12:24:51 -01:00
Leonardo Alt e4339b0526 [SMTChecker] Support named arguments in function calls 2020-11-20 11:52:26 -01:00
Alex Beregszaszi 82997fbf5e Change AST::interfaceId() to uint32_t 2020-11-19 23:33:08 +00:00
Martin Blicha fbcb572d69 [SMTChecker] Small refactoring of assignments to provide a common low-level point for model checker engines to hook into. 2020-11-19 22:03:08 +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
Kamil Śliwak 5560239cf5 Replace links to readthedocs.io with ones using the new domain 2020-11-18 15:20:34 +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 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