Commit Graph

805 Commits

Author SHA1 Message Date
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