alpharush
alpharush
I think for directory/file we may be able to also avoid lowering the AST to SlithIR by filtering out them here: https://github.com/crytic/slither/blob/fdf54f624d8c468afb3d8197eb9e98e377dac440/slither/slither.py#L151-L170 Need to keep in mind the references to...
Yeah, it can't be filtered before `_update_file_scopes` is called bc until then we don't know the defintion-reference dependencies
I think the syntax will be difficult for users. Even the existing use of regex has been confusing for many. Ideally we would have something that is familiar i.e. people...
https://github.com/crytic/slither/blob/f7238c4fdf969d7ca402ae0d9019293fd2663270/slither/utils/command_line.py#L101-L106
looks like it was removed in https://github.com/crytic/echidna/pull/1157 for context
Each function has a control flow graph (CFG) with its list of [nodes](https://crytic.github.io/slither/slither/core/declarations/function.html#Function.nodes) aka blocks. Each node has [sons](https://crytic.github.io/slither/slither/core/cfg/node.html#Node.sons) aka successors or outgoing edges and [fathers](https://crytic.github.io/slither/slither/core/cfg/node.html#Node.fathers) aka predecessors or incoming...
Instead of using all call expressions (which include members like abi.encode), we should use the expression of the [`HighLevelCall` ](https://crytic.github.io/slither/slither/slithir/operations/high_level_call.html#HighLevelCall)filtered from all the operations (https://crytic.github.io/slither/slither/core/declarations/function.html#Function.all_slithir_operations) https://github.com/crytic/slither/blob/fdf54f624d8c468afb3d8197eb9e98e377dac440/slither/core/declarations/function_contract.py#L116 EDIT: What `external_calls_as_expressions `...
This happens because when `ArrayType.__eq__` is called here the `Literal` values are compared and one has a value with type `int` and the other `str` https://github.com/crytic/slither/blob/0de7a251ebe5067082e12d67d71b5169bf6befeb/slither/slithir/convert.py#L547
My mistake. I had changed it to the folded value, [`length_value`](https://github.com/crytic/slither/blob/e5f2a86f0906fd62c6c4eccb9dbfa5ab30671a78/slither/core/solidity_types/array_type.py#L51), locally and was commenting on that. Can you explain what this unresolved issue, https://github.com/CertiKProject/slither-task/issues/689, from https://github.com/CertiKProject/slither-certik/pull/57 is so we...
The `.value` can be different types here and need to both be str or int to be compared https://github.com/crytic/slither/blob/e3dcf1ecd3e9de60da046de471c5663ab637993a/slither/core/expressions/literal.py#L53