```\nfunction setRewardRate(uint256 rewardRate)\n public\n virtual\n override\n returns (bool success)\n{\n // range checks for rewardRate. Since rewardRate cannot be more than 100%, the max cap\n // is \_valueDivisor \* 100, which then brings the fees to 100 (percentage)\n require(rewardRate <= \_valueDivisor.mul(100), "ST17");\n require(hasRole(DEFAULT\_ADMIN\_ROLE, \_msgSender()), "ST2");\n \_rewardRate.push(rewardRate);\n \_lastMovingRewardTimestamp.push(block.timestamp);\n emit SetRewardRate(rewardRate);\n\n return true;\n}\n```\n