According to https://eips.ethereum.org/EIPS/eip-4626:
Since the Vault contracts following withdraw and redeem functions always revert, no assets can be withdrawn and no share can be redeemed through such withdraw and redeem functions. Yet, because the Vault contract inherits soladys ERC4626 contract, the previewWithdraw and previewRedeem functions below for the Vault contract can still return positive values. Hence, these previewWithdraw and previewRedeem functions are not compliant with the EIP-4626 standard.
https://github.com/code-423n4/2024-07-karak/blob/53eb78ebda718d752023db4faff4ab1567327db4/src/Vault.sol#L331-L362
https://github.com/code-423n4/2024-07-karak/blob/53eb78ebda718d752023db4faff4ab1567327db4/src/Vault.sol#L5-L29
https://github.com/Vectorized/solady/blob/1f43cc8005cc3b3c8361dd7dbdd2cdeaf0f99e66/src/tokens/ERC4626.sol#L266-L278
https://github.com/Vectorized/solady/blob/1f43cc8005cc3b3c8361dd7dbdd2cdeaf0f99e66/src/tokens/ERC4626.sol#L294-L296
https://github.com/Vectorized/solady/blob/1f43cc8005cc3b3c8361dd7dbdd2cdeaf0f99e66/src/tokens/ERC4626.sol#L192-L204
The Vault contract can be updated to add the previewWithdraw and previewRedeem functions, which override the corresponding functions in soladys ERC4626 contract, that would revert.
