(self, params)
| 2210 | return result |
| 2211 | |
| 2212 | def fetch_option_markets(self, params) -> List[Market]: |
| 2213 | request = { |
| 2214 | 'category': 'option', |
| 2215 | } |
| 2216 | usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False) |
| 2217 | response: dict |
| 2218 | if usePrivateInstrumentsInfo: |
| 2219 | response = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params)) |
| 2220 | else: |
| 2221 | response = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params)) |
| 2222 | data = self.safe_dict(response, 'result', {}) |
| 2223 | markets = self.safe_list(data, 'list', []) |
| 2224 | if self.options['loadAllOptions']: |
| 2225 | request['limit'] = 1000 |
| 2226 | paginationCursor = self.safe_string(data, 'nextPageCursor') |
| 2227 | if paginationCursor is not None: |
| 2228 | while(paginationCursor is not None): |
| 2229 | request['cursor'] = paginationCursor |
| 2230 | responseInner: dict |
| 2231 | if usePrivateInstrumentsInfo: |
| 2232 | responseInner = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params)) |
| 2233 | else: |
| 2234 | responseInner = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params)) |
| 2235 | dataNew = self.safe_dict(responseInner, 'result', {}) |
| 2236 | rawMarkets = self.safe_list(dataNew, 'list', []) |
| 2237 | rawMarketsLength = len(rawMarkets) |
| 2238 | if rawMarketsLength == 0: |
| 2239 | break |
| 2240 | markets = self.array_concat(rawMarkets, markets) |
| 2241 | paginationCursor = self.safe_string(dataNew, 'nextPageCursor') |
| 2242 | # |
| 2243 | # { |
| 2244 | # "retCode": 0, |
| 2245 | # "retMsg": "success", |
| 2246 | # "result": { |
| 2247 | # "category": "option", |
| 2248 | # "nextPageCursor": "0%2C2", |
| 2249 | # "list": [ |
| 2250 | # { |
| 2251 | # "symbol": "BTC-29DEC23-80000-C", |
| 2252 | # "status": "Trading", |
| 2253 | # "baseCoin": "BTC", |
| 2254 | # "quoteCoin": "USD", |
| 2255 | # "settleCoin": "USDC", |
| 2256 | # "optionsType": "Call", |
| 2257 | # "launchTime": "1688630400000", |
| 2258 | # "deliveryTime": "1703836800000", |
| 2259 | # "deliveryFeeRate": "0.00015", |
| 2260 | # "priceFilter": { |
| 2261 | # "minPrice": "5", |
| 2262 | # "maxPrice": "10000000", |
| 2263 | # "tickSize": "5" |
| 2264 | # }, |
| 2265 | # "lotSizeFilter": { |
| 2266 | # "maxOrderQty": "500", |
| 2267 | # "minOrderQty": "0.01", |
| 2268 | # "qtyStep": "0.01" |
| 2269 | # } |
no test coverage detected