Commit Graph
4022 Commits
Author SHA1 Message Date
Alex Beregszaszi 7417965ae3 Merge pull request #9945 from ethereum/fix-storage-typo
Fix typo: storage
2020-10-02 13:25:27 +01:00
Harikrishnan Mulackal 7773bb3bd0 Fix typo: storage 2020-10-02 11:44:10 +02:00
Alex Beregszaszi fedbea46cd [SMTChecker] Support type conversions 2020-10-02 10:26:02 +02:00
Leonardo 87e1934bee Merge pull request #9885 from ethereum/smt_array_slices
[SMTChecker] Support array slices
2020-10-01 18:12:57 +02:00
chriseth e5771efdf8 Merge pull request #9905 from ethereum/deleteArrayPackedSol2Yul
[Sol->Yul] Implementing deleting of storage array of types that are packed in storage
2020-10-01 16:50:57 +02:00
Leonardo Alt c8cc73c80c Support array slices 2020-10-01 11:52:02 +02:00
Djordje Mijovic aa23ebc8e6 [Sol->Yul] Implementing array resizing for packed array types. 2020-10-01 10:25:00 +02:00
chriseth 3af21c92d2 Merge pull request #9702 from a3d4/fix-7410-arrays-of-mappings
Fix ICE caused by an array of mappings
2020-09-30 20:24:09 +02:00
chriseth fda8bde2d7 Stop after parsing. 2020-09-30 16:57:49 +02:00
Harikrishnan Mulackal fd02ccc68c Implemented events with indexed function as parameter in Yul 2020-09-30 12:11:39 +02:00
Harikrishnan Mulackal 3970412422 Implemented events with function type as one of its indexed parameters 2020-09-30 12:11:38 +02:00
a3d4 3c876fcb60 Fix ICE caused by an array of mappings 2020-09-29 18:17:46 +02:00
chriseth 2037b7d6b8 Merge pull request #9820 from ethereum/new-annotation-field-virtual
Add annotation field ``requiresVirtualLookup``
2020-09-29 15:33:54 +02:00
Leonardo Alt 352cce5fc8 [SMTChecker] Support addmod and mulmod. 2020-09-29 12:45:19 +02:00
Leonardo 7540ae4b3a Merge pull request #9777 from ethereum/smt_refactor_predicate_instances
[SMTChecker] Refactor CHC predicate instances
2020-09-29 10:35:37 +02:00
Harikrishnan Mulackal d23aff4cbb Merge pull request #9918 from ethereum/isStateScopeCheck
Make isStateVariable regular scope check.
2020-09-29 09:33:03 +02:00
chriseth cb82d8239c Make isStateVariable regular scope check. 2020-09-28 19:31:54 +02:00
chriseth 8687b9a3dc Merge pull request #9903 from a3d4/refactor-warnonshadow
Simplify DeclarationRegistrationHelper
2020-09-28 19:28:34 +02:00
Mathias Baumann 8584c98b6a Add annotation field `requiresVirtualLookup` 2020-09-28 17:36:23 +02:00
Leonardo Alt fa7c9a0dc6 Simplify internal function calls 2020-09-28 15:31:15 +02:00
a3d4 9b740b03ff Simplify DeclarationRegistrationHelper 2020-09-28 13:21:57 +02:00
Leonardo Alt 3519b38055 Move predicate functions from CHC to PredicateInstance 2020-09-28 12:43:19 +02:00
Leonardo Alt ac93ee1d08 Move error flag from CHC to SymbolicState 2020-09-28 12:37:57 +02:00
chriseth 9115100f2a Merge pull request #9909 from ethereum/fix-9890
Fix missing annotation settings because of early return
2020-09-28 12:27:43 +02:00
Mathias Baumann 76bb2cafe9 Fix missing annotation settings because of early return 2020-09-28 12:12:44 +02:00
chriseth bab2d6d644 Merge pull request #9852 from ethereum/fix-9851
Typechecker: Disallow free function redefinition
2020-09-28 11:15:47 +02:00
Leonardo Alt e6bd18525b [SMTChecker] Add engine prefix to verification target error messages 2020-09-25 19:09:06 +02:00
Bhargava Shastryandchriseth e2a2276272 Contract level checker: Disallow free function redefinition and alias
shadowing another free function

Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Alex Beregszaszi 9f3d5d3e2f [SMTChecker] Implement support for memory allocation 2020-09-25 15:56:24 +01:00
Alex Beregszaszi 9c1b041dcb [SMTChecker] Keep constraints of string literals after assignment 2020-09-25 11:32:48 +01:00
Alex Beregszaszi 5090353a1a [SMTChecker] Keep knowledge about string literals 2020-09-25 11:32:23 +01:00
Leonardo 57e1b2cb92 Merge pull request #9881 from ethereum/smt_fixed_bytes_index_access
[SMTChecker] Support fixed bytes index access
2020-09-25 11:32:56 +02:00
Leonardo Alt df8c6d94e3 [SMTChecker] Support fixed bytes index access 2020-09-25 09:59:38 +02:00
chriseth d52b3839e2 Merge pull request #9882 from ethereum/invalidOnErrorYul
[SolYul] Use invalid opcode for internal errors
2020-09-24 19:37:44 +02:00
chriseth 1e3596ec71 Use invalid opcode on internal errors. 2020-09-24 16:02:35 +02:00
Alex Beregszaszi 6edfdff187 [SMTChecker] Do not warn on "abi" as an identifer
There is an approprate warning for the function call.
2020-09-24 13:57:42 +01:00
Alex Beregszaszi e54110ff17 Return UTF-8 error in BoolResult and remove it from string type 2020-09-23 17:35:05 +01:00
Alex Beregszaszi a154594de6 Display string literal as hex in error messages if it is not printable ASCII 2020-09-23 17:33:39 +01:00
Alex Beregszaszi 0e5abbd4a9 Display location of invalid UTF-8 sequence in unicode literals in SyntaxChecker 2020-09-23 17:01:02 +01:00
Alex Beregszaszi ca743191b7 Report why assigning oversized hex strings to bytes fail 2020-09-23 16:46:47 +01:00
chriseth 27f768f4d6 Merge pull request #9868 from ethereum/conversion-result-msg
Display BoolResult from implicit/explicit conversions for more clarity
2020-09-23 17:19:41 +02:00
Alex Beregszaszi af8d78010e Display BoolResult from implicit/explicit conversions for more clarity in error messages 2020-09-23 16:04:07 +01:00
chriseth e696c4eafd Extract common loop. 2020-09-23 16:14:24 +02:00
chriseth 55e6a92692 Add specialization for small numbers. 2020-09-23 16:14:24 +02:00
Đorđe Mijović 858b4507e2 Merge pull request #9854 from ethereum/bitwiseSmt
[SMTChecker] Support compound shifts and bitwise and, or, and xor
2020-09-23 12:35:48 +02:00
chriseth 9c5e14e309 Merge pull request #9839 from ethereum/annotations-optional
Make annotations ``SetOnce`` or ``optional`` where feasible
2020-09-23 11:44:21 +02:00
Djordje Mijovic 79f550dba9 [SMTChecker] Supporting compound shift operators. 2020-09-23 11:31:37 +02:00
Djordje Mijovic 773e000227 [SMTChecker] Implementing compound bitwise And/Or/Xor operators 2020-09-23 11:31:37 +02:00
Alex Beregszaszi 709d25bd3d [SMTChecker] Support address type conversion with literals 2020-09-22 18:49:11 +01:00
Mathias Baumann dd81d05559 Make annotations `SetOnce or optional` where feasible 2020-09-22 17:38:21 +02:00