The owner of LSTRewardsSplitter is currently set to the controller contract, which is not the intended owner. The owner should be set to the _account variable when calling addSplitter(address _account, LSTRewardsSplitter.Fee[] memory _fees).
The LSTRewardsSplitter contract is deployed when addSplitter(address _account, LSTRewardsSplitter.Fee[] memory _fees) is called in LSTRewardsSplitterController.sol. In the constructor of LSTRewardsSplitter.sol, the owner is set to the owner() of LSTRewardsSplitterController.sol.
The owner of LSTRewardsSplitter is currently assigned to the controller contract, which is not the intended owner.
Users are unable to invoke addFee(address _receiver, uint256 _feeBasisPoints) to add fee receivers.
Users are unable to execute updateFee(uint256 _index, address _receiver, uint256 _feeBasisPoints) to update fees.
Manual code review
Set the owner of LSTRewardsSplitter to _account when calling addSplitter(address _account, LSTRewardsSplitter.Fee[] memory _fees).
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.