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