Assessment reports>Smart Vault>Low findings>Missing reward-configuration check
Category: Code Maturity

Missing reward-configuration check

Low Impact
Low Severity
Low Likelihood

Description

There are three fields in RewardConfig: rewardRate, rewardStartTime, and rewardEndTime. While members of VaultConfig are verified in _checkVaultConfig, an equivalent validation does not exist for RewardConfig. The configuration should be validated to ensure rewardRate does not exceed the precision basis and that the end time is not earlier than the start time.

function updateRewardConfig(IERC20 rewardToken, RewardConfig memory rewardConfig) external onlyManager {
    _updateAllLastRewardPerToken();
    _rewardConfigs[rewardToken] = rewardConfig;

    emit RewardConfigUpdated(rewardToken, rewardConfig);
}

Impact

It could lead to overpayment of rewards or potential sanity-check failures in the RewardConfig.

Recommendations

Add validation for rewardRate and rewardEndTime in the _checkRewardConfig function.

Remediation

This issue has been acknowledged by River, and fixes were implemented in the following commits:

Zellic © 2025Back to top ↑