Apply memoization to core objects
- Dominant language
- Python
- Stars
- 6.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
Examples:
https://github.com/crytic/slither/blob/858677464cff0f61d1553ae2ae642963ee074153/slither/core/declarations/function.py#L241-L248
https://github.com/crytic/slither/blob/858677464cff0f61d1553ae2ae642963ee074153/slither/core/declarations/function.py#L927-L937
https://github.com/crytic/slither/blob/858677464cff0f61d1553ae2ae642963ee074153/slither/core/declarations/contract.py#L394-L395
We should add a generic way to enable/disable memoization in case the core objects are modified by a script
Contributor guide
Research direction
Start with the memoized examples in slither/core/declarations/function.py at lines 241-248 and 927-937, then compare the example in slither/core/declarations/contract.py at lines 394-395. Determine the generic enable/disable behavior needed for core objects that scripts may modify; done means the memoization approach works consistently across these examples and can be controlled when objects change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100