(self, params={})
| 2028 | return result |
| 2029 | |
| 2030 | async def fetch_future_markets(self, params={}) -> List[Market]: |
| 2031 | params = self.extend(params, {}) |
| 2032 | params['limit'] = 1000 # minimize number of requests |
| 2033 | preLaunchMarkets = [] |
| 2034 | usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False) |
| 2035 | response = None |
| 2036 | if usePrivateInstrumentsInfo: |
| 2037 | response = await self.privateGetV5MarketInstrumentsInfo(params) |
| 2038 | else: |
| 2039 | linearPromises = [ |
| 2040 | self.publicGetV5MarketInstrumentsInfo(params), |
| 2041 | self.publicGetV5MarketInstrumentsInfo(self.extend(params, {'status': 'PreLaunch'})), |
| 2042 | ] |
| 2043 | promises = await asyncio.gather(*linearPromises) |
| 2044 | response = self.safe_dict(promises, 0, {}) |
| 2045 | preLaunchMarkets = self.safe_dict(promises, 1, {}) |
| 2046 | data = self.safe_dict(response, 'result', {}) |
| 2047 | markets = self.safe_list(data, 'list', []) |
| 2048 | paginationCursor = self.safe_string(data, 'nextPageCursor') |
| 2049 | if paginationCursor is not None: |
| 2050 | while(paginationCursor is not None): |
| 2051 | params['cursor'] = paginationCursor |
| 2052 | responseInner: dict |
| 2053 | if usePrivateInstrumentsInfo: |
| 2054 | responseInner = await self.privateGetV5MarketInstrumentsInfo(params) |
| 2055 | else: |
| 2056 | responseInner = await self.publicGetV5MarketInstrumentsInfo(params) |
| 2057 | dataNew = self.safe_dict(responseInner, 'result', {}) |
| 2058 | rawMarkets = self.safe_list(dataNew, 'list', []) |
| 2059 | rawMarketsLength = len(rawMarkets) |
| 2060 | if rawMarketsLength == 0: |
| 2061 | break |
| 2062 | markets = self.array_concat(rawMarkets, markets) |
| 2063 | paginationCursor = self.safe_string(dataNew, 'nextPageCursor') |
| 2064 | # |
| 2065 | # { |
| 2066 | # "retCode": 0, |
| 2067 | # "retMsg": "OK", |
| 2068 | # "result": { |
| 2069 | # "category": "linear", |
| 2070 | # "list": [ |
| 2071 | # { |
| 2072 | # "symbol": "BTCUSDT", |
| 2073 | # "contractType": "LinearPerpetual", |
| 2074 | # "status": "Trading", |
| 2075 | # "baseCoin": "BTC", |
| 2076 | # "quoteCoin": "USDT", |
| 2077 | # "launchTime": "1585526400000", |
| 2078 | # "deliveryTime": "0", |
| 2079 | # "deliveryFeeRate": "", |
| 2080 | # "priceScale": "2", |
| 2081 | # "leverageFilter": { |
| 2082 | # "minLeverage": "1", |
| 2083 | # "maxLeverage": "100.00", |
| 2084 | # "leverageStep": "0.01" |
| 2085 | # }, |
| 2086 | # "priceFilter": { |
| 2087 | # "minPrice": "0.50", |
no test coverage detected