Liquid Staking

Stakelink
DeFiHardhatOracle
50,000 USDC
View results
Submission Details
Severity: low
Invalid

`RewardSpilter` owner should be `_account` instead of Owner()

Desription

During deployment of a reward splitter, the ownership of the newly deployed account is given to the owner of the LSTRewardsSplitterController contract.

address splitter = address(new LSTRewardsSplitter(lst, _fees, owner()));

Since _account will be the real owner of the reward, it should be able to specify the fee receivers and their respective portions by calling the LSTRewardsSplitter::updateFee and LSTRewardsSplitter::addFee functions which are onlyOwner functions.

Impact

Inability of the rewards owner to controll fully how his rewards should be distributed.

Tools Used

Manual Review

Recommendation

Consider changing the code in as follows:

- address splitter = address(new LSTRewardsSplitter(lst, _fees, owner()));
+ address splitter = address(new LSTRewardsSplitter(lst, _fees, _account));
Updates

Lead Judging Commences

inallhonesty Lead Judge 10 months ago
Submission Judgement Published
Validated
Assigned finding tags:

[INVALID] The owner of LSTRewardsSplitter is not set according to the docs

Appeal created

inallhonesty Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
Assigned finding tags:

[INVALID] The owner of LSTRewardsSplitter is not set according to the docs

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.