aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* Provide EVM version to assembly analysis.chriseth2018-03-027-14/+37
* Use EVM version in type checker.chriseth2018-03-022-2/+9
* Provide target EVM version in CompilerContext.chriseth2018-03-024-9/+19
* Store EVM version in settings.chriseth2018-03-021-0/+1
* Add ability to set the target EVM version.chriseth2018-03-024-9/+114
* Merge pull request #3624 from ethereum/jsonio-libraries-hexAlex Beregszaszi2018-03-011-2/+18
|\
| * Ensure that library addresses supplied are of correct length and hex prefixed...Alex Beregszaszi2018-03-011-2/+18
* | Fix PR commentsLeonardo Alt2018-03-013-12/+0
* | Fix PR commentsLeonardo Alt2018-03-016-23/+37
* | Supported types listed in SSAVariableLeonardo Alt2018-03-014-3/+20
* | Integer min and max values placed under SymbolicIntVar instead of SMTCheckerLeonardo Alt2018-03-014-19/+9
* | [SMTChecker] A little refactoring on SSA varsLeonardo Alt2018-03-018-54/+395
|/
* Merge pull request #3617 from ethereum/jsonio-librarieschriseth2018-03-011-3/+19
|\
| * Properly validate invalid hex characters in JSONIO librariesAlex Beregszaszi2018-02-281-2/+14
| * Add more comprehensive tests and checks for libraries in JSONIOAlex Beregszaszi2018-02-281-1/+5
* | Merge pull request #3613 from ethereum/require-visibilitychriseth2018-02-281-6/+13
|\ \ | |/ |/|
| * Issue error if no visibility is specified (on 0.5.0)Alex Beregszaszi2018-02-271-6/+13
* | Merge pull request #3476 from ethereum/scopingchriseth2018-02-288-71/+236
|\ \ | |/ |/|
| * Only active variables at the point of their declaration.chriseth2018-02-276-30/+84
| * Enable C99-scoping with the 0.5.0-experimental pragma.chriseth2018-02-275-38/+53
| * Blocks and for loops can be scopes.chriseth2018-02-276-6/+78
| * Scopes do not have to be declarations.chriseth2018-02-274-24/+47
| * Make all lookups recursive by default.chriseth2018-02-272-10/+11
* | Remove ROL/ROR as they are not part of EIP145 anymoreAlex Beregszaszi2018-02-271-3/+1
* | Warn on using shift instructionsAlex Beregszaszi2018-02-271-0/+16
|/
* Turn throw into a syntax error for 0.5.0Alex Beregszaszi2018-02-271-4/+12
* Merge pull request #3589 from ethereum/identifiersAlex Beregszaszi2018-02-272-42/+63
|\
| * Use new escaping helpers for type identifiersAlex Beregszaszi2018-02-272-20/+9
| * Rename Types::identifier to Types::richIdentifierAlex Beregszaszi2018-02-272-35/+41
| * Add helpers escapeIdentifier to TypesAlex Beregszaszi2018-02-272-1/+27
* | Fix: Function types for getters should not have storage pointers.chriseth2018-02-261-1/+4
* | Simplify FunctionType constructors.chriseth2018-02-261-42/+14
|/
* Warn about using events without emit.chriseth2018-02-222-1/+13
* Introduce emit statement.chriseth2018-02-2214-2/+120
* Do not warn about analysis-only experimental features.chriseth2018-02-221-2/+4
* Add assertion for boolean literals in Julia-modeAlex Beregszaszi2018-02-221-0/+5
* Raise error on oversized number literals in assemblyAlex Beregszaszi2018-02-221-0/+8
* Merge pull request #3554 from ethereum/reuseScannerOrNotchriseth2018-02-215-6/+10
|\
| * Expect end of string at end of top-level block for assembly parser.chriseth2018-02-215-6/+10
* | Add new JSON API for better abstraction and for supporting strict JSON parsingAlexander Arlt2018-02-211-4/+3
|/
* Fix shadowing for imports with aliases.chriseth2018-02-201-2/+3
* Properly warn about the use of constants in inline assembly in connection wit...chriseth2018-02-201-6/+6
* Merge pull request #3135 from federicobond/formatter-instancechriseth2018-02-202-50/+43
|\
| * Fix scannerFromSourceName use-after-free.chriseth2018-02-191-3/+3
| * Convert static SourceReferenceFormatter functions to member onesFederico Bond2018-02-192-49/+42
* | Added property _documentation_ to Function, Event, and Modifier definition cl...Emilio Almansi2018-02-191-0/+3
* | Minor improvement: check sourcesAlexander Arlt2018-02-171-1/+5
|/
* Make addmod and mulmod revert if the last argument is zero.chriseth2018-02-151-1/+5
* Disallow uninitialized storage pointers as experimental 0.5.0 feature.chriseth2018-02-151-1/+5
* Merge pull request #3498 from ethereum/allowthisfselectorchriseth2018-02-143-0/+41
|\
| * Allow `this.f.selector` to be pure.chriseth2018-02-133-0/+41
* | Fix: remove reference.chriseth2018-02-131-2/+4
* | Minor changes.chriseth2018-02-131-2/+1
* | Restructure code for alternative identifier suggestionsBalajiganapathi S2018-02-133-19/+6
* | Move string distance function to utils and format error messageBalajiganapathi S2018-02-133-48/+6
* | Suggest alternatives when identifier not found.Balajiganapathi S2018-02-135-2/+95
* | Merge pull request #3349 from federicobond/number-improvAlex Beregszaszi2018-02-132-2/+20
|\ \ | |/ |/|
| * Always use shortened literal number representation.chriseth2018-02-132-9/+9
| * Avoid output messages size blow-up using huge bignums literalsFederico Bond2018-02-132-3/+21
* | Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature)Jimmy Vogel2018-02-132-0/+16
|/
* Fix segfault with undeclared array typesFederico Bond2018-02-121-0/+5
* Merge pull request #3360 from federicobond/nonfatal-reference-errorsAlex Beregszaszi2018-02-041-13/+20
|\
| * Replace some fatal errors when resolving references with normal onesFederico Bond2018-02-031-13/+20
* | Issue warning for using public visibility for interface functionsAlex Beregszaszi2018-02-011-0/+2
* | Prevent libraries from being called.chriseth2018-01-195-6/+87
|/
* Disallow non-functional instructions in parseExpression earlyAlex Beregszaszi2018-01-101-2/+5
* Show restricted instruction warning before argument mismatch issueAlex Beregszaszi2018-01-081-11/+11
* Support strict assembly mode in AssemblyStackAlex Beregszaszi2018-01-062-1/+3
* Split inline assembly into loose and strict flavours.chriseth2018-01-0610-34/+73
* Simplify parseElementaryOperation in regards to special instructionsAlex Beregszaszi2018-01-062-11/+18
* Merge pull request #3382 from ethereum/julia-identifier-parserchriseth2018-01-061-1/+7
|\
| * Support some restricted tokens (return, byte, address) as identifiers in JuliaAlex Beregszaszi2018-01-051-1/+7
* | Properly support library file names containing a colon (such as URLs).Alex Beregszaszi2018-01-051-1/+1
|/
* [SMTChecker] Variables are merged after branches (ite variables)Leonardo Alt2018-01-052-13/+37
* Reset source location after using inline assembly.chriseth2018-01-041-0/+3
* Merge pull request #3297 from ethereum/separate_expression_and_statementAlex Beregszaszi2018-01-0411-50/+104
|\
| * Separate expression and statement.chriseth2017-12-1311-50/+104
* | Merge pull request #3369 from ethereum/jsonio-colonAlex Beregszaszi2018-01-041-1/+1
|\ \
| * | Properly handle colons in file names within jsonioAlex Beregszaszi2018-01-031-1/+1
* | | Improve error message for wrong struct initialization (#3359)Federico Bond2018-01-041-1/+5
|/ /
* | [SMTChecker] Fix typo in the code (satisifable->satisfiable)Leonardo Alt2017-12-192-8/+8
* | Merge pull request #3342 from ethereum/jsonio-sourcelocationAlex Beregszaszi2017-12-181-2/+2
|\ \
| * | Populate the sourceLocation field properly in standard JSON on errorsAlex Beregszaszi2017-12-181-2/+2
* | | Merge pull request #3304 from leonardoalt/smt_checkerchriseth2017-12-183-8/+55
|\ \ \
| * | | [SMTChecker] Helper functions to add an expression to the solver conjoined wi...Leonardo Alt2017-12-142-5/+19
| * | | [SMTChecker] Keep track of current path conditionsLeonardo Alt2017-12-143-8/+41
| | |/ | |/|
* | | Favour if over switch in ABI coder.chriseth2017-12-151-14/+14
| |/ |/|
* | Merge pull request #3232 from ethereum/simplifyConstantchriseth2017-12-144-48/+66
|\ \ | |/ |/|
| * Re-use `commonType`chriseth2017-12-121-1/+1
| * Simplify ConstantEvaluator.chriseth2017-12-123-41/+61
| * Reduce the types of errors outputted by ConstantEvaluatorAlex Beregszaszi2017-12-121-8/+6
| * Improve error message for constant evaluatorAlex Beregszaszi2017-12-122-2/+2
* | Merge pull request #3310 from ethereum/limitDeclYoichi Hirai2017-12-122-14/+17
|\ \
| * | Limit number of secondary source locations.chriseth2017-12-122-14/+17
| |/
* | Merge pull request #3183 from federicobond/fix-event-parsingYoichi Hirai2017-12-121-9/+5
|\ \ | |/ |/|
| * Fix event parsing. Refs #3175Federico Bond2017-11-231-9/+5
* | Fix struct encoding warning for libraries.chriseth2017-12-111-0/+1
* | Suggest the experimental ABI encoder if using structs as function parametersAlex Beregszaszi2017-12-111-0/+10
* | Suggest the "if" statement too instead of jumpsAlex Beregszaszi2017-12-061-1/+1
* | Warn for assembly labels tooAlex Beregszaszi2017-12-061-2/+3
* | Split Instruction and FunctionalInstruction in JuliaAlex Beregszaszi2017-12-055-13/+19
* | Merge pull request #3032 from ethereum/divisionchriseth2017-12-055-41/+164
|\ \
| * | Fix expression creation problems.chriseth2017-11-301-19/+30
| * | Fix signed division.chriseth2017-11-302-2/+20
| * | Unary operators and division.chriseth2017-11-305-61/+155
* | | Merge pull request #3265 from ethereum/rename_args_to_paramschriseth2017-12-045-11/+11
|\ \ \
| * | | Rename arguments to paramaters and returns to returnVariables.chriseth2017-12-015-11/+11
| |/ /
* / / Include missing forward declarations in AsmDataForwardAlex Beregszaszi2017-11-301-0/+3
|/ /
* | Simplify target selection codeAlex Beregszaszi2017-11-301-18/+9
* | Rename target selection to use the word artifactAlex Beregszaszi2017-11-301-32/+32
* | Add workaround for bytecode/deployedBytecode selectionAlex Beregszaszi2017-11-301-2/+20
* | Limit output according to the selected targets in StandardCompilerAlex Beregszaszi2017-11-301-20/+32
* | Add target selection helpers to StandardCompilerAlex Beregszaszi2017-11-301-0/+56
* | Cleanup and overflow checks for data pointers.chriseth2017-11-304-23/+47
* | ABI decoder.chriseth2017-11-306-4/+503
* | Merge pull request #3220 from ethereum/IuliaIfchriseth2017-11-2711-5/+52
|\ \
| * | Use if statement in abi functions.chriseth2017-11-221-3/+3
| * | If statement for Iulia / inline assembly.chriseth2017-11-2210-2/+49
* | | Explain IntIntFun and merge assertion.chriseth2017-11-241-3/+7
* | | Introduce sorts for smt expressions.chriseth2017-11-223-48/+37
|/ /
* | Fix problem with non-value-typed variables.chriseth2017-11-222-14/+16
* | For loop.chriseth2017-11-222-0/+43
* | Fix boolean constants.chriseth2017-11-221-2/+7
* | Check for conditions being constant.chriseth2017-11-224-27/+102
* | Tests.chriseth2017-11-221-5/+0
* | Track usage of variables.chriseth2017-11-224-70/+215
* | Handle branches.chriseth2017-11-222-54/+88
* | Improve cyclic constant error messageAlex Beregszaszi2017-11-221-1/+1
* | Detect cyclic constant definitionsBalajiganapathi S2017-11-222-8/+15
* | Allow constant integer variables as array lengths.Balajiganapathi S2017-11-222-0/+19
* | Show checksummed address always (prepend with 0)Alex Beregszaszi2017-11-171-2/+5
* | Do not try to display checksummed address for too-short/long address literalsAlex Beregszaszi2017-11-173-3/+5
* | Improves address literal checksum error messagewadeAlexC2017-11-173-3/+13
* | Merge pull request #3209 from ethereum/unimplemented-msgschriseth2017-11-162-3/+3
|\ \
| * | Add explanation to unimplemented assertionsAlex Beregszaszi2017-11-162-3/+3
* | | Merge pull request #3194 from kseo/print-using-forAlex Beregszaszi2017-11-162-0/+14
|\ \ \ | |/ / |/| |
| * | Print using for directive in ASTPrinterKwang Yul Seo2017-11-162-0/+14
* | | Merge pull request #3206 from kseo/outdated-commentAlex Beregszaszi2017-11-164-4/+4
|\ \ \ | |/ / |/| |
| * | Update outdated commentsKwang Yul Seo2017-11-154-4/+4
* | | Merge pull request #3189 from kseo/unusedAlex Beregszaszi2017-11-161-4/+0
|\ \ \ | |/ / |/| |
| * | Remove unused methodKwang Yul Seo2017-11-121-4/+0
| |/
* | Fix a typoKwang Yul Seo2017-11-141-1/+1
* | Remove a redundant checkKwang Yul Seo2017-11-131-1/+1
|/
* Merge pull request #3092 from rivenhk/b_2885chriseth2017-10-231-0/+15
|\
| * updated formatting when source snippets is too longrivenhk2017-10-191-3/+3
| * updating formatting when source snippets is too longrivenhk2017-10-181-5/+5
| * added formatting when source snippets is too longrivenhk2017-10-181-0/+15
* | Merge pull request #3030 from ethereum/smt-variable-typeschriseth2017-10-202-1/+16
|\ \
| * | SMT enforce variable typesAlex Beregszaszi2017-10-052-1/+16
* | | More detailed errors for invalid array lengths (such as division by zero).Alex Beregszaszi2017-10-201-3/+20
* | | Merge pull request #3101 from ethereum/compilerstack-headerchriseth2017-10-192-27/+41
|\ \ \
| * | | Simplify contract lookup in CompileStackAlex Beregszaszi2017-10-191-5/+10
| * | | Implement CompilerStack.lastContractName()Alex Beregszaszi2017-10-192-10/+19
| * | | Always require a contract/sourceName in CompilerStackAlex Beregszaszi2017-10-191-14/+14
* | | | Merge pull request #3108 from ethereum/remove-callcodechriseth2017-10-191-4/+12
|\ \ \ \
| * | | | Turn usage of callcode into an error as experimental 0.5.0 featureAlex Beregszaszi2017-10-191-4/+12
| |/ / /
* / / / Remove unused variable in Z3Alex Beregszaszi2017-10-191-1/+1
|/ / /
* | | Merge pull request #2925 from ethereum/tuple-value-checkchriseth2017-10-181-0/+6
|\ \ \
| * | | Only check tuples for valid rational numbers if they have more than one element.chriseth2017-10-181-1/+1
| * | | Validate each tuple literalAlex Beregszaszi2017-10-181-0/+6
| | |/ | |/|
* | | Do not accept truncated function selectors.chriseth2017-10-181-7/+4
* | | Catch exception in Z3.chriseth2017-10-181-18/+27
* | | Remove duplicate >= in Z3Alex Beregszaszi2017-10-181-2/+1
* | | Missing forward declaration.chriseth2017-10-181-0/+1
* | | Rename variables in SMT checker.chriseth2017-10-182-11/+11
|/ /
* | Allocate one byte per memory byte array element instead of 32.chriseth2017-10-171-2/+9
* | Improve Z3 message in cmakeAlex Beregszaszi2017-10-131-2/+2
* | Force interface functions as external (0.5.0)Alex Beregszaszi2017-10-061-2/+10
* | Remove obsolete createTypeError in ASTAlex Beregszaszi2017-10-063-12/+1
* | Use the proper error reporting interface in ConstantEvaluatorAlex Beregszaszi2017-10-063-7/+13
* | Require location keyword for local variables (0.5.0)Alex Beregszaszi2017-10-061-5/+13
* | Merge pull request #2981 from ethereum/no-address-overloadchriseth2017-10-051-2/+5
|\ \
| * | Do not add members of address to contracts in experimental 0.5.0Alex Beregszaszi2017-10-051-2/+5
* | | Merge pull request #3020 from ethereum/smt-functioncallAlex Beregszaszi2017-10-051-0/+10
|\ \ \ | |_|/ |/| |
| * | SMT should not crash on typecast/structsAlex Beregszaszi2017-10-051-0/+10
* | | Merge pull request #2982 from ethereum/encoderFixesAlex Beregszaszi2017-10-052-25/+18
|\ \ \ | |_|/ |/| |
| * | Rename "compacted" to "fromStack".chriseth2017-10-042-22/+18
| * | ABI encoder fixes and test.chriseth2017-09-271-5/+2
* | | Merge pull request #3029 from ethereum/tanwisgasAlex Beregszaszi2017-10-051-0/+3
|\ \ \
| * | | Send all gas for 0.5.0.chriseth2017-10-051-0/+3
| | |/ | |/|
* | | Merge pull request #2968 from ethereum/calldataencodedsizechriseth2017-10-051-0/+3
|\ \ \
| * | | Add some asserts about calldata encoded size.chriseth2017-10-041-0/+3
* | | | Merge pull request #2901 from ethereum/compiler-nameschriseth2017-10-053-1/+40
|\ \ \ \
| * | | | Restrict contracts compiled via outputSelection (but not the individual outpu...Alex Beregszaszi2017-10-051-0/+19
| * | | | Provide optional list of contract names to CompilerStack.compileAlex Beregszaszi2017-10-052-1/+21
| | |/ / | |/| |
* / | | Do not consider shadowing in variable names inside event declarationsFederico Bond2017-10-051-2/+4
|/ / /
* | | Merge pull request #2962 from ethereum/optionalDebugInfoAsmchriseth2017-10-041-5/+16
|\ \ \
| * | | Debugging info in CompilerContext.chriseth2017-10-041-5/+16
* | | | Merge pull request #3022 from ethereum/assertAlex Beregszaszi2017-10-043-3/+3
|\ \ \ \
| * | | | Use solAssert and not assertAlex Beregszaszi2017-10-043-3/+3
* | | | | Merge pull request #2990 from ethereum/someMoreSMTStuffchriseth2017-10-041-7/+0
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Remove leftover couts.chriseth2017-09-291-7/+0
* | | | | Better error message when using fractional number as array size expressionswadeAlexC2017-10-041-2/+3
* | | | | Disallow non-pure constant state variables in 0.5.0Federico Bond2017-10-031-5/+14
* | | | | Merge pull request #2997 from federicobond/duplicate-eventsAlex Beregszaszi2017-10-032-5/+27
|\ \ \ \ \
| * | | | | Extract duplicate function or event finding logicFederico Bond2017-09-302-37/+14
| * | | | | Emit error when declaring event with same name and arguments twiceFederico Bond2017-09-302-0/+45
* | | | | | Add helpers for isPush/isDup/isSwapAlex Beregszaszi2017-10-021-3/+3
|/ / / / /
* | | | | Unary + now a synax error (experimental 0.5.0)Rhett Aultman2017-09-301-1/+8
* | | | | Validate array length in type checkerAlex Beregszaszi2017-09-291-1/+1
|/ / / /
* | | | Pull out helper to apply address member to contract membersAlex Beregszaszi2017-09-282-4/+10
* | | | Simplify address overloadingAlex Beregszaszi2017-09-282-30/+39
* | | | Fix overload resolution when conflict is with members of address (balance, tr...Alex Beregszaszi2017-09-281-6/+28
* | | | Merge pull request #2986 from ethereum/fixsourcelocationofvariabledecsatementAlex Beregszaszi2017-09-281-0/+1
|\ \ \ \
| * | | | Fix source location of VariableDeclarationStatement.chriseth2017-09-281-0/+1
| | |_|/ | |/| |
* / | | Better readable encoder assembly.chriseth2017-09-271-6/+28
|/ / /
* | | Merge pull request #2975 from ethereum/encode-memoryAlex Beregszaszi2017-09-274-22/+45
|\ \ \
| * | | Split encodeToMemory to packedEncode and abiEncodeAlex Beregszaszi2017-09-274-18/+41
| * | | Make most of the parameters mandatory in encodeToMemoryAlex Beregszaszi2017-09-272-6/+6
* | | | Order GlobalContext entriesAlex Beregszaszi2017-09-271-13/+13
* | | | Format GlobalContext for readabilityAlex Beregszaszi2017-09-271-42/+25
|/ / /
* | | Merge pull request #2978 from ethereum/infer-locationchriseth2017-09-271-1/+1
|\ \ \
| * | | Report correct location for inferred types in packed encodingAlex Beregszaszi2017-09-271-1/+1
| | |/ | |/|
* / | Ensure that address types are always declared as 160bitAlex Beregszaszi2017-09-275-14/+14
|/ /
* | Merge pull request #2934 from ethereum/fallthroughchriseth2017-09-262-53/+56
|\ \ | |/ |/|
| * Simplify switch statements by refactoring internal break statementsAlex Beregszaszi2017-09-252-24/+24
| * Avoid switch fallthrough in ExpressionCompilerAlex Beregszaszi2017-09-251-26/+32
| * Avoid switch fallthrough in CompilerUtilsAlex Beregszaszi2017-09-251-6/+3
* | Better error message for unexpected trailing comma in parameter listswadeAlexC2017-09-251-0/+2
|/
* More verbose errors for generated assembly.chriseth2017-09-221-2/+18
* Merge pull request #2902 from ethereum/warn-obsoletechriseth2017-09-211-0/+8
|\
| * Warn about obsolete sha3/suicide callsAlex Beregszaszi2017-09-191-0/+8
* | Limit parser recursion depth further (needed by increased assembly data struc...Alex Beregszaszi2017-09-201-1/+1
* | Support multiple assignment in inline assemblyAlex Beregszaszi2017-09-204-6/+56
* | Mark functions staticAlex Beregszaszi2017-09-204-14/+14
* | Mark constructors explicitAlex Beregszaszi2017-09-201-1/+1
* | Ensure parameter names match between headers and implementationAlex Beregszaszi2017-09-205-14/+14
|/
* Allow constant byte arrays.chriseth2017-09-191-1/+1
* Merge pull request #2910 from ethereum/fallback-restrict-externalchriseth2017-09-181-0/+5
|\
| * Force fallback to be external (experimental 0.5.0 change)Alex Beregszaszi2017-09-181-0/+5
* | Check for interface types of members and cache recursion check.chriseth2017-09-162-21/+48
* | Use "tuple" for struct types in ABI JSON.chriseth2017-09-161-1/+1
* | Implement struct encoder.chriseth2017-09-165-8/+141
* | Fix tests.chriseth2017-09-162-2/+2
* | Structure type json using "components".chriseth2017-09-161-8/+8
* | Fix interface type conversion internal to structs.chriseth2017-09-162-2/+8
* | Function signatures containing structs.chriseth2017-09-163-39/+84
* | Update tests and error messages.chriseth2017-09-161-1/+1
* | Check for recursive structs.chriseth2017-09-163-4/+33
* | Allow structs as part of function interfaces.chriseth2017-09-163-10/+54
|/
* Move ABI encoder into its own function.chriseth2017-09-165-66/+82
* Named assembly labels.chriseth2017-09-165-18/+24
* Merge pull request #2904 from ethereum/viewPure5Alex Beregszaszi2017-09-152-11/+24
|\
| * Enforce view with error for experimental 0.5.0.chriseth2017-09-142-11/+24
* | Warn if no visibility is specified on contract functions.Alex Beregszaszi2017-09-143-1/+15
|/
* Add experimental feature 'v0.5.0'Alex Beregszaszi2017-09-141-0/+2
* Merge pull request #2473 from ethereum/functiontype-sigAlex Beregszaszi2017-09-142-1/+13
|\
| * Rename .sig to .selector on function typesAlex Beregszaszi2017-09-132-2/+2
| * Add sig member on function typeAlex Beregszaszi2017-09-132-1/+13
* | Merge pull request #2848 from ethereum/checkViewPurechriseth2017-09-1410-4/+414
|\ \