Open code423n4 opened 3 years ago
Would prefer a more direct advice from the warden
That said, bool
occupies just 1 bit, the move would be to "pack" all of those variables together (before tokens
) to ensure packing saves the extra storage slot
Handle
ye0lde
Vulnerability details
Impact
It is possible to minimize the number of storage slots used by rearranging the state variables in a more efficient way.
Proof of Concept
In LeveragedPool.sol: https://github.com/tracer-protocol/perpetual-pools-contracts/blob/646360b0549962352fe0c3f5b214ff8b5f73ba51/contracts/implementation/LeveragedPool.sol#L22-L44
Tools Used
Visual Studio Code
Recommended Mitigation Steps
Arrange the uint32, bytes32, and bool variables such that they fit into the same slot.