interface IComptroller {

    /**
     * @notice Add assets to be included in account liquidity calculation
     * @param cTokens The list of addresses of the cToken markets to be enabled
     * @return Success indicator for whether each corresponding market was entered
     */
    function enterMarkets(address[] memory cTokens) external returns (uint256[] memory);

    /**
     * @notice Removes asset from sender's account liquidity calculation
     * @dev Sender must not have an outstanding borrow balance in the asset,
     *  or be providing neccessary collateral for an outstanding borrow.
     * @param cTokenAddress The address of the asset to be removed
     * @return Whether or not the account successfully exited the market
     */
    function exitMarket(address cTokenAddress) external returns (uint256);

    function claimComp(address holder) external;

    function markets(address cTokenAddress) external view returns (bool, uint256, bool);
}
/**
 * @title IComptroller
 *
 * Interface for interacting with Compound Comptroller
 */
function exitMarket(address cTokenAddress) external returns (uint256);

/**
 * @notice Removes asset from sender's account liquidity calculation
 * @dev Sender must not have an outstanding borrow balance in the asset,
 *  or be providing neccessary collateral for an outstanding borrow.
 * @param cTokenAddress The address of the asset to be removed
 * @return Whether or not the account successfully exited the market
 */