```\nfunction _cloPriceInQuote(address _fromToken, address _toToken)\n        internal\n        view\n        returns (uint256 refPrice, uint256 refTimestamp)\n    {\n        address baseOracle = clOracles[_fromToken].oracle;\n        if (baseOracle == address(0)) {\n            return (0, 0);\n        }\n        address quoteOracle = clOracles[_toToken].oracle;\n        uint8 quoteDecimal = clOracles[_toToken].decimal;\n\n        (, int256 rawBaseRefPrice, , uint256 baseUpdatedAt, ) = AggregatorV3Interface(baseOracle).latestRoundData();\n        (, int256 rawQuoteRefPrice, , uint256 quoteUpdatedAt, ) = AggregatorV3Interface(quoteOracle).latestRoundData();\n        uint256 baseRefPrice = uint256(rawBaseRefPrice);\n        uint256 quoteRefPrice = uint256(rawQuoteRefPrice);\n\n        // NOTE: Assume wooracle token decimal is same as chainlink token decimal.\n        uint256 ceoff = uint256(10)**quoteDecimal;\n        refPrice = (baseRefPrice * ceoff) / quoteRefPrice;\n        refTimestamp = baseUpdatedAt >= quoteUpdatedAt ? quoteUpdatedAt : baseUpdatedAt;\n    }\n```\n