chriseth
461b566603
Set version to 0.5.11.
2019-06-25 19:03:51 +02:00
chriseth
a03687ccfa
Prepare changelog for 0.5.10 release.
2019-06-25 14:28:22 +02:00
chriseth
04fe3c070d
Changelog and bug list entry.
2019-06-25 13:00:21 +02:00
chriseth
1388ffaeee
Sort changelog.
2019-06-24 14:41:58 +02:00
chriseth
9bb7160c4c
Merge pull request #6958 from sifmelcara/fix-abiencoderv2-codegen
...
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-20 13:08:42 +02:00
chriseth
8edf9e4baf
Merge pull request #6666 from vedant1811/issue-5405
...
Group function definitions
2019-06-19 18:03:40 +02:00
Vedant Agarwala
5d6cbd97df
[Yul] Directly jump over a series of function definitions
...
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
2019-06-19 12:40:11 +08:00
mingchuan
bfe074b2b1
Fix storage array abi encoding
...
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-19 10:46:05 +08:00
chriseth
6cb6fe35ef
Make Yul optimizer not fail for wasm.
2019-06-17 18:42:47 +02:00
rocky
ca3afea1d7
Add Steve Johnson-style parser recovery rules:
...
SourceUnit = Error $
Block = '{' Error '}'
ContractDefinition = '{' Error '}'
Statement = Error ';'
Co-Authored-By: chriseth <chris@ethereum.org>
2019-06-17 14:47:07 +02:00
Daniel Kirchner
7f322c9433
Add optimization rule SUB(~0, X) -> NOT(X).
2019-06-14 14:07:46 +02:00
Daniel Kirchner
4d38df6920
Set state mutability of function type members `gas
and
value
` to pure.
2019-06-13 18:27:53 +02:00
Daniel Kirchner
a4dfaac53d
Changlelog entry.
2019-06-07 10:45:01 +02:00
Daniel Kirchner
6368cd4c82
AsmParser: disallow trailing commas in function call arguments.
2019-06-06 13:16:27 +02:00
Daniel Kirchner
5677bedf34
Require gcc >= 5.0.
2019-06-05 11:57:06 +02:00
Daniel Kirchner
9f5340fa53
Try to find Z3 using CONFIG_MODE before manual search.
2019-06-04 15:58:03 +02:00
chriseth
d5b121e762
Merge pull request #6859 from ethereum/incrementVersion0510
...
Set version to 0.5.10
2019-05-28 20:38:31 +02:00
chriseth
4ee703e6e5
Revert "Add Steve Johnson-style parser recovery rules:"
...
This reverts commit 97f8ee0d1b
.
2019-05-28 18:09:24 +02:00
chriseth
feab4065c3
Set version to 0.5.10
2019-05-28 17:31:06 +02:00
chriseth
61d2919968
Prepare version 0.5.9.
2019-05-28 15:38:48 +02:00
chriseth
f9dca1f282
Merge pull request #6681 from rocky/recoveringParser1
...
Add Steve Johnson-style parser recovery rules:
2019-05-28 15:36:45 +02:00
rocky
97f8ee0d1b
Add Steve Johnson-style parser recovery rules:
...
SourceUnit = Error $
Block = '{' Error '}'
ContractDefinition = '{' Error '}'
Statement = Error ';'
Co-Authored-By: chriseth <chris@ethereum.org>
2019-05-28 15:06:34 +02:00
chriseth
a3f721bbcc
Merge pull request #6583 from ethereum/reset_yulstringrepo
...
Reset YulStringRepository regularly
2019-05-28 14:20:53 +02:00
chriseth
2276b567b1
Merge pull request #6840 from ethereum/discoverMSize
...
Only remove msize-modifying instructions if msize is not used.
2019-05-28 13:16:55 +02:00
Bhargava Shastry
dbae0fa939
Reset Yul string repository before each compilation.
2019-05-28 13:12:39 +02:00
chriseth
010bb39548
Changelog entry.
2019-05-28 12:54:33 +02:00
chriseth
c3cdae908d
Merge pull request #6767 from ethereum/constantOptimiserForYul
...
[Yul] Constant optimiser
2019-05-28 11:53:04 +02:00
chriseth
1c16124a09
Constant optimiser for Yul.
2019-05-28 11:35:07 +02:00
chriseth
5b1a984882
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-27 17:26:37 +02:00
chriseth
1a78aef055
Sort changelog.
2019-05-27 15:40:44 +02:00
mingchuan
bf8af89bba
Fix assignment of struct containing array of mappings
2019-05-25 01:33:49 +08:00
chriseth
7cf51876e2
Merge pull request #6812 from ethereum/asmCallvalue
...
Do not require payable for callvalue instruction.
2019-05-23 12:07:06 +02:00
chriseth
1e3878121a
Do not inline recursive functions.
2019-05-22 18:15:21 +02:00
chriseth
7506b5752a
Do not require payable for callvalue instruction.
2019-05-22 11:30:29 +02:00
chriseth
f2ae30f620
Fix handling of structs of dynamic size as constructor parameters.
2019-05-16 17:10:54 +02:00
chriseth
f6437a2016
Optimizer rules that combine shifts and masks.
2019-05-15 20:30:53 +02:00
chriseth
7756dd948f
Changelog entry for adding ipfs links to metadata.
2019-05-15 14:23:20 +02:00
Daniel Kirchner
a5427bc63a
Add optimizer rules for multiplication and division by left-shifted one.
2019-05-14 16:20:45 +02:00
chriseth
439a225cee
Simplify single-run for loops to if statements.
2019-05-13 18:58:36 +02:00
Leonardo Alt
ef32bf185f
[SMTChecker] Inline external function calls to this.
2019-05-09 16:53:30 +02:00
Leonardo
9e09b5d33b
Merge pull request #6679 from ethereum/smt_fix_ssa_reset
...
[SMTChecker] Fix ICE in touched vars
2019-05-09 12:17:32 +02:00
chriseth
0852ccc318
Merge pull request #4764 from ethereum/cbor-version
...
Store compiler version in CBOR metadata
2019-05-09 10:10:50 +02:00
Leonardo Alt
3d52a6ca68
[SMTChecker] Fix ICE in branch-inline function call-modify local variable
2019-05-09 09:15:11 +02:00
Alex Beregszaszi
e121c8f3c7
Store compiler version in CBOR metadata
2019-05-08 22:21:50 +02:00
Leonardo Alt
0b046897ae
[SMTChecker] Fix unsupported type assignment
2019-05-08 14:28:23 +02:00
Leonardo Alt
3c7540ceb2
[SMTChecker] Support tuples with multiple var decls
2019-05-07 16:57:27 +02:00
Leonardo Alt
2139c20776
[SMTChecker] Support delete
2019-05-06 18:32:10 +02:00
Leonardo Alt
5440a53d4d
[SMTChecker] Support tuples as function calls with multiple return values
2019-05-03 06:10:22 +02:00
chriseth
5bd3ed97bd
Merge pull request #6649 from ethereum/smt_tuple_asgn
...
[SMTChecker] Support tuple assignment
2019-05-02 18:43:16 +02:00
chriseth
e9f41d1148
Merge pull request #6604 from ethereum/library-self-delegatecall
...
Error on library calling itself externally
2019-05-02 17:25:25 +02:00
Leonardo Alt
204dcf1771
[SMTChecker] Support tuple assignments
2019-05-02 12:55:34 +02:00
chriseth
54775a7880
Merge pull request #6647 from ethereum/smt_tuple_decl
...
[SMTChecker] Support tuple type declaration
2019-05-02 12:49:50 +02:00
Erik Kundt
07744dbd12
Throws error on library calling itself externally.
2019-05-02 12:41:07 +02:00
chriseth
d4c4a473d8
Merge pull request #6622 from ethereum/warn-this-super
...
Issue warning for variables called `super` or `this`
2019-05-02 12:38:53 +02:00
Leonardo Alt
6c7527ac90
[SMTChecker] Support tuple type declaration
2019-05-02 12:05:21 +02:00
Mathias Baumann
cf35e5ba02
Issue warning for variables called super
or this
2019-05-02 11:30:24 +02:00
Leonardo Alt
66655b87b0
[SMTChecker] Fix ICE in fixed point operations
2019-05-02 10:59:23 +02:00
Leonardo Alt
dd4e938265
[SMTChecker] Fix ICE in inherited state var
2019-05-02 10:03:12 +02:00
Leonardo Alt
a6db37ac9c
[SMTChecker] Fix bad cast in base constructor modifier.
2019-04-30 18:48:13 +02:00
Leonardo Alt
9fb340fce4
Increase version number to 0.5.9
2019-04-30 18:38:19 +02:00
chriseth
23a071dfd4
Set release date, sort changelog entries and update bug list.
2019-04-30 14:14:44 +02:00
chriseth
ecb8dfb26c
Forward-port 0.4.26 release notes and update bug list.
2019-04-30 11:31:12 +02:00
Leonardo Alt
371b37b660
Fix direct call to base class overloaded functions
2019-04-26 09:34:15 +02:00
chriseth
169b555a22
Merge pull request #6507 from ethereum/smt_address_members
...
[SMTChecker] Address members
2019-04-25 17:29:42 +02:00
chriseth
f9ec1231b6
Support period as part of identifiers for Yul and Inline Assembly.
2019-04-25 16:48:16 +02:00
chriseth
309d3e65cf
Merge pull request #6585 from ethereum/fixInvalidFunctionTags
...
Fix invalid function tags
2019-04-25 16:30:37 +02:00
Leonardo Alt
fc482de695
[SMTChecker] Support address members
2019-04-25 16:24:36 +02:00
chriseth
5b991c1e59
Fix use of uninitialized functions stored in storage.
2019-04-25 15:40:48 +02:00
chriseth
f26cdea6ca
Disallow Yul function definitions inside for loop init blocks.
2019-04-25 10:32:00 +02:00
Leonardo Alt
dd1afeba52
[SMTChecker] Support this as address
2019-04-18 17:56:52 +02:00
rocky
b06b996461
soltest.sh, EthOptions.cmake, and CODING_STYLE.md tweaks
...
solidity.sh:
* introduce SOLIDITY_BUILD_DIR env var for soltest.sh,
* add --help output
EthOptions.cmake: more complete configuration information
CODING_STYLE.md: note existence of .editorconfig
contributing.rst: note that tests are Boost C++ unit tests
2019-04-18 07:53:28 -04:00
chriseth
fce19bde58
Merge pull request #6545 from ethereum/smt_contracts
...
[SMTChecker] Support contract type
2019-04-18 13:01:18 +02:00
chriseth
fb302c1c4f
Merge pull request #6473 from ethereum/libeventhash-6435
...
Fix external ABI type name for contracts
2019-04-18 12:53:34 +02:00
Mathias Baumann
0f4b53e9a0
Fix external ABI type name for contracts
2019-04-18 11:39:48 +02:00
Leonardo Alt
ecd89393ee
[SMTChecker] Support contract type
2019-04-17 16:30:11 +02:00
chriseth
922ab0d72d
Merge pull request #6534 from ethereum/reuseLiteralContent-6472
...
Re-produce the original 'useLiteralContent' setting
2019-04-17 15:41:55 +02:00
Mathias Baumann
b24dd42e47
Re-produce the original 'useLiteralContent' setting
2019-04-17 14:54:51 +02:00
Erik Kundt
11087422d6
Adds --test | -t option to isoltest.
2019-04-17 11:36:14 +02:00
Leonardo Alt
af9f16e014
[SMTChecker] Support mod
2019-04-12 12:39:25 +02:00
Leonardo Alt
4fe303530a
[SMTChecker] Show unsupported warning for asm blocks
2019-04-05 16:41:15 +02:00
chriseth
804c1553bf
Changelog entry.
2019-04-05 13:41:40 +02:00
Daniel Kirchner
d0fda7ca7c
Merge pull request #6262 from ethereum/abiEncodeCalldataArray
...
ABIEncoderV2: implement encoding of calldata arrays and structs.
2019-04-04 14:51:45 +02:00
Daniel Kirchner
91a2a9a9c3
Implement ABI encoding of calldata arrays and structs.
2019-04-04 13:05:32 +02:00
chriseth
887112b1b0
Fix SSA for multi-assignments.
2019-04-04 12:06:04 +02:00
chriseth
8c570f31c5
Merge pull request #6442 from ethereum/smt_unary_inc_dec
...
[SMTChecker] Support unary inc/dec for array/mapping access
2019-04-04 11:45:13 +02:00
Alex Beregszaszi
43008dd08e
Validate value types in decoder of ABIEncoderV2.
2019-04-03 11:32:02 +02:00
Leonardo Alt
aa9b9aa87e
[SMTChecker] Support unary inc/dec for array/mapping access
2019-04-02 16:53:19 +02:00
Daniel Kirchner
ab8dfed144
Implement copying recursive structs from storage to memory.
2019-04-02 16:01:44 +02:00
Mathias Baumann
e20acf5d0a
Yul Optimizer: Remove dead code
2019-04-01 17:16:04 +02:00
Mathias Baumann
5c66ccc179
Optimize obsolete ANDs in combination with certain SHIFTs
2019-03-29 10:08:05 +01:00
Alex Beregszaszi
84fbf605aa
Replace shifts by larger than 255 with 0
2019-03-29 10:07:54 +01:00
chriseth
84251e5a22
Merge pull request #6405 from ethereum/smt_compound_assignment
...
[SMTChecker] Support arithmetic compound assignment operators.
2019-03-28 18:27:25 +01:00
Leonardo Alt
8721952ded
Changelog entry
2019-03-28 16:22:18 +01:00
chriseth
a1d59dfb4c
Merge pull request #6371 from ethereum/smt_variable_usage_function_calls
...
[SMTChecker] Merge SSA state vars properly
2019-03-28 15:54:31 +01:00
Leonardo Alt
15269067b5
Support arithmetic compound assignment operators
2019-03-28 15:27:52 +01:00
Leonardo Alt
1d63b97857
Take inlined function calls into account when collecting touched variables
2019-03-28 14:32:47 +01:00
Christian Parpart
b8c6274179
[yul] Implements EVM codegen for break/continue plus respective tests & ChangeLog entry.
2019-03-28 14:09:25 +01:00
chriseth
e3218a3af8
Increment version number.
2019-03-26 15:30:22 +01:00
chriseth
79d7fb14e7
Preparation for 0.5.7 release.
2019-03-26 10:50:58 +01:00
chriseth
e0268a0658
Changelog entry.
2019-03-25 18:28:44 +01:00
chriseth
caddce6ef0
Detect duplicate cases based on integer value of case label.
2019-03-25 12:38:22 +01:00
Alex Beregszaszi
3bc2c35cc4
Support compiling Yul within StandardCompiler
2019-03-22 01:35:16 +00:00
Bhargava Shastry
f7b5a27581
Fixes bug in byte optimization rule and adds tests.
2019-03-21 14:29:06 +01:00
Mathias Baumann
8e899a0d32
Disallow internal function types as parameters for public/external library function
2019-03-21 07:25:57 +01:00
chriseth
9aab2329ed
Merge pull request #6244 from ethereum/smt_modifiers
...
[SMTChecker] Support modifiers
2019-03-20 18:04:28 +01:00
chriseth
8468dca0bb
Merge pull request #6323 from ethereum/bug-637
...
Fix function calls with named arguments for overloaded functions
2019-03-20 16:07:09 +01:00
chriseth
9ac117e5b9
Changelog entry.
2019-03-20 15:07:05 +01:00
Mathias Baumann
84b68006ba
Fix function calls with named arguments for overloaded functions
2019-03-20 14:54:41 +01:00
Leonardo Alt
9659f40c8d
[SMTChecker] Support modifiers
2019-03-20 11:32:20 +01:00
Leonardo Alt
3296fb3764
Add callstack to model report
2019-03-20 10:35:29 +01:00
Leonardo Alt
9acec99c31
Issue error for callvalue in nonpayable function
2019-03-19 20:45:27 +01:00
chriseth
6d1ed93247
Use stack optimizations.
2019-03-14 15:34:23 +01:00
Erik Kundt
ac5f860df9
Fixes hex string update via isoltest.
2019-03-14 11:01:26 +01:00
Erik Kundt
470c161e50
Fixes boost repository URL in CentOS install script.
2019-03-13 19:55:36 +01:00
chriseth
2e7794d8a6
Defensively pad memory for `type(C).name
` to multiples of 32.
2019-03-13 18:51:32 +01:00
chriseth
94aa971bd5
Set version to 0.5.7.
2019-03-13 18:38:30 +01:00
chriseth
2896d6176b
Merge pull request #6120 from ethereum/soltest-hex-strings
...
[soltest] Add support for hex string literals
2019-03-13 14:12:32 +01:00
Christian Parpart
b29bb6ccb1
Merge pull request #6258 from ethereum/prepare056
...
Prepare 0.5.6 release.
2019-03-13 13:12:17 +01:00
Erik Kundt
25ddf85d95
Adds support for hex string literals in soltest.
2019-03-13 12:37:33 +01:00
chriseth
4c1a9aa273
Merge pull request #6256 from ethereum/completeLtGtRules
...
Complete the GT/LT rules.
2019-03-13 12:08:34 +01:00
chriseth
addb3603c7
Prepare 0.5.6 release.
2019-03-13 12:05:26 +01:00
chriseth
571f400a3e
Complete the GT/LT rules.
2019-03-13 12:01:23 +01:00
Bhargava Shastry
515fa872c8
Fixes u256 overflow in logical shift optimization rule and adds tests.
2019-03-13 11:19:20 +01:00
chriseth
243096f6b5
Changelog cleanup.
2019-03-12 17:12:12 +01:00
chriseth
8445449c7f
Merge pull request #6187 from ethereum/filter-library-abi-3409
...
Exclude internal functions in library ABIs
2019-03-11 17:39:51 +01:00
chriseth
6683ec90ca
Merge pull request #6209 from ethereum/dynamicCalldataStructs
...
Allow dynamically encoded calldata structs with ABIEncoderV2.
2019-03-11 17:05:34 +01:00
Daniel Kirchner
66fc7ffab2
Allow dynamically encoded calldata structs with ABIEncoderV2.
2019-03-11 16:40:13 +01:00
Mathias Baumann
fbbd03dbd7
Exclude internal functions in library ABIs
2019-03-11 16:33:44 +01:00
Alex Beregszaszi
189983a1b8
Merge pull request #6238 from ethereum/reset-version
...
Reset version to 0.5.6.
2019-03-11 15:56:00 +01:00
Daniel Kirchner
f805939429
Merge pull request #6221 from ethereum/soltest-signature-struct-arrays
...
[soltest] Allow struct array in function signatures
2019-03-11 15:32:42 +01:00
chriseth
ba56c307bf
Reset version to 0.5.6.
2019-03-11 14:48:27 +01:00
Erik Kundt
cd9c0914cb
Allows struct array in soltest function.
2019-03-11 14:36:16 +01:00
Mathias Baumann
d70cb375cf
isImplicitlyConvertibleTo(): Add better error messages
2019-03-11 13:38:02 +01:00
Leonardo Alt
a8209e9899
[SMTChecker] Shortcut RationalNumber expressions
2019-03-11 12:53:49 +01:00
chriseth
e0d1b2f5b3
Peephole optimizer for "iszero iszero <tag> jumpi".
2019-03-07 15:52:02 +01:00
Leonardo Alt
02d0e609b9
[SMTChecker] Support enums
2019-03-07 15:15:12 +01:00
chriseth
0f336f30ca
Merge pull request #6207 from ethereum/fixStructuralVisitationOrder
...
Fix visitation order bug for structural simplifier.
2019-03-06 21:29:17 +01:00
chriseth
0f7b1b31a1
Merge pull request #5996 from ethereum/calldataArrays
...
Allow calldata arrays with dynamically encoded base type.
2019-03-06 19:55:57 +01:00
chriseth
21115f8050
Fix visitation order bug for structural simplifier.
2019-03-06 19:34:07 +01:00
Mathias Baumann
21322dae29
YulOpt: Remove empty cases
2019-03-06 19:02:23 +01:00
chriseth
3ccf73b3eb
Merge pull request #6204 from ethereum/soltest-signature-arrays
...
[soltest] Add support for arrays in function signatures
2019-03-06 18:12:39 +01:00
Daniel Kirchner
f7c6eda2c3
Allow calldata arrays with dynamically encoded base type.
2019-03-06 18:04:12 +01:00
chriseth
cdf29277f7
Merge pull request #6055 from ethereum/smt_arrays
...
[SMTChecker] Add support to arrays
2019-03-06 18:00:23 +01:00
Erik Kundt
ab31c28ed9
Adds support for arrays in function signatures.
2019-03-06 16:47:00 +01:00
Leonardo Alt
297703bc44
Changelog entry
2019-03-06 11:29:54 +01:00
Mathias Baumann
9919670ddd
Check base contracts for abi encoder compatibility
2019-03-06 11:16:54 +01:00
chriseth
77c3352744
Some missed entries and set version to 0.6.0.
2019-03-05 17:08:16 +01:00
Erik Kundt
d778471ef0
Updates Changelog for 0.5.5 release.
2019-03-05 15:11:37 +01:00
chriseth
6c9961e040
Merge pull request #5941 from ethereum/metadata-compilerstack
...
Metadata should not require compilation
2019-03-04 18:53:07 +01:00
chriseth
9c80f0fc76
Merge pull request #6155 from ethereum/defaultToPetersburg
...
Set default EVM version to petersburg
2019-03-04 17:36:42 +01:00
chriseth
34082a2368
Merge pull request #6159 from ethereum/more-optims
...
More optimiser rules for LT/GT/AND/BYTE and address cleanups
2019-03-04 16:24:38 +01:00
Alex Beregszaszi
fcbb8ec51c
Allow returning metadata in StandardCompiler without compilation
2019-03-04 16:19:55 +01:00
chriseth
9a949c1bda
Set default EVM version to Petersburg.
2019-03-04 14:53:00 +01:00
Alex Beregszaszi
1272951bbb
Do not mask with 160-bits after CREATE/CREATE2
2019-03-04 14:42:29 +01:00
Alex Beregszaszi
7aa2ee1775
More optimiser rules for LT/GT/AND/BYTE
2019-03-04 14:42:29 +01:00
Alex Beregszaszi
ecd246aeb6
Support petersburg in evmVersion
2019-03-04 14:10:41 +01:00
chriseth
8f5e12c192
Make unavailable opcodes errors.
2019-02-28 22:20:01 +01:00
Mathias Baumann
c686a65876
Yul Optimizer: reduce switches with const arguments
2019-02-28 15:43:10 +01:00
chriseth
477c53a46f
Fix expression simplifying by moving from SSAValueTracker to DataFlowAnalyzer as a base.
2019-02-27 16:14:39 +01:00
chriseth
ebec54aacb
Merge pull request #6093 from ethereum/mapping-string-keys
...
Allow dynamic types in public mappings
2019-02-26 17:05:18 +01:00
chriseth
4e74c508ce
Merge pull request #6089 from ethereum/extcodehash
...
Consider extcodehash as part of Constantinople
2019-02-26 17:04:01 +01:00
Mathias Baumann
e4a52aa2f6
Allow dynamic types in public mappings
2019-02-26 15:48:54 +01:00
Alex Beregszaszi
d2f493268b
Provide access to the name of contracts.
2019-02-26 14:07:03 +00:00
Alex Beregszaszi
cb7b053a4a
Consider extcodehash as part of Constantinople
2019-02-26 12:40:31 +00:00
Erik Kundt
2d0daae796
Disallows index access on contracts and libraries.
2019-02-25 23:05:33 +00:00
Alex Beregszaszi
4430fe6a54
Combine multiple shifts with constant shift-by values in the optimiser
2019-02-25 20:56:13 +00:00
chriseth
52ee955fba
Merge pull request #6073 from ethereum/const-opt-shift
...
Support shifts in the constant optimiser when Constantinople is targeted
2019-02-25 11:57:13 +01:00
Alex Beregszaszi
81d011335a
Support shifts in the constant optimiser when Constantinople is targeted
2019-02-22 11:55:43 +00:00
Erik Kundt
f683ceb3f8
Adds support for boolean literals in soltest.
2019-02-21 23:28:48 +01:00
Erik Kundt
d40928f5fc
Adds support for hex literals in soltest.
2019-02-21 17:04:40 +01:00
chriseth
947215a901
Take builtin functions into account in the compilability checker.
2019-02-21 12:13:42 +01:00
chriseth
7f6f958246
Fix: Also replace tags in the list of tags referenced from outside.
2019-02-20 15:06:23 +01:00
chriseth
03b8fcd7eb
Merge pull request #6042 from ethereum/fixEventSignatureInLibraries
...
Fix event signature in libraries
2019-02-20 14:59:21 +01:00
chriseth
e4ac27d9fe
Merge pull request #6016 from ethereum/shift-optim
...
Add more optimisation rules for shifts
2019-02-20 14:46:54 +01:00
chriseth
fb07462d82
Fix: Do use actual ABI signatures for events also in libraries instead of internal signature.
2019-02-20 14:35:24 +01:00
Alex Beregszaszi
fd936439a4
Add more optimisation rules for shifts
2019-02-20 11:59:15 +00:00
Alex Beregszaszi
52496ea719
Proper error message for missing variables in inline assembly
2019-02-20 10:36:55 +00:00
Mathias Baumann
a63f7ca9df
Fix crash due to missing type info
2019-02-19 17:28:44 +01:00
chriseth
d9e4a10d5a
Merge pull request #6000 from ethereum/fixECRecoverABIV2
...
Fixed internal error related to ecrecover and ABIEncoderV2.
2019-02-19 14:36:08 +01:00
chriseth
874648b924
Merge pull request #5999 from ethereum/smt_lazy_overflow
...
[SMTChecker] Check for under/overflow in the end of the function
2019-02-19 14:28:55 +01:00
chriseth
05541e5adb
Fixed internal error related to ecrecover and ABIEncoderV2.
2019-02-19 14:17:03 +01:00
chriseth
d5791fef41
Fix combination of delegatecall and ABIEncoderV2.
...
We can set the flag to false for bare delegatecall, because we always
send a memory string and never a storage reference.
2019-02-19 13:57:03 +01:00
chriseth
55c4131a03
Merge pull request #6030 from ethereum/fixABIEncoderV2Mapping
...
Allow cleanup for mappings (do nothing).
2019-02-19 13:56:21 +01:00
Leonardo Alt
34470f3549
[SMTChecker] Only check for overflow/underflow in the end of the function
2019-02-18 23:55:58 +01:00
Alex Beregszaszi
2949bd14dd
Merge pull request #6028 from ethereum/warn-about-unused-struct-array-expr
...
Detect custom type expressions that have no effect
2019-02-18 21:12:04 +00:00
Mathias Baumann
e3d4155fa8
Detect custom type expressions that have no effect
2019-02-18 18:59:31 +01:00
chriseth
c690f679cb
Allow cleanup for mappings (do nothing).
2019-02-18 18:50:22 +01:00
chriseth
b4cd2d6a93
Properly detect name clashes with functions before their definition.
2019-02-18 14:51:05 +01:00
Erik Kundt
ff0653486d
Increases version to 0.5.5.
2019-02-12 17:09:55 +01:00
Erik Kundt
1990d7034a
Updates Changelog and buglist for the 0.5.4 release.
2019-02-12 12:21:46 +01:00
Bhargava Shastry
7751fa740f
Ensure we fail gracefully when user tries to optimize Yul code
2019-02-12 11:21:02 +01:00
Daniel Kirchner
0e4912a203
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
2019-02-11 15:46:58 +01:00
chriseth
299e3b5388
Changelog entry.
2019-02-11 11:37:48 +01:00
Daniel Kirchner
9203363fe9
Merge pull request #5860 from ethereum/test-file-parser
...
Test file parser.
2019-02-07 19:02:13 +01:00
chriseth
bea695f3fc
Changelog entry for Z3 version.
2019-02-07 14:25:50 +01:00
Christian Parpart
3d4b0f45da
liblangutil: refactors SourceReferenceFormatter error formatting for pretty and colored output.
...
* Refactors output format in a way it is (or should at least be) more readable.
(NB.: As source of inspiration, I chose the rustc compiler output.)
* Adds color support to the stream output.
* Also improves multiline source formatting
(i.e. truncating too long lines, like done with single lines already)
* solc: adds flags --color (force terminal colors) and --no-color (disable autodetection)
* solc: adds --new-reporter to give output in *new* formatting (colored or not)
* Changelog adapted accordingly.
2019-02-07 12:55:14 +01:00
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