ccxt 4.2.84__py2.py3-none-any.whl → 4.2.85__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.
Files changed (150) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/ace.py +5 -5
  3. ccxt/ascendex.py +8 -8
  4. ccxt/async_support/__init__.py +1 -1
  5. ccxt/async_support/ace.py +5 -5
  6. ccxt/async_support/ascendex.py +8 -8
  7. ccxt/async_support/base/exchange.py +3 -27
  8. ccxt/async_support/bigone.py +12 -12
  9. ccxt/async_support/binance.py +20 -32
  10. ccxt/async_support/bingx.py +12 -9
  11. ccxt/async_support/bit2c.py +1 -1
  12. ccxt/async_support/bitbank.py +8 -8
  13. ccxt/async_support/bitbns.py +5 -5
  14. ccxt/async_support/bitfinex.py +1 -1
  15. ccxt/async_support/bitfinex2.py +1 -1
  16. ccxt/async_support/bitget.py +29 -24
  17. ccxt/async_support/bithumb.py +5 -5
  18. ccxt/async_support/bitmart.py +16 -16
  19. ccxt/async_support/bitopro.py +1 -1
  20. ccxt/async_support/bitrue.py +4 -4
  21. ccxt/async_support/bitso.py +5 -5
  22. ccxt/async_support/bitstamp.py +1 -1
  23. ccxt/async_support/bitteam.py +8 -8
  24. ccxt/async_support/bl3p.py +1 -1
  25. ccxt/async_support/btcturk.py +6 -6
  26. ccxt/async_support/bybit.py +30 -83
  27. ccxt/async_support/coincheck.py +4 -4
  28. ccxt/async_support/coinex.py +11 -11
  29. ccxt/async_support/coinlist.py +7 -7
  30. ccxt/async_support/coinmate.py +4 -4
  31. ccxt/async_support/coinmetro.py +3 -3
  32. ccxt/async_support/coinone.py +5 -5
  33. ccxt/async_support/coinspot.py +2 -2
  34. ccxt/async_support/cryptocom.py +17 -17
  35. ccxt/async_support/currencycom.py +1 -1
  36. ccxt/async_support/delta.py +0 -8
  37. ccxt/async_support/deribit.py +16 -80
  38. ccxt/async_support/digifinex.py +8 -8
  39. ccxt/async_support/exmo.py +8 -8
  40. ccxt/async_support/gate.py +0 -8
  41. ccxt/async_support/hitbtc.py +5 -4
  42. ccxt/async_support/hollaex.py +7 -7
  43. ccxt/async_support/htx.py +7 -7
  44. ccxt/async_support/huobijp.py +3 -3
  45. ccxt/async_support/idex.py +2 -2
  46. ccxt/async_support/independentreserve.py +2 -2
  47. ccxt/async_support/indodax.py +2 -2
  48. ccxt/async_support/kraken.py +8 -8
  49. ccxt/async_support/krakenfutures.py +6 -6
  50. ccxt/async_support/kucoin.py +4 -1
  51. ccxt/async_support/kucoinfutures.py +8 -8
  52. ccxt/async_support/kuna.py +16 -16
  53. ccxt/async_support/latoken.py +2 -2
  54. ccxt/async_support/lbank.py +10 -10
  55. ccxt/async_support/luno.py +4 -4
  56. ccxt/async_support/mercado.py +5 -5
  57. ccxt/async_support/mexc.py +6 -6
  58. ccxt/async_support/ndax.py +1 -1
  59. ccxt/async_support/novadax.py +9 -9
  60. ccxt/async_support/oceanex.py +7 -7
  61. ccxt/async_support/okcoin.py +13 -13
  62. ccxt/async_support/okx.py +23 -31
  63. ccxt/async_support/onetrading.py +4 -4
  64. ccxt/async_support/p2b.py +7 -7
  65. ccxt/async_support/phemex.py +12 -12
  66. ccxt/async_support/poloniexfutures.py +5 -5
  67. ccxt/async_support/probit.py +11 -11
  68. ccxt/async_support/timex.py +7 -7
  69. ccxt/async_support/tokocrypto.py +9 -9
  70. ccxt/async_support/wavesexchange.py +3 -3
  71. ccxt/async_support/whitebit.py +5 -5
  72. ccxt/async_support/woo.py +1 -1
  73. ccxt/async_support/zaif.py +1 -1
  74. ccxt/async_support/zonda.py +7 -7
  75. ccxt/base/exchange.py +66 -23
  76. ccxt/bigone.py +12 -12
  77. ccxt/binance.py +20 -32
  78. ccxt/bingx.py +12 -9
  79. ccxt/bit2c.py +1 -1
  80. ccxt/bitbank.py +8 -8
  81. ccxt/bitbns.py +5 -5
  82. ccxt/bitfinex.py +1 -1
  83. ccxt/bitfinex2.py +1 -1
  84. ccxt/bitget.py +29 -24
  85. ccxt/bithumb.py +5 -5
  86. ccxt/bitmart.py +16 -16
  87. ccxt/bitopro.py +1 -1
  88. ccxt/bitrue.py +4 -4
  89. ccxt/bitso.py +5 -5
  90. ccxt/bitstamp.py +1 -1
  91. ccxt/bitteam.py +8 -8
  92. ccxt/bl3p.py +1 -1
  93. ccxt/btcturk.py +6 -6
  94. ccxt/bybit.py +30 -83
  95. ccxt/coincheck.py +4 -4
  96. ccxt/coinex.py +11 -11
  97. ccxt/coinlist.py +7 -7
  98. ccxt/coinmate.py +4 -4
  99. ccxt/coinmetro.py +3 -3
  100. ccxt/coinone.py +5 -5
  101. ccxt/coinspot.py +2 -2
  102. ccxt/cryptocom.py +17 -17
  103. ccxt/currencycom.py +1 -1
  104. ccxt/delta.py +0 -8
  105. ccxt/deribit.py +16 -80
  106. ccxt/digifinex.py +8 -8
  107. ccxt/exmo.py +8 -8
  108. ccxt/gate.py +0 -8
  109. ccxt/hitbtc.py +5 -4
  110. ccxt/hollaex.py +7 -7
  111. ccxt/htx.py +7 -7
  112. ccxt/huobijp.py +3 -3
  113. ccxt/idex.py +2 -2
  114. ccxt/independentreserve.py +2 -2
  115. ccxt/indodax.py +2 -2
  116. ccxt/kraken.py +8 -8
  117. ccxt/krakenfutures.py +6 -6
  118. ccxt/kucoin.py +4 -1
  119. ccxt/kucoinfutures.py +8 -8
  120. ccxt/kuna.py +16 -16
  121. ccxt/latoken.py +2 -2
  122. ccxt/lbank.py +10 -10
  123. ccxt/luno.py +4 -4
  124. ccxt/mercado.py +5 -5
  125. ccxt/mexc.py +6 -6
  126. ccxt/ndax.py +1 -1
  127. ccxt/novadax.py +9 -9
  128. ccxt/oceanex.py +7 -7
  129. ccxt/okcoin.py +13 -13
  130. ccxt/okx.py +23 -31
  131. ccxt/onetrading.py +4 -4
  132. ccxt/p2b.py +7 -7
  133. ccxt/phemex.py +12 -12
  134. ccxt/poloniexfutures.py +5 -5
  135. ccxt/pro/__init__.py +1 -1
  136. ccxt/pro/binance.py +150 -112
  137. ccxt/pro/kucoin.py +6 -7
  138. ccxt/pro/okx.py +12 -1
  139. ccxt/probit.py +11 -11
  140. ccxt/timex.py +7 -7
  141. ccxt/tokocrypto.py +9 -9
  142. ccxt/wavesexchange.py +3 -3
  143. ccxt/whitebit.py +5 -5
  144. ccxt/woo.py +1 -1
  145. ccxt/zaif.py +1 -1
  146. ccxt/zonda.py +7 -7
  147. {ccxt-4.2.84.dist-info → ccxt-4.2.85.dist-info}/METADATA +4 -4
  148. {ccxt-4.2.84.dist-info → ccxt-4.2.85.dist-info}/RECORD +150 -150
  149. {ccxt-4.2.84.dist-info → ccxt-4.2.85.dist-info}/WHEEL +0 -0
  150. {ccxt-4.2.84.dist-info → ccxt-4.2.85.dist-info}/top_level.txt +0 -0
ccxt/probit.py CHANGED
@@ -616,7 +616,7 @@ class probit(Exchange, ImplicitAPI):
616
616
  # ]
617
617
  # }
618
618
  #
619
- data = self.safe_value(response, 'data', [])
619
+ data = self.safe_list(response, 'data', [])
620
620
  return self.parse_tickers(data, symbols)
621
621
 
622
622
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
@@ -744,7 +744,7 @@ class probit(Exchange, ImplicitAPI):
744
744
  # ]
745
745
  # }
746
746
  #
747
- data = self.safe_value(response, 'data', [])
747
+ data = self.safe_list(response, 'data', [])
748
748
  return self.parse_trades(data, market, since, limit)
749
749
 
750
750
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
@@ -793,7 +793,7 @@ class probit(Exchange, ImplicitAPI):
793
793
  # ]
794
794
  # }
795
795
  #
796
- data = self.safe_value(response, 'data', [])
796
+ data = self.safe_list(response, 'data', [])
797
797
  return self.parse_trades(data, market, since, limit)
798
798
 
799
799
  def parse_trade(self, trade, market: Market = None) -> Trade:
@@ -963,7 +963,7 @@ class probit(Exchange, ImplicitAPI):
963
963
  # ]
964
964
  # }
965
965
  #
966
- data = self.safe_value(response, 'data', [])
966
+ data = self.safe_list(response, 'data', [])
967
967
  return self.parse_ohlcvs(data, market, timeframe, since, limit)
968
968
 
969
969
  def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
@@ -1007,7 +1007,7 @@ class probit(Exchange, ImplicitAPI):
1007
1007
  market = self.market(symbol)
1008
1008
  request['market_id'] = market['id']
1009
1009
  response = self.privateGetOpenOrder(self.extend(request, params))
1010
- data = self.safe_value(response, 'data')
1010
+ data = self.safe_list(response, 'data')
1011
1011
  return self.parse_orders(data, market, since, limit)
1012
1012
 
1013
1013
  def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
@@ -1035,7 +1035,7 @@ class probit(Exchange, ImplicitAPI):
1035
1035
  if limit:
1036
1036
  request['limit'] = limit
1037
1037
  response = self.privateGetOrderHistory(self.extend(request, params))
1038
- data = self.safe_value(response, 'data')
1038
+ data = self.safe_list(response, 'data')
1039
1039
  return self.parse_orders(data, market, since, limit)
1040
1040
 
1041
1041
  def fetch_order(self, id: str, symbol: Str = None, params={}):
@@ -1061,7 +1061,7 @@ class probit(Exchange, ImplicitAPI):
1061
1061
  query = self.omit(params, ['clientOrderId', 'client_order_id'])
1062
1062
  response = self.privateGetOrder(self.extend(request, query))
1063
1063
  data = self.safe_value(response, 'data', [])
1064
- order = self.safe_value(data, 0)
1064
+ order = self.safe_dict(data, 0)
1065
1065
  return self.parse_order(order, market)
1066
1066
 
1067
1067
  def parse_order_status(self, status):
@@ -1242,7 +1242,7 @@ class probit(Exchange, ImplicitAPI):
1242
1242
  'order_id': id,
1243
1243
  }
1244
1244
  response = self.privatePostCancelOrder(self.extend(request, params))
1245
- data = self.safe_value(response, 'data')
1245
+ data = self.safe_dict(response, 'data')
1246
1246
  return self.parse_order(data)
1247
1247
 
1248
1248
  def parse_deposit_address(self, depositAddress, currency: Currency = None):
@@ -1328,7 +1328,7 @@ class probit(Exchange, ImplicitAPI):
1328
1328
  currencyIds.append(currency['id'])
1329
1329
  request['currency_id'] = ','.join(codes)
1330
1330
  response = self.privateGetDepositAddress(self.extend(request, params))
1331
- data = self.safe_value(response, 'data', [])
1331
+ data = self.safe_list(response, 'data', [])
1332
1332
  return self.parse_deposit_addresses(data, codes)
1333
1333
 
1334
1334
  def withdraw(self, code: str, amount: float, address, tag=None, params={}):
@@ -1371,7 +1371,7 @@ class probit(Exchange, ImplicitAPI):
1371
1371
  request['platform_id'] = network
1372
1372
  params = self.omit(params, 'network')
1373
1373
  response = self.privatePostWithdrawal(self.extend(request, params))
1374
- data = self.safe_value(response, 'data')
1374
+ data = self.safe_dict(response, 'data')
1375
1375
  return self.parse_transaction(data, currency)
1376
1376
 
1377
1377
  def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
@@ -1605,7 +1605,7 @@ class probit(Exchange, ImplicitAPI):
1605
1605
  # ]
1606
1606
  # }
1607
1607
  #
1608
- data = self.safe_value(response, 'data')
1608
+ data = self.safe_list(response, 'data')
1609
1609
  return self.parse_deposit_withdraw_fees(data, codes, 'id')
1610
1610
 
1611
1611
  def parse_deposit_withdraw_fee(self, fee, currency: Currency = None):
ccxt/timex.py CHANGED
@@ -541,7 +541,7 @@ class timex(Exchange, ImplicitAPI):
541
541
  # }
542
542
  # ]
543
543
  #
544
- ticker = self.safe_value(response, 0)
544
+ ticker = self.safe_dict(response, 0)
545
545
  return self.parse_ticker(ticker, market)
546
546
 
547
547
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
@@ -779,7 +779,7 @@ class timex(Exchange, ImplicitAPI):
779
779
  # }
780
780
  #
781
781
  orders = self.safe_value(response, 'orders', [])
782
- order = self.safe_value(orders, 0, {})
782
+ order = self.safe_dict(orders, 0, {})
783
783
  return self.parse_order(order, market)
784
784
 
785
785
  def edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={}):
@@ -827,7 +827,7 @@ class timex(Exchange, ImplicitAPI):
827
827
  })
828
828
  orders = self.safe_value(response, 'changedOrders', [])
829
829
  firstOrder = self.safe_value(orders, 0, {})
830
- order = self.safe_value(firstOrder, 'newOrder', {})
830
+ order = self.safe_dict(firstOrder, 'newOrder', {})
831
831
  return self.parse_order(order, market)
832
832
 
833
833
  def cancel_order(self, id: str, symbol: Str = None, params={}):
@@ -929,7 +929,7 @@ class timex(Exchange, ImplicitAPI):
929
929
  # }
930
930
  #
931
931
  order = self.safe_value(response, 'order', {})
932
- trades = self.safe_value(response, 'trades', [])
932
+ trades = self.safe_list(response, 'trades', [])
933
933
  return self.parse_order(self.extend(order, {'trades': trades}))
934
934
 
935
935
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
@@ -980,7 +980,7 @@ class timex(Exchange, ImplicitAPI):
980
980
  # ]
981
981
  # }
982
982
  #
983
- orders = self.safe_value(response, 'orders', [])
983
+ orders = self.safe_list(response, 'orders', [])
984
984
  return self.parse_orders(orders, market, since, limit)
985
985
 
986
986
  def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
@@ -1035,7 +1035,7 @@ class timex(Exchange, ImplicitAPI):
1035
1035
  # ]
1036
1036
  # }
1037
1037
  #
1038
- orders = self.safe_value(response, 'orders', [])
1038
+ orders = self.safe_list(response, 'orders', [])
1039
1039
  return self.parse_orders(orders, market, since, limit)
1040
1040
 
1041
1041
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -1093,7 +1093,7 @@ class timex(Exchange, ImplicitAPI):
1093
1093
  # ]
1094
1094
  # }
1095
1095
  #
1096
- trades = self.safe_value(response, 'trades', [])
1096
+ trades = self.safe_list(response, 'trades', [])
1097
1097
  return self.parse_trades(trades, market, since, limit)
1098
1098
 
1099
1099
  def parse_trading_fee(self, fee, market: Market = None):
ccxt/tokocrypto.py CHANGED
@@ -1203,7 +1203,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1203
1203
  }
1204
1204
  response = self.binanceGetTicker24hr(self.extend(request, params))
1205
1205
  if isinstance(response, list):
1206
- firstTicker = self.safe_value(response, 0, {})
1206
+ firstTicker = self.safe_dict(response, 0, {})
1207
1207
  return self.parse_ticker(firstTicker, market)
1208
1208
  return self.parse_ticker(response, market)
1209
1209
 
@@ -1311,7 +1311,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1311
1311
  # [1591478640000,"0.02500800","0.02501100","0.02500300","0.02500800","154.14200000",1591478699999,"3.85405839",97,"5.32300000","0.13312641","0"],
1312
1312
  # ]
1313
1313
  #
1314
- data = self.safe_value(response, 'data', response)
1314
+ data = self.safe_list(response, 'data', response)
1315
1315
  return self.parse_ohlcvs(data, market, timeframe, since, limit)
1316
1316
 
1317
1317
  def fetch_balance(self, params={}) -> Balances:
@@ -1712,7 +1712,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1712
1712
  # "timestamp": 1662710994975
1713
1713
  # }
1714
1714
  #
1715
- rawOrder = self.safe_value(response, 'data', {})
1715
+ rawOrder = self.safe_dict(response, 'data', {})
1716
1716
  return self.parse_order(rawOrder, market)
1717
1717
 
1718
1718
  def fetch_order(self, id: str, symbol: Str = None, params={}):
@@ -1759,7 +1759,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1759
1759
  #
1760
1760
  data = self.safe_value(response, 'data', {})
1761
1761
  list = self.safe_value(data, 'list', [])
1762
- rawOrder = self.safe_value(list, 0, {})
1762
+ rawOrder = self.safe_dict(list, 0, {})
1763
1763
  return self.parse_order(rawOrder)
1764
1764
 
1765
1765
  def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
@@ -1825,7 +1825,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1825
1825
  # }
1826
1826
  #
1827
1827
  data = self.safe_value(response, 'data', {})
1828
- orders = self.safe_value(data, 'list', [])
1828
+ orders = self.safe_list(data, 'list', [])
1829
1829
  return self.parse_orders(orders, market, since, limit)
1830
1830
 
1831
1831
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
@@ -1894,7 +1894,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1894
1894
  # "timestamp": 1662710683634
1895
1895
  # }
1896
1896
  #
1897
- rawOrder = self.safe_value(response, 'data', {})
1897
+ rawOrder = self.safe_dict(response, 'data', {})
1898
1898
  return self.parse_order(rawOrder)
1899
1899
 
1900
1900
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -1949,7 +1949,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1949
1949
  # }
1950
1950
  #
1951
1951
  data = self.safe_value(response, 'data', {})
1952
- trades = self.safe_value(data, 'list', [])
1952
+ trades = self.safe_list(data, 'list', [])
1953
1953
  return self.parse_trades(trades, market, since, limit)
1954
1954
 
1955
1955
  def fetch_deposit_address(self, code: str, params={}):
@@ -2056,7 +2056,7 @@ class tokocrypto(Exchange, ImplicitAPI):
2056
2056
  # }
2057
2057
  #
2058
2058
  data = self.safe_value(response, 'data', {})
2059
- deposits = self.safe_value(data, 'list', [])
2059
+ deposits = self.safe_list(data, 'list', [])
2060
2060
  return self.parse_transactions(deposits, currency, since, limit)
2061
2061
 
2062
2062
  def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
@@ -2108,7 +2108,7 @@ class tokocrypto(Exchange, ImplicitAPI):
2108
2108
  # }
2109
2109
  #
2110
2110
  data = self.safe_value(response, 'data', {})
2111
- withdrawals = self.safe_value(data, 'list', [])
2111
+ withdrawals = self.safe_list(data, 'list', [])
2112
2112
  return self.parse_transactions(withdrawals, currency, since, limit)
2113
2113
 
2114
2114
  def parse_transaction_status_by_type(self, status, type=None):
ccxt/wavesexchange.py CHANGED
@@ -860,7 +860,7 @@ class wavesexchange(Exchange, ImplicitAPI):
860
860
  #
861
861
  data = self.safe_value(response, 'data', [])
862
862
  ticker = self.safe_value(data, 0, {})
863
- dataTicker = self.safe_value(ticker, 'data', {})
863
+ dataTicker = self.safe_dict(ticker, 'data', {})
864
864
  return self.parse_ticker(dataTicker, market)
865
865
 
866
866
  def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
@@ -1385,11 +1385,11 @@ class wavesexchange(Exchange, ImplicitAPI):
1385
1385
  #
1386
1386
  if isMarketOrder:
1387
1387
  response = self.matcherPostMatcherOrderbookMarket(body)
1388
- value = self.safe_value(response, 'message')
1388
+ value = self.safe_dict(response, 'message')
1389
1389
  return self.parse_order(value, market)
1390
1390
  else:
1391
1391
  response = self.matcherPostMatcherOrderbook(body)
1392
- value = self.safe_value(response, 'message')
1392
+ value = self.safe_dict(response, 'message')
1393
1393
  return self.parse_order(value, market)
1394
1394
 
1395
1395
  def cancel_order(self, id: str, symbol: Str = None, params={}):
ccxt/whitebit.py CHANGED
@@ -728,7 +728,7 @@ class whitebit(Exchange, ImplicitAPI):
728
728
  # },
729
729
  # }
730
730
  #
731
- ticker = self.safe_value(response, 'result', {})
731
+ ticker = self.safe_dict(response, 'result', {})
732
732
  return self.parse_ticker(ticker, market)
733
733
 
734
734
  def parse_ticker(self, ticker, market: Market = None) -> Ticker:
@@ -1069,7 +1069,7 @@ class whitebit(Exchange, ImplicitAPI):
1069
1069
  # ]
1070
1070
  # }
1071
1071
  #
1072
- result = self.safe_value(response, 'result', [])
1072
+ result = self.safe_list(response, 'result', [])
1073
1073
  return self.parse_ohlcvs(result, market, timeframe, since, limit)
1074
1074
 
1075
1075
  def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
@@ -1523,7 +1523,7 @@ class whitebit(Exchange, ImplicitAPI):
1523
1523
  # "limit": 100
1524
1524
  # }
1525
1525
  #
1526
- data = self.safe_value(response, 'records', [])
1526
+ data = self.safe_list(response, 'records', [])
1527
1527
  return self.parse_trades(data, market)
1528
1528
 
1529
1529
  def fetch_deposit_address(self, code: str, params={}):
@@ -1842,7 +1842,7 @@ class whitebit(Exchange, ImplicitAPI):
1842
1842
  # }
1843
1843
  #
1844
1844
  records = self.safe_value(response, 'records', [])
1845
- first = self.safe_value(records, 0, {})
1845
+ first = self.safe_dict(records, 0, {})
1846
1846
  return self.parse_transaction(first, currency)
1847
1847
 
1848
1848
  def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
@@ -1905,7 +1905,7 @@ class whitebit(Exchange, ImplicitAPI):
1905
1905
  # "total": 300 # total number of transactions, use self for calculating ‘limit’ and ‘offset'
1906
1906
  # }
1907
1907
  #
1908
- records = self.safe_value(response, 'records', [])
1908
+ records = self.safe_list(response, 'records', [])
1909
1909
  return self.parse_transactions(records, currency, since, limit)
1910
1910
 
1911
1911
  def fetch_borrow_interest(self, code: Str = None, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
ccxt/woo.py CHANGED
@@ -1258,7 +1258,7 @@ class woo(Exchange, ImplicitAPI):
1258
1258
  # ]
1259
1259
  # }
1260
1260
  #
1261
- orders = self.safe_value(response, 'data', response)
1261
+ orders = self.safe_dict(response, 'data', response)
1262
1262
  return self.parse_order(orders, market)
1263
1263
 
1264
1264
  def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
ccxt/zaif.py CHANGED
@@ -600,7 +600,7 @@ class zaif(Exchange, ImplicitAPI):
600
600
  # }
601
601
  # }
602
602
  #
603
- returnData = self.safe_value(result, 'return')
603
+ returnData = self.safe_dict(result, 'return')
604
604
  return self.parse_transaction(returnData, currency)
605
605
 
606
606
  def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
ccxt/zonda.py CHANGED
@@ -421,7 +421,7 @@ class zonda(Exchange, ImplicitAPI):
421
421
  self.load_markets()
422
422
  request = {}
423
423
  response = self.v1_01PrivateGetTradingOffer(self.extend(request, params))
424
- items = self.safe_value(response, 'items', [])
424
+ items = self.safe_list(response, 'items', [])
425
425
  return self.parse_orders(items, None, since, limit, {'status': 'open'})
426
426
 
427
427
  def parse_order(self, order, market: Market = None) -> Order:
@@ -788,7 +788,7 @@ class zonda(Exchange, ImplicitAPI):
788
788
  #
789
789
  else:
790
790
  raise BadRequest(self.id + ' fetchTickers params["method"] must be "v1_01PublicGetTradingTicker" or "v1_01PublicGetTradingStats"')
791
- items = self.safe_value(response, 'items')
791
+ items = self.safe_dict(response, 'items')
792
792
  return self.parse_tickers(items, symbols)
793
793
 
794
794
  def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -1200,7 +1200,7 @@ class zonda(Exchange, ImplicitAPI):
1200
1200
  # ]
1201
1201
  # }
1202
1202
  #
1203
- items = self.safe_value(response, 'items', [])
1203
+ items = self.safe_list(response, 'items', [])
1204
1204
  return self.parse_ohlcvs(items, market, timeframe, since, limit)
1205
1205
 
1206
1206
  def parse_trade(self, trade, market: Market = None) -> Trade:
@@ -1298,7 +1298,7 @@ class zonda(Exchange, ImplicitAPI):
1298
1298
  if limit is not None:
1299
1299
  request['limit'] = limit # default - 10, max - 300
1300
1300
  response = self.v1_01PublicGetTradingTransactionsSymbol(self.extend(request, params))
1301
- items = self.safe_value(response, 'items')
1301
+ items = self.safe_list(response, 'items')
1302
1302
  return self.parse_trades(items, market, since, limit)
1303
1303
 
1304
1304
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
@@ -1509,7 +1509,7 @@ class zonda(Exchange, ImplicitAPI):
1509
1509
  # }
1510
1510
  #
1511
1511
  data = self.safe_value(response, 'data')
1512
- first = self.safe_value(data, 0)
1512
+ first = self.safe_dict(data, 0)
1513
1513
  return self.parse_deposit_address(first, currency)
1514
1514
 
1515
1515
  def fetch_deposit_addresses(self, codes: List[str] = None, params={}):
@@ -1535,7 +1535,7 @@ class zonda(Exchange, ImplicitAPI):
1535
1535
  # ]
1536
1536
  # }
1537
1537
  #
1538
- data = self.safe_value(response, 'data')
1538
+ data = self.safe_list(response, 'data')
1539
1539
  return self.parse_deposit_addresses(data, codes)
1540
1540
 
1541
1541
  def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
@@ -1684,7 +1684,7 @@ class zonda(Exchange, ImplicitAPI):
1684
1684
  # }
1685
1685
  # }
1686
1686
  #
1687
- data = self.safe_value(response, 'data')
1687
+ data = self.safe_dict(response, 'data')
1688
1688
  return self.parse_transaction(data, currency)
1689
1689
 
1690
1690
  def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.84
3
+ Version: 4.2.85
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -262,13 +262,13 @@ console.log(version, Object.keys(exchanges));
262
262
 
263
263
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
264
264
 
265
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.84/dist/ccxt.browser.js
266
- * unpkg: https://unpkg.com/ccxt@4.2.84/dist/ccxt.browser.js
265
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.85/dist/ccxt.browser.js
266
+ * unpkg: https://unpkg.com/ccxt@4.2.85/dist/ccxt.browser.js
267
267
 
268
268
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
269
269
 
270
270
  ```HTML
271
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.84/dist/ccxt.browser.js"></script>
271
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.85/dist/ccxt.browser.js"></script>
272
272
  ```
273
273
 
274
274
  Creates a global `ccxt` object: