enhancementhelp wanted
仓库指标
- Star
- (4,769 star)
- PR 合并指标
- (平均合并 54天 9小时) (30 天内合并 2 个 PR)
描述
https://github.com/crytic/slither/pull/1346 is a nice addition, which gives us fundamental features to do structure packing optimisations.
However it has a couple of drawback. For example packing storage variables might lead to more costly execution because of the additional opcode cost.
We could improve the detector to add a couple of heuristics. One example that comes to mind is to use https://eips.ethereum.org/EIPS/eip-2929#sstore-changes, and to pack together variables that are read within the same transaction.
We could make it a tool instead of a detector, and propose different scenario as a result, ie:
- To optimize the run of
contract.function1pack together .. - To optimize the run of
contract.function2pack together ..
Having a tool would allow us additional fine tuning and flags.