Alex Beregszaszi
|
d56acb68ab
|
Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature.
|
2018-04-11 22:32:10 +02:00 |
|
chriseth
|
2ad1acaf72
|
Warn if modifiers are applied to functions without implementation.
|
2018-04-11 22:00:21 +02:00 |
|
Daniel Kirchner
|
daa69df447
|
Error on invalid arithmetic with constant expressions.
|
2018-04-11 21:17:10 +02:00 |
|
Daniel Kirchner
|
cb548f6f53
|
Fix ConstantEvaluator to correctly handle single element tuples.
|
2018-04-11 18:30:34 +02:00 |
|
chriseth
|
c9bdbcf470
|
Merge pull request #3309 from ethereum/limit-errors
Limit the number of errors output in a single run to 256
|
2018-04-11 16:13:41 +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
|
549ba801fb
|
Use the most derived contract as main location in case of diamond inheritance.
|
2018-04-09 16:23:18 +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 |
|
Daniel Kirchner
|
b8fdb666e2
|
Allow duplicated constructor calls, if no arguments; support for multiple inheritance; backwards compatibility.
# tmp
|
2018-04-09 15:26:05 +02:00 |
|
Federico Bond
|
4e037281ac
|
Error on duplicated super constructor calls
|
2018-04-09 11:22:35 +02:00 |
|
Daniel Kirchner
|
b2753aa053
|
Static Analyzer: Fix non-deterministic order of unused variable warnings.
|
2018-04-06 18:10:26 +02:00 |
|
Alex Beregszaszi
|
e8be0e61b3
|
Catch FatalError in CompilerStack::analysis to cover all the analysis tests
|
2018-04-06 13:52:19 +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 |
|
Alex Beregszaszi
|
7753249f64
|
Merge pull request #3699 from ethereum/interfaceExternalVisibility
Defaults to external visibility for interfaces.
|
2018-04-03 15:15:36 +01:00 |
|
Erik Kundt
|
f9efa41749
|
Makes visibility warning more concise.
|
2018-04-03 11:16:50 +02:00 |
|
bitshift
|
8fe1cfb12e
|
Defaults to external visibility for interfaces.
|
2018-04-03 11:16:44 +02:00 |
|
chriseth
|
326d656a55
|
Merge pull request #3790 from ethereum/empty-structs
Disallow empty structs
|
2018-03-30 13:58:35 +02:00 |
|
chriseth
|
5c8a6aac69
|
Prevent encoding of weird types and support packed encoding of external function types.
|
2018-03-29 09:57:11 +01:00 |
|
Alex Beregszaszi
|
ebb12756ad
|
Still allow empty structs for non-0.5.0 mode
|
2018-03-27 15:49:41 +01:00 |
|
Alex Beregszaszi
|
b540ba527a
|
Disallow empty structs
|
2018-03-27 15:49:41 +01:00 |
|
chriseth
|
62559cf127
|
Merge pull request #3681 from ethereum/interface-external
Allow overriding external functions in interfaces with public in a child
|
2018-03-27 15:47:59 +02:00 |
|
bitshift
|
2c56e53046
|
Changes deprecation and adjusts tests.
|
2018-03-27 03:30:03 +01:00 |
|
bitshift
|
ed632025fe
|
Moves blockhash function to global level.
|
2018-03-27 03:30:03 +01:00 |
|
Alex Beregszaszi
|
8bae2dba7c
|
Introduce inContractKind helper on FunctionDefinition
|
2018-03-26 11:37:38 +01:00 |
|
Alex Beregszaszi
|
ef3595b000
|
Allow overriding external functions in interfaces with public in an implementing contract
|
2018-03-26 11:35:17 +01:00 |
|
chriseth
|
c2709a2d8e
|
Decode dynamic data.
|
2018-03-21 14:53:29 +00:00 |
|
chriseth
|
cc2f71e4ac
|
Move dynamic type removal out of the type system.
|
2018-03-21 14:53:29 +00:00 |
|
Alex Beregszaszi
|
ba8819542f
|
Merge pull request #3611 from ethereum/warn-using-address-overload
Warn if using address overloads on contracts
|
2018-03-06 19:13:55 +01:00 |
|
chriseth
|
baa1526539
|
Merge pull request #3664 from ethereum/literalsHexUnitSmallFix
Use double quotes for suggestion about hex literals and denominations.
|
2018-03-06 19:01:25 +01:00 |
|
Daniel Kirchner
|
b4d38c5491
|
Use double quotes for suggestion about hex literals and denominations.
|
2018-03-06 18:09:54 +01:00 |
|
chriseth
|
fd1662d1c4
|
Warn about using loose inline assembly features as experimental 0.5.0 feature.
|
2018-03-06 17:45:34 +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
|
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 |
|
chriseth
|
1ceb0b04c1
|
Assert that address members are not present on contract types in 0.5.0.
|
2018-03-05 15:55:02 +01:00 |
|
Alex Beregszaszi
|
fd60c1cf86
|
Warn if using address overloads on contracts
|
2018-03-05 15:50:27 +01:00 |
|
chriseth
|
6dc137317f
|
Merge pull request #3569 from ethereum/evmVersion
EVM version
|
2018-03-05 12:10:49 +01:00 |
|
Daniel Kirchner
|
c633c0eacb
|
Move msg.gas to global function gasleft(). Closes #2971.
|
2018-03-05 11:18:04 +01:00 |
|
Daniel Kirchner
|
454b470cee
|
Suggest expressions of the form '0x1234 * 1 day' instead of hex numbers with unit denominations.
|
2018-03-02 10:22:58 +01:00 |
|
chriseth
|
dc317a44e0
|
Provide EVM version to assembly analysis.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
a53d6b499d
|
Use EVM version in type checker.
|
2018-03-01 17:19:35 +01:00 |
|
Daniel Kirchner
|
bd4c2b9bde
|
Deprecate using unit denominations in combination with hex numbers. Closes #3574.
|
2018-03-01 16:58:55 +01:00 |
|
chriseth
|
08b6a72d37
|
Fix multi-dimensional arrays in the ABI.
|
2018-03-01 14:28:27 +01:00 |
|
chriseth
|
22d26e059c
|
Merge pull request #3613 from ethereum/require-visibility
Issue error if no visibility is specified (on 0.5.0)
|
2018-02-28 16:33:39 +01:00 |
|
Alex Beregszaszi
|
a566825589
|
Issue error if no visibility is specified (on 0.5.0)
|
2018-02-27 16:31:53 +01:00 |
|
chriseth
|
88a5c66f4a
|
Only active variables at the point of their declaration.
|
2018-02-27 12:17:25 +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 |
|
chriseth
|
53289e15a2
|
Make all lookups recursive by default.
|
2018-02-27 12:17:25 +01:00 |
|
Alex Beregszaszi
|
5c0d82059f
|
Turn throw into a syntax error for 0.5.0
|
2018-02-27 02:10:24 +01:00 |
|
chriseth
|
8c1a8ecc2e
|
Warn about using events without emit.
|
2018-02-22 15:17:42 +01:00 |
|
chriseth
|
388718b59f
|
Introduce emit statement.
|
2018-02-22 15:17:30 +01:00 |
|
chriseth
|
c182284d28
|
Do not warn about analysis-only experimental features.
|
2018-02-22 14:50:20 +01:00 |
|
chriseth
|
4272d16f30
|
Fix shadowing for imports with aliases.
|
2018-02-20 13:06:28 +01:00 |
|
chriseth
|
930485cd24
|
Properly warn about the use of constants in inline assembly in connection with `_offset and _slot `.
|
2018-02-19 19:22:39 +01:00 |
|
chriseth
|
e08a206070
|
Disallow uninitialized storage pointers as experimental 0.5.0 feature.
|
2018-02-15 11:58:50 +01:00 |
|
chriseth
|
23484ba6a4
|
Merge pull request #3498 from ethereum/allowthisfselector
Allow `this.f.selector` to be pure.
|
2018-02-13 17:08:35 +01:00 |
|
chriseth
|
1dcd7c5e0b
|
Fix: remove reference.
|
2018-02-13 15:04:10 +00:00 |
|
chriseth
|
dc0a25f1cd
|
Minor changes.
|
2018-02-13 15:04:03 +00:00 |
|
Balajiganapathi S
|
8a491c77ba
|
Restructure code for alternative identifier suggestions
|
2018-02-13 15:00:15 +00:00 |
|
Balajiganapathi S
|
b1417b318f
|
Move string distance function to utils and format error message
|
2018-02-13 14:59:33 +00:00 |
|
Balajiganapathi S
|
2859834e58
|
Suggest alternatives when identifier not found.
|
2018-02-13 14:54:36 +00:00 |
|
chriseth
|
5916cf1e0a
|
Allow this.f.selector to be pure.
|
2018-02-13 11:00:59 +01:00 |
|
Jimmy Vogel
|
dc5ad899d0
|
Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature)
|
2018-02-12 22:37:26 +00:00 |
|
Federico Bond
|
75a3a707a2
|
Fix segfault with undeclared array types
|
2018-02-11 21:40:41 -03:00 |
|
Alex Beregszaszi
|
32300ea3ff
|
Merge pull request #3360 from federicobond/nonfatal-reference-errors
Replace some fatal errors when resolving references with normal ones
|
2018-02-04 13:07:55 +00:00 |
|
Federico Bond
|
600e66e605
|
Replace some fatal errors when resolving references with normal ones
|
2018-02-02 14:09:32 -03:00 |
|
Alex Beregszaszi
|
b545987ec7
|
Issue warning for using public visibility for interface functions
|
2018-02-01 10:28:00 +00:00 |
|
chriseth
|
124190336b
|
Split inline assembly into loose and strict flavours.
|
2018-01-06 01:23:38 +00:00 |
|
Alex Beregszaszi
|
2cdd789b5d
|
Merge pull request #3297 from ethereum/separate_expression_and_statement
Separate expression and statement
|
2018-01-04 12:04:19 +00:00 |
|
Federico Bond
|
a0771691ff
|
Improve error message for wrong struct initialization (#3359)
|
2018-01-04 11:24:39 +01:00 |
|
chriseth
|
3d1830f3f2
|
Merge pull request #3232 from ethereum/simplifyConstant
Simplify ConstantEvaluator.
|
2017-12-14 16:14:46 +01:00 |
|
chriseth
|
54b6739962
|
Separate expression and statement.
|
2017-12-13 12:28:15 +01:00 |
|
chriseth
|
e7ed9d878e
|
Re-use commonType
|
2017-12-12 10:45:40 +01:00 |
|
chriseth
|
48c7ba72f3
|
Simplify ConstantEvaluator.
|
2017-12-12 09:44:18 +00:00 |
|
Alex Beregszaszi
|
7ff9a85592
|
Reduce the types of errors outputted by ConstantEvaluator
|
2017-12-12 09:40:29 +00:00 |
|
Alex Beregszaszi
|
5226d54ed1
|
Improve error message for constant evaluator
|
2017-12-12 09:39:26 +00:00 |
|
chriseth
|
2d171c25e5
|
Limit number of secondary source locations.
|
2017-12-12 10:27:28 +01:00 |
|
chriseth
|
9e36c189e5
|
Fix struct encoding warning for libraries.
|
2017-12-11 02:34:42 +00:00 |
|
Alex Beregszaszi
|
e9d256ddf4
|
Suggest the experimental ABI encoder if using structs as function parameters
|
2017-12-11 02:34:42 +00:00 |
|
Alex Beregszaszi
|
745eefa36f
|
Split Instruction and FunctionalInstruction in Julia
|
2017-12-05 14:52:11 +00:00 |
|
chriseth
|
19e067465a
|
Unary operators and division.
|
2017-11-30 01:20:21 +01:00 |
|
chriseth
|
6dbc34e16e
|
If statement for Iulia / inline assembly.
|
2017-11-22 16:25:24 +01:00 |
|
Alex Beregszaszi
|
455e51a608
|
Improve cyclic constant error message
|
2017-11-22 02:11:22 +00:00 |
|
Balajiganapathi S
|
d102deaec9
|
Detect cyclic constant definitions
|
2017-11-22 02:07:56 +00:00 |
|
Balajiganapathi S
|
165857b1d4
|
Allow constant integer variables as array lengths.
|
2017-11-22 01:41:46 +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
|
33664c04a8
|
Update outdated comments
_errors -> _errorReporter.
|
2017-11-16 00:28:41 +09:00 |
|
Kwang Yul Seo
|
f364529713
|
Fix a typo
A semicolon was mistakenly inserted where a string concatenation
operator was meant.
|
2017-11-14 21:50:09 +09:00 |
|
Alex Beregszaszi
|
3a8324266f
|
More detailed errors for invalid array lengths (such as division by zero).
|
2017-10-20 11:59:18 +01:00 |
|
Alex Beregszaszi
|
10677125ae
|
Turn usage of callcode into an error as experimental 0.5.0 feature
|
2017-10-19 02:20:30 +01:00 |
|
chriseth
|
8a8a71de84
|
Only check tuples for valid rational numbers if they have more than one element.
|
2017-10-17 19:14:49 +02:00 |
|
Alex Beregszaszi
|
c99d2aae04
|
Validate each tuple literal
|
2017-10-17 18:59:01 +02:00 |
|