Alex Beregszaszi
|
b6dfd9ef54
|
Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO
|
2018-03-01 12:03:56 +01:00 |
|
Leonardo Alt
|
8b1b4b78c0
|
Fix PR comments
|
2018-02-28 18:31:11 +01:00 |
|
Leonardo Alt
|
cff0836c03
|
Fix PR comments
|
2018-02-28 18:05:20 +01:00 |
|
Leonardo Alt
|
21c6b80fc9
|
Supported types listed in SSAVariable
|
2018-02-28 18:05:20 +01:00 |
|
Leonardo Alt
|
3b2851ee41
|
Integer min and max values placed under SymbolicIntVar instead of SMTChecker
|
2018-02-28 18:05:20 +01:00 |
|
Leonardo Alt
|
f41591b3dd
|
[SMTChecker] A little refactoring on SSA vars
|
2018-02-28 18:05:20 +01:00 |
|
chriseth
|
7938339572
|
Merge pull request #3617 from ethereum/jsonio-libraries
Add more comprehensive tests and checks for libraries in JSONIO
|
2018-02-28 17:40:29 +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
|
7897301b71
|
Properly validate invalid hex characters in JSONIO libraries
|
2018-02-28 10:44:48 +01:00 |
|
Alex Beregszaszi
|
83fec0232d
|
Add more comprehensive tests and checks for libraries in JSONIO
|
2018-02-28 10:36:07 +01:00 |
|
chriseth
|
908b46e9a7
|
Merge pull request #3476 from ethereum/scoping
C99/C++ scoping rules
|
2018-02-27 17:06:10 +01:00 |
|
Alex Beregszaszi
|
a566825589
|
Issue error if no visibility is specified (on 0.5.0)
|
2018-02-27 16:31:53 +01:00 |
|
Alex Beregszaszi
|
afa4a48e37
|
Remove ROL/ROR as they are not part of EIP145 anymore
|
2018-02-27 13:42:41 +01:00 |
|
Alex Beregszaszi
|
468d0f6199
|
Warn on using shift instructions
|
2018-02-27 13:42:31 +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 |
|
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
|
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 |
|
Alex Beregszaszi
|
42856e0f53
|
Add assertion for boolean literals in Julia-mode
|
2018-02-22 01:02:23 +01:00 |
|
Alex Beregszaszi
|
ae02bb5aad
|
Raise error on oversized number literals in assembly
|
2018-02-22 01:02:19 +01:00 |
|
chriseth
|
3076a434ba
|
Merge pull request #3554 from ethereum/reuseScannerOrNot
Expect end of string at end of top-level block for assembly parser.
|
2018-02-21 00:41:57 +01:00 |
|
chriseth
|
e2bf5de8a2
|
Expect end of string at end of top-level block for assembly parser.
|
2018-02-21 00:41:39 +01:00 |
|
Alexander Arlt
|
0f29ac4e56
|
Add new JSON API for better abstraction and for supporting strict JSON parsing
|
2018-02-20 21:58:26 +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
|
abc23ac608
|
Merge pull request #3135 from federicobond/formatter-instance
Convert static SourceReferenceFormatter functions to member ones
|
2018-02-19 17:34:07 +01:00 |
|
Emilio Almansi
|
ca6957da37
|
Added property _documentation_ to Function, Event, and Modifier definition classes.
|
2018-02-19 16:45:38 +01:00 |
|
chriseth
|
305d5f70c2
|
Fix scannerFromSourceName use-after-free.
|
2018-02-19 15:13:49 +01:00 |
|
Federico Bond
|
d7532f7b9c
|
Convert static SourceReferenceFormatter functions to member ones
|
2018-02-19 15:04:22 +01:00 |
|
Alexander Arlt
|
1d4547ab03
|
Minor improvement: check sources
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
|
2018-02-16 18:44:46 +01:00 |
|
chriseth
|
2b5a5a8669
|
Make addmod and mulmod revert if the last argument is zero.
|
2018-02-15 13:52:17 +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 |
|
Alex Beregszaszi
|
8f8ad3840e
|
Merge pull request #3349 from federicobond/number-improv
Avoid output messages size blow-up using huge bignums literals
|
2018-02-13 12:36:05 +00:00 |
|
chriseth
|
560fbd0df1
|
Always use shortened literal number representation.
|
2018-02-13 11:43:47 +01:00 |
|
chriseth
|
5916cf1e0a
|
Allow this.f.selector to be pure.
|
2018-02-13 11:00:59 +01:00 |
|
Federico Bond
|
a320ffeafd
|
Avoid output messages size blow-up using huge bignums literals
|
2018-02-12 22:53:33 +00: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
|
6807010dc7
|
Prevent libraries from being called.
|
2018-01-19 16:27:44 +01:00 |
|
Alex Beregszaszi
|
8b20a7cd53
|
Disallow non-functional instructions in parseExpression early
|
2018-01-10 14:16:46 +01:00 |
|
Alex Beregszaszi
|
42f8875770
|
Show restricted instruction warning before argument mismatch issue
|
2018-01-08 00:39:22 +00:00 |
|
Alex Beregszaszi
|
c269a12c5e
|
Support strict assembly mode in AssemblyStack
|
2018-01-06 01:23:38 +00:00 |
|
chriseth
|
124190336b
|
Split inline assembly into loose and strict flavours.
|
2018-01-06 01:23:38 +00:00 |
|
Alex Beregszaszi
|
fcbdaa32b9
|
Simplify parseElementaryOperation in regards to special instructions
|
2018-01-06 00:39:06 +00:00 |
|
chriseth
|
bca01f8f68
|
Merge pull request #3382 from ethereum/julia-identifier-parser
Support some restricted tokens (return, byte, address) as identifier in Julia
|
2018-01-06 00:02:21 +01:00 |
|
Alex Beregszaszi
|
a91393f4d7
|
Support some restricted tokens (return, byte, address) as identifiers in Julia
|
2018-01-05 15:53:49 +00:00 |
|
Alex Beregszaszi
|
9e7e312fdf
|
Properly support library file names containing a colon (such as URLs).
|
2018-01-05 13:24:07 +00:00 |
|
Leonardo Alt
|
d0abc5359b
|
[SMTChecker] Variables are merged after branches (ite variables)
|
2018-01-04 18:20:12 +01:00 |
|
chriseth
|
00692a4ff6
|
Reset source location after using inline assembly.
|
2018-01-04 14:29:03 +01: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 |
|
Alex Beregszaszi
|
8901b38959
|
Merge pull request #3369 from ethereum/jsonio-colon
Properly handle colons in file names within jsonio
|
2018-01-04 11:58:29 +00:00 |
|
Federico Bond
|
a0771691ff
|
Improve error message for wrong struct initialization (#3359)
|
2018-01-04 11:24:39 +01:00 |
|
Alex Beregszaszi
|
ff9fdfac57
|
Properly handle colons in file names within jsonio
|
2018-01-03 15:44:03 +00:00 |
|
Leonardo Alt
|
b588134840
|
[SMTChecker] Fix typo in the code (satisifable->satisfiable)
|
2017-12-18 17:31:27 +01:00 |
|
Alex Beregszaszi
|
55752db956
|
Merge pull request #3342 from ethereum/jsonio-sourcelocation
Populate the sourceLocation field properly in standard JSON on errors
|
2017-12-18 14:32:23 +00:00 |
|
chriseth
|
2e2f819fd6
|
Merge pull request #3304 from leonardoalt/smt_checker
[SMTChecker] Keep track of current path conditions
|
2017-12-18 15:10:28 +01:00 |
|
Alex Beregszaszi
|
add4cde68c
|
Populate the sourceLocation field properly in standard JSON on errors
|
2017-12-18 12:17:51 +00:00 |
|
chriseth
|
e2828cfa61
|
Favour if over switch in ABI coder.
|
2017-12-15 09:47:34 +01:00 |
|
chriseth
|
3d1830f3f2
|
Merge pull request #3232 from ethereum/simplifyConstant
Simplify ConstantEvaluator.
|
2017-12-14 16:14:46 +01:00 |
|
Leonardo Alt
|
a1e296e392
|
[SMTChecker] Helper functions to add an expression to the solver conjoined with or implied by the current path conditions
|
2017-12-13 17:59:36 +01:00 |
|
Leonardo Alt
|
2af4d7c7dd
|
[SMTChecker] Keep track of current path conditions
|
2017-12-13 17:39:10 +01:00 |
|
chriseth
|
54b6739962
|
Separate expression and statement.
|
2017-12-13 12:28:15 +01:00 |
|
Yoichi Hirai
|
55e9af2f20
|
Merge pull request #3310 from ethereum/limitDecl
Limit number of secondary source locations.
|
2017-12-12 11:14:06 +01:00 |
|
Yoichi Hirai
|
14707b27e2
|
Merge pull request #3183 from federicobond/fix-event-parsing
Fix event parsing. Refs #3175
|
2017-12-12 11:12:18 +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
|
793537e089
|
Suggest the "if" statement too instead of jumps
|
2017-12-05 19:27:12 +00:00 |
|
Alex Beregszaszi
|
bc875f6b9c
|
Warn for assembly labels too
|
2017-12-05 19:27:12 +00:00 |
|
Alex Beregszaszi
|
745eefa36f
|
Split Instruction and FunctionalInstruction in Julia
|
2017-12-05 14:52:11 +00:00 |
|
chriseth
|
b47e023df1
|
Merge pull request #3032 from ethereum/division
Division and unary operators for SMT checker
|
2017-12-05 13:59:01 +01:00 |
|
chriseth
|
240c79e614
|
Merge pull request #3265 from ethereum/rename_args_to_params
Rename arguments to parameters.
|
2017-12-04 06:49:44 -05:00 |
|
chriseth
|
43bb915454
|
Rename arguments to paramaters and returns to returnVariables.
|
2017-12-01 16:18:01 +01:00 |
|
chriseth
|
a256983320
|
Fix expression creation problems.
|
2017-11-30 01:20:21 +01:00 |
|
chriseth
|
d160ec8595
|
Fix signed division.
|
2017-11-30 01:20:21 +01:00 |
|
chriseth
|
19e067465a
|
Unary operators and division.
|
2017-11-30 01:20:21 +01:00 |
|
Alex Beregszaszi
|
9f756e3797
|
Include missing forward declarations in AsmDataForward
|
2017-11-29 21:43:44 +00:00 |
|
Alex Beregszaszi
|
3576ccf5b3
|
Simplify target selection code
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
b2023196a2
|
Rename target selection to use the word artifact
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
bbcec95bac
|
Add workaround for bytecode/deployedBytecode selection
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
8da245cca3
|
Limit output according to the selected targets in StandardCompiler
|
2017-11-29 20:10:18 +00:00 |
|
Alex Beregszaszi
|
d37e6ba1c7
|
Add target selection helpers to StandardCompiler
|
2017-11-29 20:10:04 +00:00 |
|
chriseth
|
5a3dbb0269
|
Cleanup and overflow checks for data pointers.
|
2017-11-29 17:08:44 +01:00 |
|
chriseth
|
bdc1ff8ec7
|
ABI decoder.
|
2017-11-29 17:08:44 +01:00 |
|
chriseth
|
a1f59cbb17
|
Merge pull request #3220 from ethereum/IuliaIf
If statement for Iulia / Inline Assembly
|
2017-11-27 09:02:46 -05:00 |
|
chriseth
|
0e2a9658d2
|
Explain IntIntFun and merge assertion.
|
2017-11-23 19:02:47 +01:00 |
|
Federico Bond
|
14fd647b85
|
Fix event parsing. Refs #3175
|
2017-11-22 23:08:12 -03:00 |
|
chriseth
|
6ed4e0632f
|
Use if statement in abi functions.
|
2017-11-22 16:25:24 +01:00 |
|
chriseth
|
6dbc34e16e
|
If statement for Iulia / inline assembly.
|
2017-11-22 16:25:24 +01:00 |
|
chriseth
|
762d591a47
|
Introduce sorts for smt expressions.
|
2017-11-22 15:20:26 +01:00 |
|
chriseth
|
8538a25f8d
|
Fix problem with non-value-typed variables.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
19d5c42429
|
For loop.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
95a65dc04c
|
Fix boolean constants.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
22c689d516
|
Check for conditions being constant.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
e5de4a66ed
|
Tests.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
b37377641d
|
Track usage of variables.
|
2017-11-22 02:35:34 +00:00 |
|
chriseth
|
f62caf587e
|
Handle branches.
|
2017-11-22 02:35:34 +00: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
|
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 |
|
chriseth
|
0c1fc594ef
|
Merge pull request #3209 from ethereum/unimplemented-msgs
Add explanation to unimplemented assertions
|
2017-11-16 04:32:51 -05:00 |
|
Alex Beregszaszi
|
f2e9dea5e7
|
Merge pull request #3194 from kseo/print-using-for
Print using for directive in ASTPrinter
|
2017-11-15 17:20:49 +00:00 |
|
Alex Beregszaszi
|
c1e202618c
|
Add explanation to unimplemented assertions
|
2017-11-15 17:19:29 +00:00 |
|
Kwang Yul Seo
|
02db1ad584
|
Print using for directive in ASTPrinter
|
2017-11-16 01:36:57 +09:00 |
|
Alex Beregszaszi
|
08fec146ba
|
Merge pull request #3206 from kseo/outdated-comment
Update outdated comments
|
2017-11-15 16:35:53 +00: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
|
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 |
|
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
|
dc6b1f02bc
|
Merge pull request #3092 from rivenhk/b_2885
added formatting when source snippets is too long
|
2017-10-23 10:54:52 +02:00 |
|
chriseth
|
7d0e46bf59
|
Merge pull request #3030 from ethereum/smt-variable-types
SMT enforce variable types
|
2017-10-20 16:55:09 +02:00 |
|
Alex Beregszaszi
|
3a8324266f
|
More detailed errors for invalid array lengths (such as division by zero).
|
2017-10-20 11:59:18 +01:00 |
|
rivenhk
|
950f5ae7d7
|
updated formatting when source snippets is too long
|
2017-10-19 20:20:07 +08:00 |
|
chriseth
|
4e7d1440ab
|
Merge pull request #3101 from ethereum/compilerstack-header
Remove the reliance on empty contract name equals "last contract" in CompilerStack
|
2017-10-19 13:43:17 +02:00 |
|
chriseth
|
0ae4aad8f3
|
Merge pull request #3108 from ethereum/remove-callcode
Turn usage of callcode into an error as experimental 0.5.0 feature
|
2017-10-19 11:10:10 +02: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 |
|
Alex Beregszaszi
|
8d3cfa8cff
|
Simplify contract lookup in CompileStack
|
2017-10-18 23:54:32 +01:00 |
|
Alex Beregszaszi
|
2ce35b77be
|
Implement CompilerStack.lastContractName()
|
2017-10-18 23:54:32 +01:00 |
|
Alex Beregszaszi
|
039cc25b1f
|
Always require a contract/sourceName in CompilerStack
|
2017-10-18 23:32:33 +01:00 |
|
Alex Beregszaszi
|
7a4c165518
|
Remove unused variable in Z3
|
2017-10-18 23:18:11 +01:00 |
|
rivenhk
|
d53c44a066
|
updating formatting when source snippets is too long
|
2017-10-18 22:03:33 +08:00 |
|
chriseth
|
e854da1a8c
|
Merge pull request #2925 from ethereum/tuple-value-check
Validate each tuple literal
|
2017-10-18 11:59:40 +02:00 |
|