v0.6.6
0.6.6 - 2019-08-16
This release changes internal functions and how modifiers are represented, improves the JSON format, removes detectors' false positives, and fixes numerous bugs.
Thanks to our external contributors:
Thanks to our users for reporting numerous bugs, in particular @elenadimitrova, @yxliang01, and @sobolev-igor.
Added
- Add
exclude-dependencies
flag (#269) - Add Optimization type and
--exclude-optimization
flag (#265), #269) - AragonOS detection (#276)
- New printer: constructor calls (#299)
Changed
- [Breaking change] Remove the instance sharing for functions and modifiers. Each function or modifier has now
contract
andcontract_declarer
properties, where contract points to the contract's instance and the contract declarer to the contract where the function was originally declared (#213). - [Breaking change] Use unique JSON element per detector finding (#263)
- [Breaking change] Add type to JSON result and improve the log in console/file (#266)
- Move third parties tools to
slither.tools
(#313) - Remove false positive in external function detector in case of parameter written (#257)
- Remove false positive in naming convention in case of unnamed parameters (#260)
- Remove false positive in naming convention for constructor (aec680c)
- Improve ternary operators support (#301)
- Late conversion of the subdenomination value (#305)
- Refactor reentrancy detector and add support for create-based reentrancy (#311)
Fixed
- Incorrect source mapping for if/while/for condition (#245)
- Incorrect variable order in printer (#254)
- Incorrect source mapping due to text conversion (#252)
- Incorrect type for constant with implicit conversion (#283)
- Incorrect arguments to crytic-compile (4cbe048)
Note: 0.6.5 contained a bug in the reentrancy detector. Please avoid this version since it unnecessarily reported false-positives.