pragma solidity ^0.5.16; interface IFuturesMarketManager { function markets(uint index, uint pageSize) external view returns (address[] memory); function markets( uint index, uint pageSize, bool proxiedMarkets ) external view returns (address[] memory); function numMarkets() external view returns (uint); function numMarkets(bool proxiedMarkets) external view returns (uint); function allMarkets() external view returns (address[] memory); function allMarkets(bool proxiedMarkets) external view returns (address[] memory); function marketForKey(bytes32 marketKey) external view returns (address); function marketsForKeys(bytes32[] calldata marketKeys) external view returns (address[] memory); function totalDebt() external view returns (uint debt, bool isInvalid); function isEndorsed(address account) external view returns (bool); function allEndorsedAddresses() external view returns (address[] memory); function addEndorsedAddresses(address[] calldata addresses) external; function removeEndorsedAddresses(address[] calldata addresses) external; }