MCPcopy Create free account
hub / github.com/ccxt/ccxt / fetch_future_markets

Method fetch_future_markets

python/ccxt/async_support/bybit.py:2030–2211  ·  view source on GitHub ↗
(self, params={})

Source from the content-addressed store, hash-verified

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",

Callers 1

fetch_marketsMethod · 0.95

Calls 15

safe_boolMethod · 0.80
safe_dictMethod · 0.80
safe_listMethod · 0.80
safe_stringMethod · 0.80
array_concatMethod · 0.80
omit_zeroMethod · 0.80
safe_number_2Method · 0.80
parse_numberMethod · 0.80
safe_market_structureMethod · 0.80
safe_numberMethod · 0.80

Tested by

no test coverage detected