aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4911 from ethereum/addressPayableDaniel Kirchner2018-09-138-39/+154
|\ | | | | Payable and non-payable address type.
| * Add ``stateMutability`` field to JSON AST for ``address`` types.Daniel Kirchner2018-09-131-2/+7
| |
| * Add payable and non-payable state mutability to AddressType.Daniel Kirchner2018-09-137-37/+147
| |
* | give more information (at most 35 chars before and after) for too long linesliangdzou2018-09-131-2/+8
|/ | | | | | | | | | | | | | | | | | | | | | | | add tests for giving more informations for too long lines add edge tests for giving more informations for too long lines avoid printing out tailing white space update test case after avoiding printing out trailing whitespace update test case for removing the pre-release warning from reference refactor the code to if-else flavor rename folder to cmdlineErrorReports under test rename folder to cmdlineErrorReports under test ignore whitespace for reference files avoiding to modify the file stderr_path by call sed without -i option print ' ...' instead of ' ... ' at the end of a line
* Accept ``address payable`` during parsing.Daniel Kirchner2018-09-114-11/+59
|
* Always perform cleanup for EXP.chriseth2018-09-101-1/+3
|
* This fixes several bugs with regards to line breaks and comments:chriseth2018-09-062-28/+58
| | | | | | | | | | | - any unicode line break (line feed, vertical tab, form feed, carriage return, NEL, LS and PS) is considered to terminate a single-line comment. The line break itself is considered to be the next token after the comment, leading to a parser error if it is not an ascii character (i.e. for NEL, LS and PS). - unterminated multiline comments are considered illegal tokens - '/** /' is considered an unterminated multiline comment (previously, whitespace was allowed before the last '/'
* Refactor handling of whitespace.chriseth2018-09-061-5/+0
|
* More consistently use parse*() functions without argument in the parser.Daniel Kirchner2018-09-062-46/+64
|
* Merge pull request #4872 from bakaoh/issue4716chriseth2018-09-061-4/+5
|\ | | | | Crash when array index value is too large
| * Fix #4716: Crash when array index value is too largebakaoh2018-09-051-4/+5
| |
* | Split IntegerType into IntegerType and AddressType.Daniel Kirchner2018-09-0510-100/+171
| |
* | Merge pull request #4590 from ethereum/msgValueModifierchriseth2018-09-055-65/+102
|\ \ | | | | | | Warn if modifier uses msg.value in non-payable function
| * | Turn warning into error.chriseth2018-09-041-5/+7
| | |
| * | Warns if modifier uses msg.value in non-payable function.Erik Kundt2018-09-045-65/+100
| | |
* | | Merge pull request #4895 from ethereum/abidecodesinglechriseth2018-09-053-21/+25
|\ \ \ | | | | | | | | Fix abi.decode returning single value.
| * | | Fix abi.decode returning single value.chriseth2018-09-053-21/+25
| | | |
* | | | Merge pull request #4866 from bakaoh/issue4743chriseth2018-09-051-4/+5
|\ \ \ \ | | | | | | | | | | Fix#4743: Incorrect source location for nameless parameters
| * | | | Fix#4743: Incorrect source location for nameless parametersbakaoh2018-08-281-4/+5
| | |_|/ | |/| |
* | | | Merge pull request #4897 from ethereum/trailingWhitespaceDetectionchriseth2018-09-051-1/+1
|\ \ \ \ | |_|/ / |/| | | Trailing whitespace detection script and circleci job.
| * | | Remove trailing whitespace.Daniel Kirchner2018-09-041-1/+1
| | | |
* | | | Merge pull request #4888 from ↵chriseth2018-09-042-2/+25
|\ \ \ \ | |/ / / |/| | | | | | | | | | | ethereum/disallow_single_statement_vardecl_if_while_for Disallow single statement var decl in if/while/for without blocks
| * | | Review suggestionsLeonardo Alt2018-09-042-11/+11
| | | |
| * | | Changed error message and added testsLeonardo Alt2018-09-041-1/+1
| | | |
| * | | Disallow single statement var decl in if/while/for without blocksLeonardo Alt2018-09-042-2/+25
| | | |
* | | | Add return data to bare calls.Daniel Kirchner2018-09-042-27/+57
| | | |
* | | | Remove trailing whitespace for all files in the repository.Daniel Kirchner2018-09-042-8/+8
| | | |
* | | | Merge pull request #4837 from chase1745/default-to-unspecifiedchriseth2018-09-046-12/+12
|\ \ \ \ | |_|_|/ |/| | | Rename `Location::Default` to `Location::Unspecified`
| * | | Rename Location::Default to Location::Unspecified.Chase McDermott2018-08-186-12/+12
| | |/ | |/|
* | | Merge pull request #4851 from anurag-git/anurag_issue_4824chriseth2018-09-033-9/+3
|\ \ \ | |_|/ |/| | Removed unused "FunctionType::Kind::CallCode"
| * | Removed unused "FunctionType::Kind::CallCode" from Types.h and all its usageAnurag Dashputre2018-08-233-9/+3
| |/
* | Merge branch 'develop' into anurag_issue_3667Anurag Dashputre2018-08-2320-287/+689
|\|
| * Merge pull request #4629 from ethereum/mapping_dynamic_keychriseth2018-08-161-1/+15
| |\ | | | | | | Dynamic type as mapping key returns error instead of assertion fail
| | * Dynamic type as mapping key returns error instead of assertion failLeonardo Alt2018-08-161-1/+15
| | |
| * | Merge pull request #4825 from ethereum/expressionCompBareCallchriseth2018-08-162-5/+16
| |\ \ | | | | | | | | More safeguards for (library) function types.
| | * | More safeguards for (library) function types.chriseth2018-08-152-5/+16
| | | |
| * | | fix a typo: declaratoion => declarationliangdzou2018-08-161-1/+1
| | |/ | |/|
| * | Merge pull request #4822 from ethereum/addressStaticCallchriseth2018-08-164-8/+27
| |\ \ | | | | | | | | Add ``staticcall`` to ``address``.
| | * | Add ``staticcall`` to ``address``.Daniel Kirchner2018-08-154-8/+27
| | |/
| * | Review suggestionsLeonardo Alt2018-08-151-3/+3
| | |
| * | Disallow indexed reference types in events when using ABIEncoderV2Leonardo Alt2018-08-151-0/+10
| |/
| * Merge pull request #4390 from ethereum/abidecodechriseth2018-08-156-6/+115
| |\ | | | | | | Add abi.decode
| | * Add abi.decode(bytes data, (...))chriseth2018-08-156-6/+115
| | |
| * | Fixes #4718: High CPU usage when using large variable namesbakaoh2018-08-151-2/+5
| |/
| * Merge pull request #4738 from ethereum/dataloc_mergedchriseth2018-08-156-131/+220
| |\ | | | | | | Enforce data location.
| | * Refactor data location check.Chase McDermott2018-08-156-131/+220
| | |
| * | Merge pull request #4542 from aarlt/constructor_natspecchriseth2018-08-154-27/+91
| |\ \ | | |/ | |/| Fix: natspec annotations on constructors
| | * Fix: natspec annotations on constructorsAlexander Arlt2018-08-094-27/+91
| | | | | | | | | | | | - natspec annotations on constructore where ignored.
| * | Merge pull request #4765 from ethereum/fixes-issue-4673chriseth2018-08-142-2/+4
| |\ \ | | | | | | | | [WIP] Fixes issue where computing storage size for a number would take too long (or even cause a crash).
| | * | Fixes issue where computing storage size for a number would take too long.Christian Parpart2018-08-142-2/+4
| | | | | | | | | | | | | | | | Fixes #4673.
| * | | Add implicit convertibility to function pointer with higher state mutabilityJesse Busman2018-08-142-21/+65
| | | |
| * | | Merge pull request #4782 from ethereum/encodePackedArrayOfStructschriseth2018-08-141-10/+10
| |\ \ \ | | | | | | | | | | Encode packed array of structs
| | * | | Disallow packed encoding of arrays of structs.chriseth2018-08-101-10/+10
| | |/ /
| * | | Adds support for structs in interfaces.Christian Parpart2018-08-142-4/+9
| | | | | | | | | | | | | | | | Closes #4733.
| * | | Merge pull request #4777 from ethereum/typeConversionMemorychriseth2018-08-141-3/+6
| |\ \ \ | | | | | | | | | | Defaul data location for type conversions is memory.
| | * | | Defaul data location for type conversions is memory.chriseth2018-08-131-3/+6
| | | | |
| * | | | Merge pull request #4798 from ethereum/mappingArgumentsAndReturnschriseth2018-08-132-2/+8
| |\ \ \ \ | | | | | | | | | | | | Mapping arguments and returns
| | * | | | Allow mappings of arrays as arguments and return values of internal functions.Daniel Kirchner2018-08-131-4/+1
| | | | | |
| | * | | | Consider mappings return values in control flow analysis.Daniel Kirchner2018-08-131-1/+4
| | | | | |
| | * | | | Allow mapping arguments and return values in all internal functions.Daniel Kirchner2018-08-131-1/+0
| | | | | |
| | * | | | Allow mapping arguments and return values in internal library functions.Daniel Kirchner2018-08-131-1/+8
| | |/ / /
| * | | | Merge pull request #4696 from ethereum/byteLiteralConversionchriseth2018-08-133-40/+46
| |\ \ \ \ | | |/ / / | |/| | | Disallow ambiguous implicit and explicit conversions from number literals to bytesXX
| | * | | Disallow ambiguous conversions between number literals and bytesXX types.Daniel Kirchner2018-08-133-40/+46
| | |/ /
| * / / Disallow remappings with empty prefix.Daniel Kirchner2018-08-113-25/+42
| |/ /
* | | Removed the default cases related to assertion to detect the problem at ↵Anurag Dashputre2018-08-231-6/+0
| | | | | | | | | | | | compile-time instead of run-time
* | | Default case removed to detect errors at comoile time rather than run timeAnurag Dashputre2018-08-171-1/+0
|/ /
* | Merge pull request #4790 from ethereum/fixCalldatachriseth2018-08-101-1/+1
|\ \ | | | | | | Fix data location of external reference parameters.
| * | Fix data location of external reference parameters.chriseth2018-08-091-1/+1
| | |
* | | Merge pull request #4767 from ethereum/cvc4BuildDaniel Kirchner2018-08-092-12/+16
|\ \ \ | |/ / |/| | Add workarounds for building against CVC4 on ArchLinux.
| * | Do not force GMP to be present as dependency of CVC4, but also allow CLN ↵Daniel Kirchner2018-08-091-11/+4
| | | | | | | | | | | | instead.
| * | Add workarounds for building against CVC4 on ArchLinux.Daniel Kirchner2018-08-092-1/+12
| | |
* | | Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in ↵Alex Beregszaszi2018-08-095-11/+11
| |/ |/| | | | | libevmasm)
* | Merge pull request #4684 from ethereum/underscores_in_numeric_literalschriseth2018-08-094-14/+90
|\ \ | |/ |/| [BREAKING] Underscores in numeric literals
| * Cleanup & polish numbers-with-underscores parsing, also improving tests.Christian Parpart2018-08-083-64/+66
| |
| * Add stricter hex underscore rulesBalajiganapathi S2018-08-084-17/+67
| |
| * Allow underscores in numbers.Balajiganapathi S2018-08-081-2/+26
| |
* | Merge pull request #4665 from mattaereal/cmake-patch-solverAlex Beregszaszi2018-08-091-1/+2
|\ \ | | | | | | cmake option added to make solvers optional
| * | cmake flags to make solvers optional. Implementation of #4651Matías Aereal Aeón2018-08-081-1/+2
| | |
* | | Merge pull request #4770 from ethereum/throw-codegenAlex Beregszaszi2018-08-091-4/+2
|\ \ \ | | | | | | | | Remove code generation for Throw statement
| * | | Remove code generation for Throw statementAlex Beregszaszi2018-08-091-4/+2
| | | | | | | | | | | | | | | | It is disallowed in the type system.
* | | | Merge pull request #4769 from ethereum/inlineasm-overloading-resolutionAlex Beregszaszi2018-08-091-0/+3
|\ \ \ \ | |/ / / |/| | | Provide nicer error message when referencing overloaded references
| * | | Provide nicer error message when referencing overloaded referencesAlex Beregszaszi2018-08-081-0/+3
| | | |
* | | | Merge pull request #4753 from mattaereal/boost-to-string-patchAlex Beregszaszi2018-08-087-22/+22
|\ \ \ \ | | | | | | | | | | Replace boost:lexical_cast<std::string> for std::to_string.
| * | | | Removing std:: from std::to_string and include for boost/lexical_castMatías Aereal Aeón2018-08-086-21/+21
| | | | |
| * | | | Replace boost:lexical_cast<std::string> for std::to_string.Matías Aereal Aeón2018-08-083-10/+10
| | |/ / | |/| |
* | | | Merge pull request #4761 from ethereum/libsolc-exceptionsAlex Beregszaszi2018-08-082-4/+4
|\ \ \ \ | |_|/ / |/| | | Mark libsolc external C functions as noexcept
| * | | Mark StandardCompiler::compile as noexceptAlex Beregszaszi2018-08-082-4/+4
| | |/ | |/| | | | | | | It has a generic catch statement and shouldn't leak out exceptions.
* | | Remove experimental 0.5.0 pragmaAlex Beregszaszi2018-08-081-3/+0
| | |
* | | Merge pull request #4740 from ethereum/enforceNumberOfReturnValueschriseth2018-08-081-1/+5
|\ \ \ | | | | | | | | Disallow empty return in function with return arguments.
| * | | Disallow empty return expressions in functions with non-empty return parameters.Daniel Kirchner2018-08-081-1/+5
| | | |
* | | | Merge pull request #4748 from ethereum/validate-identifierchriseth2018-08-082-1/+12
|\ \ \ \ | | | | | | | | | | Assert that type identifier contains only valid characters
| * | | | Assert that type identifier contains only valid charactersAlex Beregszaszi2018-08-082-1/+12
| | |/ / | |/| |
* | | | Merge pull request #4745 from ethereum/nameResolverNoEarlyExitchriseth2018-08-081-3/+0
|\ \ \ \ | | | | | | | | | | Do not stop after the first error in reference resolution.
| * | | | Do not stop after the first error in reference resolution.chriseth2018-08-081-3/+0
| | |/ / | |/| |
* | | | Merge pull request #4736 from ethereum/removeFillRightAlex Beregszaszi2018-08-083-21/+14
|\ \ \ \ | |_|/ / |/| | | Remove remaining instances of ``fillRight``.
| * | | Remove remaining instances of ``fillRight`` left over from tuple wildcards ↵Daniel Kirchner2018-08-083-21/+14
| |/ / | | | | | | | | | assignments.
* | | Merge pull request #4744 from ethereum/smt-magic-variableAlex Beregszaszi2018-08-081-2/+8
|\ \ \ | |/ / |/| | SMT: do not crash on referencing MagicVariableDeclaration
| * | SMT: do not crash on referencing MagicVariableDeclarationAlex Beregszaszi2018-08-081-2/+8
| | |
* | | Merge pull request #4731 from ethereum/interface-enumchriseth2018-08-072-8/+0
|\ \ \ | | | | | | | | Allow enums in interfaces
| * | | Allow enums in interfacesAlex Beregszaszi2018-08-072-8/+0
| |/ /
* | | Merge pull request #4692 from ethereum/devcore-pathchriseth2018-08-072-28/+4
|\ \ \ | | | | | | | | Move absolutePath/sanitizePath helpers from CompilerStack to libdevcore
| * | | Move absolutePath/sanitizePath helpers from CompilerStack to libdevcoreAlex Beregszaszi2018-08-062-28/+4
| | | |
* | | | Merge pull request #4699 from ethereum/cleanup_VariableDeclarationchriseth2018-08-073-111/+109
|\ \ \ \ | | | | | | | | | | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType
| * | | | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType()Christian Parpart2018-08-073-111/+109
| | | | | | | | | | | | | | | | | | | | Closes #4667
* | | | | Merge pull request #4726 from ethereum/moveNothrowchriseth2018-08-072-11/+2
|\ \ \ \ \ | | | | | | | | | | | | Make MemberList nothrow move constructible.
| * | | | | Make MemberList nothrow move constructible.chriseth2018-08-072-11/+2
| |/ / / /
* | | | | Merge pull request #4720 from ethereum/abi-rational-type-identifierAlex Beregszaszi2018-08-071-1/+8
|\ \ \ \ \ | | | | | | | | | | | | Fix type identifiers for RationalNumberType (on negative numbers)
| * | | | | Fix type identifiers for RationalNumberTypeAlex Beregszaszi2018-08-071-1/+8
| | |_|/ / | |/| | |
* | | | | More precise error message if using non-variables with _slot/_offsetAlex Beregszaszi2018-08-072-3/+7
| | | | |
* | | | | Properly handle invalid references used together with _slot and _offset.Alex Beregszaszi2018-08-071-0/+2
|/ / / /
* | | | Merge pull request #4724 from ethereum/slot-in-assemblyAlex Beregszaszi2018-08-071-0/+5
|\ \ \ \ | | | | | | | | | | Do not crash on using _slot and _offset suffixes on their own
| * | | | Do not crash on using _slot and _offset suffixes on their ownAlex Beregszaszi2018-08-071-0/+5
| |/ / /
* / / / Remove clone feature.chriseth2018-08-076-103/+0
|/ / /
* | | Move fullyQualifiedName to ContractDefinition onlyAlex Beregszaszi2018-08-072-11/+2
| | |
* | | Merge pull request #4663 from ethereum/dropConstantASTchriseth2018-08-071-6/+0
|\ \ \ | | | | | | | | [BREAKING] Drop constant field from JSON AST
| * | | Remove "constant" from JSON AST.Daniel Kirchner2018-08-061-6/+0
| | | |
* | | | FixedBytes(0) is invalid, do not check for it in ABIEncoderV2Alex Beregszaszi2018-08-061-1/+2
| | | |
* | | | Merge pull request #4689 from ethereum/cleanup-050-testschriseth2018-08-062-3/+0
|\ \ \ \ | | | | | | | | | | Cleanup 0.5.0 test cases
| * | | | Remove unused 050 variable in ReferencesResolverAlex Beregszaszi2018-08-062-3/+0
| | | | |
* | | | | Merge pull request #4690 from ethereum/equalParameterTypesAlex Beregszaszi2018-08-065-9/+9
|\ \ \ \ \ | |_|_|/ / |/| | | | Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqual…
| * | | | Renamed FunctionType::hasEqualArgumentTypes to ↵Jesse Busman2018-08-065-9/+9
| |/ / / | | | | | | | | | | | | FunctionType::hasEqualParameterTypes
* | | | Merge pull request #4671 from ethereum/mappingTupleAssignmentchriseth2018-08-062-5/+33
|\ \ \ \ | |/ / / |/| | | Disallow assignments to mappings within tuple assignments; allow for local variables.
| * | | Review suggestions; to be squashed.Daniel Kirchner2018-08-031-8/+10
| | | |
| * | | Allow assignments to local variables of mapping types.Daniel Kirchner2018-08-031-1/+9
| | | |
| * | | Disallow assignments to mappings within tuple assignments.Daniel Kirchner2018-08-032-5/+23
| | | |
* | | | Merge pull request #4644 from ethereum/event_struct_errorchriseth2018-08-061-0/+10
|\ \ \ \ | | | | | | | | | | Disallow structs in events without ABIEncoderV2
| * | | | Disallow structs in events without ABIEncoderV2Leonardo Alt2018-08-031-0/+10
| |/ / /
* | | | Merge pull request #4681 from ethereum/var-suggestion-crashchriseth2018-08-061-0/+6
|\ \ \ \ | |_|/ / |/| | | Fix declaration suggestion for var with different number of components
| * | | Fix declaration suggestion for var with different number of componentsAlex Beregszaszi2018-08-041-0/+6
| |/ /
* | | Merge pull request #4412 from ethereum/v050-reference-resolver-errorTypeForLooseChristian Parpart2018-08-043-9/+5
|\ \ \ | |/ / |/| | [BREAKING] permanently set errorTypeForLoose from Warning to SyntaxError
| * | Disallow loos assembly in Solidity by permanently setting it to SyntaxError ↵Christian Parpart2018-08-023-9/+5
| | | | | | | | | | | | (from Warning)
* | | Turn warning about uninitialized storage returns into an error.Daniel Kirchner2018-08-031-5/+5
| |/ |/|
* | Merge pull request #4327 from ethereum/document-internalschriseth2018-08-023-2/+19
|\ \ | | | | | | Properly explain all the analsys steps in CompilerStack
| * | Properly explain all the analsys steps in CompilerStackAlex Beregszaszi2018-07-313-2/+19
| | |
* | | Merge pull request #4522 from ethereum/fullEncodingTypechriseth2018-08-025-42/+37
|\ \ \ | |_|/ |/| | Isolate determining the encoding type into its own function.
| * | Isolate determining the encoding type into its own function.chriseth2018-08-015-42/+37
| | |
* | | Merge pull request #4603 from ethereum/smtlib2Alex Beregszaszi2018-08-024-18/+44
|\ \ \ | | | | | | | | [SMTLib2] Fix repeated declarations
| * | | Remove repeated declarations in Z3 and CVC4 as wellLeonardo Alt2018-08-012-7/+15
| | | |
| * | | [SMTLib2] Fix repeated declarationsLeonardo Alt2018-07-282-11/+29
| | | |
* | | | SMT model variables are sorted and printed as secondary source locationLeonardo Alt2018-08-021-3/+11
| | | |
* | | | Replace "value" by "<result>" in the SMT modelLeonardo Alt2018-08-021-3/+3
| | | |
* | | | Extend code comment about signatures.Daniel Kirchner2018-08-011-1/+2
| | | |
* | | | Do not exclude public state variables when looking for conflicting declarations.Daniel Kirchner2018-08-011-8/+1
| | | |
* | | | Merge pull request #4378 from ethereum/noBaseWithoutArgumentsAlex Beregszaszi2018-08-011-17/+7
|\ \ \ \ | | | | | | | | | | [BREAKING] Disallow calling base constructors without arguments.
| * | | | Correctly determine whether base constructor is called without parentheses.chriseth2018-08-011-11/+11
| | | | |
| * | | | Disallow calling base constructors without arguments.chriseth2018-08-011-14/+4
| | |/ / | |/| |
* / | | Guard CycleDetector against recursion exhaustion.Christian Parpart2018-08-013-3/+9
|/ / / | | | | | | | | | fixes #3935.
* | | Disallow conversion between unrelated contract types.chriseth2018-08-012-8/+7
| | |
* | | Merge pull request #4507 from ethereum/v050-var-keyword-trace-removalsAlex Beregszaszi2018-08-011-2/+19
|\ \ \ | | | | | | | | Ensures an empty use of var keyword is caught with the proper non-fatal error message
| * | | Ensures an empty use of var keyword is caught with the proper error message.Christian Parpart2018-08-011-2/+19
| | | |
* | | | Fix crash when FunctionType has undeclared type as parameterLeonardo Alt2018-07-311-1/+1
| |_|/ |/| |
* | | Import dev::solidity namespace in SMTPortfolioAlex Beregszaszi2018-07-281-0/+1
| |/ |/|
* | Fix unterminated parentheses typo in SMTLib2Alex Beregszaszi2018-07-281-1/+1
| | | | | | | | Found by @leonardoalt
* | [SMTChecker] Add CheckResult::CONFLICTINGLeonardo Alt2018-07-273-4/+10
| |
* | [SMTChecker] SMTPortfolio: use all SMT solvers availableLeonardo Alt2018-07-2711-58/+262
| |
* | Setting timeout to Z3 and CVC4Leonardo Alt2018-07-273-1/+8
| |
* | Only ask for a model if it's SATLeonardo Alt2018-07-273-3/+3
| |
* | Merge pull request #4565 from ethereum/smt-stringutils-crashAlex Beregszaszi2018-07-251-1/+9
|\ \ | | | | | | Add assert for both branches in mergeVariables in SMTChecker
| * | Add better warning on binary operation on non-integer types in SMT CheckerAlex Beregszaszi2018-07-251-1/+8
| | |
| * | Add assert for both branches in mergeVariables in SMTCheckerAlex Beregszaszi2018-07-251-0/+1
| | |
* | | More consistent catch statementsAlex Beregszaszi2018-07-252-3/+3
|/ / | | | | | | Also take const& in all cases.
* | Fix abiDecode commentLeonardo Alt2018-07-241-3/+3
| |
* | Merge pull request #4527 from ethereum/mappingEnforceStorageAlex Beregszaszi2018-07-241-1/+8
|\ \ | | | | | | Enforces explicit data location for mappings
| * | Enforces data location of local mappings to storage.Erik Kundt2018-07-241-1/+8
| | |
* | | Disallow functions without implementation to use modifiers. This was already ↵Christian Parpart2018-07-241-8/+2
| |/ |/| | | | | the case in the experimental 0.5.0 mode.
* | Do not handle `balance` member of contract types specially.chriseth2018-07-201-2/+1
| |
* | Merge pull request #4439 from ethereum/address_memberschriseth2018-07-194-108/+55
|\ \ | | | | | | [BREAKING] Enforce address members not accessible by contract instance
| * | Changes in ExpressionCompilerLeonardo Alt2018-07-192-52/+42
| | |
| * | Add suggestion to error messageLeonardo Alt2018-07-171-18/+15
| | |
| * | Address members not accessible by contract instanceLeonardo Alt2018-07-172-40/+0
| | |
* | | Adds warning if function is shadowing a contract.Erik Kundt2018-07-181-9/+1
| | |
* | | Disallows old constructor syntax.Erik Kundt2018-07-186-48/+34
| |/ |/|
* | Suggests external for fallback and interface functions.chriseth2018-07-182-1/+15
| |
* | Enforces visibility specifier and updates docs.Erik Kundt2018-07-172-11/+1
|/
* Add missing period in the end of error messagesLeonardo Alt2018-07-161-3/+3
|
* Deprecate the throw statementAlex Beregszaszi2018-07-161-12/+4
|
* enforce interface-functions to be external-declaredChristian Parpart2018-07-161-12/+4
| | | | | | | | - libsolidity: Enforce interface-functions must be external-declared. - Changelog adapted to reflect changes wrt. functions in interfaces. - test: Adjustments according to prior interface-function changes. - tests: Adapting SolidityEndToEndTest to interface-function change. - docs: Adapted documentation to interface-function change.
* Merge pull request #4501 from ethereum/recursiveStructsWithFixedArrayschriseth2018-07-131-13/+16
|\ | | | | Consider fixed-size arrays when checking for recursive structs.
| * Use CycleDetector and account for multi-dimensional arrays.Daniel Kirchner2018-07-131-19/+16
| |
| * Consider fixed size array members when checking for recursive structs.Daniel Kirchner2018-07-131-0/+6
| |
* | Disallow multi variable declarations with mismatching number of values.Daniel Kirchner2018-07-136-98/+25
|/
* Merge pull request #4437 from ethereum/report-empty-var-declschriseth2018-07-132-0/+15
|\ | | | | [BREAKING] Report empty var tuple decls
| * Generates a syntax error when declaring a variable declaration's LHS has no ↵Christian Parpart2018-07-122-0/+15
| | | | | | | | named components
* | Merge pull request #4447 from hosho/developchriseth2018-07-131-0/+7
|\ \ | | | | | | Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions
| * | Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions.Matt Little2018-07-121-0/+7
| |/
* | Merge pull request #4478 from ethereum/requireStorageLocationchriseth2018-07-131-13/+4
|\ \ | | | | | | Turn missing storage locations into an error.
| * | Require storage location.Daniel Kirchner2018-07-121-13/+4
| | |
* | | Merge pull request #4479 from ethereum/fixFixedPointCrashAlex Beregszaszi2018-07-121-3/+7
|\ \ \ | |_|/ |/| | Fix handling of fixed point types in arithmetics.
| * | Fix handling of fixed point types in arithmetics.chriseth2018-07-111-3/+7
| | |
* | | Merge pull request #4428 from ethereum/enforce_staticcall_viewchriseth2018-07-121-5/+1
|\ \ \ | | | | | | | | [BREAKING] Enforce STATICCALL for view and pure
| * | | Use STATICCALL for view and pureLeonardo Alt2018-07-111-5/+1
| | | |
* | | | Merge pull request #4083 from ethereum/variable_stack_slotchriseth2018-07-126-42/+129
|\ \ \ \ | |_|_|/ |/| | | [BREAKING] Allocate local variables according to their scope
| * | | Added assertion and tests suggestionsLeonardo Alt2018-07-113-3/+17
| | | |
| * | | Add more tests and assertionsLeonardo Alt2018-07-113-0/+4
| | | |
| * | | Added tests and review suggestionsLeonardo Alt2018-07-114-22/+22
| | | |
| * | | [050] Reserving and popping local vars in their scopeLeonardo Alt2018-07-114-41/+110
| | | |
* | | | Merge pull request #4443 from ethereum/double_var_decl_fixchriseth2018-07-123-1/+15
|\ \ \ \ | | | | | | | | | | Fix crash when declaring the same var twice in the same scope
| * | | | Add comment explaining new codeLeonardo Alt2018-07-111-0/+5
| | | | |
| * | | | Fix crash for double variable declaration in the same scope.Leonardo Alt2018-07-113-1/+10
| |/ / /
* | | | Merge pull request #4472 from ethereum/complexCalldataArraysNotYetImplementedchriseth2018-07-121-1/+2
|\ \ \ \ | | | | | | | | | | Throw unimplemented exception for complex calldata arrays.
| * | | | Throw unimplemented exception for complex calldata arrays.chriseth2018-07-111-1/+2
| | | | |
* | | | | Merge pull request #4480 from ethereum/fixZeroWithExponentchriseth2018-07-121-8/+11
|\ \ \ \ \ | | | | | | | | | | | | Fix literals with exponents with mantissa of zero.
| * | | | | Fix literals with exponents with mantissa of zero.Daniel Kirchner2018-07-111-8/+11
| | |_|_|/ | |/| | |
* | | | | Merge pull request #4404 from ethereum/v050-var-keyword-suggestChristian Parpart2018-07-113-19/+63
|\ \ \ \ \ | |/ / / / |/| | | | [WIP] v0.5.0 var keyword type suggestion
| * | | | Coding style.chriseth2018-07-111-23/+18
| | | | |
| * | | | semantics: Suggest auto-deduced type when user declares variable with `var` ↵Christian Parpart2018-07-113-19/+68
| | | | | | | | | | | | | | | | | | | | keyword.
* | | | | Merge pull request #4454 from ethereum/constructorArgCountchriseth2018-07-111-24/+9
|\ \ \ \ \ | |_|_|_|/ |/| | | | [BREAKING] Wrong argument count in constructor call
| * | | | Improves error with suggestion to remove parantheses.Erik Kundt2018-07-111-1/+1
| | | | |
| * | | | Updates Changelog, syntax test and simplifies type checker.Erik Kundt2018-07-111-3/+1
| | | | |
| * | | | Turns wrong argument count in base constructor call into en error.Erik Kundt2018-07-111-22/+9
| |/ / /
* | | | Merge pull request #4388 from ethereum/noPackedLiteralschriseth2018-07-112-17/+13
|\ \ \ \ | | | | | | | | | | Disallow packed encoding of literals.
| * | | | Disallow packed encoding of literals.chriseth2018-07-032-17/+13
| | | | |
* | | | | Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-1114-18/+18
| |/ / / |/| | | | | | | | | | | Refs: #4442
* | | | Merge pull request #4376 from ethereum/fallbackExternalchriseth2018-07-111-4/+1
|\ \ \ \ | |_|/ / |/| | | Fallback functions have to be external
| * | | Fallback function has to be external.chriseth2018-07-041-4/+1
| | | |
* | | | Merge pull request #4464 from ↵chriseth2018-07-112-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cryptomental/bugfix/fix-typos-in-AsmParser-and-TypeChecker AsmParser,TypeChecker: Fix typos.
| * | | | AsmParser,TypeChecker: Fix typos.Cryptomental2018-07-102-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix typos. The change requested as a separate PR during codespell PR. Adapt tests as well. Refs: #4442
* | | | | Merge pull request #4466 from ethereum/tupleNotEmptychriseth2018-07-111-11/+2
|\ \ \ \ \ | |_|_|_|/ |/| | | | Disallow empty tuple components.
| * | | | Remove special ``(x,)`` case from type assignment.chriseth2018-07-101-4/+0
| | | | |
| * | | | Disallow empty tuple components.Daniel Kirchner2018-07-101-7/+2
| | | | |
* | | | | Merge pull request #4468 from ethereum/variableDeclarationClenaupchriseth2018-07-101-7/+9
|\ \ \ \ \ | | | | | | | | | | | | Remove mentions of ``var`` in VariableDeclarationStatement comment.
| * | | | | Remove mentions of ``var`` in VariableDeclarationStatement comment.chriseth2018-07-101-7/+9
| | |/ / / | |/| | |
* | | | | defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting ↵Christian Parpart2018-07-101-8/+2
| | | | | | | | | | | | | | | | | | | | all tests to it
* | | | | Merge pull request #4415 from ethereum/uninitializedStoragePointerchriseth2018-07-101-4/+1
|\ \ \ \ \ | |_|/ / / |/| | | | [BREAKING] Turn uninitialized storage variables into error.
| * | | | Turn uninitialized storage variables into an error.Daniel Kirchner2018-07-101-4/+1
| |/ / /
* / / / Check for matching number of components in ↵Daniel Kirchner2018-07-102-35/+5
|/ / / | | | | | | | | | TupleType::isImplicitlyConvertibleTo instead of the TypeChecker.
* | | Enforce error on hex number combined with unit denominationLeonardo Alt2018-07-091-17/+6
| | |
* | | Merge pull request #4418 from ethereum/initialConstantschriseth2018-07-051-13/+4
|\ \ \ | | | | | | | | Only allow compile-time constants for constant state variables.
| * | | Only allow compile-time constants for constant state variables.chriseth2018-07-041-13/+4
| |/ /
* | | Fix allocation of byte arrays.chriseth2018-07-051-1/+1
| | |
* | | Merge pull request #4409 from ethereum/viewPureCheckerchriseth2018-07-042-26/+13
|\ \ \ | | | | | | | | Enforce state mutability in view pure checker.
| * | | Remove v050 check for enforcing "view" in ViewPureChecker.Daniel Kirchner2018-07-042-26/+13
| |/ /
* / / Enforcing error on msg.gas and block.blockhash()Leonardo Alt2018-07-041-27/+9
|/ /
* | Merge pull request #4379 from ethereum/constructorArgsTwicechriseth2018-07-041-14/+5
|\ \ | | | | | | Disallow constructor arguments given multiple times.
| * | Disallow constructor arguments given multiple times.chriseth2018-06-291-14/+5
| | |
* | | Remove constant keyword from parser.Daniel Kirchner2018-07-031-2/+9
| | |
* | | libsolidity: turns the var-keyword use from deprecation-warning to an error ↵Christian Parpart2018-07-031-6/+1
| |/ |/| | | | | and include explicit type suggestion
* | Remove trailing whitespace in missing visibility warning.Daniel Kirchner2018-07-021-2/+2
| |
* | Merge pull request #4224 from ethereum/revert_wrong_calldatachriseth2018-07-023-48/+34
|\ \ | |/ |/| [BREAKING] Revert if calldata has wrong size
| * Revert if calldata is too short or points out of boundsLeonardo Alt2018-06-263-48/+34
| |
* | Merge pull request #4352 from D-Nice/developchriseth2018-06-291-1/+1
|\ \ | | | | | | Fixes storage ref var typo error from 'prefix' to 'suffix'
| * | Fixes storage ref var typo error from 'prefix' to 'suffix'D-Nice2018-06-251-1/+1
| | |
* | | Merge pull request #4097 from ethereum/noPackedExceptForPackedchriseth2018-06-285-85/+98
|\ \ \ | | | | | | | | [BREAKING] call only takes a single argument and does not pad
| * | | Also mention regular abi.encode in error message.chriseth2018-06-271-2/+8
| | | |
| * | | Fix: Call functions do not take variable arguments.chriseth2018-06-251-3/+3
| | | |
| * | | Provide better suggestions in error messages with respect to call and hash ↵chriseth2018-06-251-4/+34
| | | | | | | | | | | | | | | | functions.
| * | | Save double encode call for sha3.chriseth2018-06-251-8/+16
| | | |
| * | | Bare functions take single bytes argument.chriseth2018-06-255-94/+44
| | | |
| * | | Single bytes argument.chriseth2018-06-252-13/+32
| | | | | | | | | | | | | | | | | | | | In 0.5.0 mode, only accept a single bytes argument for ``.call``, ``keccak256`` and others and do not pad when encoding.
* | | | Remove non-0.5.0 warning for emit keyword (make it mandatory)Alex Beregszaszi2018-06-271-6/+1
| | | |