(self, params={})
| 1343 | return self.arrays_concat(results) |
| 1344 | |
| 1345 | def fetch_spot_markets(self, params={}): |
| 1346 | marginPromise = self.publicMarginGetCurrencyPairs(params) |
| 1347 | spotMarketsPromise = self.publicSpotGetCurrencyPairs(params) |
| 1348 | marginResponse, spotMarketsResponse = [marginPromise, spotMarketsPromise] |
| 1349 | marginMarkets = self.index_by(marginResponse, 'id') |
| 1350 | # |
| 1351 | # Spot |
| 1352 | # |
| 1353 | # [ |
| 1354 | # { |
| 1355 | # "id": "QTUM_ETH", |
| 1356 | # "base": "QTUM", |
| 1357 | # "base_name": "Quantum", |
| 1358 | # "quote": "ETH", |
| 1359 | # "quote_name": "Ethereum", |
| 1360 | # "fee": "0.2", |
| 1361 | # "min_base_amount": "0.01", |
| 1362 | # "min_quote_amount": "0.001", |
| 1363 | # "max_quote_amount": "50000", |
| 1364 | # "amount_precision": 3, |
| 1365 | # "precision": 6, |
| 1366 | # "trade_status": "tradable", |
| 1367 | # "sell_start": 1607313600, |
| 1368 | # "buy_start": 1700492400, |
| 1369 | # "type": "normal", |
| 1370 | # "trade_url": "https://www.gate.com/trade/QTUM_ETH", |
| 1371 | # } |
| 1372 | # |
| 1373 | # Margin |
| 1374 | # |
| 1375 | # [ |
| 1376 | # { |
| 1377 | # "id": "ETH_USDT", |
| 1378 | # "base": "ETH", |
| 1379 | # "quote": "USDT", |
| 1380 | # "leverage": 3, |
| 1381 | # "min_base_amount": "0.01", |
| 1382 | # "min_quote_amount": "100", |
| 1383 | # "max_quote_amount": "1000000" |
| 1384 | # } |
| 1385 | # ] |
| 1386 | # |
| 1387 | result = [] |
| 1388 | for i in range(0, len(spotMarketsResponse)): |
| 1389 | spotMarket = spotMarketsResponse[i] |
| 1390 | id = self.safe_string(spotMarket, 'id') |
| 1391 | marginMarket = self.safe_value(marginMarkets, id) |
| 1392 | market = self.deep_extend(marginMarket, spotMarket) |
| 1393 | baseId, quoteId = id.split('_') |
| 1394 | base = self.safe_currency_code(baseId) |
| 1395 | quote = self.safe_currency_code(quoteId) |
| 1396 | takerPercent = self.safe_string(market, 'fee') |
| 1397 | makerPercent = self.safe_string(market, 'maker_fee_rate', takerPercent) |
| 1398 | amountPrecision = self.parse_number(self.parse_precision(self.safe_string(market, 'amount_precision'))) |
| 1399 | tradeStatus = self.safe_string(market, 'trade_status') |
| 1400 | leverage = self.safe_number(market, 'leverage') |
| 1401 | margin = leverage is not None |
| 1402 | buyStart = self.safe_integer_product(spotMarket, 'buy_start', 1000) # buy_start is the trading start time, while sell_start is offline orders start time |
no test coverage detected