Omniscia Swisscoast Audit

Unipool Manual Review Findings

Unipool Manual Review Findings

ULO-01M: Inexplicable Reduction of Accuracy

Description:

The Unipool is meant to deal with Uniswap V2 LP tokens that do not necessarily have a reduced accuracy.

Example:

packages/contracts/contracts/LPRewards/Unipool.sol
147// Returns the amount that an account can claim
148function earned(address account) public view override returns (uint256) {
149 return
150 balanceOf(account)
151 .mul(rewardPerToken().sub(userRewardPerTokenPaid[account]))
152 .div(1e8)
153 .add(rewards[account]);
154}

Recommendation:

We advise the accuracy in reward tracking to be increased to 1e18. Alternatively, we advise the DEX integrated to be outlined so that validation of their decimals can be performed.

Alleviation (04618e407bddce5b22e9cadd787fd3334bd3afe6):

The Swisscoast team clarified that the contract integrates with the SaucerSwap LP system which boasts 8 instead of 18 decimals, rendering the original implementation correct and this exhibit addressed as information was introduced to render it invalid.