HIGH severity: Storage variable layout can be optimized. **Description:** The current storage layout uses 4 slots.

By moving the `lockTime` after `vestingTerminated ` we can reduce it to 3 slots:

**Stake.Link:** Acknowledged.

Vulnerable code:
// maximum lock time in years
    uint256 public constant MAX_LOCK_TIME = 4;

    // address of SDL token
    IERC677 public immutable sdlToken;
    // address of SDL pool
    ISDLPool public immutable sdlPool;

    // whether vesting has been terminated
    bool public vestingTerminated;

    // amount of tokens claimed by the beneficiary
    uint256 public released;
    // address to receive vested SDL
    address public immutable beneficiary;
    // start time of vesting in seconds
    uint64 public immutable start;
    // duration of vesting in seconds
    uint64 public immutable duration;

    // lock time in years to use for staking vested SDL
    uint64 public lockTime;
    // list of reSDL token ids for each lock time
    uint256[] private reSDLTokenIds;

╭-------------------+-----------+------+--------+-------+---------------------------------------------╮
| Name              | Type      | Slot | Offset | Bytes | Contract                                    |
+=====================================================================================================+
| _owner            | address   | 0    | 0      | 20    | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| vestingTerminated | bool      | 0    | 20     | 1     | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| released          | uint256   | 1    | 0      | 32    | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| lockTime          | uint64    | 2    | 0      | 8     | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| reSDLTokenIds     | uint256[] | 3    | 0      | 32    | contracts/vesting/SDLVesting.sol:SDLVesting |
╰-------------------+-----------+------+--------+-------+---------------------------------------------╯

╭-------------------+-----------+------+--------+-------+---------------------------------------------╮
| Name              | Type      | Slot | Offset | Bytes | Contract                                    |
+=====================================================================================================+
| _owner            | address   | 0    | 0      | 20    | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| vestingTerminated | bool      | 0    | 20     | 1     | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| lockTime          | uint64    | 0    | 21     | 8     | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| released          | uint256   | 1    | 0      | 32    | contracts/vesting/SDLVesting.sol:SDLVesting |
|-------------------+-----------+------+--------+-------+---------------------------------------------|
| reSDLTokenIds     | uint256[] | 2    | 0      | 32    | contracts/vesting/SDLVesting.sol:SDLVesting |
╰-------------------+-----------+------+--------+-------+---------------------------------------------╯