```\nfunction getCErc20Price(ICToken cToken, address underlying) internal view returns (uint) {\n    /*\n        cToken Exchange rates are scaled by 10^(18 - 8 + underlying token decimals) so to scale\n        the exchange rate to 18 decimals we must multiply it by 1e8 and then divide it by the\n        number of decimals in the underlying token. Finally to find the price of the cToken we\n        must multiply this value with the current price of the underlying token\n    */\n    return cToken.exchangeRateStored()\n    .mulDivDown(1e8 , IERC20(underlying).decimals())\n    .mulWadDown(oracle.getPrice(underlying));\n}\n```\n