`RewardsDistributor` doesn't correctly handle deposits of fee-on-transfer incentive tokens
`the kenneth` stated in telegram that Fee-On-Transfer tokens are fine to use as incentive tokens with `RewardsDistributor`, however when receiving Fee-On-Transfer tokens and storing the reward amount the accounting does not account for the fee deducted from the transfer amount in-transit, for example:\\n```\\nfunction _depositLPIncentive(\\n    StoredReward memory reward,\\n    uint256 amount,\\n    uint256 periodReceived\\n) private {\\n    IERC20(reward.token).safeTransferFrom(\\n        msg.sender,\\n        address(this),\\n        amount\\n    );\\n\\n    // @audit stored `amount` here will be incorrect since it doesn't account for\\n    // the actual amount received after the transfer fee was deducted in-transit\\n    _storeReward(periodReceived, reward, amount);\\n}\\n```\\n
In `RewardsDistributor::_depositLPIncentive` & depositVoteIncentive:\\nread the `before` transfer token balance of `RewardsDistributor` contract\\nperform the token transfer\\nread the `after` transfer token balance of `RewardsDistributor` contract\\ncalculate the difference between the `after` and `before` balances to get the true amount that was received by the `RewardsDistributor` contract accounting for the fee that was deducted in-transit\\nuse the true received amount to generate events and write the received incentive token amounts to `RewardsDistributor::periodRewards`.\\nAlso note that `RewardsDistributor::periodRewards` is never read in the contract, only written to. If it is not used by off-chain processing then consider removing it.
The actual reward calculation is done off-chain and is outside the audit scope nor do we have visibility of that code. But events emitted by `RewardsDistributor` and the stored incentive token deposits in `RewardsDistributor::periodRewards` use incorrect amounts for Fee-On-Transfer incentive token deposits.
```\\nfunction _depositLPIncentive(\\n    StoredReward memory reward,\\n    uint256 amount,\\n    uint256 periodReceived\\n) private {\\n    IERC20(reward.token).safeTransferFrom(\\n        msg.sender,\\n        address(this),\\n        amount\\n    );\\n\\n    // @audit stored `amount` here will be incorrect since it doesn't account for\\n    // the actual amount received after the transfer fee was deducted in-transit\\n    _storeReward(periodReceived, reward, amount);\\n}\\n```\\n