crytic / crytic/slither

Detect unused local variables (including in Yul blocks)

Open
#2,324 2 comments 0 reactions 0 assignees View on GitHub
new detector
Dominant language
Python
Stars
6.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

### What bug did Slither miss and which detector did you anticipate would catch it?

1. Clone the optimism [repo](https://github.com/ethereum-optimism/optimism/) and `cd packages/contracts-bedrock`.
2. Open `L1Block.sol` and in `setL1BlockValuesEcotone`, notice the unused `let data := calldataload(4)`.
3. Update the `slither.config.json` so no checks are excluded.
4. Run `slither .` (side error: running `slither ./src/L2/L1Block.sol` gives a compilation error that I haven't looked into yet), which does not find the unused `data` variable.

### Frequency

Not sure

### Code example to reproduce the issue:

See above

### Version:

0.10.0

### Relevant log output:

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.