Simone
Simone
Hi @CodeSandwich, i can't understand from only this exception if it's related to the fix or not. Could you share the codebase?
> > > @elopez can you re-run this with the latest `master` revision and update the table? Tried some solutions with the following configuration: - Echidna 1.7.2 - Solidity 0.6.12...
@rappie as a temporary fix can you change in slitherbug `import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";` to `import "@openzeppelin/contracts/token/ERC20/IERC20.sol";` it should work with `0.5.11`
The issue is that `_parse_unchecked_block` calls `self._parse_statement` with the new scope which is unchecked. https://github.com/crytic/slither/blob/8344524cd35a1edf37c1cc791eb08c8ffff645a8/slither/solc_parsing/declarations/function.py#L1048-L1051 However when parsing a `VariableDeclarationStatement` the new scope is not taken in consideration and it...
Hi @karmabadger, it's because Slither output to stderr instead of stdout you can read more in this issue #753. You can try `slither . 2> output.file`
I tested with slither 0.10.0 and it works while with 0.9.6 i get the same error. Please update slither to the latest version.
I'm not sure what you mean with "running as an analyzer". It builds a CFG where each basic block contains sierra instructions then it can do data-flow analysis and data...
@Tiko7454 can you update the solc parsing tests so they pass? You have to run this command `python tests/e2e/solc_parsing/test_ast_parsing.py --overwrite` and then push the updated json files.
To add something more the issue appears when parsing an expression. The `find_variable` returns the `ParamLibrary` with 4 functions always because it's found in the currect scope. https://github.com/crytic/slither/blob/0ec487460690482c72cacdea6705e2c51bb3981e/slither/solc_parsing/expressions/expression_parsing.py#L472 https://github.com/crytic/slither/blob/0ec487460690482c72cacdea6705e2c51bb3981e/slither/solc_parsing/expressions/find_variable.py#L405-L407
The problem is that `contracts` is a dict with key the contract name however when updating with the new accessible contracts will overwrite the older contract with the same name...