Centralization risk
The protocol has an owner with privileged rights to perform admin tasks that can affect users. Especially, the owner can change the fee settings and reward handler address.\\nValidation is missing for admin fee setter functions.\\n```\\nFeeData.sol\\n    function setFeeValue(uint256 feeValue) external onlyOwner {\\n        require(feeValue < _feeDenominator, "Fee percentage must be less than 1");\\n        _feeValue = feeValue;\\n    }\\n\\n    function setFixedFee(uint256 fixedFee) external onlyOwner {//@audit-issue validate min/max\\n        _fixedFee = fixedFee;\\n    }\\n```\\n\\nImportant changes initiated by admin should be logged via events.\\n```\\nFile: helpers/FeeData.sol\\n\\n    function setFeeValue(uint256 feeValue) external onlyOwner {\\n\\n    function setMaxHops(uint256 maxHops) external onlyOwner {\\n\\n    function setMaxSwaps(uint256 maxSwaps) external onlyOwner {\\n\\n    function setFixedFee(uint256 fixedFee) external onlyOwner {\\n\\n    function setFeeToken(address feeTokenAddress) public onlyOwner {\\n\\n    function setFeeTokens(address[] memory feeTokenAddresses) public onlyOwner {\\n\\n    function clearFeeTokens() public onlyOwner {\\n```\\n\\n```\\nFile: helpers/TransferHelper.sol\\n\\n    function setRewardHandler(address rewardAddress) external onlyOwner {\\n\\n    function setRewardsActive(bool _rewardsActive) external onlyOwner {\\n```\\n
Specify the owner's privileges and responsibilities in the documentation.\\nAdd constant state variables that can be used as the minimum and maximum values for the fee settings.\\nAdd proper validation for the admin functions.\\nLog the changes in the important state variables via events.
While the protocol owner is regarded as a trusted party, the owner can change the fee settings and reward handler address without any validation or logging. This can lead to unexpected results and users can be affected.
```\\nFeeData.sol\\n    function setFeeValue(uint256 feeValue) external onlyOwner {\\n        require(feeValue < _feeDenominator, "Fee percentage must be less than 1");\\n        _feeValue = feeValue;\\n    }\\n\\n    function setFixedFee(uint256 fixedFee) external onlyOwner {//@audit-issue validate min/max\\n        _fixedFee = fixedFee;\\n    }\\n```\\n