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

Method fetch_spot_markets

python/ccxt/gate.py:1345–1456  ·  view source on GitHub ↗
(self, params={})

Source from the content-addressed store, hash-verified

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

Callers 1

fetch_marketsMethod · 0.95

Calls 15

index_byMethod · 0.80
safe_stringMethod · 0.80
safe_valueMethod · 0.80
deep_extendMethod · 0.80
splitMethod · 0.80
parse_numberMethod · 0.80
parse_precisionMethod · 0.80
safe_numberMethod · 0.80
safe_integer_productMethod · 0.80
string_divMethod · 0.80

Tested by

no test coverage detected