Kamil Śliwak
b9b2c69d24
CommandLineParser: Validate compiler output selection
2021-10-06 20:09:33 +02:00
Kamil Śliwak
620ec47efb
OptimizerSuite: Rewrite runSequence() with support for nested brackets
2021-10-06 19:15:02 +02:00
Marenz
4368da0201
Fix ICE when printing an error message related to mappings
2021-10-06 17:02:36 +02:00
TerranCivilian
020ecc2131
Preserve original newlines in solidity::util::readUntilEnd()
2021-10-05 20:24:24 +02:00
Leo Alt
4c2b661eaa
[SMTChecker] Report values for block, msg and tx variables in counterexamples
2021-10-05 15:19:10 +02:00
Marenz
98dd78362e
Add `.address
and
.selector
` in inside assembly for external function pointers
2021-10-04 18:05:57 +02:00
Leo Alt
d81ebe97c3
Fix magic access
2021-10-01 12:57:06 +02:00
chriseth
82287bd883
Set version to 0.8.10.
2021-09-29 17:12:04 +02:00
chriseth
1a7faef0db
Set release date.
2021-09-29 14:00:57 +02:00
hrkrshnn
6109b5c3a1
UserDefinedValueType.storageBytes() is correctly set
...
Previously it returned 32 bytes for all types, which was wasteful. This commit changes it to return
the storage bytes of the underlying type.
2021-09-29 11:41:47 +02:00
chriseth
7e7c68e5bf
Changelog entry.
2021-09-29 10:12:25 +02:00
chriseth
b6e62d61ec
Export canonicalName
2021-09-28 12:00:30 +02:00
chriseth
3dc4191441
Update version number.
2021-09-27 19:43:47 +02:00
chriseth
4e28020ff5
Set release date.
2021-09-27 15:43:59 +02:00
chriseth
8bcbf891e5
Merge pull request #12007 from ethereum/include-path-option
...
`--include-path` option (revived)
2021-09-27 15:40:14 +02:00
chriseth
39eb182ccc
Merge pull request #11688 from ethereum/fix-and-document-allow-paths
...
Fix and document `--allow-paths`
2021-09-27 15:39:14 +02:00
Kamil Śliwak
c8a7a1da7c
Add --include-path option
2021-09-27 13:14:23 +02:00
Kamil Śliwak
60b2f2b913
Documentation for --allow-paths and changelog entry for fixes
2021-09-27 13:14:10 +02:00
chriseth
ddcd515a3d
Sort changelog.
2021-09-27 13:00:19 +02:00
Harikrishnan Mulackal
4a6b22885e
Clarification in changelog
2021-09-27 12:27:12 +02:00
Harikrishnan Mulackal
55d609d354
Merge pull request #11990 from ethereum/smt_user_types
...
[SMTChecker] Support user types
2021-09-22 15:40:49 +02:00
Marenz
7a51acc5fe
Correct wrong error message referencing .slot
and .offset
when .length
was used
2021-09-21 18:28:38 +02:00
Marenz
0f326ada5c
Sort changelog "bugfixes" alphabetically
2021-09-21 18:01:12 +02:00
Leo Alt
e74f853c6b
[SMTChecker] Support user types
2021-09-21 13:23:17 +02:00
Kamil Śliwak
fc8c4b046c
StandardCompiler: Do not discard non-fatal errors that happened before a fatal error
2021-09-16 20:29:03 +02:00
Leo Alt
a1bea368cb
[SMTChecker] Support constants via modules
2021-09-16 14:35:05 +02:00
chriseth
4284499180
Merge pull request #11888 from ethereum/spdx-license-handling-10145
...
Properly detect multiple licenses and validate them.
2021-09-16 14:18:17 +02:00
Marenz
c81814915c
Properly detect multiple licenses and validate them.
2021-09-16 11:18:26 +02:00
Leo Alt
b731957e65
Fix BMCs constraints on internal functions
2021-09-15 14:42:39 +02:00
chriseth
535e1ecdb2
Merge pull request #11895 from ethereum/doNotRunEvmCodegenIfNotAsked
...
Do not run evm codegen if not asked.
2021-09-14 17:12:06 +02:00
chriseth
8735d3fb6c
Merge pull request #11930 from ethereum/calldataStructInlineAssembly
...
Fix inline assembly assignments to calldata structs and statically-sized calldata arrays.
2021-09-14 16:16:48 +02:00
Kamil Śliwak
7a36a1d1db
Reject optimizer options as invalid in linker and Standard JSON modes
2021-09-13 15:35:11 +02:00
Daniel Kirchner
fc37b18e88
Fix inline assembly assignments to calldata structs and statically-sized arrays.
2021-09-13 15:22:46 +02:00
Daniel Kirchner
b934ef6c6e
Only run evm bytecode generation if required.
2021-09-10 12:32:48 +02:00
Harikrishnan Mulackal
8a37f56e98
Merge pull request #11806 from ethereum/user-defined-types
...
User defined value types
2021-09-09 10:28:35 +02:00
hrkrshnn
fbb1b884b2
Documentation and Changelog
2021-09-08 21:19:30 +02:00
chriseth
59faffcd5f
Changelog entry.
2021-09-08 12:26:06 +02:00
chriseth
3fe52d9869
Run the optimizer only once.
2021-09-07 15:06:31 +02:00
hrkrshnn
4d52e873e7
Move changelog item to bugfix.
2021-09-06 17:44:45 +02:00
hrkrshnn
2cdd3b2081
Resolving Keccak-256: check if arguments are identifiers early.
...
Previously, the check on whether the optimization was useful gas wise was done before checking if
the keccak256 opcode had identifier as arguments. Since the gas meter crashes when encountering
certain Yul opcodes (create, dataoffset, etc.), this optimizer step crashed.
2021-09-06 13:48:07 +02:00
Daniel Kirchner
8447b32d52
Merge pull request #11861 from ethereum/smt_value
...
[SMTChecker] Support `value` in CHC for external function calls
2021-09-03 14:00:21 +02:00
chriseth
9c2ab1ff2f
Merge pull request #11881 from ethereum/unsuable-symbol-11855
...
Properly export symbols from aliased imports.
2021-09-02 16:39:16 +02:00
Leo Alt
106c591dde
Support the external call option
2021-09-01 20:18:37 +02:00
Marenz
4700c2b973
Properly export symbols from aliased imports.
2021-09-01 19:55:30 +02:00
Marenz
2b28f87abf
Add type().min/max for enums
2021-09-01 15:02:02 +02:00
Kamil Śliwak
d07b796675
Disallow modifier declarations and definitions in interfaces
2021-08-31 15:25:08 +02:00
chriseth
f7916f2940
Add override exception for interface functions.
2021-08-31 10:45:31 +02:00
Kamil Śliwak
525b4c70e7
Merge pull request #11853 from Midhun07/develop
...
Disallow `--experimental-via-ir` in Standard JSON, assembler and linker modes
2021-08-30 19:02:36 +02:00
Midhun07
11065c6e79
Disallowed option --experimental-via-ir in Assembler, Linker and StandardJson input modes
2021-08-30 19:58:55 +05:30
Leo Alt
16bc15acac
Fix false negative on storage array references returned by internal functions
2021-08-28 09:30:53 +02:00
Leo Alt
60b866f9d8
Fix ICE on multi-source use of abi.*
2021-08-27 18:55:36 +02:00
Kamil Śliwak
13f46ebb1e
FileReader: Normalize base path and strip it from normalized source paths
2021-08-27 15:10:46 +02:00
Leo Alt
61160aa0e7
Add constraints correlating address(this).balance and msg.value
2021-08-25 21:10:08 +02:00
Leo Alt
55d197f092
Changelog
2021-08-19 16:34:16 +02:00
Marenz
121fd40f74
Allow reading of immutables during construction time
2021-08-19 13:59:05 +02:00
Leo Alt
6ee60aa628
Fix false positive on external calls from constructors
2021-08-12 18:51:55 +02:00
Leo Alt
5d7a2f37ea
Start 0.8.8
2021-08-11 15:30:11 +02:00
hrkrshnn
2c0c27c6d4
Set the release date and updated bugs_by_version.json
2021-08-11 12:13:07 +02:00
hrkrshnn
2577670e38
Sort changelog for 0.8.7 release
2021-08-11 10:52:13 +02:00
hrkrshnn
79733fca48
Set default EVM version to London.
2021-08-11 09:54:14 +02:00
hrkrshnn
43605d9299
Tests and Changelog for basefee.
2021-08-11 09:51:12 +02:00
Leo Alt
ee6285d6d7
Do not create VCs for underoverflow by default for Sol >=0.8
2021-08-09 14:12:31 +02:00
Leo Alt
08c065ee04
Add option divModWithSlacks
2021-08-06 15:50:25 +02:00
Leo Alt
01c01ea421
Changelog
2021-08-04 13:54:50 +02:00
jaa2
c627e6af10
CommandLineParser: Handle --optimize-runs option in assembly mode
...
Fixes #11708 .
2021-07-29 18:15:57 +02:00
Kamil Śliwak
9a7c364c71
Process input files in Standard JSON mode just like in other modes
...
- This makes `-` for stdin work.
- `--ignore-missing` now works with `--standard-json`, though it's not very useful because there can be at most one input file.
- Separate errors for situations where there are no input files on the command line (this can be detected in the parser) and where they are not present on disk.
2021-07-27 15:54:32 +02:00
Ladislav Sladecek
9bbeea58c8
Make --pretty-json work with Standard JSON output
2021-07-26 16:00:46 +02:00
Christian Parpart
f9f32c910d
Fix source location for `if
` statements.
2021-07-07 17:37:01 +02:00
chriseth
6ba298c82b
Include locations with empty source name.
2021-07-07 12:13:52 +02:00
chriseth
8d5e82b406
Fix source location of builtin function calls.
2021-07-06 16:54:29 +02:00
Alex Beregszaszi
847e30e6ff
Optimise libevmasm in yul
2021-07-05 13:46:53 +02:00
chriseth
54b1c667f1
Merge pull request #11595 from ethereum/issue-11526
...
Fix yul codegen bug when using binary negation.
2021-06-30 11:55:42 +02:00
Mathias Baumann
c47d02066c
Fix yul codegen bug when using binary negatition.
2021-06-29 17:41:03 +02:00
chriseth
eaac16c779
Merge pull request #11590 from ethereum/disallow-non-hex-zero-and-fix-bytes32-literals-in-bytes-concat
...
Disallow non-hex zero literals and fix 32-byte hex literals in `bytes.concat()`
2021-06-29 16:34:26 +02:00
Kamil Śliwak
6a50d088a0
Fix ICE for 32-byte hex literals and zero literals in bytes.concat() by disallowing them
2021-06-29 14:48:42 +02:00
Kamil Śliwak
fa3696878b
Fix crash when passing empty strings to bytes.concat()
2021-06-29 13:52:01 +02:00
Daniel Kirchner
17d69e2b99
Changelog entries.
2021-06-28 18:11:57 +02:00
Kamil Śliwak
ca0b1bf3f3
Fix crash when passing zero to bytes.concat()
2021-06-25 21:26:28 +02:00
chriseth
c5923f7fcf
Prevent calls to unimplemented modifiers.
2021-06-22 17:08:28 +02:00
Kamil Śliwak
98e83303b1
Remove assertions preventing calldata->calldata conversion when cleanup is needed
2021-06-22 16:10:16 +02:00
chriseth
ef0e902db3
Set version to 0.8.7.
2021-06-22 15:14:53 +02:00
chriseth
c502158c69
Prepare release of 0.8.6.
2021-06-22 11:39:15 +02:00
chriseth
0df8a38e55
Support metadata via IR.
2021-06-21 18:20:31 +02:00
Kamil Śliwak
59957b18dc
Make missing settings.optimizer.enabled key in Standard JSON equivalent to setting it to false
2021-06-15 16:06:22 +02:00
Kamil Śliwak
38f2987994
solc-js changelog entry for the behavior change without --optimize flag
2021-06-14 18:14:57 +02:00
chriseth
5b4a2f66e1
Directly restart processing calling functions.
2021-06-14 13:54:05 +02:00
chriseth
1718e58ec1
Set version to 0.8.6.
2021-06-10 17:36:24 +02:00
chriseth
45bb1e881a
Sort changelog.
2021-06-10 11:07:41 +02:00
chriseth
e5500b9f20
Merge pull request #11471 from ethereum/funcdef-unimplemented-modifier
...
Reports an error on unimplemented modifiers in a function definition.
2021-06-09 13:54:05 +02:00
Christian Parpart
a14ac1923d
Fixes ICE when overriding an implemented modifier with an unimplemented one.
2021-06-09 13:15:20 +02:00
a3d4
f59145f21f
Fix shadowing struct types by struct member names
2021-06-09 12:37:11 +02:00
chriseth
3eaa37030a
Fix infinite recursion in function call graph generator due to recursive constant references.
2021-06-08 16:39:30 +02:00
Mathias Baumann
354f9d1015
Fix: Allow multiple @return tags on public state variables
2021-06-07 15:16:46 +02:00
chriseth
a3976198ea
Changelog entry for modifier fix.
2021-06-03 16:57:19 +02:00
hrkrshnn
c3eef8af91
Fix ICE related to receive function having parameters.
2021-06-03 13:08:57 +02:00
chriseth
a30cf6c3e8
Merge pull request #11480 from ethereum/event-mapping-fatal-error
...
Errors about nested mapping in event parameter are fatal.
2021-06-03 11:39:26 +02:00
hrkrshnn
cc915f023e
Errors about nested mapping in event parameter are fatal.
...
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
chriseth
c55d173a28
Merge pull request #11479 from ethereum/fix-ice-when-assigning-implicitly-convertible-function-array-to-storage
...
Fix ICE when assigning implicitly convertible function array to storage
2021-06-03 10:52:21 +02:00
chriseth
b00027724a
Merge pull request #11478 from ethereum/fix-ice-when-calling-invalid-external-function-type
...
Treat invalid external function type as a fatal error
2021-06-03 09:00:38 +02:00
Kamil Śliwak
ccf658b0e8
Fix assertion preventing assignment of arrays of implicitly convertible function types
2021-06-03 08:56:02 +02:00
Kamil Śliwak
4a19c7e495
Treat invalid external function type as a fatal error to prevent the type from being used
...
- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
2021-06-02 21:44:39 +02:00
Kamil Śliwak
d96cc3469a
FunctionDefinition.resolveVirtual(): Skip unimplemented functions when lookup happens via super
2021-06-02 16:16:15 +02:00
chriseth
4cbf9ff74c
Merge pull request #10143 from ethereum/issue-10084
...
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 19:34:56 +02:00
Leo Alt
bf21cd400c
Fix conversion from bytes to fixed bytes
2021-06-01 17:55:18 +02:00
Mathias Baumann
56ebea8b2f
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 15:54:37 +02:00
Leo Alt
547a6915ad
Fix ICE on external calls from constructor
2021-06-01 14:21:48 +02:00
chriseth
0623658ddd
Properly set source location of bare blocks.
2021-05-31 18:28:17 +02:00
chriseth
3dfa68a574
Merge pull request #11456 from ethereum/ice-abstract-contract-mapping-constructor
...
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 15:35:26 +02:00
hrkrshnn
138873d918
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 14:56:49 +02:00
Alex Beregszaszi
c436785686
Insert a call to panic function in legacy codegen (and not inline it every single time)
2021-05-27 18:29:46 +01:00
hrkrshnn
d5564a0304
Set default EVM version to Berlin
2021-05-26 12:23:06 +02:00
Alex Beregszaszi
75c72cd54d
Properly support inliner in settings.optimizer.details
2021-05-20 20:22:34 +01:00
Martin Blicha
9c98ab59f0
SMTChecker: fixed struct constructor where FixedBytes member is initialized with a string literal
2021-05-17 13:52:37 +02:00
Leo Alt
9c61c62f85
Changelog
2021-05-11 15:30:19 +02:00
chriseth
9d156b52c4
Merge pull request #8868 from ethereum/functionEntryPoints
...
Note function entry points.
2021-05-05 11:08:44 +02:00
chriseth
e7708b6006
Properly treat utf8-non-encodable yul literals.
2021-05-05 10:28:23 +02:00
chriseth
f9c94d7c42
Note function entry points.
2021-05-04 17:15:13 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
Djordje Mijovic
337adee395
Documenting bytes to fixed bytes conversion.
...
Co-authored-by: chriseth <chris@ethereum.org>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2021-04-23 13:30:19 +02:00
hrkrshnn
221292c278
Tests and changelog
2021-04-22 18:19:47 +02:00
Alex Beregszaszi
bb19c9e460
Set version to 0.8.5
2021-04-21 20:42:20 +01:00
chriseth
3aad6b239c
Prepare changelog for 0.8.4.
2021-04-21 14:21:00 +02:00
Leonardo Alt
dd1865873e
Choose contracts to be analyzed by the SMTChecker
2021-04-21 10:34:14 +02:00
chriseth
cf7f814a4e
Merge pull request #10921 from ethereum/issue-10881
...
Natspec: Don't copy from base function if return parameters differ
2021-04-20 15:33:48 +02:00
Leonardo Alt
db1b630de5
Changelog
2021-04-19 19:23:18 +02:00
chriseth
6a0a51110d
Merge pull request #11256 from ethereum/smt_target_array
...
Change settings.modelChecker.targets to take an array instead of string
2021-04-19 18:47:06 +02:00
Leonardo Alt
e3abde43f5
Change settings.modelChecker.targets to take an array instead of string
2021-04-19 17:53:03 +02:00
Kamil Śliwak
0d4871ad10
Prevent adding '-' CLI flag to allowed paths as if it was an actual file
...
- This resulted in a bug where using stdin was effectively disabling allowed path checks.
2021-04-19 16:58:48 +02:00
Mathias Baumann
1737bd7ded
Natspec: Don't copy from base function if return parameters differ
2021-04-19 15:20:30 +02:00
chriseth
8eb0d5edf6
Export used errors in the AST.
2021-04-19 14:15:50 +02:00
Christian Parpart
81c7b30a6a
Merge pull request #11234 from ethereum/fix-file-reader-compiler-stack-source-unit-name-mismatch
...
Use identical source unit names in FileReader and CompilerStack
2021-04-14 13:46:14 +02:00
chriseth
11b227e33e
Merge pull request #11205 from ethereum/fix-docstring-bug
...
Fix docstring bug
2021-04-14 13:18:33 +02:00
Kamil Śliwak
6a41b417a3
FileReader: Store files loaded by the callback under their source unit name
2021-04-13 13:25:59 +02:00
chriseth
0289994da5
Merge pull request #11221 from ethereum/fixCalldataDecodingOverflowBug
...
Fix calldata decoding overflow bug
2021-04-12 18:11:29 +02:00
chriseth
4912bfe639
Merge pull request #11229 from ethereum/antlrPath
...
Fix import paths in grammar and grammar testing details.
2021-04-12 16:30:41 +02:00
Daniel Kirchner
6fdfd8b62b
Fix import path grammar and grammar testing details.
2021-04-12 14:54:36 +02:00
chriseth
2ed17e4b43
Update tests.
2021-04-12 13:43:56 +02:00
hrkrshnn
382c488edd
Fix missing error when events are used without an emit statement.
...
Whenever there was a proper invocation of events, the compiler assumed that all the subsequent
invocations were proper.
2021-04-12 10:23:05 +02:00
Leonardo Alt
c43ae60938
Changelog
2021-04-08 21:03:39 +02:00
hrkrshnn
e96a161115
Tests and changelog
2021-04-08 17:06:24 +02:00
chriseth
2856f56525
Merge pull request #10942 from ethereum/returnSlotAllocation
...
Delayed return slot allocation.
2021-04-08 16:42:07 +02:00
chriseth
f04adde664
Allow hex string literals in Yul.
2021-04-08 15:03:33 +02:00
Daniel Kirchner
4b0f8383a6
Reuse function argument slots and defer allocation of return variable slots in EVMCodeTransform.
2021-04-06 13:38:05 +02:00
Leonardo
78d94737a4
Merge pull request #11188 from blishko/issue-11181
...
[SMTChecker] Fix crash when analysing try-catch clauses with function call.
2021-03-31 11:24:36 +02:00
chriseth
851051c64a
Merge pull request #10228 from ethereum/issue-9565
...
Detect circular references for library and free functions
2021-03-30 23:49:22 +02:00
Mathias Baumann
e590a99f39
Detect circular references for library and free functions
2021-03-30 23:06:30 +02:00
chriseth
904dade4bd
Changelog entry.
2021-03-30 23:04:32 +02:00
Martin Blicha
2d231f1859
[SMTChecker] Changed SMTEncoder::mergeVariables to work regardless which branch has been visited first
2021-03-30 20:35:44 +02:00
Leonardo Alt
ba97d6ac4e
Add local vars to cex
2021-03-30 17:55:21 +02:00
Leonardo Alt
dbd067d6db
Report out of bounds index access
2021-03-30 10:28:48 +02:00