F-2025-0021·unused-imports
Unused imports across multiple modules
TL;DR
Several modules import contracts and interfaces that are never used. Removing them tightens compilation, reduces deployment cost, and removes accidental ambient dependencies.
Severity
INFO
Impact
LOW
Likelihood
LOW
Method
MManual review
CAT.
Complexity
LOW
Exploitability
LOW
02Section · Description
Description
There are a couple of unused imports in the contracts:
solidity
import "@solidstate/contracts/introspection/ERC165/base/ERC165Base.sol";import "@solidstate/contracts/proxy/diamond/writable/DiamondWritableInternal.sol";
These are imported in:
Dolomite.sol#L6-L7(used byGMXV2_Cutter, but since this abstract contract is also unused it can also be removed).Pendle.sol#L6-L7Silo.sol#L6-L7WETH.sol#L6-L7
Also, the Ownable import in D2OFT.sol#L4 is not used:
solidity
import "@openzeppelin/contracts/access/Ownable.sol";
Consider removing these.
03Section · Resolution
Resolution
D2: Removed in 8880a91.
Cyfrin: Verified.
Status
Fixed
Fix commit
8880a91