aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* Turn off the identity precompile for testingAlex Beregszaszi2016-12-121-1/+1
* Implement CompilerUtils::memoryCopy using inline assemblyAlex Beregszaszi2016-12-121-1/+26
* Add usingIdentity option to CompilerUtils::memoryCopyAlex Beregszaszi2016-12-122-2/+9
* Merge pull request #1464 from federicobond/warn-msgvaluechriseth2016-12-114-0/+162
|\
| * Warn about using msg.value in non-payable functionFederico Bond2016-12-094-0/+162
* | Fix names of JSON AST nodesFederico Bond2016-12-111-2/+2
|/
* Merge pull request #1351 from ethereum/truncate_bitchriseth2016-12-083-3/+5
|\
| * codegen: clean not only booleans but all types before storing them into memoryYoichi Hirai2016-12-012-4/+3
| * codegen: clean any data from the inputYoichi Hirai2016-12-011-2/+2
| * codegen: truncate booleans before they enter storageYoichi Hirai2016-12-011-1/+0
| * codegen: cleanup booleans before storing them into memoryYoichi Hirai2016-12-011-0/+2
| * codegen: truncate a boolean calldata down to one bitYoichi Hirai2016-12-011-0/+2
* | Merge pull request #1465 from ethereum/missing_keywordschriseth2016-12-061-2/+2
|\ \
| * | parsing: `default` and `null` are reserved keywordsYoichi Hirai2016-12-021-2/+2
* | | Throw if calling the identity precompile (memoryCopy) failedAlex Beregszaszi2016-12-021-1/+2
|/ /
* | Add the `_runs` parameter.chriseth2016-12-012-3/+3
* | Fix type of optimizeRunsAlex Beregszaszi2016-12-011-1/+1
* | Use CBOR encoding.chriseth2016-12-013-4/+11
* | Fix tests.chriseth2016-12-012-10/+0
* | Add swarm hash to the end of the bytecode.chriseth2016-12-015-12/+5
* | Make sure some keys are present.chriseth2016-12-011-0/+3
* | Incorporate comments.chriseth2016-12-011-10/+10
* | Metadata stamp.chriseth2016-12-019-31/+126
* | Merge pull request #1462 from ethereum/fix-incorrect-assertionchriseth2016-12-011-1/+1
|\ \
| * | codegen: assertion did not assert non-nullnessYoichi Hirai2016-12-011-1/+1
| |/
* | Merge pull request #1463 from ethereum/duplicate-assignmentchriseth2016-12-011-2/+0
|\ \
| * | codegen: this commit removes one of duplicate assignmentsYoichi Hirai2016-12-011-2/+0
| |/
* / parser: recognize an end of comment of the form `**/` at the end of a multi-l...Yoichi Hirai2016-12-011-1/+6
|/
* Include the grammar verbatim in the documentationAlex Beregszaszi2016-11-301-110/+0
* Rename dev::validate to dev::validateUTF8Alex Beregszaszi2016-11-292-3/+3
* Make position optional in dev::validateAlex Beregszaszi2016-11-292-4/+2
* Use solUnimplemented wherever possibleAlex Beregszaszi2016-11-282-3/+3
* Merge pull request #1395 from ethereum/grammarchriseth2016-11-251-1/+1
|\
| * Properly define the pragma directive in the grammarAlex Beregszaszi2016-11-181-1/+1
* | Merge pull request #1381 from ethereum/overflown_enum_comparedchriseth2016-11-253-8/+35
|\ \
| * | codegen: cleanup values to fit in storage bytesYoichi Hirai2016-11-251-0/+4
| * | codegen: storing of non-value types; add some assertionsYoichi Hirai2016-11-251-8/+5
| * | codegen: shorten the bit truncationYoichi Hirai2016-11-251-5/+2
| * | codegen: merge type conversion and cleaning upYoichi Hirai2016-11-251-3/+2
| * | codegen: document _chopSignBits parameter of convertType functionYoichi Hirai2016-11-251-0/+1
| * | codegen: add an option to CovertType so that it can truncate sign bitsYoichi Hirai2016-11-253-10/+22
| * | codegen: cleanup stored values in a more consistent wayYoichi Hirai2016-11-251-4/+16
| * | codegen: cleanup value types before storing themYoichi Hirai2016-11-241-0/+5
* | | Indentation.chriseth2016-11-251-1/+1
* | | ast: string literals that are not valid UTF are not convertible to stringsYoichi Hirai2016-11-252-1/+10
|/ /
* | Fix licensing headersVoR02202016-11-2377-308/+308
* | Add appendCallValueCheckAlex Beregszaszi2016-11-182-20/+14
* | Include payable for the constructor in the ABIAlex Beregszaszi2016-11-181-0/+1
* | Add payable check for constructor in codegenAlex Beregszaszi2016-11-181-0/+12
|/
* Some more assertions and style changes.chriseth2016-11-162-17/+26
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-166-18/+29
* Fix parser for function type disambiguity.chriseth2016-11-161-1/+12
* Simple peephole optimizer that is activated even if not requested.chriseth2016-11-162-5/+3
* Check that no internals are used in any external function type.chriseth2016-11-165-1/+45
* Converted sub assembly to smart pointer.chriseth2016-11-165-48/+50
* Stored combined creation and runtime tags.chriseth2016-11-1610-62/+136
* ABI: Use external function.chriseth2016-11-161-2/+2
* Disallow payable internal functions.chriseth2016-11-162-2/+5
* Mention "payable" in the documentation.chriseth2016-11-161-2/+2
* Fix tests.chriseth2016-11-161-1/+11
* delete for function typeschriseth2016-11-162-0/+8
* codegen: add a compilation mode and a runtime context to CompilerContextYoichi Hirai2016-11-164-6/+23
* Added function types to the grammar.chriseth2016-11-161-1/+4
* Implement uninitialized storage functions.chriseth2016-11-162-11/+17
* Bugfix in code generator.chriseth2016-11-161-1/+1
* Change alignment.chriseth2016-11-164-31/+43
* Changelog entry and small fixes.chriseth2016-11-162-5/+8
* External functions in storage.chriseth2016-11-163-18/+49
* Fix some type checks and tests for internal / external function parameters.chriseth2016-11-161-3/+3
* Function type state variables.chriseth2016-11-162-31/+68
* Code generator for function types.chriseth2016-11-164-2/+46
* Function types.chriseth2016-11-1614-39/+241
* Move InterfaceHandler from string to JSONAlex Beregszaszi2016-11-156-39/+37
* Rename ErrorTag to invalidJumpLabel in inline assemblyAlex Beregszaszi2016-11-151-1/+1
* Support ErrorTag as a jump label in inline assemblyAlex Beregszaszi2016-11-151-1/+5
* Merge pull request #1375 from ethereum/inline-assembly-stack-heightchriseth2016-11-151-7/+9
|\
| * Fix inline assembly stack warnings when using variablesAlex Beregszaszi2016-11-151-7/+9
* | Do not include a trailing new line in the ABI JSON outputAlex Beregszaszi2016-11-151-1/+4
|/
* Unimplemented features moved to their own exception (#1361)Rhett Aultman2016-11-157-17/+24
* Merge pull request #1367 from asinyagin/developchriseth2016-11-151-2/+2
|\
| * Print canonical names of structs and enums in ASTAlex Sinyagin2016-11-141-2/+2
* | Merge pull request #1372 from ethereum/invalid_enum_as_external_retchriseth2016-11-151-2/+2
|\ \
| * | codegen: overflow checking also during conversion from enumsYoichi Hirai2016-11-151-2/+2
| |/
* / codegen: add a missing `break;`Yoichi Hirai2016-11-141-0/+1
|/
* Merge pull request #1365 from walter-weinmann/developchriseth2016-11-141-1/+1
|\
| * #1362: As it stands currently, the >>> operator will not be implemented.Walter Weinmann2016-11-141-1/+1
* | codegen: move the enum overflow checking closer to the conversion into enumsYoichi Hirai2016-11-141-8/+16
* | ast, codegen: disallow conversion between different enum typesYoichi Hirai2016-11-122-2/+2
* | codegen: shorten the overflow checking when converting into enumsYoichi Hirai2016-11-121-1/+2
* | parsing: ban empty enum definition.Yoichi Hirai2016-11-121-0/+2
* | codegen: check the value range after converting something to an enum elementYoichi Hirai2016-11-121-0/+8
* | ast: add EnumType::numberOfMembers()Yoichi Hirai2016-11-122-1/+7
|/
* Merge pull request #1355 from ethereum/chriseth-patch-2chriseth2016-11-121-3/+3
|\
| * Fix semicolonschriseth2016-11-111-3/+3
* | Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-112-6/+6
|/
* Add support for do/while loopsRhett Aultman2016-11-108-9/+59
* add payable to ASTyann3002016-11-031-1/+2
* Clear all value types prior to storing.chriseth2016-10-311-7/+1
* ast: ban signed EXP, fixing #1246Yoichi Hirai2016-10-251-1/+4
* Suggest correct version for pragma and complain about pre-release version.chriseth2016-10-252-7/+28
* Merge pull request #1279 from ethereum/semver-helperchriseth2016-10-251-0/+6
|\
| * Export major/minor/patch helpers on SemVerVersionAlex Beregszaszi2016-10-251-0/+6
* | Merge pull request #1264 from ethereum/988chriseth2016-10-253-9/+21
|\ \ | |/ |/|
| * analysis: determine if a member access on a contract is an l-valueYoichi Hirai2016-10-251-0/+5
| * codegen: refactor common codeYoichi Hirai2016-10-242-20/+15
| * codegen: if a member access has been resolved as a variable, follow thatYoichi Hirai2016-10-241-0/+12
* | More checks for missing mobile type.chriseth2016-10-244-11/+44
|/
* codegen: skip contract L for L.Foo where Foo is a typeYoichi Hirai2016-10-241-1/+6
* Fix crash in throw.chriseth2016-10-241-1/+1
* Merge pull request #1240 from ethereum/1151chriseth2016-10-241-1/+5
|\
| * ast: simplifications suggested by @chrisethYoichi Hirai2016-10-201-7/+4
| * When a contract type is super, its members do not contain the functions of it...Yoichi Hirai2016-10-201-1/+8
* | ast: add a null checkYoichi Hirai2016-10-211-0/+1
* | ast: ContractDefinition::inheritableMembers contains enums as well as structsYoichi Hirai2016-10-211-0/+3
* | Support variable references within modifiers for inline assemblyAlex Beregszaszi2016-10-211-1/+1
* | Allow warnings for inline assembly blockAlex Beregszaszi2016-10-201-1/+1
* | Issue warnings if stack is not balanced after inline assembly blockAlex Beregszaszi2016-10-201-2/+24
* | Use warning function in TypeCheckerAlex Beregszaszi2016-10-201-5/+4
|/
* Use >> (SAR) to denote constant shiftsAlex Beregszaszi2016-10-201-1/+3
* Reject negative shifts within constantsAlex Beregszaszi2016-10-201-4/+8
* Support shifting constantsRJ2016-10-201-0/+22
* Disallow unsupported RValues in inline assemblyAlex Beregszaszi2016-10-201-4/+2
* Disallow magic variables in inline assemblyAlex Beregszaszi2016-10-201-0/+4
* Omit non-convertible bound functionsAlex Beregszaszi2016-10-191-1/+2
* Ensure that bound functions cannot be defined without self typeAlex Beregszaszi2016-10-192-2/+11
* `super`'s size on stack is zero, because the expression compiler does not pus...Yoichi Hirai2016-10-181-0/+1
* Check if a fixedBytes fits an integer typeYoichi Hirai2016-10-141-1/+5
* Merge pull request #1169 from ethereum/inline-assembly-tagsAlex Beregszaszi2016-10-121-1/+3
|\
| * Fix assignment after tags in inline assemblyAlex Beregszaszi2016-10-111-1/+3
* | Merge pull request #1181 from ethereum/formal_ignore_pragmachriseth2016-10-112-0/+15
|\ \
| * | Chack for non-version pragmasYoichi Hirai2016-10-111-1/+10
| * | formal: ignore pragmas during Why3 code generationYoichi Hirai2016-10-112-0/+6
| |/
* / Fix pragma keyword checkYoichi Hirai2016-10-111-1/+1
|/
* Merge pull request #1189 from NicolaiSoeborg/developchriseth2016-10-111-2/+2
|\
| * Fix: HexLiteral must be even number of nibblesNicolai2016-10-111-1/+1
| * Add HexLiteral to grammar, fixes #1186Nicolai2016-10-111-2/+2
* | Merge pull request #1168 from ethereum/rename-dev-sha3chriseth2016-10-115-5/+5
|\ \
| * | Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-065-5/+5
* | | Support address in inline assemblyAlex Beregszaszi2016-10-071-0/+3
* | | Add alias keccak256() for sha3()Alex Beregszaszi2016-10-061-0/+2
* | | Support both suicide/selfdestruct in inline assemblyAlex Beregszaszi2016-10-061-2/+5
|/ /
* | Merge pull request #1104 from ethereum/fixmemcostschriseth2016-09-171-4/+13
|\ \
| * | Access output memory area so that we do not pay for resize during call.chriseth2016-09-171-4/+13
* | | Allow value transfer to library functions.chriseth2016-09-171-1/+3
|/ /
* | Fix crash for TypeName[k].chriseth2016-09-161-1/+1
* | Prepare for leaky exceptionsYoichi Hirai2016-09-101-0/+4
* | toFormalType reports errors by an exceptionYoichi Hirai2016-09-102-21/+71
* | Translate mapping types into Why3 arrays when keys are integersYoichi Hirai2016-09-101-0/+14
* | Merge pull request #1047 from pirapira/address-in-preludechriseth2016-09-091-0/+9
|\ \
| * | Add Address module in the WhyML preludeYoichi Hirai2016-09-081-0/+9
* | | Fix problem with release version string.chriseth2016-09-081-3/+5
|/ /
* | Merge pull request #1041 from pirapira/typo_and_whitespacechriseth2016-09-082-2/+2
|\ \
| * | Fix a typo and whitespacesYoichi Hirai2016-09-072-2/+2
* | | Merge pull request #1044 from pirapira/todo_item_to_issuechriseth2016-09-081-1/+1
|\ \ \
| * | | Append an issue id #1043 to a @todo comment about itYoichi Hirai2016-09-071-1/+1
| |/ /
* | | Include assert for selfType on bound functions to avoid crashAlex Beregszaszi2016-09-071-1/+2
* | | Constructor must be internal or publicAlex Beregszaszi2016-09-061-0/+2
* | | Reject constant constructorsAlex Beregszaszi2016-09-061-2/+6
* | | Merge pull request #1016 from ethereum/reservedchriseth2016-09-062-1/+12
|\ \ \
| * | | Raise proper error on reserved keywordsAlex Beregszaszi2016-09-061-1/+11
| * | | Introduce isReservedKeyword()Alex Beregszaszi2016-09-061-0/+1
* | | | Merge pull request #1014 from ethereum/strict-fallbackchriseth2016-09-062-1/+2
|\ \ \ \
| * | | | Reject constant modifier on the fallback functionAlex Beregszaszi2016-09-062-1/+2
| |/ / /
* | | | Merge pull request #1011 from walter-weinmann/wwe_grammarchriseth2016-09-061-3/+3
|\ \ \ \
| * | | | Considering comment from @chriseth regarding FunctionCall.walter-weinmann2016-09-061-3/+1
| * | | | Considering comments from @chriseth regarding ExpressionStatement and Functio...walter-weinmann2016-09-061-4/+6
| * | | | Changes related to issues #984, #989, #999, #1001 and #1004.walter-weinmann2016-09-061-4/+4
* | | | | Merge pull request #1008 from ethereum/stipendwithsendchriseth2016-09-061-1/+6
|\ \ \ \ \
| * | | | | Provide gas stipend manually for send(0).chriseth2016-09-061-1/+6
| | |/ / / | |/| | |
* / | | | Reserve view and pure as keywordsAlex Beregszaszi2016-09-061-0/+2
|/ / / /
* | | | Merge pull request #665 from axic/feature/accept-etherchriseth2016-09-069-44/+133
|\ \ \ \
| * | | | Test and fixes for payable fallback in ABI.chriseth2016-09-061-0/+1
| * | | | Tests for payable / private combination.chriseth2016-09-061-2/+2
| * | | | Make constant and payable mutually exclusive.chriseth2016-09-061-0/+2
| * | | | Change function type to include and propagate payable and constant modifier.chriseth2016-09-065-28/+78
| * | | | Merged in changes from chriseth/payableAlex Beregszaszi2016-09-064-33/+37
| * | | | Do not include the payable keyword for constructorsAlex Beregszaszi2016-09-061-1/+0
| * | | | Support payable keyword for functionsAlex Beregszaszi2016-09-067-1/+34
| |/ / /
* | | | Merge pull request #995 from chriseth/fixutf8astjsonchriseth2016-09-061-2/+15
|\ \ \ \
| * | | | Do not emit non-utf8 strings for ast json.chriseth2016-09-021-2/+15
* | | | | Merge pull request #1006 from ethereum/nenewaccountgaschriseth2016-09-061-1/+3
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Do not pay new account gas.chriseth2016-09-051-1/+3
| | |/ / | |/| |
* | | | Merge pull request #1005 from ethereum/modifierbodyYoichi Hirai2016-09-062-3/+4
|\ \ \ \
| * | | | Update grammar.txt to reflect the change.chriseth2016-09-051-2/+3
| * | | | Require ";" after "_"chriseth2016-09-051-1/+1
| |/ / /
* | | | Merge pull request #993 from chriseth/fixshacrashchriseth2016-09-061-0/+8
|\ \ \ \ | |/ / / |/| | |
| * | | Improve error message.chriseth2016-09-051-1/+1
| * | | Guard encoding crashes with assertions.chriseth2016-09-021-0/+8
| |/ /
* / / Do not use internal types for event parameters.chriseth2016-09-021-1/+2
|/ /
* | Merge pull request #935 from chriseth/pragmachriseth2016-09-0116-7/+566
|\ \
| * | Use version string (including prerelease) for pragma matching.chriseth2016-09-011-2/+3
| * | Version pragma.chriseth2016-09-0116-7/+565
* | | fix CompilerStack::absolutePathDimitry2016-09-011-1/+1
|/ /
* | Make fallback function throw by default.chriseth2016-08-302-4/+3
* | Merge pull request #664 from axic/feature/interface-fallbackchriseth2016-08-301-1/+9
|\ \
| * | Introduce fallback entry in the ABIAlex Beregszaszi2016-08-271-1/+9
* | | Merge pull request #941 from chriseth/versionStringBob Summerwill2016-08-271-4/+2
|\ \ \ | |/ / |/| |
| * | Make versioning semver compatible and force commit hash availability.chriseth2016-08-261-4/+2
* | | Merge pull request #897 from Denton-L/remove-standardchriseth2016-08-272-30/+8
|\ \ \ | |/ / |/| |
| * | Remove standard contractsDenton Liu2016-08-192-30/+8
* | | Disallow fallback function to return values.chriseth2016-08-261-0/+2
* | | Merge pull request #921 from chriseth/astjsoncleanupchriseth2016-08-232-36/+35
|\ \ \
| * | | JSON AST: Some attribute cleanup. Add linearized base contracts.chriseth2016-08-192-36/+35
| |/ /
* / / Fix crash when using json compiler with exponentiation.chriseth2016-08-201-2/+7
|/ /
* | Rename root AST JSON node to SourceUnitAlex Sinyagin2016-08-181-1/+1
* | Do not add children to EnumValue and PlaceholderStatement elements in JSON ASTAlex Sinyagin2016-08-181-4/+2
* | Use the full names for JSON AST nodesAlex Sinyagin2016-08-181-11/+11
* | Move creation of the root element of JSON AST to the SourceUnit visitorAlex Sinyagin2016-08-182-5/+18
* | Add ast json converter for PlaceholderStatementAlex Sinyagin2016-08-182-0/+13
* | Add ast json converter for ArrayTypeNameAlex Sinyagin2016-08-182-0/+13
* | Add ast json converter for ModifierInvocation and EventDefinitionAlex Sinyagin2016-08-182-0/+26
* | Add ast json converter for ModifierDefinitionAlex Sinyagin2016-08-182-0/+13
* | Add ast json converter for EnumValueAlex Sinyagin2016-08-182-0/+13
* | Add ast json converter for EnumDefinitionAlex Sinyagin2016-08-182-0/+13
* | Add ast json converter for UsingForDirectiveAlex Sinyagin2016-08-182-1/+14
* | Add a ast json converter for InheritanceSpecifierAlex Sinyagin2016-08-182-0/+13
* | Merge pull request #918 from winsvega/solremove4chriseth2016-08-174-85/+1
|\ \
| * | remove solidity --interfaceDimitry2016-08-174-85/+1
* | | Merge pull request #839 from chriseth/checkcodechriseth2016-08-171-0/+7
|\ \ \
| * | | Make function calls throw if target does not have code.chriseth2016-08-171-0/+7
| |/ /
* | | Merge pull request #888 from chriseth/throwOnDivZerochriseth2016-08-171-3/+10
|\ \ \
| * | | Throw on division by zero.chriseth2016-08-171-3/+10
* | | | BREAKING: return only exits current function/modifierchriseth2016-08-172-35/+45
| |/ / |/| |
* | | Merge pull request #836 from chriseth/unusedunderscorechriseth2016-08-172-1/+29
|\ \ \ | |/ / |/| |
| * | Require modifiers to contain "_".chriseth2016-08-162-1/+29
* | | Merge pull request #838 from chriseth/ecrecoverchriseth2016-08-171-5/+38
|\ \ \
| * | | Actually better to return zero on error.chriseth2016-08-161-2/+0
| * | | Make ecrecover throw for malformed input.chriseth2016-08-161-5/+40
| |/ /
* | | Introduce hex literals (#832)Alex Beregszaszi2016-08-163-0/+37
* | | Reserved keywords update (#833)Alex Beregszaszi2016-08-161-2/+6
* | | Provide inline assembly to the code generator. (#840)chriseth2016-08-165-1/+87
* | | Throw if contract creation fails.chriseth2016-08-161-0/+3
|/ /
* | Merge pull request #844 from Denton-L/remove-afterchriseth2016-08-124-9/+5
|\ \
| * | Remove after from grammar.txtDenton Liu2016-08-111-1/+1
| * | Remove After from Types.cppDenton Liu2016-08-111-3/+2
| * | Revert "Change After to a deprecated token"Denton Liu2016-08-111-5/+1
| * | Change After to a deprecated tokenDenton Liu2016-08-111-1/+5
| * | Remove After from ExpressionCompilerDenton Liu2016-08-111-3/+0
| * | Remove after from Token.hDenton Liu2016-08-111-2/+2
* | | Fix Mapping and InlineAssembly in JSON ASTAlex Sinyagin2016-08-121-0/+2
* | | Fix JSON AST structureAlex Sinyagin2016-08-121-0/+1
|/ /
* | Merge pull request #722 from NicolaiSoeborg/developchriseth2016-08-113-29/+83
|\|
| * Add syntax for fallback functionsNicolai2016-08-091-1/+1
| * Split ElementaryTypeName into smaller rulesNicolai2016-08-021-5/+11
| * Remove ambiguity from EventDefinition. Fix SourceUnitNicolai2016-08-021-9/+9
| * Remove 'reduce/reduce conflicts' with comma operatorNicolai2016-07-311-1/+1
| * Fix reduce/reduce conflicts w/ multiple FunctionCall in ExpressionNicolai2016-07-301-1/+1
| * Remove TypeParameterListNicolai2016-07-301-4/+4
| * Fixes to expressionNicolai2016-07-271-10/+9
| * Added wildcard to UsingForDeclarationNicolai2016-07-271-3/+3