Steadefi

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

function convertToUsdValue revert with tokens decimals > 18

Summary

funcion revert due to underflow

Vulnerability Details

function convertToUsdValue(
GMXTypes.Store storage self,
address token,
uint256 amt
  ) public view returns (uint256) {
   return amt * 10**(18 - IERC20Metadata(token).decimals())
            * self.chainlinkOracle.consultIn18Decimals(token)
            / SAFE_MULTIPLIER;
  }

as can see, due to this 10**(18 - IERC20Metadata(token).decimals()), that it doesn’t work with tokens that have more than 18 decimal places

Impact

function revert

Tools Used

manual review

Recommendations

Updates

Lead Judging Commences

hans Lead Judge almost 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

Tokens with more than 18 decimals are not supported

Underflow in convertToUsdValue

Support

FAQs

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