Commit Graph
2573 Commits
Author SHA1 Message Date
Alex Beregszaszi 52496ea719 Proper error message for missing variables in inline assembly 2019-02-20 10:36:55 +00:00
Mathias Baumann a63f7ca9df Fix crash due to missing type info 2019-02-19 17:28:44 +01:00
chriseth d9e4a10d5a Merge pull request #6000 from ethereum/fixECRecoverABIV2
Fixed internal error related to ecrecover and ABIEncoderV2.
2019-02-19 14:36:08 +01:00
chriseth 874648b924 Merge pull request #5999 from ethereum/smt_lazy_overflow
[SMTChecker] Check for under/overflow in the end of the function
2019-02-19 14:28:55 +01:00
chriseth 05541e5adb Fixed internal error related to ecrecover and ABIEncoderV2. 2019-02-19 14:17:03 +01:00
chriseth d5791fef41 Fix combination of delegatecall and ABIEncoderV2.
We can set the flag to false for bare delegatecall, because we always
send a memory string and never a storage reference.
2019-02-19 13:57:03 +01:00
chriseth 55c4131a03 Merge pull request #6030 from ethereum/fixABIEncoderV2Mapping
Allow cleanup for mappings (do nothing).
2019-02-19 13:56:21 +01:00
Leonardo Alt 34470f3549 [SMTChecker] Only check for overflow/underflow in the end of the function 2019-02-18 23:55:58 +01:00
Alex Beregszaszi 2949bd14dd Merge pull request #6028 from ethereum/warn-about-unused-struct-array-expr
Detect custom type expressions that have no effect
2019-02-18 21:12:04 +00:00
Mathias Baumann e3d4155fa8 Detect custom type expressions that have no effect 2019-02-18 18:59:31 +01:00
chriseth c690f679cb Allow cleanup for mappings (do nothing). 2019-02-18 18:50:22 +01:00
Mathias Baumann 093b9ced97 Make sure "value" error hint is only displayed in the right context
Before, the hint would be shown for any "value" member, even a user-specified one.
2019-02-18 16:29:57 +01:00
Daniel Kirchner d74198b3cc Remove misleading note in Type::calldataEncodedSize. 2019-02-18 16:18:40 +01:00
chriseth cb0ad2266c Merge pull request #6008 from ethereum/smt_fix_abstract_assignment
[SMTChecker] Assert type is not function when assigning
2019-02-18 14:54:20 +01:00
chriseth db7b38e3c4 Merge pull request #5978 from ethereum/fix-broken-hint
Fix error msg hint for non-payable contracts
2019-02-18 11:49:07 +01:00
Daniel Kirchner 0408130338 Merge pull request #6003 from ethereum/moreStyleChecks
Even more style checks.
2019-02-15 11:52:32 +01:00
Leonardo Alt 22cdfb18d4 [SMTChecker] Assert type is not function when assigning 2019-02-14 13:32:56 +01:00
Daniel Kirchner 809b9a95f9 Even more style checks. 2019-02-14 11:53:00 +01:00
Daniel Kirchner 8ca6715e18 More style checks. 2019-02-14 11:41:20 +01:00
Mathias Baumann 223dac3eca TypeChecker: Use cast instead of category() check 2019-02-14 11:39:51 +01:00
Mathias Baumann 10a9960eb3 Fix error msg hint for non-payable contracts 2019-02-14 11:39:19 +01:00
Daniel Kirchner 32190dac48 Add stride helpers to ArrayType. 2019-02-14 10:51:39 +01:00
chriseth f003696d7e Merge pull request #5994 from ethereum/error-to-assert
Turn unreachable error into assert
2019-02-13 17:54:01 +01:00
chriseth 1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
Mathias Baumann a70fee7316 Turn unreachable error into assert
The exact conditions are already checked when iterating over the
possibleMembers where the function `canTakeArguments()` is called
for each member. The function does the identical check.
2019-02-13 16:51:05 +01:00
chriseth 17ea467e5b Fix style of "const". 2019-02-13 16:34:53 +01:00
chriseth d073eb1544 Move AssemblyStack to libyul. 2019-02-13 12:23:07 +01:00
chriseth 02373c2225 Adjust uses of AsmCodeGen. 2019-02-13 11:35:49 +01:00
chriseth 1ff6f2c71c Move AsmCodeGen. 2019-02-13 11:20:15 +01:00
Bhargava Shastry 7751fa740f Ensure we fail gracefully when user tries to optimize Yul code 2019-02-12 11:21:02 +01:00
Daniel Kirchner 9e32aa7510 Disallow calldata arrays with dynamically encoded base types in TypeChecker. 2019-02-11 17:13:12 +01:00
chriseth 92cb6cb793 Merge pull request #5936 from ethereum/calldataStructsV2
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
2019-02-11 16:18:27 +01:00
chriseth 18c7ad08a0 Merge pull request #5925 from ethereum/stackCompressor
Stack compressor
2019-02-11 16:17:47 +01:00
chriseth b34e104173 Make dialect a shared pointer. 2019-02-11 15:48:29 +01:00
Mathias Baumann 259d803387 Conditional Expression: Delay invalid type fatal error
Check the whole conditional first and then output errors for
both, the true and false expressions.
2019-02-11 15:47:19 +01:00
Daniel Kirchner 0e4912a203 ABIEncoderV2: Implement calldata structs without dynamically encoded members. 2019-02-11 15:46:58 +01:00
chriseth b5a2c66771 Merge pull request #5957 from ethereum/function-param-fix
Ensure function parameter names always matches parameter types length
2019-02-11 15:45:28 +01:00
Mathias Baumann 66b24225fb Remove duplicate if-check 2019-02-11 14:56:57 +01:00
Mathias Baumann fe2429de9f Packed Encoding: Disallow types in v2 that aren't allowed in v1 2019-02-11 11:37:48 +01:00
chriseth a8d0ef4bad Allow indexed structs in events with encoder v2. 2019-02-11 11:37:47 +01:00
chriseth 0c2d623ee4 Enable struct encoding. 2019-02-11 11:37:47 +01:00
chriseth a08f4f43fa Add packed encoder V2. 2019-02-11 11:37:47 +01:00
chriseth 1b9d30f05f Packed encoding. 2019-02-11 11:37:47 +01:00
Mathias Baumann 57c1c8b46c Ensure function parameter names always matches parameter types length 2019-02-11 10:57:57 +01:00
Leonardo Alt 4058978b3b Require Z3 >= 4.6.0 2019-02-07 14:24:40 +01:00
Leonardo Alt 637546850f [SMTChecker] Add mod operator 2019-02-07 14:24:40 +01:00
chriseth 9de652ab76 Merge pull request #5953 from ethereum/removeCheckCoveredByAssertion
Remove type check that is covered by assertions.
2019-02-07 12:19:14 +01:00
chriseth fc18258250 Remove type check that is covered by assertions. 2019-02-07 12:02:15 +01:00
Mathias Baumann 5fb79f5e37 Turn unreachable error statements into asserts 2019-02-07 10:07:09 +01:00
chriseth 1236b23168 Merge pull request #5943 from ethereum/singleOutLengthUpdate
Extract storing length to its own function.
2019-02-06 14:46:39 +01:00