aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Collapse)AuthorAgeFilesLines
* Disallow remappings with empty prefix.Daniel Kirchner2018-08-113-25/+42
|
* 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
| | | |
* | | | Merge pull request #4342 from rnaby/l/a/Typeschriseth2018-06-261-15/+19
|\ \ \ \ | | | | | | | | | | RationalNumberType::isImplicitlyConvertibleTo Refactor
| * | | | RationalNumberType::isImplicitlyConvertibleTo RefactorKhan M Rashedun-Naby2018-06-241-15/+19
| | |/ / | |/| |
* | | | Document the internal API of CompilerStackAlex Beregszaszi2018-06-261-6/+30
| |_|/ |/| |
* | | Pull out createCBORMetadata helperAlex Beregszaszi2018-06-262-21/+31
| |/ |/|
* | Keep the 'if it not used as an address' helper message for all cases of ↵Alex Beregszaszi2018-06-251-7/+12
| | | | | | | | address related warnings
* | Better wording for invalid address literal errorAlex Beregszaszi2018-06-251-2/+4
| |
* | Change invalid (not exactly 160 bits long) address literal to errorJason Cobb2018-06-251-4/+11
| |
* | Disallow implicit conversion from rational (literal) to addressJason Cobb2018-06-251-2/+4
|/
* Disallow the years unit denomination properlyAlex Beregszaszi2018-06-221-12/+4
|
* Merge pull request #4301 from rnaby/TypeCheckerchriseth2018-06-221-5/+3
|\ | | | | Simplification of typeSupportedByOldABIEncoder
| * Simplification of typeSupportedByOldABIEncoderKhan M Rashedun-Naby2018-06-211-5/+3
| |
* | Merge pull request #4326 from ethereum/compilerstack-cleanupchriseth2018-06-211-9/+10
|\ \ | | | | | | Properly catch optimizer/assembly exception in CompilerStack
| * | Properly catch optimizer/assembly exception in CompilerStackAlex Beregszaszi2018-06-211-9/+10
| | |
* | | Merge pull request #4306 from ethereum/remove_050_workaround_scopingchriseth2018-06-214-36/+23
|\ \ \ | | | | | | | | [BREAKING] C99 scoping rules by default (remove 050 workaround)
| * | | C99 scoping rules by defaultLeonardo Alt2018-06-204-36/+23
| | | |
* | | | Merge pull request #4219 from ethereum/functionTypeNamedArgumentsAlex Beregszaszi2018-06-211-1/+1
|\ \ \ \ | |_|/ / |/| | | Turn named return parameters in function types into an error.
| * | | Return parameters in function types may not be named.Daniel Kirchner2018-06-181-1/+1
| | |/ | |/|
* | | CompilerStack absolutePath/sanitizePath can be made staticAlex Beregszaszi2018-06-202-3/+3
| | |
* | | Reorder some of the flow in CompilerStack::compileContract for readabilityAlex Beregszaszi2018-06-201-3/+9
| |/ |/|
* | Disallow raw callcode (was deprecated in 0.4.12)Alex Beregszaszi2018-06-201-12/+4
|/
* Change commentsAlex Beregszaszi2018-06-144-6/+6
|
* JuliaType -> YulTypeAlex Beregszaszi2018-06-143-11/+11
|
* Rename internal variableAlex Beregszaszi2018-06-142-7/+7
|
* Rename JULIA/IULIA to Yul in assembly interfaceAlex Beregszaszi2018-06-145-22/+22
|
* Enforce disallowing empty structsChristian Parpart2018-06-141-8/+2
| | | | | | | | This patch enfoces an error when it encounters an empty struct, effectively eliminating the deprecation warning. Also adjust 419_interface_structs to explicitely test for (non-empty) structs, as this behaviour "may" change in the future.
* Merge pull request #4272 from ethereum/assert-break-continuechriseth2018-06-131-4/+4
|\ | | | | Fail if break/continue statements are used outside for/while loops in ContractCompiler
| * Fail if break/continue statements are used outside for/while loops in ↵Alex Beregszaszi2018-06-121-4/+4
| | | | | | | | ContractCompiler
* | Properly pad data from calldata.chriseth2018-06-131-6/+11
| |
* | Disallow sha3/suicide aliasesAlex Beregszaszi2018-06-131-10/+2
| |
* | Merge pull request #3627 from ethereum/additional-keywordsAlex Beregszaszi2018-06-121-1/+20
|\ \ | | | | | | [BREAKING] Add new reserved keywords.
| * | Add new reserved keywords.Daniel Kirchner2018-06-121-1/+20
| | |
* | | Merge pull request #4277 from ethereum/signedRightShiftDaniel Kirchner2018-06-121-2/+7
|\ \ \ | | | | | | | | Signed Right Shift: Additional test and more explanation.
| * | | Additional test and more explanation.Daniel Kirchner2018-06-121-2/+7
| |/ /
* | | Merge pull request #4229 from ethereum/smt_storage_vars_refactorchriseth2018-06-124-68/+65
|\ \ \ | |/ / |/| | Refactoring how storage and local variables are managed.
| * | Refactoring Declaration -> VariableDeclaration (more precise)Leonardo Alt2018-06-124-43/+42
| | |
| * | Review commentsLeonardo Alt2018-06-122-10/+8
| | |
| * | Refactoring how storage and local variables are managed.Leonardo Alt2018-06-122-29/+29
| |/
* | Extend explanatory remark and argue using bitwise operations instead of ↵Daniel Kirchner2018-06-121-6/+14
| | | | | | | | rounding.
* | Use proper SAR for signed right shifts and emulate on pre-constantinople.Daniel Kirchner2018-06-122-6/+30
|/
* Introduces emit token and removes identifier workaround.Erik Kundt2018-06-122-3/+7
|
* Use boost::multiprecision::pow explicitlyAlex Beregszaszi2018-06-121-10/+7
|
* Show named argument name in errorAlex Beregszaszi2018-06-061-1/+1
|
* Merge pull request #4208 from ethereum/extract-name-and-type-testschriseth2018-06-051-2/+2
|\ | | | | Extract name and type tests
| * Fix view/pure error ordering problem.chriseth2018-06-041-2/+2
| |
* | Merge pull request #4213 from ethereum/fixpopchriseth2018-06-041-0/+2
|\ \ | | | | | | Fix bug related to byte array pop.
| * | Fix bug related to byte array pop.chriseth2018-05-311-0/+2
| |/
* / Remove suicide and sha3 assembly instructionsJason Cobb2018-06-041-5/+0
|/
* Merge pull request #4172 from ethereum/trailing_dotchriseth2018-05-311-1/+7
|\ | | | | [BREAKING] Disallow trailing dot not followed by number
| * Disallow trailing dots that are not followed by a numberLeonardo Alt2018-05-301-1/+7
| |
* | Merge pull request #3743 from ethereum/popStorageArraychriseth2018-05-315-3/+112
|\ \ | |/ |/| pop() for storage arrays
| * Fixes assembly bug and adds tests to cover it.Erik Kundt2018-05-301-5/+4
| |
| * Adds syntax tests, documentation and changelog entry.Erik Kundt2018-05-302-2/+2
| | | | | | | | Refines comment for array utility function.
| * Improves assembly and adds more tests.Erik Kundt2018-05-304-34/+15
| |
| * Implements pop() for byte arrays.Erik Kundt2018-05-291-10/+65
| |
| * Implements pop() for value type arrays.bitshift2018-05-295-1/+75
| |
* | Allow using `calldata` keyword to specify data locationmingchuan2018-05-307-19/+65
|/
* Merge pull request #4173 from sifmelcara/add/allow-storage-calldata-suffixchriseth2018-05-292-15/+30
|\ | | | | Allow data location suffix for internal elementary type parsing
| * Allow data location suffix for internal elementary type parsingmingchuan2018-05-222-15/+30
| |
* | Merge pull request #4067 from ethereum/050chriseth2018-05-244-26/+28
|\ \ | |/ |/| [BREAKING] Version 0.5.0
| * Update control flow graph.Daniel Kirchner2018-05-171-5/+4
| |
| * Fix continue inside do-while.Daniel Kirchner2018-05-171-12/+16
| |
| * Disallow conversions between bytesX and uintY of different size.Daniel Kirchner2018-05-171-3/+6
| |
| * Bool variables should not allow arithmetic comparisonLeonardo Alt2018-05-172-6/+2
| |
* | Fix assert message about function visibilitymingchuan2018-05-201-2/+2
| |
* | Avoid "unneccesary parentheses in declaration of" warning with keeping a ↵Julius Huelsmann2018-05-171-1/+3
| | | | | | | | temporary variable.