IR: add support for IndexRangeAccess
- Dominant language
- Python
- Stars
- 6.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/crytic/slither/pull/550 converted IndexRangeAccess to direct array access.
While this allow Slither to reason on the codebase, it lead to an incorrect IR generated. We need to investigate how to properly handle slices.
From my understanding they can only be used in `abi.decode`, so this is likely not a high priority for now.
- [ ] Collect examples where array slices are used
- [ ] Evaluate how to integrate the slices in the IR
Related:
- https://github.com/crytic/slither/pull/550
- https://github.com/crytic/slither/issues/545
Contributor guide
Research direction
Start by reviewing pull request 550 and issue 545, then collect Solidity examples that use array slices, especially in abi.decode. Evaluate how IndexRangeAccess should be represented in the IR; done means slices are handled correctly without converting them to incorrect direct array access.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, solidity
- Domain
- compilers, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100