there is limit 10000 for Fees array basisPoints collection that should not exceed from 10000, however the _totalFeesBasisPoints() function check that the Fees array receiver basisPoints sum not exceed from 10000. In the constructor after adding the fees array there is no check to see is the fee receiver basisPoints not exceed from limit.
receivers basisPoints may exceed from the maximum limit, breaks protocol invariants.
VCs, Manual Review
call the _totalFeesBasisPoints() function and check that fee receiver basisPoints is in range.
```solidity
constructor(address _lst, Fee[] memory _fees, address _owner) {
controller = ILSTRewardsSplitterController(msg.sender);
lst = IERC677(_lst);
for (uint256 i = 0; i < _fees.length; ++i) {
fees.push(_fees[i]);
}
+++ if (_totalFeesBasisPoints() > 10000) revert FeesExceedLimit();
_transferOwnership(_owner);
```
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.