Commit Graph
489 Commits
Author SHA1 Message Date
Daniel Kirchner fc370591f0 Disallow multi variable declarations with mismatching number of values. 2018-07-12 20:33:51 +02:00
Alex Beregszaszi 0dd79bc172 Merge pull request #4479 from ethereum/fixFixedPointCrash
Fix handling of fixed point types in arithmetics.
2018-07-12 15:04:16 +01:00
chriseth fa8102880f Merge pull request #4428 from ethereum/enforce_staticcall_view
[BREAKING] Enforce STATICCALL for view and pure
2018-07-12 13:14:02 +02:00
chriseth 576f3ef18c Merge pull request #4083 from ethereum/variable_stack_slot
[BREAKING] Allocate local variables according to their scope
2018-07-12 13:01:15 +02:00
chriseth 2b8091526f Merge pull request #4472 from ethereum/complexCalldataArraysNotYetImplemented
Throw unimplemented exception for complex calldata arrays.
2018-07-11 23:48:42 +02:00
chriseth 7355298c2f Fix handling of fixed point types in arithmetics. 2018-07-11 14:56:53 +02:00
Leonardo Alt 38026d3114 Use STATICCALL for view and pure 2018-07-11 14:45:22 +02:00
Cryptomental 140dbfdbd8 Code, Changelog, ReleaseChecklist: Fix typos.
Refs: #4442
2018-07-11 00:26:23 +02:00
chriseth 383b88793c Throw unimplemented exception for complex calldata arrays. 2018-07-10 21:23:20 +02:00
Leonardo Alt 0c5e0e0d59 Added assertion and tests suggestions 2018-07-10 18:39:38 +02:00
Leonardo Alt b750ca9741 Add more tests and assertions 2018-07-10 18:39:38 +02:00
Leonardo Alt 9d895e002d Added tests and review suggestions 2018-07-10 18:39:38 +02:00
Leonardo Alt 1f77deada1 [050] Reserving and popping local vars in their scope 2018-07-10 18:39:38 +02:00
chriseth c8ac861832 Fix allocation of byte arrays. 2018-07-05 14:18:14 +02:00
chriseth 85b9d3927a Merge pull request #4224 from ethereum/revert_wrong_calldata
[BREAKING] Revert if calldata has wrong size
2018-07-02 12:55:22 +02:00
Leonardo Alt 7763d21cc6 Revert if calldata is too short or points out of bounds 2018-06-26 10:27:48 +02:00
chriseth a55e8c93ce Save double encode call for sha3. 2018-06-25 17:17:18 +02:00
chriseth 23c4142005 Bare functions take single bytes argument. 2018-06-25 17:01:45 +02:00
chriseth 0e66a1ddde Single bytes argument.
In 0.5.0 mode, only accept a single bytes argument for ``.call``,
``keccak256`` and others and do not pad when encoding.
2018-06-25 17:01:45 +02:00
Alex Beregszaszi 4cdb6c809a Change comments 2018-06-14 09:31:28 +01:00
chriseth 014bbc6c97 Merge pull request #4272 from ethereum/assert-break-continue
Fail if break/continue statements are used outside for/while loops in ContractCompiler
2018-06-13 12:10:39 +02:00
chriseth 1dc28c065d Properly pad data from calldata. 2018-06-12 18:51:40 +01: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 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
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
Daniel Kirchner f627dc77d0 Fix continue inside do-while. 2018-05-16 18:32:48 +02:00
Alex Beregszaszi c03a29dea8 Fix revert with reason coming from a string variable 2018-05-09 17:53:17 +02:00
njwest 51b4dc3752 fixed grammar in error in CompilerUtils.cpp line 399, 'less variables.' should be 'fewer variables.' 2018-05-06 18:52:12 -04:00
daniel aa1542a9e1 Change bytes to unsigned in FixedBytesType 2018-05-03 23:11:34 +01:00
chriseth 2968639406 Removed signed shift right from the utilities. 2018-04-30 20:34:43 +01:00
Alex Beregszaszi 52c9441879 Do not use SAR instead of SDIV in shifts because it rounds differently 2018-04-30 20:34:43 +01:00
Alex Beregszaszi c3608eaf90 Use native shift instructions in ABIFunctions on Constantinople 2018-04-30 20:34:43 +01:00
Alex Beregszaszi 22bfd3da41 Use native shift instructions on Constantinople 2018-04-30 20:34:43 +01:00
Alexander Arlt 3ec667f59b Add virtual destructor in LValue class. 2018-04-24 23:39:25 +02:00
Alex Beregszaszi 0201492bbf Remove redundant cleanup for abi.encode. 2018-04-16 12:47:38 +02:00
chriseth 4c1d39b7a2 Properly force-clean for shortening bytesXX conversions. 2018-04-16 12:47:38 +02:00
chriseth 7054defdd6 Merge pull request #3364 from ethereum/revertWithReason
Revert with reason
2018-04-12 21:01:08 +02:00
chriseth 4faa839813 Use error signature for revert data. 2018-04-12 13:09:38 +02:00
chriseth fcb7a27216 Only forward returndata if EVM version supports it. 2018-04-12 13:09:38 +02:00
chriseth 7a9ee69e98 Bubble up error messages. 2018-04-12 13:09:38 +02:00
chriseth ae1d040285 Allow error string for `require`. 2018-04-12 13:09:37 +02:00
chriseth 012ab37fe3 Code generator for revert with reason string. 2018-04-12 13:09:37 +02:00
Alex Beregszaszi d56acb68ab Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature. 2018-04-11 22:32:10 +02:00
Daniel Kirchner 3eedbc6a9c Error when using no parentheses in modifier-style constructor calls. 2018-04-10 12:09:34 +02:00
Daniel Kirchner b918a105a4 Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler. 2018-04-09 15:26:08 +02:00