Steadefi

Steadefi
DeFiHardhatFoundryOracle
35,000 USDC
View results
Submission Details
Severity: low
Invalid

Loss of precision

Summary

[L-1] Loss of precision

Division by large numbers may result in the result being zero, due to solidity not supporting fractions. Consider requiring a minimum amount for the numerator to ensure that it is always larger than the denominator

file: /contracts/oracles/ChainlinkARBOracle.sol
84 return _answer.toUint256() * 1e18 / (10 ** _decimals);
file: /contracts/strategy/gmx/GMXEmergency.sol
179 uint256 _shareRatio = shareAmt * SAFE_MULTIPLIER
180 / IERC20(address(self.vault)).totalSupply();
file: /contracts/strategy/gmx/GMXManager.sol
87 _borrowShortTokenAmt = _borrowValue * SAFE_MULTIPLIER
88 / GMXReader.convertToUsdValue(self, address(self.tokenB), 10**(_tokenBDecimals))
89 / (10 ** (18 - _tokenBDecimals));
file: /contracts/strategy/gmx/GMXWithdraw.sol
67 _wc.shareRatio = wp.shareAmt
68 * SAFE_MULTIPLIER
69 / IERC20(address(self.vault)).totalSupply();
Updates

Lead Judging Commences

hans Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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