Daniel Kirchner
|
44374a5846
|
Remove "constant" from JSON AST.
|
2018-08-06 11:15:25 +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 |
|
chriseth
|
e3c2f20f6e
|
Merge pull request #4439 from ethereum/address_members
[BREAKING] Enforce address members not accessible by contract instance
|
2018-07-19 09:24:27 +02:00 |
|
Erik Kundt
|
182a0a9551
|
Disallows old constructor syntax.
|
2018-07-18 14:29:01 +02:00 |
|
Leonardo Alt
|
0075f4239a
|
Address members not accessible by contract instance
|
2018-07-17 13:33:23 +01:00 |
|
Daniel Kirchner
|
fc370591f0
|
Disallow multi variable declarations with mismatching number of values.
|
2018-07-12 20:33:51 +02: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 |
|
chriseth
|
0e9415bc31
|
Merge pull request #4468 from ethereum/variableDeclarationClenaup
Remove mentions of ``var`` in VariableDeclarationStatement comment.
|
2018-07-10 17:50:02 +02:00 |
|
chriseth
|
187eef36ad
|
Remove mentions of `var ` in VariableDeclarationStatement comment.
|
2018-07-10 14:55:50 +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 |
|
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 |
|
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 |
|
Alex Beregszaszi
|
4cdb6c809a
|
Change comments
|
2018-06-14 09:31:28 +01: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 |
|
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 |
|
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
|
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 |
|
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 |
|
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 |
|
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 |
|
Erik Kundt
|
8935c0dd2f
|
Uses short string representation of TypePointer
|
2018-04-12 21:14:50 +02:00 |
|
chriseth
|
7054defdd6
|
Merge pull request #3364 from ethereum/revertWithReason
Revert with reason
|
2018-04-12 21:01:08 +02: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 |
|
chriseth
|
f00bb43593
|
Allow function overloads involving MagicVariableDeclarations.
|
2018-04-12 13:09:37 +02:00 |
|
chriseth
|
17fc0f54b5
|
Use FunctionTypePointer (adds `const `).
|
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
|
daa69df447
|
Error on invalid arithmetic with constant expressions.
|
2018-04-11 21:17:10 +02:00 |
|
Jason Cobb
|
3b7b962b66
|
Fix bug in typechecking when comparing rational literals
|
2018-04-11 12:03:08 +02:00 |
|
Daniel Kirchner
|
3eedbc6a9c
|
Error when using no parentheses in modifier-style constructor calls.
|
2018-04-10 12:09:34 +02:00 |
|
chriseth
|
b52614116e
|
Merge pull request #3821 from ethereum/warn-constructor-override
Warn constructor override
|
2018-04-10 11:39:31 +02:00 |
|
hydai
|
aaa8edc36d
|
Fixed typos
|
2018-04-10 13:41:35 +08:00 |
|
Daniel Kirchner
|
b918a105a4
|
Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler.
|
2018-04-09 15:26:08 +02:00 |
|
chriseth
|
5b1c0506fa
|
Allow `memory ` suffix for internal elementary type parsing.
|
2018-04-05 16:06:04 +02:00 |
|
Daniel Kirchner
|
037eba20fc
|
Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesis
Error when using empty parentheses for base class constructors that r…
|
2018-04-05 14:43:28 +02:00 |
|
Alex Beregszaszi
|
36d6c27e68
|
Merge pull request #3745 from ethereum/fixRecursion
Fix invalid recursion errors for structs
|
2018-04-05 12:04:54 +02:00 |
|
Daniel Kirchner
|
96eff0ff6a
|
Error when using empty parenthesis for base class constructors that require arguments.
|
2018-04-05 11:52:22 +02:00 |
|
Daniel Kirchner
|
d664a599e6
|
Constructors are defined using the `constructor ` keyword.
|
2018-04-03 18:21:55 +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 |
|
chriseth
|
6777f7a57f
|
Optimize across MLOAD if MSIZE is not used.
|
2018-04-03 14:34:32 +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 |
|
chriseth
|
3bb54e8bd5
|
Merge pull request #3775 from federicobond/improve-error-fractional-shift
Improve error message when attempting to shift by fractional number
|
2018-03-28 11:16:44 +02:00 |
|
Alex Beregszaszi
|
8bae2dba7c
|
Introduce inContractKind helper on FunctionDefinition
|
2018-03-26 11:37:38 +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 |
|
chriseth
|
95ca829750
|
Merge pull request #3663 from ethereum/gasleftEmscripten
Add gasleft to FunctionType::richIdentifier().
|
2018-03-06 18:06:30 +01:00 |
|
Daniel Kirchner
|
fb4d01e2cd
|
Add gasleft to FunctionType::richIdentifier().
|
2018-03-06 17:29:04 +01:00 |
|
Alex Beregszaszi
|
14b12ae745
|
Merge pull request #2966 from ethereum/useStaticCall
Use STATICCALL for pure function calls.
|
2018-03-06 17:07:03 +01:00 |
|
Alex Beregszaszi
|
83dacbf669
|
Merge pull request #3549 from ethereum/fixmultidim
Properly detect which array and struct types are unsupported by the old ABI encoder.
|
2018-03-06 15:51:17 +01:00 |
|
chriseth
|
b467116ea8
|
Use STATICCALL for pure function calls if EVM version supports it and 0.5.0 is activated.
|
2018-03-06 15:30:18 +01:00 |
|
chriseth
|
f6c0daec14
|
Merge pull request #3652 from ethereum/gasleft_v2
Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
|
2018-03-06 09:26:14 +01:00 |
|
Daniel Kirchner
|
91b13b734d
|
Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType.
|
2018-03-05 23:16:26 +01:00 |
|
chriseth
|
3793aa405b
|
Merge pull request #3643 from ethereum/gasleft
Move msg.gas to global function gasleft(). Closes #2971.
|
2018-03-05 20:11:37 +01:00 |
|
Daniel Kirchner
|
3340053fd9
|
Style improvements.
|
2018-03-05 17:00:37 +01:00 |
|
chriseth
|
477571e190
|
Do not warn about 0.5.0 experimental pragma.
|
2018-03-05 12:14:44 +01:00 |
|
Daniel Kirchner
|
c633c0eacb
|
Move msg.gas to global function gasleft(). Closes #2971.
|
2018-03-05 11:18:04 +01:00 |
|
chriseth
|
08b6a72d37
|
Fix multi-dimensional arrays in the ABI.
|
2018-03-01 14:28:27 +01:00 |
|
chriseth
|
6b9dda06f3
|
Enable C99-scoping with the 0.5.0-experimental pragma.
|
2018-02-27 12:17:25 +01:00 |
|
chriseth
|
e6d48bb72a
|
Blocks and for loops can be scopes.
|
2018-02-27 12:17:25 +01:00 |
|
chriseth
|
5f20129e65
|
Scopes do not have to be declarations.
|
2018-02-27 12:17:25 +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
|
388718b59f
|
Introduce emit statement.
|
2018-02-22 15:17:30 +01:00 |
|
Emilio Almansi
|
ca6957da37
|
Added property _documentation_ to Function, Event, and Modifier definition classes.
|
2018-02-19 16:45:38 +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 |
|
Alex Beregszaszi
|
5226d54ed1
|
Improve error message for constant evaluator
|
2017-12-12 09:39:26 +00:00 |
|
Alex Beregszaszi
|
8d26894841
|
Show checksummed address always (prepend with 0)
|
2017-11-17 00:46:45 +00:00 |
|
Alex Beregszaszi
|
1d5dd909b4
|
Do not try to display checksummed address for too-short/long address literals
|
2017-11-17 00:46:45 +00:00 |
|
wadeAlexC
|
8a6692b2cf
|
Improves address literal checksum error message
|
2017-11-17 00:46:44 +00:00 |
|
Kwang Yul Seo
|
02db1ad584
|
Print using for directive in ASTPrinter
|
2017-11-16 01:36:57 +09:00 |
|
Alex Beregszaszi
|
ed3ce43d6d
|
Merge pull request #3189 from kseo/unused
Remove unused method
|
2017-11-15 16:31:22 +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 |
|
Kwang Yul Seo
|
486647fd38
|
Remove unused method
The body of Function::functionIdentifier is missing and is not used.
|
2017-11-12 22:27:05 +09:00 |
|
chriseth
|
114983e079
|
Missing forward declaration.
|
2017-10-17 18:30:04 +01: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 |
|
Alex Beregszaszi
|
efa4598c23
|
Mark functions static
|
2017-09-20 01:23:21 +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
|
6385641f6e
|
Fix tests.
|
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
|
5b5367dc12
|
Warn if no visibility is specified on contract functions.
|
2017-09-14 15:58:04 +01:00 |
|
Alex Beregszaszi
|
06c2ddfd50
|
Add experimental feature 'v0.5.0'
|
2017-09-13 19:22:03 +01:00 |
|
Alex Beregszaszi
|
5c9dbd5083
|
Merge pull request #2473 from ethereum/functiontype-sig
Add .selector member on function types
|
2017-09-13 17:35:48 +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
|
342367d5dc
|
Store super function.
|
2017-09-06 13:50:49 +02:00 |
|
chriseth
|
5470da4d9a
|
View-pure checker.
|
2017-09-06 13:50:49 +02:00 |
|
Alex Beregszaszi
|
eb33e76416
|
Use Json::valueToQuotedString directly
|
2017-08-29 15:51:37 +01:00 |
|
chriseth
|
cd22da1d9e
|
Remove escape function.
|
2017-08-29 15:50:28 +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
|
0e11e5af10
|
Include all overloaded events in ABI
|
2017-08-28 20:07:43 +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
|
8e5f9c5981
|
Removed unused natspec members of ContractDefinition
|
2017-08-25 20:29:43 +01:00 |
|
chriseth
|
4b0e30d259
|
Cleanup of Common.h
|
2017-08-25 14:54:23 +02:00 |
|
Alex Beregszaszi
|
deeac7e2e0
|
Rename statemutability to stateMutability in ABI/AST
|
2017-08-24 15:23:00 +01:00 |
|
Alex Beregszaszi
|
f646247dfb
|
Consider pure as constant for the AST JSON (to aid static analyzers)
|
2017-08-24 14:13:34 +01:00 |
|
Alex Beregszaszi
|
5668377c72
|
Introduce pure specifier on functions
|
2017-08-24 13:46:18 +01:00 |
|
chriseth
|
c93f0434cd
|
Use experimental feature pragma for SMT checker.
|
2017-08-23 17:37:35 +02:00 |
|
chriseth
|
1ece7bf443
|
z3 conditions
|
2017-08-23 14:24:04 +02:00 |
|
chriseth
|
c5f11d938f
|
Merge pull request #2656 from ethereum/performance1
Avoid some Json copy operations.
|
2017-08-23 13:26:43 +02:00 |
|