Unused _decimals variable in strategies
The StrategyBase contract includes a _decimals storage variable, which is initialized to be nine greater than the asset's original decimals.
uint8 public _decimals;
uint8 public constant DECIMAL_OFFSET = 9;
function __StrategyBase_init(
IERC20 baseAsset_,
string memory shareName_,
string memory shareSymbol_,
address feeRecipient_,
uint256 depositLimit_,
address owner_,
RewardToken[] memory rewardTokens_,
address vault_
) internal nonReentrant initializer {
// [...]
_decimals = IERC20Metadata(address(baseAsset_)).decimals() + DECIMAL_OFFSET;
// [...]
}However, in the strategies covered by the current audit (AaveV3Strategy, MorphoVaultStrategy, and MultiSigStrategyV1), the _decimals variable is not used. These strategies do not override the decimals, _convertToShares, or _convertToAssets functions to utilize _decimals and DECIMAL_OFFSET, as demonstrated in the ExampleStrategyBaseImplementation contract.
If _decimals is not intended for use, consider removing this variable to prevent confusion in the code.