Commit Graph
4671 Commits
Author SHA1 Message Date
chriseth cc62d7ce6a Merge pull request #4229 from ethereum/smt_storage_vars_refactor
Refactoring how storage and local variables are managed.
2018-06-12 16:11:05 +02:00
Daniel Kirchner e4b7b2160e Add new reserved keywords. 2018-06-12 16:02:53 +02:00
Daniel Kirchner 510f227bd7 Additional test and more explanation. 2018-06-12 15:53:15 +02:00
Leonardo Alt 207d5859d1 Refactoring Declaration -> VariableDeclaration (more precise) 2018-06-12 10:58:50 +02:00
Leonardo Alt 48652c88af Review comments 2018-06-12 10:58:50 +02:00
Leonardo Alt 678a769cd7 Refactoring how storage and local variables are managed. 2018-06-12 10:58:50 +02:00
Daniel Kirchner e84b55bd6f Extend explanatory remark and argue using bitwise operations instead of rounding. 2018-06-12 09:32:19 +01:00
Daniel Kirchner f33dc92cbd Use proper SAR for signed right shifts and emulate on pre-constantinople. 2018-06-12 09:32:19 +01:00
Alex Beregszaszi 1d57d74e82 Fail if break/continue statements are used outside for/while loops in ContractCompiler 2018-06-12 00:46:23 +01:00
Erik Kundt 2e9f5d1c98 Introduces emit token and removes identifier workaround. 2018-06-11 21:21:22 +01:00
Alex Beregszaszi 8d38d4d296 Use boost::multiprecision::pow explicitly 2018-06-11 19:31:26 +01:00
Alex Beregszaszi 0f572159ec Show named argument name in error 2018-06-06 15:59:27 +01:00
chriseth 4073c02cf3 Merge pull request #4208 from ethereum/extract-name-and-type-tests
Extract name and type tests
2018-06-04 19:54:14 +02:00
chriseth 283cdef98c Fix view/pure error ordering problem. 2018-06-04 17:00:37 +02:00
chriseth c59a06bb97 Merge pull request #4213 from ethereum/fixpop
Fix bug related to byte array pop.
2018-06-04 16:10:56 +02:00
Jason Cobb 6e29775d39 Remove suicide and sha3 assembly instructions 2018-06-04 01:04:48 +01:00
chriseth 7cf36331a6 Fix bug related to byte array pop. 2018-05-31 14:53:33 +02:00
chriseth 0a1a8bfb09 Merge pull request #4172 from ethereum/trailing_dot
[BREAKING] Disallow trailing dot not followed by number
2018-05-30 18:51:52 +02:00
chriseth 5a73044fa7 Merge pull request #3743 from ethereum/popStorageArray
pop() for storage arrays
2018-05-30 18:32:08 +02:00
Erik Kundt fea0d116f7 Fixes assembly bug and adds tests to cover it. 2018-05-30 17:46:43 +02:00
Erik Kundt 98d52beba3 Adds syntax tests, documentation and changelog entry.
Refines comment for array utility function.
2018-05-30 17:43:20 +02:00
Erik Kundt 34b5eca1f8 Improves assembly and adds more tests. 2018-05-30 17:40:33 +02:00
Leonardo Alt ac68710789 Disallow trailing dots that are not followed by a number 2018-05-30 15:14:53 +01:00
mingchuan b7cafcbdf9 Allow using calldata keyword to specify data location 2018-05-30 18:05:55 +08:00
Erik Kundt 7156a01acc Implements pop() for byte arrays. 2018-05-29 12:53:02 +02:00
bitshift e9dcfb0b62 Implements pop() for value type arrays. 2018-05-29 12:53:02 +02:00
chriseth 9d5064d04d Merge pull request #4173 from sifmelcara/add/allow-storage-calldata-suffix
Allow data location suffix for internal elementary type parsing
2018-05-28 22:52:45 +02:00
chriseth 5ee2ce353e Merge pull request #4067 from ethereum/050
[BREAKING] Version 0.5.0
2018-05-23 18:11:20 +02:00
mingchuan 9865012f7b Allow data location suffix for internal elementary type parsing 2018-05-22 23:28:12 +08:00
mingchuan 3cd57866a9 Fix assert message about function visibility 2018-05-20 22:29:11 +08:00
Julius Huelsmann 1d3a37faff Avoid "unneccesary parentheses in declaration of" warning with keeping a temporary variable. 2018-05-17 14:48:15 +02:00
Julius Huelsmann 9e26f5fa0a Do not catch exceptions by value in StandardCompiler 2018-05-17 14:44:01 +02:00
Daniel Kirchner 1cbc037a45 Update control flow graph. 2018-05-16 18:32:48 +02:00
Daniel Kirchner f627dc77d0 Fix continue inside do-while. 2018-05-16 18:32:48 +02:00
Daniel Kirchner 5c59d56335 Disallow conversions between bytesX and uintY of different size. 2018-05-16 18:32:47 +02:00
Leonardo Alt 0b6eea0c55 Bool variables should not allow arithmetic comparison 2018-05-16 18:32:47 +02:00
Alex Beregszaszi 221a4d1f1f Split warning for multi arguments for hash functions 2018-05-16 11:12:25 +02:00
chriseth 894122c508 Warn/enforce single bytes argument for certain builtins (hashing functions).
In 0.5.0 mode, only accept a single bytes argument for ``.call``,
``keccak256`` and others and do not pad when encoding.
2018-05-16 09:48:03 +02:00
chriseth 3ca6738114 Add assert about source location. 2018-05-16 03:52:24 +02:00
chriseth 67d208d144 Parse multi variable declaration statement. 2018-05-16 03:22:45 +02:00
chriseth 2ba0002998 Merge pull request #4139 from ethereum/abiEncodeIsPure
ABI encoding functions are pure and should be usable in constants.
2018-05-15 16:59:48 +02:00
chriseth 63861aac4a Merge pull request #3947 from ethereum/smt_storage
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:54:41 +02:00
chriseth dac0029d16 ABI encoding functions are pure and should be usable in constants. 2018-05-15 14:45:54 +02:00
chriseth dce6224052 Merge pull request #4062 from ethereum/revert-variable
Fix revert with reason coming from a string variable
2018-05-15 14:44:39 +02:00
Leonardo Alt 4117e859eb [SMTChecker] Declaring all state vars before any function is visited 2018-05-15 14:28:08 +02:00
Leonardo Alt 2dbb35d4a8 [SMTChecker] Support to integer and Bool storage vars 2018-05-15 14:22:50 +02:00
Daniel Kirchner 16e966dea0 Add control flow analyzer and test for uninitialized storage returns. 2018-05-14 20:23:40 +02:00
Daniel Kirchner 995623f0fa Add control flow graph. 2018-05-14 20:23:40 +02:00
mingchuan dbd0a7ed60 Fix link error when using boost shared library 2018-05-11 11:20:19 +08:00
Alex Beregszaszi e96bbe70d4 Assert that mandatory fields in the AST are present in AsmAnalysis 2018-05-10 10:48:48 +02:00