ccxt 4.2.84__py2.py3-none-any.whl → 4.2.86__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- ccxt/__init__.py +1 -1
- ccxt/abstract/coinex.py +232 -123
- ccxt/ace.py +5 -5
- ccxt/ascendex.py +8 -8
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/ace.py +5 -5
- ccxt/async_support/ascendex.py +8 -8
- ccxt/async_support/base/exchange.py +3 -27
- ccxt/async_support/bigone.py +12 -12
- ccxt/async_support/binance.py +20 -32
- ccxt/async_support/bingx.py +45 -28
- ccxt/async_support/bit2c.py +1 -1
- ccxt/async_support/bitbank.py +27 -29
- ccxt/async_support/bitbns.py +5 -5
- ccxt/async_support/bitfinex.py +1 -1
- ccxt/async_support/bitfinex2.py +1 -1
- ccxt/async_support/bitget.py +29 -24
- ccxt/async_support/bithumb.py +5 -5
- ccxt/async_support/bitmart.py +16 -16
- ccxt/async_support/bitopro.py +1 -1
- ccxt/async_support/bitrue.py +4 -4
- ccxt/async_support/bitso.py +5 -5
- ccxt/async_support/bitstamp.py +1 -1
- ccxt/async_support/bitteam.py +8 -8
- ccxt/async_support/bl3p.py +1 -1
- ccxt/async_support/btcturk.py +6 -6
- ccxt/async_support/bybit.py +30 -83
- ccxt/async_support/coincheck.py +4 -4
- ccxt/async_support/coinex.py +404 -262
- ccxt/async_support/coinlist.py +7 -7
- ccxt/async_support/coinmate.py +4 -4
- ccxt/async_support/coinmetro.py +3 -3
- ccxt/async_support/coinone.py +5 -5
- ccxt/async_support/coinspot.py +2 -2
- ccxt/async_support/cryptocom.py +17 -17
- ccxt/async_support/currencycom.py +1 -1
- ccxt/async_support/delta.py +0 -8
- ccxt/async_support/deribit.py +16 -80
- ccxt/async_support/digifinex.py +8 -8
- ccxt/async_support/exmo.py +8 -8
- ccxt/async_support/gate.py +0 -8
- ccxt/async_support/hitbtc.py +5 -4
- ccxt/async_support/hollaex.py +7 -7
- ccxt/async_support/htx.py +7 -7
- ccxt/async_support/huobijp.py +3 -3
- ccxt/async_support/idex.py +12 -12
- ccxt/async_support/independentreserve.py +2 -2
- ccxt/async_support/indodax.py +2 -2
- ccxt/async_support/kraken.py +8 -8
- ccxt/async_support/krakenfutures.py +6 -6
- ccxt/async_support/kucoin.py +4 -1
- ccxt/async_support/kucoinfutures.py +8 -8
- ccxt/async_support/kuna.py +16 -16
- ccxt/async_support/latoken.py +2 -2
- ccxt/async_support/lbank.py +10 -10
- ccxt/async_support/luno.py +4 -4
- ccxt/async_support/mercado.py +5 -5
- ccxt/async_support/mexc.py +6 -6
- ccxt/async_support/ndax.py +1 -1
- ccxt/async_support/novadax.py +9 -9
- ccxt/async_support/oceanex.py +7 -7
- ccxt/async_support/okcoin.py +15 -14
- ccxt/async_support/okx.py +23 -31
- ccxt/async_support/onetrading.py +4 -4
- ccxt/async_support/p2b.py +7 -7
- ccxt/async_support/phemex.py +12 -12
- ccxt/async_support/poloniexfutures.py +5 -5
- ccxt/async_support/probit.py +11 -11
- ccxt/async_support/timex.py +7 -7
- ccxt/async_support/tokocrypto.py +9 -9
- ccxt/async_support/wavesexchange.py +3 -3
- ccxt/async_support/whitebit.py +5 -5
- ccxt/async_support/woo.py +1 -1
- ccxt/async_support/zaif.py +1 -1
- ccxt/async_support/zonda.py +7 -7
- ccxt/base/exchange.py +66 -23
- ccxt/bigone.py +12 -12
- ccxt/binance.py +20 -32
- ccxt/bingx.py +45 -28
- ccxt/bit2c.py +1 -1
- ccxt/bitbank.py +27 -29
- ccxt/bitbns.py +5 -5
- ccxt/bitfinex.py +1 -1
- ccxt/bitfinex2.py +1 -1
- ccxt/bitget.py +29 -24
- ccxt/bithumb.py +5 -5
- ccxt/bitmart.py +16 -16
- ccxt/bitopro.py +1 -1
- ccxt/bitrue.py +4 -4
- ccxt/bitso.py +5 -5
- ccxt/bitstamp.py +1 -1
- ccxt/bitteam.py +8 -8
- ccxt/bl3p.py +1 -1
- ccxt/btcturk.py +6 -6
- ccxt/bybit.py +30 -83
- ccxt/coincheck.py +4 -4
- ccxt/coinex.py +404 -262
- ccxt/coinlist.py +7 -7
- ccxt/coinmate.py +4 -4
- ccxt/coinmetro.py +3 -3
- ccxt/coinone.py +5 -5
- ccxt/coinspot.py +2 -2
- ccxt/cryptocom.py +17 -17
- ccxt/currencycom.py +1 -1
- ccxt/delta.py +0 -8
- ccxt/deribit.py +16 -80
- ccxt/digifinex.py +8 -8
- ccxt/exmo.py +8 -8
- ccxt/gate.py +0 -8
- ccxt/hitbtc.py +5 -4
- ccxt/hollaex.py +7 -7
- ccxt/htx.py +7 -7
- ccxt/huobijp.py +3 -3
- ccxt/idex.py +12 -12
- ccxt/independentreserve.py +2 -2
- ccxt/indodax.py +2 -2
- ccxt/kraken.py +8 -8
- ccxt/krakenfutures.py +6 -6
- ccxt/kucoin.py +4 -1
- ccxt/kucoinfutures.py +8 -8
- ccxt/kuna.py +16 -16
- ccxt/latoken.py +2 -2
- ccxt/lbank.py +10 -10
- ccxt/luno.py +4 -4
- ccxt/mercado.py +5 -5
- ccxt/mexc.py +6 -6
- ccxt/ndax.py +1 -1
- ccxt/novadax.py +9 -9
- ccxt/oceanex.py +7 -7
- ccxt/okcoin.py +15 -14
- ccxt/okx.py +23 -31
- ccxt/onetrading.py +4 -4
- ccxt/p2b.py +7 -7
- ccxt/phemex.py +12 -12
- ccxt/poloniexfutures.py +5 -5
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/binance.py +150 -112
- ccxt/pro/bitget.py +1 -0
- ccxt/pro/kucoin.py +6 -7
- ccxt/pro/okx.py +12 -1
- ccxt/probit.py +11 -11
- ccxt/timex.py +7 -7
- ccxt/tokocrypto.py +9 -9
- ccxt/wavesexchange.py +3 -3
- ccxt/whitebit.py +5 -5
- ccxt/woo.py +1 -1
- ccxt/zaif.py +1 -1
- ccxt/zonda.py +7 -7
- {ccxt-4.2.84.dist-info → ccxt-4.2.86.dist-info}/METADATA +6 -6
- {ccxt-4.2.84.dist-info → ccxt-4.2.86.dist-info}/RECORD +152 -152
- {ccxt-4.2.84.dist-info → ccxt-4.2.86.dist-info}/WHEEL +0 -0
- {ccxt-4.2.84.dist-info → ccxt-4.2.86.dist-info}/top_level.txt +0 -0
ccxt/async_support/kuna.py
CHANGED
@@ -650,7 +650,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
650
650
|
# }
|
651
651
|
# }
|
652
652
|
#
|
653
|
-
data = self.
|
653
|
+
data = self.safe_dict(response, 'data', {})
|
654
654
|
return self.parse_order_book(data, market['symbol'], None, 'bids', 'asks', 0, 1)
|
655
655
|
|
656
656
|
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
@@ -728,7 +728,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
728
728
|
# ]
|
729
729
|
# }
|
730
730
|
#
|
731
|
-
data = self.
|
731
|
+
data = self.safe_list(response, 'data', [])
|
732
732
|
return self.parse_tickers(data, symbols, params)
|
733
733
|
|
734
734
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
@@ -766,7 +766,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
766
766
|
# }
|
767
767
|
#
|
768
768
|
data = self.safe_value(response, 'data', [])
|
769
|
-
ticker = self.
|
769
|
+
ticker = self.safe_dict(data, 0)
|
770
770
|
return self.parse_ticker(ticker, market)
|
771
771
|
|
772
772
|
async def fetch_l3_order_book(self, symbol: str, limit: Int = None, params={}):
|
@@ -968,7 +968,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
968
968
|
# }
|
969
969
|
# }
|
970
970
|
#
|
971
|
-
data = self.
|
971
|
+
data = self.safe_dict(response, 'data', {})
|
972
972
|
return self.parse_order(data, market)
|
973
973
|
|
974
974
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
@@ -1023,7 +1023,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1023
1023
|
# ]
|
1024
1024
|
# }
|
1025
1025
|
#
|
1026
|
-
data = self.
|
1026
|
+
data = self.safe_list(response, 'data', [])
|
1027
1027
|
return self.parse_orders(data)
|
1028
1028
|
|
1029
1029
|
def parse_order_status(self, status):
|
@@ -1165,7 +1165,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1165
1165
|
# }
|
1166
1166
|
# }
|
1167
1167
|
#
|
1168
|
-
data = self.
|
1168
|
+
data = self.safe_dict(response, 'data', {})
|
1169
1169
|
return self.parse_order(data)
|
1170
1170
|
|
1171
1171
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -1219,7 +1219,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1219
1219
|
# ]
|
1220
1220
|
# }
|
1221
1221
|
#
|
1222
|
-
data = self.
|
1222
|
+
data = self.safe_list(response, 'data', [])
|
1223
1223
|
return self.parse_orders(data, market, since, limit)
|
1224
1224
|
|
1225
1225
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -1294,7 +1294,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1294
1294
|
# ]
|
1295
1295
|
# }
|
1296
1296
|
#
|
1297
|
-
data = self.
|
1297
|
+
data = self.safe_list(response, 'data', [])
|
1298
1298
|
return self.parse_orders(data, market, since, limit)
|
1299
1299
|
|
1300
1300
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
@@ -1337,7 +1337,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1337
1337
|
# ]
|
1338
1338
|
# }
|
1339
1339
|
#
|
1340
|
-
data = self.
|
1340
|
+
data = self.safe_list(response, 'data')
|
1341
1341
|
return self.parse_trades(data, market, since, limit)
|
1342
1342
|
|
1343
1343
|
async def withdraw(self, code: str, amount: float, address, tag=None, params={}):
|
@@ -1384,7 +1384,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1384
1384
|
# }
|
1385
1385
|
# }
|
1386
1386
|
#
|
1387
|
-
data = self.
|
1387
|
+
data = self.safe_dict(response, 'data', {})
|
1388
1388
|
return self.parse_transaction(data, currency)
|
1389
1389
|
|
1390
1390
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
@@ -1445,7 +1445,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1445
1445
|
# ]
|
1446
1446
|
# }
|
1447
1447
|
#
|
1448
|
-
data = self.
|
1448
|
+
data = self.safe_list(response, 'data', [])
|
1449
1449
|
return self.parse_transactions(data, currency)
|
1450
1450
|
|
1451
1451
|
async def fetch_withdrawal(self, id: str, code: Str = None, params={}):
|
@@ -1483,7 +1483,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1483
1483
|
# }
|
1484
1484
|
# }
|
1485
1485
|
#
|
1486
|
-
data = self.
|
1486
|
+
data = self.safe_dict(response, 'data', {})
|
1487
1487
|
return self.parse_transaction(data)
|
1488
1488
|
|
1489
1489
|
async def create_deposit_address(self, code: str, params={}):
|
@@ -1509,7 +1509,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1509
1509
|
# }
|
1510
1510
|
# }
|
1511
1511
|
#
|
1512
|
-
data = self.
|
1512
|
+
data = self.safe_dict(response, 'data', {})
|
1513
1513
|
return self.parse_deposit_address(data, currency)
|
1514
1514
|
|
1515
1515
|
async def fetch_deposit_address(self, code: str, params={}):
|
@@ -1535,7 +1535,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1535
1535
|
# }
|
1536
1536
|
# }
|
1537
1537
|
#
|
1538
|
-
data = self.
|
1538
|
+
data = self.safe_dict(response, 'data', {})
|
1539
1539
|
return self.parse_deposit_address(data, currency)
|
1540
1540
|
|
1541
1541
|
def parse_deposit_address(self, depositAddress, currency: Currency = None):
|
@@ -1626,7 +1626,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1626
1626
|
# ]
|
1627
1627
|
# }
|
1628
1628
|
#
|
1629
|
-
data = self.
|
1629
|
+
data = self.safe_list(response, 'data', [])
|
1630
1630
|
return self.parse_transactions(data, currency)
|
1631
1631
|
|
1632
1632
|
async def fetch_deposit(self, id: str, code: Str = None, params={}):
|
@@ -1667,7 +1667,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
1667
1667
|
# }
|
1668
1668
|
# }
|
1669
1669
|
#
|
1670
|
-
data = self.
|
1670
|
+
data = self.safe_dict(response, 'data', {})
|
1671
1671
|
return self.parse_transaction(data, currency)
|
1672
1672
|
|
1673
1673
|
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
ccxt/async_support/latoken.py
CHANGED
@@ -1382,7 +1382,7 @@ class latoken(Exchange, ImplicitAPI):
|
|
1382
1382
|
currency = None
|
1383
1383
|
if code is not None:
|
1384
1384
|
currency = self.currency(code)
|
1385
|
-
content = self.
|
1385
|
+
content = self.safe_list(response, 'content', [])
|
1386
1386
|
return self.parse_transactions(content, currency, since, limit)
|
1387
1387
|
|
1388
1388
|
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
@@ -1506,7 +1506,7 @@ class latoken(Exchange, ImplicitAPI):
|
|
1506
1506
|
# "hasContent": True
|
1507
1507
|
# }
|
1508
1508
|
#
|
1509
|
-
transfers = self.
|
1509
|
+
transfers = self.safe_list(response, 'content', [])
|
1510
1510
|
return self.parse_transfers(transfers, currency, since, limit)
|
1511
1511
|
|
1512
1512
|
async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
ccxt/async_support/lbank.py
CHANGED
@@ -634,7 +634,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
634
634
|
# }
|
635
635
|
#
|
636
636
|
data = self.safe_value(response, 'data', [])
|
637
|
-
first = self.
|
637
|
+
first = self.safe_dict(data, 0, {})
|
638
638
|
return self.parse_ticker(first, market)
|
639
639
|
|
640
640
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
@@ -708,7 +708,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
708
708
|
# "success": True
|
709
709
|
# }
|
710
710
|
#
|
711
|
-
data = self.
|
711
|
+
data = self.safe_list(response, 'data', [])
|
712
712
|
return self.parse_tickers(data, symbols)
|
713
713
|
|
714
714
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
@@ -931,7 +931,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
931
931
|
# "ts":1647021999308
|
932
932
|
# }
|
933
933
|
#
|
934
|
-
trades = self.
|
934
|
+
trades = self.safe_list(response, 'data', [])
|
935
935
|
return self.parse_trades(trades, market, since, limit)
|
936
936
|
|
937
937
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
@@ -1515,7 +1515,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
1515
1515
|
# "ts":1648164471827
|
1516
1516
|
# }
|
1517
1517
|
#
|
1518
|
-
result = self.
|
1518
|
+
result = self.safe_dict(response, 'data', {})
|
1519
1519
|
return self.parse_order(result)
|
1520
1520
|
|
1521
1521
|
async def fetch_order_default(self, id: str, symbol: Str = None, params={}):
|
@@ -1613,7 +1613,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
1613
1613
|
# "ts":1648509742164
|
1614
1614
|
# }
|
1615
1615
|
#
|
1616
|
-
trades = self.
|
1616
|
+
trades = self.safe_list(response, 'data', [])
|
1617
1617
|
return self.parse_trades(trades, market, since, limit)
|
1618
1618
|
|
1619
1619
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -1669,7 +1669,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
1669
1669
|
# }
|
1670
1670
|
#
|
1671
1671
|
result = self.safe_value(response, 'data', {})
|
1672
|
-
orders = self.
|
1672
|
+
orders = self.safe_list(result, 'orders', [])
|
1673
1673
|
return self.parse_orders(orders, market, since, limit)
|
1674
1674
|
|
1675
1675
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -1722,7 +1722,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
1722
1722
|
# }
|
1723
1723
|
#
|
1724
1724
|
result = self.safe_value(response, 'data', {})
|
1725
|
-
orders = self.
|
1725
|
+
orders = self.safe_list(result, 'orders', [])
|
1726
1726
|
return self.parse_orders(orders, market, since, limit)
|
1727
1727
|
|
1728
1728
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
@@ -2108,7 +2108,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
2108
2108
|
# }
|
2109
2109
|
#
|
2110
2110
|
data = self.safe_value(response, 'data', {})
|
2111
|
-
deposits = self.
|
2111
|
+
deposits = self.safe_list(data, 'depositOrders', [])
|
2112
2112
|
return self.parse_transactions(deposits, currency, since, limit)
|
2113
2113
|
|
2114
2114
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
@@ -2161,7 +2161,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
2161
2161
|
# }
|
2162
2162
|
#
|
2163
2163
|
data = self.safe_value(response, 'data', {})
|
2164
|
-
withdraws = self.
|
2164
|
+
withdraws = self.safe_list(data, 'withdraws', [])
|
2165
2165
|
return self.parse_transactions(withdraws, currency, since, limit)
|
2166
2166
|
|
2167
2167
|
async def fetch_transaction_fees(self, codes: List[str] = None, params={}):
|
@@ -2359,7 +2359,7 @@ class lbank(Exchange, ImplicitAPI):
|
|
2359
2359
|
# "code": 0
|
2360
2360
|
# }
|
2361
2361
|
#
|
2362
|
-
data = self.
|
2362
|
+
data = self.safe_list(response, 'data', [])
|
2363
2363
|
return self.parse_deposit_withdraw_fees(data, codes, 'coin')
|
2364
2364
|
|
2365
2365
|
async def fetch_public_deposit_withdraw_fees(self, codes=None, params={}):
|
ccxt/async_support/luno.py
CHANGED
@@ -465,7 +465,7 @@ class luno(Exchange, ImplicitAPI):
|
|
465
465
|
market = self.market(symbol)
|
466
466
|
request['pair'] = market['id']
|
467
467
|
response = await self.privateGetListorders(self.extend(request, params))
|
468
|
-
orders = self.
|
468
|
+
orders = self.safe_list(response, 'orders', [])
|
469
469
|
return self.parse_orders(orders, market, since, limit)
|
470
470
|
|
471
471
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -703,7 +703,7 @@ class luno(Exchange, ImplicitAPI):
|
|
703
703
|
# ]
|
704
704
|
# }
|
705
705
|
#
|
706
|
-
trades = self.
|
706
|
+
trades = self.safe_list(response, 'trades', [])
|
707
707
|
return self.parse_trades(trades, market, since, limit)
|
708
708
|
|
709
709
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
|
@@ -745,7 +745,7 @@ class luno(Exchange, ImplicitAPI):
|
|
745
745
|
# "pair": "XBTEUR"
|
746
746
|
# }
|
747
747
|
#
|
748
|
-
ohlcvs = self.
|
748
|
+
ohlcvs = self.safe_list(response, 'candles', [])
|
749
749
|
return self.parse_ohlcvs(ohlcvs, market, timeframe, since, limit)
|
750
750
|
|
751
751
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
@@ -809,7 +809,7 @@ class luno(Exchange, ImplicitAPI):
|
|
809
809
|
# ]
|
810
810
|
# }
|
811
811
|
#
|
812
|
-
trades = self.
|
812
|
+
trades = self.safe_list(response, 'trades', [])
|
813
813
|
return self.parse_trades(trades, market, since, limit)
|
814
814
|
|
815
815
|
async def fetch_trading_fee(self, symbol: str, params={}):
|
ccxt/async_support/mercado.py
CHANGED
@@ -492,7 +492,7 @@ class mercado(Exchange, ImplicitAPI):
|
|
492
492
|
# }
|
493
493
|
#
|
494
494
|
responseData = self.safe_value(response, 'response_data', {})
|
495
|
-
order = self.
|
495
|
+
order = self.safe_dict(responseData, 'order', {})
|
496
496
|
return self.parse_order(order, market)
|
497
497
|
|
498
498
|
def parse_order_status(self, status):
|
@@ -591,7 +591,7 @@ class mercado(Exchange, ImplicitAPI):
|
|
591
591
|
}
|
592
592
|
response = await self.privatePostGetOrder(self.extend(request, params))
|
593
593
|
responseData = self.safe_value(response, 'response_data', {})
|
594
|
-
order = self.
|
594
|
+
order = self.safe_dict(responseData, 'order')
|
595
595
|
return self.parse_order(order, market)
|
596
596
|
|
597
597
|
async def withdraw(self, code: str, amount: float, address, tag=None, params={}):
|
@@ -648,7 +648,7 @@ class mercado(Exchange, ImplicitAPI):
|
|
648
648
|
# }
|
649
649
|
#
|
650
650
|
responseData = self.safe_value(response, 'response_data', {})
|
651
|
-
withdrawal = self.
|
651
|
+
withdrawal = self.safe_dict(responseData, 'withdrawal')
|
652
652
|
return self.parse_transaction(withdrawal, currency)
|
653
653
|
|
654
654
|
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
@@ -745,7 +745,7 @@ class mercado(Exchange, ImplicitAPI):
|
|
745
745
|
}
|
746
746
|
response = await self.privatePostListOrders(self.extend(request, params))
|
747
747
|
responseData = self.safe_value(response, 'response_data', {})
|
748
|
-
orders = self.
|
748
|
+
orders = self.safe_list(responseData, 'orders', [])
|
749
749
|
return self.parse_orders(orders, market, since, limit)
|
750
750
|
|
751
751
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -767,7 +767,7 @@ class mercado(Exchange, ImplicitAPI):
|
|
767
767
|
}
|
768
768
|
response = await self.privatePostListOrders(self.extend(request, params))
|
769
769
|
responseData = self.safe_value(response, 'response_data', {})
|
770
|
-
orders = self.
|
770
|
+
orders = self.safe_list(responseData, 'orders', [])
|
771
771
|
return self.parse_orders(orders, market, since, limit)
|
772
772
|
|
773
773
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
ccxt/async_support/mexc.py
CHANGED
@@ -2680,7 +2680,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
2680
2680
|
# ]
|
2681
2681
|
# }
|
2682
2682
|
#
|
2683
|
-
data = self.
|
2683
|
+
data = self.safe_list(response, 'data')
|
2684
2684
|
return self.parse_orders(data, market)
|
2685
2685
|
|
2686
2686
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -2930,7 +2930,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
2930
2930
|
# ]
|
2931
2931
|
# }
|
2932
2932
|
#
|
2933
|
-
data = self.
|
2933
|
+
data = self.safe_list(response, 'data')
|
2934
2934
|
return self.parse_orders(data, market)
|
2935
2935
|
|
2936
2936
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
@@ -3013,7 +3013,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
3013
3013
|
# "code": "0"
|
3014
3014
|
# }
|
3015
3015
|
#
|
3016
|
-
data = self.
|
3016
|
+
data = self.safe_list(response, 'data', [])
|
3017
3017
|
return self.parse_orders(data, market)
|
3018
3018
|
|
3019
3019
|
def parse_order(self, order, market: Market = None) -> Order:
|
@@ -4084,7 +4084,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4084
4084
|
# ]
|
4085
4085
|
# }
|
4086
4086
|
#
|
4087
|
-
data = self.
|
4087
|
+
data = self.safe_list(response, 'data')
|
4088
4088
|
return self.parse_leverage_tiers(data, symbols, 'symbol')
|
4089
4089
|
|
4090
4090
|
def parse_market_leverage_tiers(self, info, market: Market = None):
|
@@ -4505,7 +4505,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4505
4505
|
# ]
|
4506
4506
|
# }
|
4507
4507
|
#
|
4508
|
-
data = self.
|
4508
|
+
data = self.safe_list(response, 'data', [])
|
4509
4509
|
return self.parse_positions(data, symbols)
|
4510
4510
|
|
4511
4511
|
def parse_position(self, position, market: Market = None):
|
@@ -4596,7 +4596,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4596
4596
|
# }
|
4597
4597
|
# }
|
4598
4598
|
#
|
4599
|
-
data = self.
|
4599
|
+
data = self.safe_dict(response, 'data', {})
|
4600
4600
|
return self.parse_transfer(data)
|
4601
4601
|
elif marketType == 'swap':
|
4602
4602
|
raise BadRequest(self.id + ' fetchTransfer() is not supported for ' + marketType)
|
ccxt/async_support/ndax.py
CHANGED
@@ -1858,7 +1858,7 @@ class ndax(Exchange, ImplicitAPI):
|
|
1858
1858
|
# ]
|
1859
1859
|
#
|
1860
1860
|
grouped = self.group_by(response, 'ChangeReason')
|
1861
|
-
trades = self.
|
1861
|
+
trades = self.safe_list(grouped, 'Trade', [])
|
1862
1862
|
return self.parse_trades(trades, market, since, limit)
|
1863
1863
|
|
1864
1864
|
async def fetch_deposit_address(self, code: str, params={}):
|
ccxt/async_support/novadax.py
CHANGED
@@ -405,7 +405,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
405
405
|
# "message":"Success"
|
406
406
|
# }
|
407
407
|
#
|
408
|
-
data = self.
|
408
|
+
data = self.safe_dict(response, 'data', {})
|
409
409
|
return self.parse_ticker(data, market)
|
410
410
|
|
411
411
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
@@ -593,7 +593,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
593
593
|
# "message":"Success"
|
594
594
|
# }
|
595
595
|
#
|
596
|
-
data = self.
|
596
|
+
data = self.safe_list(response, 'data', [])
|
597
597
|
return self.parse_trades(data, market, since, limit)
|
598
598
|
|
599
599
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
@@ -644,7 +644,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
644
644
|
# "message": "Success"
|
645
645
|
# }
|
646
646
|
#
|
647
|
-
data = self.
|
647
|
+
data = self.safe_list(response, 'data', [])
|
648
648
|
return self.parse_ohlcvs(data, market, timeframe, since, limit)
|
649
649
|
|
650
650
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
@@ -804,7 +804,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
804
804
|
# "message": "Success"
|
805
805
|
# }
|
806
806
|
#
|
807
|
-
data = self.
|
807
|
+
data = self.safe_dict(response, 'data', {})
|
808
808
|
return self.parse_order(data, market)
|
809
809
|
|
810
810
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
@@ -830,7 +830,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
830
830
|
# "message": "Success"
|
831
831
|
# }
|
832
832
|
#
|
833
|
-
data = self.
|
833
|
+
data = self.safe_dict(response, 'data', {})
|
834
834
|
return self.parse_order(data)
|
835
835
|
|
836
836
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
@@ -867,7 +867,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
867
867
|
# "message": "Success"
|
868
868
|
# }
|
869
869
|
#
|
870
|
-
data = self.
|
870
|
+
data = self.safe_dict(response, 'data', {})
|
871
871
|
return self.parse_order(data)
|
872
872
|
|
873
873
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -922,7 +922,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
922
922
|
# "message": "Success"
|
923
923
|
# }
|
924
924
|
#
|
925
|
-
data = self.
|
925
|
+
data = self.safe_list(response, 'data', [])
|
926
926
|
return self.parse_orders(data, market, since, limit)
|
927
927
|
|
928
928
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -1297,7 +1297,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
1297
1297
|
# "message": "Success"
|
1298
1298
|
# }
|
1299
1299
|
#
|
1300
|
-
data = self.
|
1300
|
+
data = self.safe_list(response, 'data', [])
|
1301
1301
|
return self.parse_transactions(data, currency, since, limit)
|
1302
1302
|
|
1303
1303
|
def parse_transaction_status(self, status):
|
@@ -1435,7 +1435,7 @@ class novadax(Exchange, ImplicitAPI):
|
|
1435
1435
|
# "message": "Success"
|
1436
1436
|
# }
|
1437
1437
|
#
|
1438
|
-
data = self.
|
1438
|
+
data = self.safe_list(response, 'data', [])
|
1439
1439
|
return self.parse_trades(data, market, since, limit)
|
1440
1440
|
|
1441
1441
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
ccxt/async_support/oceanex.py
CHANGED
@@ -271,7 +271,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
271
271
|
# }
|
272
272
|
# }
|
273
273
|
#
|
274
|
-
data = self.
|
274
|
+
data = self.safe_dict(response, 'data', {})
|
275
275
|
return self.parse_ticker(data, market)
|
276
276
|
|
277
277
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
@@ -484,7 +484,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
484
484
|
# ]
|
485
485
|
# }
|
486
486
|
#
|
487
|
-
data = self.
|
487
|
+
data = self.safe_list(response, 'data')
|
488
488
|
return self.parse_trades(data, market, since, limit)
|
489
489
|
|
490
490
|
def parse_trade(self, trade, market: Market = None) -> Trade:
|
@@ -620,7 +620,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
620
620
|
if type == 'limit':
|
621
621
|
request['price'] = self.price_to_precision(symbol, price)
|
622
622
|
response = await self.privatePostOrders(self.extend(request, params))
|
623
|
-
data = self.
|
623
|
+
data = self.safe_dict(response, 'data')
|
624
624
|
return self.parse_order(data, market)
|
625
625
|
|
626
626
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
@@ -752,7 +752,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
752
752
|
if limit is not None:
|
753
753
|
request['limit'] = limit
|
754
754
|
response = await self.publicPostK(self.extend(request, params))
|
755
|
-
ohlcvs = self.
|
755
|
+
ohlcvs = self.safe_list(response, 'data', [])
|
756
756
|
return self.parse_ohlcvs(ohlcvs, market, timeframe, since, limit)
|
757
757
|
|
758
758
|
def parse_order(self, order, market: Market = None) -> Order:
|
@@ -828,7 +828,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
828
828
|
"""
|
829
829
|
await self.load_markets()
|
830
830
|
response = await self.privatePostOrderDelete(self.extend({'id': id}, params))
|
831
|
-
data = self.
|
831
|
+
data = self.safe_dict(response, 'data')
|
832
832
|
return self.parse_order(data)
|
833
833
|
|
834
834
|
async def cancel_orders(self, ids, symbol: Str = None, params={}):
|
@@ -842,7 +842,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
842
842
|
"""
|
843
843
|
await self.load_markets()
|
844
844
|
response = await self.privatePostOrderDeleteMulti(self.extend({'ids': ids}, params))
|
845
|
-
data = self.
|
845
|
+
data = self.safe_list(response, 'data')
|
846
846
|
return self.parse_orders(data)
|
847
847
|
|
848
848
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
@@ -855,7 +855,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
855
855
|
"""
|
856
856
|
await self.load_markets()
|
857
857
|
response = await self.privatePostOrdersClear(params)
|
858
|
-
data = self.
|
858
|
+
data = self.safe_list(response, 'data')
|
859
859
|
return self.parse_orders(data)
|
860
860
|
|
861
861
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
ccxt/async_support/okcoin.py
CHANGED
@@ -971,7 +971,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
971
971
|
'instType': 'SPOT',
|
972
972
|
}
|
973
973
|
response = await self.publicGetMarketTickers(self.extend(request, params))
|
974
|
-
data = self.
|
974
|
+
data = self.safe_list(response, 'data', [])
|
975
975
|
return self.parse_tickers(data, symbols, params)
|
976
976
|
|
977
977
|
def parse_trade(self, trade, market: Market = None) -> Trade:
|
@@ -1072,7 +1072,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1072
1072
|
response = await self.publicGetMarketTrades(self.extend(request, params))
|
1073
1073
|
else:
|
1074
1074
|
response = await self.publicGetMarketHistoryTrades(self.extend(request, params))
|
1075
|
-
data = self.
|
1075
|
+
data = self.safe_list(response, 'data', [])
|
1076
1076
|
return self.parse_trades(data, market, since, limit)
|
1077
1077
|
|
1078
1078
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
@@ -1121,8 +1121,9 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1121
1121
|
request = {
|
1122
1122
|
'instId': market['id'],
|
1123
1123
|
'bar': bar,
|
1124
|
-
'limit': limit,
|
1125
1124
|
}
|
1125
|
+
if limit is not None:
|
1126
|
+
request['limit'] = limit # default 100, max 100
|
1126
1127
|
method = None
|
1127
1128
|
method, params = self.handle_option_and_params(params, 'fetchOHLCV', 'method', 'publicGetMarketCandles')
|
1128
1129
|
response = None
|
@@ -1130,7 +1131,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1130
1131
|
response = await self.publicGetMarketCandles(self.extend(request, params))
|
1131
1132
|
else:
|
1132
1133
|
response = await self.publicGetMarketHistoryCandles(self.extend(request, params))
|
1133
|
-
data = self.
|
1134
|
+
data = self.safe_list(response, 'data', [])
|
1134
1135
|
return self.parse_ohlcvs(data, market, timeframe, since, limit)
|
1135
1136
|
|
1136
1137
|
def parse_account_balance(self, response):
|
@@ -1571,7 +1572,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1571
1572
|
response = await self.privatePostTradeCancelOrder(self.extend(request, query))
|
1572
1573
|
# {"code":"0","data":[{"clOrdId":"","ordId":"317251910906576896","sCode":"0","sMsg":""}],"msg":""}
|
1573
1574
|
data = self.safe_value(response, 'data', [])
|
1574
|
-
order = self.
|
1575
|
+
order = self.safe_dict(data, 0)
|
1575
1576
|
return self.parse_order(order, market)
|
1576
1577
|
|
1577
1578
|
def parse_ids(self, ids):
|
@@ -1654,7 +1655,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1654
1655
|
# }
|
1655
1656
|
#
|
1656
1657
|
#
|
1657
|
-
ordersData = self.
|
1658
|
+
ordersData = self.safe_list(response, 'data', [])
|
1658
1659
|
return self.parse_orders(ordersData, market, None, None, params)
|
1659
1660
|
|
1660
1661
|
def parse_order_status(self, status):
|
@@ -1895,7 +1896,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1895
1896
|
else:
|
1896
1897
|
response = await self.privateGetTradeOrder(self.extend(request, query))
|
1897
1898
|
data = self.safe_value(response, 'data', [])
|
1898
|
-
order = self.
|
1899
|
+
order = self.safe_dict(data, 0)
|
1899
1900
|
return self.parse_order(order)
|
1900
1901
|
|
1901
1902
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -1936,7 +1937,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
1936
1937
|
response = await self.privateGetTradeOrdersAlgoPending(self.extend(request, params))
|
1937
1938
|
else:
|
1938
1939
|
response = await self.privateGetTradeOrdersPending(self.extend(request, params))
|
1939
|
-
data = self.
|
1940
|
+
data = self.safe_list(response, 'data', [])
|
1940
1941
|
return self.parse_orders(data, market, since, limit)
|
1941
1942
|
|
1942
1943
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
@@ -2017,7 +2018,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
2017
2018
|
# "msg":""
|
2018
2019
|
# }
|
2019
2020
|
#
|
2020
|
-
data = self.
|
2021
|
+
data = self.safe_list(response, 'data', [])
|
2021
2022
|
return self.parse_orders(data, market, since, limit)
|
2022
2023
|
|
2023
2024
|
def parse_deposit_address(self, depositAddress, currency: Currency = None):
|
@@ -2223,7 +2224,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
2223
2224
|
# }
|
2224
2225
|
#
|
2225
2226
|
data = self.safe_value(response, 'data', [])
|
2226
|
-
rawTransfer = self.
|
2227
|
+
rawTransfer = self.safe_dict(data, 0, {})
|
2227
2228
|
return self.parse_transfer(rawTransfer, currency)
|
2228
2229
|
|
2229
2230
|
def parse_transfer(self, transfer, currency: Currency = None):
|
@@ -2359,7 +2360,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
2359
2360
|
# }
|
2360
2361
|
#
|
2361
2362
|
data = self.safe_value(response, 'data', [])
|
2362
|
-
transaction = self.
|
2363
|
+
transaction = self.safe_dict(data, 0)
|
2363
2364
|
return self.parse_transaction(transaction, currency)
|
2364
2365
|
|
2365
2366
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
@@ -2428,7 +2429,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
2428
2429
|
# ]
|
2429
2430
|
# }
|
2430
2431
|
#
|
2431
|
-
data = self.
|
2432
|
+
data = self.safe_list(response, 'data', [])
|
2432
2433
|
return self.parse_transactions(data, currency, since, limit, params)
|
2433
2434
|
|
2434
2435
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
@@ -2489,7 +2490,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
2489
2490
|
# ]
|
2490
2491
|
# }
|
2491
2492
|
#
|
2492
|
-
data = self.
|
2493
|
+
data = self.safe_list(response, 'data', [])
|
2493
2494
|
return self.parse_transactions(data, currency, since, limit, params)
|
2494
2495
|
|
2495
2496
|
def parse_transaction_status(self, status):
|
@@ -2650,7 +2651,7 @@ class okcoin(Exchange, ImplicitAPI):
|
|
2650
2651
|
response = await self.privateGetTradeFillsHistory(self.extend(request, params))
|
2651
2652
|
else:
|
2652
2653
|
response = await self.privateGetTradeFills(self.extend(request, params))
|
2653
|
-
data = self.
|
2654
|
+
data = self.safe_list(response, 'data', [])
|
2654
2655
|
return self.parse_trades(data, market, since, limit)
|
2655
2656
|
|
2656
2657
|
async def fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|