<!-- canonical: https://0xsimao.com/findings/ostium-implement-storage-gap-delegatable -->

# Implement Storage Gap in Delegatable Contract

Low/Info · Three Sigma · RWA perpetuals DEX · 19th February, 2024

Finding 3S-OS-N01 of the Ostium security review.

- Protocol: https://www.ostium.com/
- Report: /reports/ostium
- Source: https://cdn.sanity.io/files/qoqld077/production/a95b9c69e0f65d1d6b0e649f0d62a362358ca8ce.pdf

---

### Description

If additional variables are added to the Delegatable contract, conflicts may arise with the
storage slots previously written on the proxy.

### Recommendation

To mitigate this issue, insert a storage gap in the contract:

```solidity
abstract contract Delegatable is IDelegatable {
    mapping(address => address) public delegations;
    address private senderOverride;
    @>
    uint256[49] __gap;
    // *** code ***
```

### Status

Acknowledged

---

Related findings:

- [Connext delegates can perform important actions, make sure smart contract users implement them](https://0xsimao.com/findings/fuji-finance-perform-important-actions-sure): Fuji Finance
