Commit Graph
184 Commits
Author SHA1 Message Date
Alex Beregszaszi d56acb68ab Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature. 2018-04-11 22:32:10 +02:00
Jason Cobb 3b7b962b66 Fix bug in typechecking when comparing rational literals 2018-04-11 12:03:08 +02:00
chriseth 5b1c0506fa Allow `memory` suffix for internal elementary type parsing. 2018-04-05 16:06:04 +02:00
chriseth eb5b18e814 Generalize cycle detection. 2018-04-03 16:29:18 +02:00
chriseth 5bdadff0d8 Fix detection of recursive structs. 2018-04-03 16:27:28 +02:00
Jason Cobb e37b619593 Set default fixed point decimal places to 18 2018-03-31 00:56:36 +01:00
chriseth 5c8a6aac69 Prevent encoding of weird types and support packed encoding of external function types. 2018-03-29 09:57:11 +01:00
Federico Bond b79531bebf Improve error message when trying to shift by fractional number 2018-03-22 10:05:49 -03:00
chriseth cc2f71e4ac Move dynamic type removal out of the type system. 2018-03-21 14:53:29 +00:00
chriseth eecc26deec Make external library functions accessible. 2018-03-13 17:18:46 +01:00
Daniel Kirchner fb4d01e2cd Add gasleft to FunctionType::richIdentifier(). 2018-03-06 17:29:04 +01:00
chriseth 08b6a72d37 Fix multi-dimensional arrays in the ABI. 2018-03-01 14:28:27 +01:00
Alex Beregszaszi b62d43912b Merge pull request #3589 from ethereum/identifiers
Clean up type identifiers
2018-02-26 20:27:26 +01:00
Alex Beregszaszi b471983e3c Use new escaping helpers for type identifiers 2018-02-26 19:09:43 +01:00
Alex Beregszaszi 2e7067fbe4 Rename Types::identifier to Types::richIdentifier 2018-02-26 19:09:43 +01:00
Alex Beregszaszi 751705978e Add helpers escapeIdentifier to Types 2018-02-26 19:09:39 +01:00
chriseth 4da20bdf01 Fix: Function types for getters should not have storage pointers. 2018-02-26 11:17:40 +01:00
chriseth 917dd28eef Simplify FunctionType constructors. 2018-02-26 10:45:41 +01:00
chriseth 560fbd0df1 Always use shortened literal number representation. 2018-02-13 11:43:47 +01:00
Federico Bond a320ffeafd Avoid output messages size blow-up using huge bignums literals 2018-02-12 22:53:33 +00:00
Kwang Yul Seo d70ff5f8c3 Remove a redundant check
m_type can't be FunctionType::Kind::DelegateCall.
2017-11-13 09:54:55 +09:00
Alex Beregszaszi 475b818801 Remove obsolete createTypeError in AST 2017-10-05 20:18:46 +01:00
Alex Beregszaszi 09276cb9d3 Do not add members of address to contracts in experimental 0.5.0 2017-10-05 11:42:34 +01:00
Alex Beregszaszi a9847c9551 Use solAssert and not assert 2017-10-04 13:05:55 +01:00
Alex Beregszaszi d5d1a08b09 Pull out helper to apply address member to contract members 2017-09-28 14:54:15 +01:00
Alex Beregszaszi aa6de49457 Simplify address overloading 2017-09-28 14:53:41 +01:00
Alex Beregszaszi ee65ecfb3b Ensure that address types are always declared as 160bit 2017-09-26 22:46:33 +01:00
chriseth 0696545808 Check for interface types of members and cache recursion check. 2017-09-16 12:31:13 +01:00
chriseth 70d70e7816 Implement struct encoder. 2017-09-16 12:31:12 +01:00
chriseth 36a90289e6 Fix interface type conversion internal to structs. 2017-09-16 12:12:43 +01:00
chriseth 080be885f8 Function signatures containing structs. 2017-09-16 12:12:43 +01:00
chriseth 59ea19b3b9 Check for recursive structs. 2017-09-16 12:12:43 +01:00
chriseth 2e72bd163a Allow structs as part of function interfaces. 2017-09-16 12:12:43 +01:00
Alex Beregszaszi fd1f8ab38b Rename .sig to .selector on function types 2017-09-13 11:40:57 +01:00
Alex Beregszaszi 58f7a27ee0 Add sig member on function type 2017-09-13 11:40:57 +01:00
chriseth 93b1cc9702 Merge pull request #2833 from ethereum/statemutability-builtins
Mark all built in functions with appropriate statemutability
2017-08-29 15:24:51 +02:00
Alex Beregszaszi 7fb4a64136 Move all file specific globals to anonymous namespace 2017-08-29 11:09:18 +01:00
Alex Beregszaszi 79e84a8fa4 Swap declaration/statemutability in FunctionType constructor 2017-08-28 19:43:35 +01:00
Alex Beregszaszi aa94000a91 Mark all built in functions with appropriate statemutability 2017-08-28 19:43:35 +01:00
Alex Beregszaszi c7cb00d49a Mark event non-payable and not view 2017-08-28 16:37:45 +01:00
Alex Beregszaszi f2d6226718 Some smaller issues found by Covertiy Scan 2017-08-22 13:55:28 +01:00
Alex Beregszaszi b25f0c52ac Reject the creation of interface with the new statement 2017-08-21 23:02:18 +01:00
Alex Beregszaszi 93be0dd923 FunctionType comparison/identifer to support all statemutability levels 2017-08-16 17:23:08 +01:00
chriseth 2411f5d839 Merge pull request #2704 from ethereum/newEncoder
New ABI encoder
2017-08-14 17:04:00 +02:00
Alex Beregszaszi a26a5f20ce Remove constant/payable in all function types 2017-08-14 14:21:47 +01:00
Alex Beregszaszi 2a9ba937ba Replace constant/payable with StateMutability in AST 2017-08-14 14:21:47 +01:00
chriseth 77b26552b1 Allow multi-dimensional arrays in interfaces. 2017-08-14 12:44:25 +02:00
chriseth a7a9ed4718 Merge pull request #2727 from ethereum/simplify-types
Simplify if/else statements in Types
2017-08-11 11:46:16 +02:00
Alex Beregszaszi 3dcf089c3f Simplify if/else statements in Types 2017-08-10 19:14:33 +01:00
gubatron ad7a63f890 FunctionType operator== boolean refactor 2017-08-10 17:04:40 +01:00