interface IComptroller {
    /**
     * @notice Official mapping of cTokens -> Market metadata
     * @dev Used e.g. to determine if a market is supported
     */
    function markets(address market) external view returns (bool isListed, uint256 collateralFactorMantissa, bool isComped);

    /**
     * @notice Return all of the markets
     * @dev The automatic getter may be used to access an individual market.
     * @return The list of market addresses
     */
    function getAllMarkets() external view returns (address[] memory);
}
/**
 * @title Compound's Comptroller Contract
 * @author Compound
 */
function markets(address market) external view returns (bool isListed, uint256 collateralFactorMantissa, bool isComped);

/**
 * @notice Official mapping of cTokens -> Market metadata
 * @dev Used e.g. to determine if a market is supported
 */