chriseth
|
c61cc98d0d
|
Merge pull request #4726 from ethereum/moveNothrow
Make MemberList nothrow move constructible.
|
2018-08-07 16:11:59 +02:00 |
|
Alex Beregszaszi
|
b0f9fc5af0
|
Fix type identifiers for RationalNumberType
|
2018-08-07 13:23:14 +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
|
90a5928b88
|
Merge pull request #4522 from ethereum/fullEncodingType
Isolate determining the encoding type into its own function.
|
2018-08-02 15:01:38 +02:00 |
|
Christian Parpart
|
38f9667e09
|
Guard CycleDetector against recursion exhaustion.
fixes #3935.
|
2018-08-01 12:02:59 +01: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 |
|
Daniel Kirchner
|
e8e5e12ad2
|
Fix literals with exponents with mantissa of zero.
|
2018-07-11 15:34:17 +02:00 |
|
Cryptomental
|
140dbfdbd8
|
Code, Changelog, ReleaseChecklist: Fix typos.
Refs: #4442
|
2018-07-11 00:26:23 +02:00 |
|
Daniel Kirchner
|
ece9afef8f
|
Check for matching number of components in TupleType::isImplicitlyConvertibleTo instead of the TypeChecker.
|
2018-07-10 12:17:01 +02:00 |
|
chriseth
|
4a842ecc82
|
Merge pull request #4097 from ethereum/noPackedExceptForPacked
[BREAKING] call only takes a single argument and does not pad
|
2018-06-27 18:29:01 +02:00 |
|
chriseth
|
503eb8caa5
|
Merge pull request #4342 from rnaby/l/a/Types
RationalNumberType::isImplicitlyConvertibleTo Refactor
|
2018-06-26 17:54:09 +02:00 |
|
chriseth
|
033672cc48
|
Fix: Call functions do not take variable arguments.
|
2018-06-25 17:17:48 +02:00 |
|
chriseth
|
23c4142005
|
Bare functions take single bytes argument.
|
2018-06-25 17:01:45 +02:00 |
|
Jason Cobb
|
3d88eca531
|
Disallow implicit conversion from rational (literal) to address
|
2018-06-25 16:17:50 +02:00 |
|
Khan M Rashedun-Naby
|
097a3fabf4
|
RationalNumberType::isImplicitlyConvertibleTo Refactor
|
2018-06-24 08:15:25 +06:00 |
|
Daniel Kirchner
|
510f227bd7
|
Additional test and more explanation.
|
2018-06-12 15:53:15 +02: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
|
8d38d4d296
|
Use boost::multiprecision::pow explicitly
|
2018-06-11 19:31:26 +01:00 |
|
chriseth
|
7cf36331a6
|
Fix bug related to byte array pop.
|
2018-05-31 14:53:33 +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
|
34b5eca1f8
|
Improves assembly and adds more tests.
|
2018-05-30 17:40:33 +02:00 |
|
mingchuan
|
b7cafcbdf9
|
Allow using calldata keyword to specify data location
|
2018-05-30 18:05:55 +08: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 |
|
mingchuan
|
9865012f7b
|
Allow data location suffix for internal elementary type parsing
|
2018-05-22 23:28:12 +08: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 |
|
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 |
|
chriseth
|
8debded743
|
Revert "BREAKING: Bool variables should not allow arithmetic comparison"
|
2018-05-02 15:56:59 +02:00 |
|
chriseth
|
42289b642f
|
Merge pull request #4003 from ethereum/bool_vars_comparison
BREAKING: Bool variables should not allow arithmetic comparison
|
2018-05-02 15:56:06 +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 |
|
Alex Beregszaszi
|
e0b178e1c5
|
Disable FixedBytesType(0) aka bytes0
|
2018-04-30 12:23:30 +01:00 |
|
Leonardo Alt
|
ab251c7e7d
|
Bool variables should not allow arithmetic comparison
|
2018-04-27 11:35:58 +02:00 |
|
Alex Beregszaszi
|
5423974e87
|
Remove category check in FixedPointType:binaryOperatorResult as commonType handles the same
|
2018-04-20 17:54:34 +01:00 |
|
Jason Cobb
|
57003c534a
|
Types changes for fixed points
|
2018-04-20 17:53:42 +01:00 |
|
Alex Beregszaszi
|
754d79edfa
|
Disallow explicit conversion of bytesXX to contract
|
2018-04-19 15:58:14 +02:00 |
|
Erik Kundt
|
33fbf88707
|
Limits rational numbers to 4096 bits.
|
2018-04-16 11:45:55 +02:00 |
|
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 |
|
Alex Beregszaszi
|
1b32cdcf21
|
Check for payable when comparing function types
|
2017-08-10 17:03:45 +01:00 |
|
chriseth
|
b38f31617e
|
Add isDynamicallyEncoded member function to types.
|
2017-08-09 23:18:42 +01:00 |
|
Alex Beregszaszi
|
b7642dc8a7
|
Disallow gas modifier on sha255/ripemd160/ecrecover
|
2017-08-01 20:55:01 +01:00 |
|
Alex Beregszaszi
|
6d37f30d76
|
Rename Bare to Barecall
|
2017-08-01 10:47:10 +01:00 |
|
Alex Beregszaszi
|
d4e44ecb46
|
Disallow externalSignature for fallback functions
|
2017-07-27 21:52:58 +01:00 |
|
Alex Beregszaszi
|
8098030986
|
Use solAssert instead of boost throw where possible
|
2017-07-26 22:23:21 +01:00 |
|
chriseth
|
72917c4f35
|
Cleanup fixed point type changes
|
2017-07-19 22:13:42 +01:00 |
|
VoR0220
|
78769f3b39
|
Change fixed point types to have digit count
Signed-off-by: VoR0220 <rj@erisindustries.com>
|
2017-07-19 21:49:01 +01:00 |
|
Alex Beregszaszi
|
cb4875a28b
|
Issue error properly for oversized arrays for calldata
|
2017-07-13 22:33:46 +02:00 |
|
Federico Bond
|
f20b150f38
|
Add type error when attempting value transfer to a non-payable contract
|
2017-07-12 23:57:53 -03:00 |
|
chriseth
|
01a1296e90
|
Helper functions.
|
2017-07-11 11:24:41 +02:00 |
|
chriseth
|
4407a13c17
|
Only allow equality checks for internal function types.
|
2017-06-26 16:30:37 +02:00 |
|
chriseth
|
f47e6e90fb
|
Disallow comparisons between some types.
|
2017-06-26 16:30:36 +02:00 |
|
Alex Beregszaszi
|
d5f8ce90c7
|
Merge interface/Exceptions and interface/Utils
|
2017-06-22 11:25:07 +01:00 |
|
chriseth
|
dea7b864e6
|
Compact format for AST-Json with backwards compatibility
|
2017-05-17 11:14:33 +02:00 |
|
Alex Beregszaszi
|
3ae88377d6
|
Change references to FunctionType::Location
|
2017-03-16 12:49:52 +00:00 |
|
Alex Beregszaszi
|
7123f25210
|
Rename FunctionType::Location to FunctionType::Kind
|
2017-03-16 12:49:17 +00:00 |
|
chriseth
|
0c8a766146
|
Merge pull request #1698 from ethereum/exp-notation
Fix scientific notation in number literals
|
2017-03-15 14:55:45 +01:00 |
|
Alex Beregszaszi
|
e923f27ea8
|
Split out parseRational from isValidLiteral
|
2017-03-15 13:06:27 +00:00 |
|
Alex Beregszaszi
|
dde87de4cf
|
Rename x to value
|
2017-03-15 13:06:27 +00:00 |
|
Alex Beregszaszi
|
a2b9f52ca4
|
Disallow radix points in hex literals
|
2017-03-15 13:06:27 +00:00 |
|
Alex Beregszaszi
|
07045d492f
|
Do not try parsing hex numbers as scientific notation
|
2017-03-15 13:06:27 +00:00 |
|
Alex Beregszaszi
|
dfc8f890bf
|
Support older version of boost
|
2017-03-15 13:06:27 +00:00 |
|
Alex Beregszaszi
|
1083e6da68
|
Support negative exponent
|
2017-03-15 13:06:26 +00:00 |
|
Alex Beregszaszi
|
924a8fff6b
|
Fix exponentional notation in number literals
|
2017-03-15 13:06:24 +00:00 |
|
chriseth
|
f39763e91c
|
Type checking for pure expressions.
|
2017-03-13 13:30:21 +01:00 |
|
Ryan Casey
|
fe8d09a3c1
|
Fix 'ambiguous overload for operator==' Boost error.
|
2017-03-09 17:04:26 -08:00 |
|
chriseth
|
a689152c4b
|
Convert reference types to pointers in member function conversion.
|
2017-03-01 16:02:36 +01:00 |
|
chriseth
|
d2c79bf8e9
|
Merge pull request #1700 from ethereum/fixNoMobile
Some checks for the existence of mobile type.
|
2017-02-24 15:50:45 +01:00 |
|
chriseth
|
92bf5154fd
|
Merge branch 'develop' into fixNoMobile
|
2017-02-24 10:39:55 +01:00 |
|
Alex Beregszaszi
|
4d290e551c
|
Disallow setting .gas() on .transfer()
|
2017-02-24 00:27:36 +00:00 |
|
Alex Beregszaszi
|
81006dae98
|
Support gas modifier on addr.transfer()
|
2017-02-24 00:18:18 +00:00 |
|
Alex Beregszaszi
|
4264625c69
|
Implement address.transfer()
|
2017-02-24 00:17:45 +00:00 |
|
chriseth
|
c3c3cccbec
|
Fix early exist for fatal errors.
|
2017-02-16 14:57:00 +01:00 |
|
chriseth
|
dcc16c81e2
|
Some checks for the existence of mobile type.
|
2017-02-16 11:46:27 +01:00 |
|
Alex Beregszaszi
|
f3158f92d6
|
Support revert()
|
2017-02-10 22:40:42 +00:00 |
|
Alex Beregszaszi
|
767ec1d670
|
Support explicit conversion of external function type to address
|
2017-02-01 12:23:47 +00:00 |
|
chriseth
|
a9c6ff4ac8
|
Refactor json return type generation.
|
2017-01-26 18:21:19 +01:00 |
|
chriseth
|
1316bb7565
|
Warn about invalid checksums of addresses.
|
2017-01-24 23:37:48 +01:00 |
|
chriseth
|
7159944f0f
|
Reset AST node IDs between compilation runs.
|
2017-01-20 12:00:16 +01:00 |
|
chriseth
|
da178d967f
|
Properly escape user strings and lists.
|
2017-01-19 13:23:58 +01:00 |
|
chriseth
|
3fed790a56
|
Type identifiers.
|
2017-01-19 13:23:57 +01:00 |
|
chriseth
|
2738045030
|
Cleaner shift handling and type conversion for binary operations.
|
2016-12-12 11:12:12 +01:00 |
|
chriseth
|
2df60bec92
|
Type after shift should be type of left operand.
|
2016-12-12 11:12:12 +01:00 |
|
Alex Beregszaszi
|
b8b4f5e9f9
|
Support bitshifting in variables
|
2016-12-12 11:12:10 +01:00 |
|
Alex Beregszaszi
|
a9e92cb686
|
Rename dev::validate to dev::validateUTF8
|
2016-11-28 22:28:21 +00:00 |
|
Alex Beregszaszi
|
c01426efec
|
Make position optional in dev::validate
|
2016-11-28 22:27:55 +00:00 |
|
chriseth
|
da566b956e
|
Indentation.
|
2016-11-25 14:36:44 +01:00 |
|
Yoichi Hirai
|
e136ec8704
|
ast: string literals that are not valid UTF are not convertible to strings
|
2016-11-25 13:36:06 +01:00 |
|
VoR0220
|
3f9f725737
|
Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
|
2016-11-23 12:22:33 +01:00 |
|
chriseth
|
2c14a96820
|
Some more assertions and style changes.
|
2016-11-16 15:09:01 +01:00 |
|
chriseth
|
ec31d08775
|
Change encoding to address-funid and add "function" as ABI type.
|
2016-11-16 14:37:19 +01:00 |
|
chriseth
|
22b4d1b29a
|
Check that no internals are used in any external function type.
|
2016-11-16 14:37:18 +01:00 |
|
chriseth
|
925d674146
|
Disallow payable internal functions.
|
2016-11-16 14:37:18 +01:00 |
|
chriseth
|
f21f794f3c
|
delete for function types
|
2016-11-16 14:37:18 +01:00 |
|
chriseth
|
ff3553a348
|
Change alignment.
|
2016-11-16 14:37:18 +01:00 |
|