Commit Graph
140 Commits
Author SHA1 Message Date
Christian Parpart 62fe57479e make use of C++ = default constructor declarations as well as more non-static member initialization syntax. 2018-12-19 11:26:42 +01:00
Leonardo Alt b185d01a26 Sort includes in libsolidity/ast 2018-12-17 15:33:15 +01:00
Erik Kundt 05e74d096e Introduces Result<T> for operator and implicit conversion type checks. 2018-12-05 10:33:34 +01:00
hydai 9326adc3db Replace IntegerType(256) with static function IntegerType::uint256() 2018-11-29 17:07:18 +08:00
chriseth 92ba8a95f6 Make asCallableFunction to never fail and assert abount parameter size if bound instead. 2018-11-22 15:47:45 +01:00
chriseth 9e964852cc Rename 'asMemberFunction' to widen its purpose. 2018-11-22 15:24:45 +01:00
Christian Parpart d67322a186 Introduce namespace langutil in liblangutil directory.
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart 87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
mordax ea8b7d803e Removing redundant virtual from override function declaration
Remove trailing whitespace

Remove changelog change
2018-11-21 14:37:32 +00:00
Daniel Kirchner e036133d1b Fix negative denominator in `boost::rational` during exponentiation. 2018-11-06 10:52:10 +01:00
Christian Parpart f112377dd4 Refactor solidity::Token into an enum class with TokenTraits helper namespace 2018-10-22 17:00:51 +02:00
liangdzou 44e8dfd393 fix typo 2018-09-20 22:54:57 +08:00
Jordan Last d0497aacc0 fixing rebase conflicts
add ElementaryTypes::BytesMemory and ElementaryTypes::StringMemory

fix rebase conflicts

fixing rebase conflicts

use make_shared instead of new

fix tabs and StateMutability parameter

create address and addressType functions, fix spaces in comment

fix typo and switch nonpayable to payable

fix spaces

fix comment again
2018-09-13 15:53:06 -06:00
Daniel Kirchner 12aaca1645 Add payable and non-payable state mutability to AddressType. 2018-09-13 15:15:49 +02:00
Daniel Kirchner 87804b6419 Split IntegerType into IntegerType and AddressType. 2018-09-05 12:19:14 +02:00
Anurag Dashputre 94c327c1ae Removed unused "FunctionType::Kind::CallCode" from Types.h and all its usage 2018-08-23 13:09:00 +05:30
Daniel Kirchner 7ca0aaaf6f Add `staticcall to address`. 2018-08-15 16:06:48 +02:00
chriseth 9328ea4c3c Add abi.decode(bytes data, (...)) 2018-08-15 10:45:16 +02:00
chriseth 3f42118d19 Merge pull request #4765 from ethereum/fixes-issue-4673
[WIP] Fixes issue where computing storage size for a number would take too long (or even cause a crash).
2018-08-14 17:34:04 +02:00
Jesse Busman c059119145 Add implicit convertibility to function pointer with higher state mutability 2018-08-14 17:13:10 +02:00
Christian Parpart 43bda53410 Fixes issue where computing storage size for a number would take too long.
Fixes #4673.
2018-08-14 15:38:10 +02:00
Daniel Kirchner 7d7abeb149 Disallow ambiguous conversions between number literals and bytesXX types. 2018-08-13 14:27:01 +02:00
Alex Beregszaszi ed52f422b7 Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libevmasm) 2018-08-08 22:37:40 +01:00
Alex Beregszaszi 3064bd17bc Assert that type identifier contains only valid characters 2018-08-07 22:29:21 +01:00
chriseth 133fd3d302 Make MemberList nothrow move constructible. 2018-08-07 14:20:18 +02:00
Jesse Busman 3fcd62921e Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqualParameterTypes 2018-08-06 13:05:06 +02:00
chriseth 7a8a243eef Isolate determining the encoding type into its own function. 2018-08-01 11:55:57 +01:00
chriseth c8232d9759 Disallow conversion between unrelated contract types. 2018-08-01 11:04:35 +01:00
Leonardo Alt 0075f4239a Address members not accessible by contract instance 2018-07-17 13:33:23 +01:00
Cryptomental 140dbfdbd8 Code, Changelog, ReleaseChecklist: Fix typos.
Refs: #4442
2018-07-11 00:26:23 +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
Erik Kundt 34b5eca1f8 Improves assembly and adds more tests. 2018-05-30 17:40:33 +02:00
bitshift e9dcfb0b62 Implements pop() for value type arrays. 2018-05-29 12:53:02 +02:00
mingchuan 9865012f7b Allow data location suffix for internal elementary type parsing 2018-05-22 23:28:12 +08: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 dac0029d16 ABI encoding functions are pure and should be usable in constants. 2018-05-15 14:45:54 +02:00
daniel aa1542a9e1 Change bytes to unsigned in FixedBytesType 2018-05-03 23:11:34 +01:00
Alex Beregszaszi b34428249a Change numBits to unsigned IntegerType 2018-05-02 23:22:25 -07:00
Alex Beregszaszi 2c00ebbee1 Change totalBits and fractionalDigits to unsigned in FixedPointType 2018-05-02 23:22:25 -07:00
Alexander Arlt f94b793472 Add virtual destructors on base classes. 2018-05-02 13:29:16 +02:00
chriseth 15024154ab Merge pull request #4018 from ethereum/disable-bytes0
Disable FixedBytesType(0) aka bytes0
2018-04-30 18:19:07 +02:00
Alex Beregszaszi 548bf2ff28 Remove unused function smallestTypeForLiteral 2018-04-30 14:35:26 +01:00
Jason Cobb 57003c534a Types changes for fixed points 2018-04-20 17:53:42 +01:00
chriseth 44416d1ac6 Merge pull request #2980 from ethereum/abi-api
Add abi.encode and abi.encodePacked
2018-04-12 20:55:03 +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 daa69df447 Error on invalid arithmetic with constant expressions. 2018-04-11 21:17:10 +02:00
hydai aaa8edc36d Fixed typos 2018-04-10 13:41:35 +08:00
chriseth 5b1c0506fa Allow `memory` suffix for internal elementary type parsing. 2018-04-05 16:06:04 +02:00
chriseth 6777f7a57f Optimize across MLOAD if MSIZE is not used. 2018-04-03 14:34:32 +02:00