Erik Kundt
f90c6f57bb
Implements a test file parser.
2019-02-06 17:22:40 +01:00
chriseth
5c50e8fa99
Switch from Z3 to CVC4 as SMT solver for Ubuntu PPA.
2019-02-06 15:48:07 +01:00
Mathias Baumann
9f431339ef
Fix crash for too large struct array indicies
2019-02-06 11:50:25 +01:00
Mathias Baumann
77f407d450
Fix check that mappings can only have storage location
2019-02-05 18:06:42 +01:00
Alex Beregszaszi
554511b68e
Introduce solidity_free in libsolc
2019-01-31 15:53:55 +00:00
chriseth
35483422f3
Pad code to multiple of 32 bytes.
2019-01-30 11:31:28 +01:00
Alex Beregszaszi
9aafa32825
Disallow empty import statements
2019-01-28 13:52:15 +00:00
chriseth
2e7274b49d
Merge pull request #5837 from ethereum/fixCalldataEncodedSize
...
Fix reported packed encoded size.
2019-01-24 13:10:27 +01:00
chriseth
e3791d6dcf
Fix reported packed encoded size for arrays and structs.
2019-01-23 11:13:22 +01:00
Bhargava Shastry
24b1de7df0
This PR refactors and shares oss-fuzz specific test harness code with the afl fuzzer harness. ChangeLog updated.
2019-01-23 11:06:25 +01:00
chriseth
70896deb67
Update version and changelog.
2019-01-22 16:46:25 +01:00
chriseth
43fb38a84e
Update changelog for release.
2019-01-22 09:04:18 +01:00
Leonardo Alt
7f8ceaadab
[SMTChecker] Clear state knowledge after external function calls
2019-01-21 12:58:40 +01:00
chriseth
f8e9aed839
Merge pull request #5717 from ethereum/smt_typecast
...
[SMTChecker] Support basic typecast without truncation
2019-01-21 12:35:07 +01:00
Daniel Kirchner
610ef9f199
Disallow calldata structs.
2019-01-21 10:30:57 +01:00
Daniel Kirchner
870b656eda
Split up rule list generation further to prevent issues in browsers with the emscripten build.
2019-01-18 17:02:47 +01:00
chriseth
2ec997e697
Merge pull request #5775 from ethereum/codeAccess
...
Provide access to code of contract types.
2019-01-18 00:16:06 +01:00
chriseth
0b14d7a2d6
Merge pull request #5807 from ethereum/fixed_point_encoding
...
Return TypeError is fixed point encoding is attempted.
2019-01-17 23:47:07 +01:00
chriseth
2a92403690
Changelog entry.
2019-01-17 20:37:34 +01:00
Daniel Kirchner
5baac8470b
Use emscripten 1.38.8 on both travis and circle.
2019-01-17 18:31:34 +01:00
Leonardo Alt
c96b760c47
Return TypeError is fixed point encoding is attempted.
2019-01-17 13:36:53 +01:00
Daniel Kirchner
1f06a94b5d
Add missing Changelog entries for Yul switch changes.
2019-01-17 13:02:01 +01:00
Leonardo Alt
a10db051de
[SMTChecker] Support basic typecast
2019-01-16 13:00:54 +01:00
Daniel Kirchner
0dfd4a726e
Warn about unreachable code.
2019-01-10 10:36:50 +01:00
chriseth
937fc8538e
Changelog entry.
2019-01-07 17:23:38 +01:00
chriseth
ef8a67919f
Set version to 0.5.3
2018-12-20 07:25:52 +01:00
chriseth
9eeace3e37
Update changelog for release.
2018-12-19 17:02:58 +01:00
chriseth
900d100700
Changelog entry.
2018-12-19 14:59:29 +01:00
Mathias Baumann
c43d96f2bf
Json: Provide better error messages for wrong types
2018-12-18 18:36:50 +01:00
chriseth
4e475cdbe9
Merge pull request #5625 from ethereum/single-check
...
Do check for callvalue only once if no payable functions
2018-12-18 11:36:58 +01:00
Mathias Baumann
1b8570f829
Only generate sort/search code when interface functions exist
2018-12-17 21:24:37 +01:00
chriseth
7b1a6798e6
Remove support for Visual Studio 2015.
2018-12-17 18:56:23 +01:00
chriseth
6e205cc4e3
Merge pull request #5624 from ethereum/standard_json_unknown_keys
...
Disallow unknown JSON keys in standard-json
2018-12-13 09:58:34 +01:00
chriseth
e85c3428b4
Merge pull request #5634 from ethereum/staticPPA
...
Replace trusty PPA build by static PPA build.
2018-12-12 18:43:08 +01:00
Daniel Kirchner
e00dfd8ae2
Update changelog and release checklist.
2018-12-12 17:53:31 +01:00
Leonardo Alt
8cd2ac8462
Disallow unknown JSON keys in standard-json
2018-12-12 17:32:42 +01:00
chriseth
87237281bf
Merge pull request #5630 from ethereum/warn_functions_empty_body
...
Supress unused var and state mut warnings for functions with empty body
2018-12-12 17:00:50 +01:00
Leonardo Alt
8c49d86e6b
Changelog entry
2018-12-12 14:43:44 +01:00
Daniel Kirchner
788612d2ef
Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses.
2018-12-12 04:20:53 +01:00
chriseth
fb3a0ac1c7
Codegen for object access.
2018-12-11 19:24:44 +01:00
chriseth
9f86ede32d
Merge pull request #5454 from ethereum/smt_math_functions
...
[SMTChecker] Abstract math functions
2018-12-11 18:35:10 +01:00
Leonardo Alt
08737e43dc
[SMTChecker] Use SymbolicFunctionVariable for uninterpreted functions
2018-12-11 11:28:25 +01:00
chriseth
ead13b1d21
Changelog entry.
2018-12-10 17:11:48 +01:00
Erik Kundt
b2afb8cdda
Adds an additional message to failing type conversions.
2018-12-07 11:55:53 +01:00
chriseth
fb805ccca6
Changelog entry.
2018-12-06 14:51:25 +01:00
chriseth
d829794737
Improve yul error messages around number of arguments and variables.
2018-12-04 11:37:03 +01:00
chriseth
e7a0edbd97
Set version to 0.5.2.
2018-12-03 16:38:26 +01:00
chriseth
8d623dcca1
Massage changelog for 0.5.1
2018-12-03 14:16:34 +01:00
chriseth
eed353a367
Merge pull request #5558 from anurag-git/issue_5130
...
Fix internal compiler error for unimplemented base contract function.
2018-12-03 12:41:25 +01:00
chriseth
1502449b85
Add solc-js changes.
2018-12-03 12:30:08 +01:00
Anurag Dashputre
82f5763e7a
Fix internal compiler error for unimplemented base contract function.
2018-12-03 12:25:31 +01:00
chriseth
4b98946e5a
Merge pull request #5341 from ethereum/optimizeAssemblyCommandline
...
Apply the optimize commandline parameter to assembly mode.
2018-12-03 11:52:48 +01:00
chriseth
0668a9ecfb
Public state variables are implementing external functions.
2018-12-03 10:46:03 +01:00
chriseth
6c44c5f0c9
Apply the optimize commandline parameter to assembly mode.
2018-11-30 23:39:05 +01:00
chriseth
17a703f71a
Changelog entry.
2018-11-30 16:30:31 +01:00
chriseth
d6d41b2bc7
Merge pull request #5548 from ethereum/fixMemberAccess
...
Fix bug related to state variables of function type accessed via base contract.
2018-11-30 09:26:08 +01:00
chriseth
c445e7dfa4
Disallow inline arrays of mapping type.
2018-11-29 19:45:06 +01:00
chriseth
73a64da041
Fix bug related to state variables of function type accessed via base contract.
2018-11-29 19:30:27 +01:00
Leonardo Alt
67bbcefe6c
Report deprecation error on functions sha3 and suicide also without call.
2018-11-29 14:29:13 +01:00
Leonardo Alt
1d47919c0c
Fix ICE when function type struct parameter has field of non-existent type
2018-11-29 10:38:47 +01:00
chriseth
b4086ac870
Merge pull request #5526 from ethereum/fixGetterNewCoder
...
Fix: Disallow structs in getters for old encoder.
2018-11-28 17:05:52 +01:00
chriseth
463951e8cd
Merge pull request #5530 from ethereum/fix-ast-segfault
...
Fixes crash on empty runtime code.
2018-11-28 16:33:56 +01:00
Erik Kundt
50351fb8e2
Fixes crash on empty runtime code.
2018-11-28 14:41:16 +01:00
chriseth
d748165fb2
Merge pull request #5522 from juztin/develop
...
Builds both scratch & Alpine Docker images
2018-11-28 14:38:57 +01:00
chriseth
9ba3532eac
Changelog entry.
2018-11-28 14:11:51 +01:00
chriseth
7cbf046864
Merge pull request #5358 from ethereum/yulObjects
...
[Yul] Yul objects parser
2018-11-28 11:33:29 +01:00
chriseth
69dcf1a5f7
Changelog entry.
2018-11-28 11:30:00 +01:00
Justin Wilson
9a2cb7bbc1
Added Docker updates to changelog
2018-11-27 13:50:00 -07:00
chriseth
fb2e471d00
Fix nondeterminism bug related to boost version.
2018-11-27 16:00:22 +01:00
chriseth
240ad0e34e
Merge pull request #5382 from ethereum/libraryMappingPublic
...
Allow mapping arguments for public and external library functions.
2018-11-26 19:47:32 +01:00
chriseth
1e7a23a205
Changelog entry and tests.
2018-11-26 16:51:45 +01:00
Daniel Kirchner
30e6f8d3fb
Allow mapping arguments for public and external library functions.
2018-11-26 16:31:46 +01:00
chriseth
764d618c44
Merge pull request #5404 from ethereum/jumpFixes
...
Annotate jump from calldata decode to function as "jump in".
2018-11-26 16:08:04 +01:00
chriseth
ac5803bf3e
Changelog entry and tests.
2018-11-26 12:41:26 +01:00
chriseth
2d0326aad2
Changelog entry.
2018-11-26 11:02:58 +01:00
chriseth
2e861bf1a0
Merge pull request #5472 from ethereum/assemblyAnnotationOutput
...
Jumps with annotations cannot be functional.
2018-11-23 17:02:03 +01:00
chriseth
bb10be789c
Inject SMTLIB2 queries and responses via standard-json-io.
2018-11-23 09:43:49 +01:00
chriseth
69afd094ac
Changelog entry.
2018-11-21 19:28:42 +01:00
chriseth
6ee764edcb
Changelog entry.
2018-11-21 16:59:40 +01:00
Leonardo Alt
06c3f0953a
[SMTChecker] Support bound function calls
2018-11-19 15:29:00 +01:00
Leonardo Alt
70bb0eaf95
[SMTChecker] Implement uninterpreted functions and use it for blockhash()
2018-11-15 09:12:42 +01:00
chriseth
727e3f24bc
Do not perform cleanup on unsigned integers when loading from calldata.
2018-11-14 20:52:30 +00:00
Alex Beregszaszi
b4fcce0bde
Do not build LLL unless requested via the LLL cmake option
2018-11-13 23:51:17 +00:00
chriseth
6c47b67319
Set version to 0.5.1.
2018-11-13 19:35:17 +01:00
chriseth
dd03d80173
Add release date to changelog.
2018-11-13 16:24:17 +01:00
Alex Beregszaszi
b6c3257752
Remove old libsolc API (compileJSON, compileJSONMulti, compileJSONCallback)
2018-11-13 13:54:01 +00:00
Daniel Kirchner
b5e9d849ef
Ignore unimplemented functions for storage returns.
2018-11-13 12:18:22 +01:00
Erik Kundt
1d8e9af407
Fixes crash while encoding too large arrays.
2018-10-30 15:14:57 +01:00
mestorlx
9f9d6fdcc4
fix issue##5007
2018-10-15 14:26:15 -03:00
Leonardo Alt
e4851cf59e
[SMTChecker] Inline calls to internal functions
2018-10-15 15:11:21 +02:00
mestorlx
1ce9566e50
Updated MAXIMUM_STRING_DISTANCE to non static maximumStringDistance taking into account length of the identifier
2018-10-13 09:54:07 -03:00
chriseth
6daeb39ecc
Use hash for library placeholders.
2018-10-12 15:15:01 +02:00
chriseth
2feaacba9d
Merge pull request #5195 from ethereum/unsigned-array-index
...
Do not crash on non-unsigned array index
2018-10-10 20:56:25 +02:00
Erik Kundt
763ae30023
Fixes crash on non-unsigned array index.
2018-10-10 19:49:25 +02:00
Martin Diz
ef25454a04
Improved error message for lookup in function types.
2018-10-10 11:53:53 -03:00
chriseth
7ff9a27979
Merge pull request #4734 from ethereum/astUpdate
...
JSON AST: replace ``isConstructor`` by ``kind`` which also supports fallbacks
2018-10-08 21:47:27 +02:00
Alex Beregszaszi
c4b5101b9d
Merge pull request #4676 from jwasinger/extcodehash
...
Add support for EXTCODEHASH
2018-09-28 00:04:40 +01:00
Chris Ward
d9b7fd1347
Add Mojave to dependencies script
...
Add changelog entry
Moved changelog item
Updates from review
2018-09-27 12:06:41 +03:00
Jared Wasinger
c6bd2979b1
Add assembly support for EXTCODEHASH (EIP-1052)
2018-09-26 16:11:02 +01:00
chriseth
13cd7c3fed
Merge pull request #5061 from ethereum/fixedSizeArrayLength
...
Disallow fixed-size arrays with zero length
2018-09-26 14:55:07 +02:00
Alex Beregszaszi
8cfc6c98d6
CREATE2 is part of Constantinople now
...
Also add hasCreate2 to EVMVersion
2018-09-26 01:58:10 +01:00
Erik Kundt
13a5890cc3
Updates changelog.
2018-09-22 00:41:07 +02:00
hydai
b409faa675
Disallow uppercase X in hex number literals
2018-09-19 22:01:15 +08:00
Alex Beregszaszi
0db76a01da
CREATE2 opcode has been moved from 0xfb to 0xf5
2018-09-18 23:04:57 +01:00
hydai
3c4cfbf277
Fix typos in Changelog
2018-09-19 02:22:32 +08:00
Daniel Kirchner
a1d73a7bef
Split simplification rules into two functions.
2018-09-18 14:28:21 +02:00
chriseth
2a083715d3
Changelog entry for array type conversion change.
2018-09-17 17:49:40 +02:00
chriseth
300ac9878f
Merge branch 'release' into develop.
2018-09-13 22:54:57 +02:00
chriseth
6ed88d1bfe
Update changelog.
2018-09-13 16:34:22 +02:00
Daniel Kirchner
12aaca1645
Add payable and non-payable state mutability to AddressType.
2018-09-13 15:15:49 +02:00
chriseth
8c56a5912b
Set relase date of 0.4.25.
2018-09-12 18:38:16 +02:00
Daniel Kirchner
1ce3581a52
Accept `address payable
` during parsing.
2018-09-11 14:52:23 +02:00
Daniel Kirchner
395ab9a872
Replace `isConstructor
field in the JSON AST by a
kind
` field.
2018-09-11 14:47:25 +02:00
chriseth
be713ed117
Changelog entry and bug list.
2018-09-10 14:37:58 +02:00
chriseth
b9164eaba2
Merge pull request #4937 from ethereum/fixNewline_0425
...
[backport] Fix newline bugs
2018-09-10 13:00:03 +02:00
chriseth
b84a1b390b
Changelog entry and bug list.
2018-09-10 12:47:46 +02:00
chriseth
55e4532c72
Changelog.
2018-09-10 12:29:07 +02:00
Leonardo Alt
768ea5b0be
Disallow indexed reference types in events when using ABIEncoderV2
2018-09-06 18:28:14 +02:00
Leonardo Alt
c577e043a4
Disallow structs in events without ABIEncoderV2
2018-09-06 17:11:53 +02:00
chriseth
507cdf6de2
Set version.
2018-09-06 16:55:53 +02:00
chriseth
4fb4846d1f
Changelog.
2018-09-06 16:44:59 +02:00
chriseth
522174890f
Merge pull request #4872 from bakaoh/issue4716
...
Crash when array index value is too large
2018-09-05 21:47:42 +02:00
Daniel Kirchner
87804b6419
Split IntegerType into IntegerType and AddressType.
2018-09-05 12:19:14 +02:00
chriseth
a996ea266c
Merge pull request #4590 from ethereum/msgValueModifier
...
Warn if modifier uses msg.value in non-payable function
2018-09-05 10:32:10 +02:00
bakaoh
a7ffff6a29
Fix #4716 : Crash when array index value is too large
2018-09-05 10:54:38 +07:00
chriseth
85debe77d9
Merge pull request #4866 from bakaoh/issue4743
...
Fix#4743: Incorrect source location for nameless parameters
2018-09-04 20:21:03 +02:00
Leonardo Alt
ac8892e0e3
Review suggestions
2018-09-04 12:14:04 +02:00
chriseth
de9f566a7c
Update changelog.
2018-09-03 18:37:51 +02:00
Erik Kundt
75a92b0ffd
Warns if modifier uses msg.value in non-payable function.
2018-09-03 18:35:57 +02:00
Leonardo Alt
4522c804f3
Disallow single statement var decl in if/while/for without blocks
2018-09-03 18:21:57 +02:00
bakaoh
3d7b0d691f
Update test to correct source location for nameless parameters
2018-08-31 09:54:11 +07:00
Leonardo Alt
583e7156ba
Dynamic type as mapping key returns error instead of assertion fail
2018-08-16 11:59:41 +02:00
chriseth
cc6fa6d61f
Merge pull request #4822 from ethereum/addressStaticCall
...
Add ``staticcall`` to ``address``.
2018-08-16 00:13:21 +02:00
Leonardo Alt
b6c839e817
Disallow indexed reference types in events when using ABIEncoderV2
2018-08-15 17:11:18 +02:00
Daniel Kirchner
7ca0aaaf6f
Add `staticcall
to
address
`.
2018-08-15 16:06:48 +02:00
chriseth
6c0261e6ab
Merge pull request #4390 from ethereum/abidecode
...
Add abi.decode
2018-08-15 12:31:26 +02:00
chriseth
6e139f7d1a
Changelog entry.
2018-08-15 10:45:16 +02:00
bakaoh
3fa8829845
Fixes #4718 : High CPU usage when using large variable names
2018-08-15 10:23:08 +02:00
chriseth
e3b6c5a4bd
Update documentation.
2018-08-14 18:07:15 +02:00
Alex Beregszaszi
0b6a26f854
Calculate the dataGas correctly in the constant optimiser
...
This may cause a wrong decision about cost (and as a result choosing the least efficient code),
but will not cause any miscompilation or invalid output.
2018-08-14 17:45:43 +02:00
chriseth
3f42118d19
Merge pull request #4765 from ethereum/fixes-issue-4673
...
[WIP] Fixes issue where computing storage size for a number would take too long (or even cause a crash).
2018-08-14 17:34:04 +02:00
chriseth
ec7ccbdf86
Merge pull request #4782 from ethereum/encodePackedArrayOfStructs
...
Encode packed array of structs
2018-08-14 16:32:57 +02:00
Christian Parpart
43bda53410
Fixes issue where computing storage size for a number would take too long.
...
Fixes #4673 .
2018-08-14 15:38:10 +02:00
Christian Parpart
81faafe7f2
Adds support for structs in interfaces.
...
Closes #4733 .
2018-08-14 15:36:03 +02:00
chriseth
6ca3973944
Merge pull request #4777 from ethereum/typeConversionMemory
...
Defaul data location for type conversions is memory.
2018-08-14 11:36:19 +02:00
chriseth
3dd31b704a
Merge pull request #4798 from ethereum/mappingArgumentsAndReturns
...
Mapping arguments and returns
2018-08-13 17:27:29 +02:00
chriseth
ae8218543b
Merge pull request #4696 from ethereum/byteLiteralConversion
...
Disallow ambiguous implicit and explicit conversions from number literals to bytesXX
2018-08-13 17:25:30 +02:00
Daniel Kirchner
4ae59acc09
Consider mappings return values in control flow analysis.
2018-08-13 16:33:37 +02:00
Daniel Kirchner
a9f31da411
Allow mapping arguments and return values in all internal functions.
2018-08-13 15:50:22 +02:00
chriseth
bd567a22c9
Defaul data location for type conversions is memory.
2018-08-13 14:38:12 +02:00
Daniel Kirchner
57ada1d69e
Allow mapping arguments and return values in internal library functions.
2018-08-13 14:31:10 +02:00
Daniel Kirchner
7d7abeb149
Disallow ambiguous conversions between number literals and bytesXX types.
2018-08-13 14:27:01 +02:00
Daniel Kirchner
954d7433bd
Disallow remappings with empty prefix.
2018-08-10 19:26:48 +02:00
chriseth
499ec8b024
Changelog entry.
2018-08-09 21:16:51 +02:00
Daniel Kirchner
b6e352f694
Merge pull request #4767 from ethereum/cvc4Build
...
Add workarounds for building against CVC4 on ArchLinux.
2018-08-09 15:45:52 +02:00
chriseth
d634d20b5b
Merge pull request #4684 from ethereum/underscores_in_numeric_literals
...
[BREAKING] Underscores in numeric literals
2018-08-08 21:36:57 +02:00
Daniel Kirchner
46b0feb602
Add Changelog entry.
2018-08-08 19:29:25 +02:00
Alex Beregszaszi
3c791d637d
Provide nicer error message when referencing overloaded references
2018-08-08 15:59:24 +01:00
Alex Beregszaszi
1bfb841771
Remove experimental 0.5.0 pragma
2018-08-08 14:05:36 +01:00
chriseth
de8e9114fd
Merge pull request #4740 from ethereum/enforceNumberOfReturnValues
...
Disallow empty return in function with return arguments.
2018-08-08 14:59:09 +02:00
Alex Beregszaszi
d2ca9c8206
Merge pull request #4754 from Rytiss/patch-1
...
Fix typo in Solidity name/url in the changelog
2018-08-08 11:28:04 +01:00
Balajiganapathi S
0000bfc604
Allow underscores in numbers.
2018-08-08 12:05:51 +02:00
Rytis Slatkevičius
7cc9ab7d72
Fix typo in Solidity name/url
2018-08-08 12:14:39 +03:00
Daniel Kirchner
cc83e69469
Disallow empty return expressions in functions with non-empty return parameters.
2018-08-07 20:48:07 +02:00
Daniel Kirchner
b11e39e25e
Remove remaining instances of `fillRight
` left over from tuple wildcards assignments.
2018-08-07 18:51:53 +02:00
chriseth
d7756322c0
Merge pull request #4731 from ethereum/interface-enum
...
Allow enums in interfaces
2018-08-07 17:20:05 +02:00
Alex Beregszaszi
a765b5b31c
Merge pull request #4720 from ethereum/abi-rational-type-identifier
...
Fix type identifiers for RationalNumberType (on negative numbers)
2018-08-07 14:25:11 +01:00
Alex Beregszaszi
13e37df97c
Allow enums in interfaces
2018-08-07 13:28:53 +01:00
Alex Beregszaszi
b0f9fc5af0
Fix type identifiers for RationalNumberType
2018-08-07 13:23:14 +01:00
Alex Beregszaszi
eb7b3862ac
Properly handle invalid references used together with _slot and _offset.
2018-08-07 13:18:38 +01:00
Alex Beregszaszi
8b2d630275
Merge pull request #4724 from ethereum/slot-in-assembly
...
Do not crash on using _slot and _offset suffixes on their own
2018-08-07 12:55:40 +01:00
Alex Beregszaszi
21ceac090a
Merge pull request #4592 from asifmallik/fixBackslashBugFinal
...
Fix backslash bug
2018-08-07 12:47:37 +01:00
Alex Beregszaszi
296ba24f7f
Do not crash on using _slot and _offset suffixes on their own
2018-08-07 12:14:12 +01:00
chriseth
71e26f6adb
Remove clone feature.
2018-08-07 11:10:50 +01:00
chriseth
276724dedc
Merge pull request #4663 from ethereum/dropConstantAST
...
[BREAKING] Drop constant field from JSON AST
2018-08-06 18:55:12 +02:00
Asif Mallik
fba7b7c204
Fix backslash bug
2018-08-06 18:17:56 +02:00
chriseth
9d03de1f25
Merge pull request #4671 from ethereum/mappingTupleAssignment
...
Disallow assignments to mappings within tuple assignments; allow for local variables.
2018-08-06 12:59:16 +02:00
chriseth
3576980710
Merge pull request #4644 from ethereum/event_struct_error
...
Disallow structs in events without ABIEncoderV2
2018-08-06 11:44:05 +02:00
Daniel Kirchner
44374a5846
Remove "constant" from JSON AST.
2018-08-06 11:15:25 +02:00
Christian Parpart
a4ee1dfc83
Merge pull request #4412 from ethereum/v050-reference-resolver-errorTypeForLoose
...
[BREAKING] permanently set errorTypeForLoose from Warning to SyntaxError
2018-08-03 19:30:33 +02:00
Daniel Kirchner
1e4b5886d6
Allow assignments to local variables of mapping types.
2018-08-03 16:22:03 +02:00
Daniel Kirchner
c0a169ca90
Disallow assignments to mappings within tuple assignments.
2018-08-03 15:46:26 +02:00
Leonardo Alt
20c6cea7bb
Disallow structs in events without ABIEncoderV2
2018-08-03 13:41:27 +02:00
Daniel Kirchner
35c5b7de25
Turn warning about uninitialized storage returns into an error.
2018-08-02 19:34:38 +02:00
Christian Parpart
5d9320c70b
Disallow loos assembly in Solidity by permanently setting it to SyntaxError (from Warning)
2018-08-02 13:36:05 +01:00
Daniel Kirchner
30d9961efb
Do not exclude public state variables when looking for conflicting declarations.
2018-08-01 14:31:04 +02:00
Alex Beregszaszi
ce99a5ce7f
Merge pull request #4378 from ethereum/noBaseWithoutArguments
...
[BREAKING] Disallow calling base constructors without arguments.
2018-08-01 13:18:37 +01:00
chriseth
7e5406dd89
Disallow calling base constructors without arguments.
2018-08-01 12:28:27 +01:00
Christian Parpart
38f9667e09
Guard CycleDetector against recursion exhaustion.
...
fixes #3935 .
2018-08-01 12:02:59 +01:00
chriseth
c8232d9759
Disallow conversion between unrelated contract types.
2018-08-01 11:04:35 +01:00
Leonardo Alt
210fee571f
Fix crash when FunctionType has undeclared type as parameter
2018-07-31 11:17:51 +02:00
Alex Beregszaszi
de90290c28
Merge pull request #4527 from ethereum/mappingEnforceStorage
...
Enforces explicit data location for mappings
2018-07-23 20:43:38 +01:00
Erik Kundt
c622a1e56c
Enforces data location of local mappings to storage.
2018-07-23 19:30:07 +02:00
Christian Parpart
9f35f0b805
Disallow functions without implementation to use modifiers. This was already the case in the experimental 0.5.0 mode.
2018-07-23 17:29:08 +01:00
chriseth
e3c2f20f6e
Merge pull request #4439 from ethereum/address_members
...
[BREAKING] Enforce address members not accessible by contract instance
2018-07-19 09:24:27 +02:00
Leonardo Alt
faa9c221d4
Changes in ExpressionCompiler
2018-07-18 19:51:24 +02:00
Erik Kundt
182a0a9551
Disallows old constructor syntax.
2018-07-18 14:29:01 +02:00
Erik Kundt
8b827af5bf
Updates changelog to be more specific about visibility enforcement.
2018-07-18 12:03:25 +02:00
Erik Kundt
b5ecfbe5bc
Enforces visibility specifier and updates docs.
2018-07-17 17:44:51 +02:00
Leonardo Alt
0075f4239a
Address members not accessible by contract instance
2018-07-17 13:33:23 +01:00
Alex Beregszaszi
21e97da294
Deprecate the throw statement
2018-07-16 15:33:20 +02:00
Christian Parpart
396bf11858
enforce interface-functions to be external-declared
...
- 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.
2018-07-16 12:15:36 +02:00
chriseth
bab4a3975f
Merge pull request #4501 from ethereum/recursiveStructsWithFixedArrays
...
Consider fixed-size arrays when checking for recursive structs.
2018-07-13 01:26:50 +02:00
Daniel Kirchner
d936eebe50
Update Changelog.
2018-07-12 20:33:51 +02:00
Daniel Kirchner
f6f8fe6450
Add Changelog entry.
2018-07-12 20:14:30 +02:00
chriseth
6dcafac44e
Merge pull request #4447 from hosho/develop
...
Fix NatSpec json output for "@notice" and "@dev" tags on contract definitions
2018-07-12 18:42:30 +02:00
chriseth
81271801b4
Merge pull request #4478 from ethereum/requireStorageLocation
...
Turn missing storage locations into an error.
2018-07-12 18:00:05 +02:00
Matthew Little
a0d8459d95
Add changelog bugfix
...
For fixing NatSpec json output for "@notice" and "@dev" tags on contract definitions.
2018-07-12 14:39:23 +02:00
chriseth
fa8102880f
Merge pull request #4428 from ethereum/enforce_staticcall_view
...
[BREAKING] Enforce STATICCALL for view and pure
2018-07-12 13:14:02 +02:00
chriseth
576f3ef18c
Merge pull request #4083 from ethereum/variable_stack_slot
...
[BREAKING] Allocate local variables according to their scope
2018-07-12 13:01:15 +02:00
Daniel Kirchner
aa81ac4456
Update Changelog.
2018-07-12 12:54:42 +02:00
Daniel Kirchner
08d0c9b7d7
Add Changelog entry.
2018-07-11 18:53:16 +02:00
Leonardo Alt
38026d3114
Use STATICCALL for view and pure
2018-07-11 14:45:22 +02:00
chriseth
f3abfa81ad
Merge pull request #4454 from ethereum/constructorArgCount
...
[BREAKING] Wrong argument count in constructor call
2018-07-11 14:45:05 +02:00
chriseth
238dbe1b99
Merge pull request #4388 from ethereum/noPackedLiterals
...
Disallow packed encoding of literals.
2018-07-11 14:28:20 +02:00
Erik Kundt
038554abe0
Adds changelog entry.
2018-07-11 01:57:14 +02:00
Cryptomental
140dbfdbd8
Code, Changelog, ReleaseChecklist: Fix typos.
...
Refs: #4442
2018-07-11 00:26:23 +02:00
chriseth
d84976dc87
Merge pull request #4376 from ethereum/fallbackExternal
...
Fallback functions have to be external
2018-07-10 21:39:25 +02:00
chriseth
6567cd3e51
Merge pull request #4466 from ethereum/tupleNotEmpty
...
Disallow empty tuple components.
2018-07-10 21:03:30 +02:00
Leonardo Alt
1f77deada1
[050] Reserving and popping local vars in their scope
2018-07-10 18:39:38 +02:00
chriseth
32b44e10c5
Changelog entry.
2018-07-10 16:27:57 +02:00
Daniel Kirchner
833fc8955f
Update changelog.
2018-07-10 15:28:06 +02:00
chriseth
7650905567
Merge pull request #4415 from ethereum/uninitializedStoragePointer
...
[BREAKING] Turn uninitialized storage variables into error.
2018-07-10 15:24:01 +02:00
Daniel Kirchner
36022493df
Add Changelog entry.
2018-07-10 12:17:01 +02:00
Daniel Kirchner
65631cffc2
Update documentation and Changelog.
2018-07-10 11:38:33 +02:00
chriseth
4747ef26fb
Add backticks to changelog.
2018-07-09 17:56:53 +02:00
Leonardo Alt
c1b67a845b
Enforce error on hex number combined with unit denomination
2018-07-09 17:19:41 +02:00
Alex Beregszaszi
c42583d27e
Merge pull request #4366 from ethereum/libsolc-cleanup
...
Implement new libsolc API
2018-07-09 12:30:11 +02:00
chriseth
f3e0bf1dd8
Merge pull request #4418 from ethereum/initialConstants
...
Only allow compile-time constants for constant state variables.
2018-07-05 17:07:32 +02:00
chriseth
c8ac861832
Fix allocation of byte arrays.
2018-07-05 14:18:14 +02:00
Daniel Kirchner
d9a8f2aace
Update documentation and Changelog.
2018-07-04 10:14:58 +02:00
chriseth
8ed3da1d5f
Only allow compile-time constants for constant state variables.
2018-07-03 23:03:26 +02:00
chriseth
bc6b42a9f6
Changelog entry.
2018-07-03 22:51:57 +02:00
chriseth
533d5d4b1c
Merge pull request #4379 from ethereum/constructorArgsTwice
...
Disallow constructor arguments given multiple times.
2018-07-03 22:49:02 +02:00
Daniel Kirchner
a7fc8a996b
Update Changelog.
2018-07-03 15:31:34 +02:00
Christian Parpart
0b5dd7320a
Changelog: added `var
`-keyword change
2018-07-03 10:53:09 +02:00
chriseth
f7a9c4203e
Disallow packed encoding of literals.
2018-07-03 01:02:00 +02:00
chriseth
08aa7e47e4
Merge pull request #4305 from ethereum/transactionReceipts
...
Determine transaction status in RPC sessions.
2018-07-02 16:09:59 +02:00
Daniel Kirchner
334c023c72
Determine transaction status in RPC sessions.
2018-07-02 12:56:33 +02:00
chriseth
85b9d3927a
Merge pull request #4224 from ethereum/revert_wrong_calldata
...
[BREAKING] Revert if calldata has wrong size
2018-07-02 12:55:22 +02:00
Alex Beregszaszi
328554a4f9
Add new libsolc entry points (solidity_license/version/compile)
2018-06-29 19:30:37 +02:00
chriseth
f69e24c85e
Disallow constructor arguments given multiple times.
2018-06-29 16:11:21 +02:00
Leonardo Alt
7763d21cc6
Revert if calldata is too short or points out of bounds
2018-06-26 10:27:48 +02:00
chriseth
237788c0bc
Changelog entry.
2018-06-25 17:17:18 +02:00
Alex Beregszaszi
72e87423db
Disallow the years unit denomination properly
2018-06-21 20:21:02 +02:00
chriseth
0d1047181d
Merge pull request #4306 from ethereum/remove_050_workaround_scoping
...
[BREAKING] C99 scoping rules by default (remove 050 workaround)
2018-06-21 13:57:59 +02:00
Alex Beregszaszi
7e4bd3e346
Merge pull request #4219 from ethereum/functionTypeNamedArguments
...
Turn named return parameters in function types into an error.
2018-06-20 23:51:19 +02:00
Leonardo Alt
8862b3092b
C99 scoping rules by default
2018-06-20 12:53:38 +02:00
chriseth
ba7fbf11e7
Merge pull request #4300 from nventuro/optimize-out-and
...
Add TruthyAnd Peephole optimization
2018-06-20 11:38:37 +02:00
Alex Beregszaszi
a17059573f
Disallow raw callcode (was deprecated in 0.4.12)
2018-06-19 19:31:07 +02:00
Daniel Kirchner
dbfee87860
Return parameters in function types may not be named.
2018-06-18 00:05:06 +02:00
Nicolás Venturo
172e208c6a
Add TruthyAnd Peephole optimization
2018-06-15 11:27:39 -03:00
Daniel Kirchner
0319b184ce
Add difficulty field to genesis chain parameters to fix ipc tests for recent versions of cpp-ethereum.
2018-06-14 16:46:10 +02:00
chriseth
baeabe1c2d
Merge pull request #4282 from ethereum/cli-yul
...
[BREAKING] Renamed the --julia CLI option to --yul
2018-06-14 08:42:37 +02:00
Christian Parpart
a211b89118
Enforce disallowing empty structs
...
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.
2018-06-14 00:24:43 +01:00
Alex Beregszaszi
ba2a7294d8
Renamed the --julia CLI option to --yul
2018-06-14 00:09:00 +01:00
Alex Beregszaszi
2625f282b9
Remove obsolete --formal option from CLI
2018-06-13 01:00:51 +01:00
chriseth
1dc28c065d
Properly pad data from calldata.
2018-06-12 18:51:40 +01:00
Alex Beregszaszi
9de45383d8
Disallow sha3/suicide aliases
2018-06-12 18:16:18 +01:00
Alex Beregszaszi
0e23b5e954
Tidy up changelog for 0.5.0
2018-06-12 17:08:39 +01:00
Alex Beregszaszi
d1e7e9ef5e
Merge pull request #3627 from ethereum/additional-keywords
...
[BREAKING] Add new reserved keywords.
2018-06-12 16:33:26 +01:00
chriseth
2c8eca5dcf
Merge pull request #4265 from ethereum/remove-std
...
Remove obsolete 'std' directory
2018-06-12 16:59:51 +02:00
Daniel Kirchner
e4b7b2160e
Add new reserved keywords.
2018-06-12 16:02:53 +02:00
Daniel Kirchner
f33dc92cbd
Use proper SAR for signed right shifts and emulate on pre-constantinople.
2018-06-12 09:32:19 +01:00
Erik Kundt
2e9f5d1c98
Introduces emit token and removes identifier workaround.
2018-06-11 21:21:22 +01:00
Alex Beregszaszi
99c585fd8a
Remove obsolete 'std' directory
2018-06-11 20:11:10 +01:00
Alex Beregszaszi
0f572159ec
Show named argument name in error
2018-06-06 15:59:27 +01:00
Jason Cobb
6e29775d39
Remove suicide and sha3 assembly instructions
2018-06-04 01:04:48 +01:00
chriseth
0a1a8bfb09
Merge pull request #4172 from ethereum/trailing_dot
...
[BREAKING] Disallow trailing dot not followed by number
2018-05-30 18:51:52 +02:00
chriseth
5a73044fa7
Merge pull request #3743 from ethereum/popStorageArray
...
pop() for storage arrays
2018-05-30 18:32:08 +02:00
Erik Kundt
98d52beba3
Adds syntax tests, documentation and changelog entry.
...
Refines comment for array utility function.
2018-05-30 17:43:20 +02:00
Leonardo Alt
ac68710789
Disallow trailing dots that are not followed by a number
2018-05-30 15:14:53 +01:00
chriseth
b708054c3e
Mention calldata as new keyword.
2018-05-30 14:43:59 +02:00
mingchuan
b7cafcbdf9
Allow using calldata
keyword to specify data location
2018-05-30 18:05:55 +08:00
Daniel Kirchner
f627dc77d0
Fix continue inside do-while.
2018-05-16 18:32:48 +02:00
chriseth
c911e08283
Missed changelog entry.
2018-05-16 18:32:47 +02:00
Daniel Kirchner
5c59d56335
Disallow conversions between bytesX and uintY of different size.
2018-05-16 18:32:47 +02:00
Leonardo Alt
a19b516b2b
Add syntax tests and Changelog entry
2018-05-16 18:32:47 +02:00
chriseth
9705678269
Merge pull request #3987 from ethereum/solc_remove_stdin
...
BREAKING Solc: read from stdin only if "-" is explicitly given
2018-05-16 18:32:44 +02:00
chriseth
e6a9d0da66
Initial changelog for version 0.5.0.
2018-05-16 18:32:32 +02:00
chriseth
3aee975e88
Set version to 0.4.25 - tentatively.
2018-05-16 17:54:07 +02:00
chriseth
80d688ace0
Split changelog into language and compiler features and set release date.
2018-05-16 10:34:15 +02:00
chriseth
894122c508
Warn/enforce single bytes argument for certain builtins (hashing functions).
...
In 0.5.0 mode, only accept a single bytes argument for ``.call``,
``keccak256`` and others and do not pad when encoding.
2018-05-16 09:48:03 +02:00
chriseth
67d208d144
Parse multi variable declaration statement.
2018-05-16 03:22:45 +02:00
chriseth
2ba0002998
Merge pull request #4139 from ethereum/abiEncodeIsPure
...
ABI encoding functions are pure and should be usable in constants.
2018-05-15 16:59:48 +02:00
chriseth
63861aac4a
Merge pull request #3947 from ethereum/smt_storage
...
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:54:41 +02:00
chriseth
dac0029d16
ABI encoding functions are pure and should be usable in constants.
2018-05-15 14:45:54 +02:00
chriseth
dce6224052
Merge pull request #4062 from ethereum/revert-variable
...
Fix revert with reason coming from a string variable
2018-05-15 14:44:39 +02:00
Leonardo Alt
4117e859eb
[SMTChecker] Declaring all state vars before any function is visited
2018-05-15 14:28:08 +02:00
Leonardo Alt
2dbb35d4a8
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:22:50 +02:00
Daniel Kirchner
d7d71a14df
Add Changelog entry.
2018-05-14 20:23:40 +02:00
Alex Beregszaszi
c03a29dea8
Fix revert with reason coming from a string variable
2018-05-09 17:53:17 +02:00
Daniel Kirchner
1a014f83cc
Prefer view over constant in the documentation.
2018-05-09 15:06:47 +02:00
Daniel Kirchner
02380113d4
Use the entire token as source location for parser errors.
2018-05-09 14:08:22 +02:00
chriseth
54aa10ce36
Merge pull request #4054 from ethereum/token-names
...
Improve parser error messages
2018-05-09 11:06:23 +02:00
chriseth
fba7e055d9
Follow highest gas usage only for gas estimation.
2018-05-09 10:53:30 +02:00
chriseth
fe12f05c08
Deprecate wildcard assignments.
2018-05-08 15:13:32 +01:00
chriseth
a6868510ed
Initial changelog for version 0.5.0.
2018-05-04 16:35:24 +02:00
Alex Beregszaszi
e3279d8af8
Display nicer error messages in the parser (display tokens and not internal names)
2018-05-04 12:39:37 +01:00
Alex Beregszaszi
ffe7f224a6
Show proper error when trying to emit a non-event
2018-05-04 12:47:01 +02:00