code-423n4 / 2021-12-defiprotocol-findings

0 stars 0 forks source link

Reorder storage variable to save gas #102

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Handle

saian

Vulnerability details

Impact

Re-order storage variables to save gas

Proof of Concept

Auction.sol (Lines: 16 - 29)

    bool public override auctionOngoing;
    uint256 public override auctionStart;
    bool public override hasBonded;
    uint256 public override bondAmount;
    uint256 public override bondTimestamp;
    uint256 public override bondBlock;

    IBasket public override basket;
    IFactory public override factory;
    address public override auctionBonder;

    Bounty[] private _bounties;

    bool public override initialized;

Boolean variables auctionOngoing, hasBonded, initialized can be packed into a single slot and save storage space.

Tools Used

Manual Analysis

Recommended Mitigation Steps

Pack the boolean variables into a single storage slot.

0xleastwood commented 2 years ago

Duplicate of #129