ccxt 4.2.74__py2.py3-none-any.whl → 4.2.75__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 (53) hide show
  1. ccxt/__init__.py +3 -1
  2. ccxt/abstract/tradeogre.py +16 -0
  3. ccxt/ascendex.py +5 -4
  4. ccxt/async_support/__init__.py +3 -1
  5. ccxt/async_support/ascendex.py +5 -4
  6. ccxt/async_support/base/exchange.py +1 -1
  7. ccxt/async_support/bitmart.py +2 -0
  8. ccxt/async_support/coinbase.py +4 -4
  9. ccxt/async_support/coinbasepro.py +2 -2
  10. ccxt/async_support/coinex.py +4 -3
  11. ccxt/async_support/coinlist.py +2 -2
  12. ccxt/async_support/cryptocom.py +2 -2
  13. ccxt/async_support/currencycom.py +2 -2
  14. ccxt/async_support/deribit.py +2 -2
  15. ccxt/async_support/gate.py +1 -0
  16. ccxt/async_support/htx.py +2 -2
  17. ccxt/async_support/huobijp.py +2 -2
  18. ccxt/async_support/kraken.py +3 -3
  19. ccxt/async_support/kucoin.py +3 -3
  20. ccxt/async_support/luno.py +2 -2
  21. ccxt/async_support/mexc.py +2 -2
  22. ccxt/async_support/ndax.py +2 -2
  23. ccxt/async_support/novadax.py +2 -2
  24. ccxt/async_support/okx.py +2 -2
  25. ccxt/async_support/tradeogre.py +598 -0
  26. ccxt/async_support/woo.py +2 -2
  27. ccxt/base/exchange.py +3 -3
  28. ccxt/base/types.py +8 -1
  29. ccxt/bitmart.py +2 -0
  30. ccxt/coinbase.py +4 -4
  31. ccxt/coinbasepro.py +2 -2
  32. ccxt/coinex.py +4 -3
  33. ccxt/coinlist.py +2 -2
  34. ccxt/cryptocom.py +2 -2
  35. ccxt/currencycom.py +2 -2
  36. ccxt/deribit.py +2 -2
  37. ccxt/gate.py +1 -0
  38. ccxt/htx.py +2 -2
  39. ccxt/huobijp.py +2 -2
  40. ccxt/kraken.py +3 -3
  41. ccxt/kucoin.py +3 -3
  42. ccxt/luno.py +2 -2
  43. ccxt/mexc.py +2 -2
  44. ccxt/ndax.py +2 -2
  45. ccxt/novadax.py +2 -2
  46. ccxt/okx.py +2 -2
  47. ccxt/pro/__init__.py +1 -1
  48. ccxt/tradeogre.py +598 -0
  49. ccxt/woo.py +2 -2
  50. {ccxt-4.2.74.dist-info → ccxt-4.2.75.dist-info}/METADATA +9 -8
  51. {ccxt-4.2.74.dist-info → ccxt-4.2.75.dist-info}/RECORD +53 -50
  52. {ccxt-4.2.74.dist-info → ccxt-4.2.75.dist-info}/WHEEL +0 -0
  53. {ccxt-4.2.74.dist-info → ccxt-4.2.75.dist-info}/top_level.txt +0 -0
ccxt/coinbase.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinbase import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
@@ -400,7 +400,7 @@ class coinbase(Exchange, ImplicitAPI):
400
400
  #
401
401
  return self.safe_timestamp_2(response, 'epoch', 'epochSeconds')
402
402
 
403
- def fetch_accounts(self, params={}):
403
+ def fetch_accounts(self, params={}) -> List[Account]:
404
404
  """
405
405
  fetch all the accounts associated with a profile
406
406
  :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getaccounts
@@ -414,7 +414,7 @@ class coinbase(Exchange, ImplicitAPI):
414
414
  return self.fetch_accounts_v3(params)
415
415
  return self.fetch_accounts_v2(params)
416
416
 
417
- def fetch_accounts_v2(self, params={}):
417
+ def fetch_accounts_v2(self, params={}) -> List[Account]:
418
418
  self.load_markets()
419
419
  paginate = False
420
420
  paginate, params = self.handle_option_and_params(params, 'fetchAccounts', 'paginate')
@@ -480,7 +480,7 @@ class coinbase(Exchange, ImplicitAPI):
480
480
  accounts[lastIndex] = last
481
481
  return self.parse_accounts(data, params)
482
482
 
483
- def fetch_accounts_v3(self, params={}):
483
+ def fetch_accounts_v3(self, params={}) -> List[Account]:
484
484
  self.load_markets()
485
485
  paginate = False
486
486
  paginate, params = self.handle_option_and_params(params, 'fetchAccounts', 'paginate')
ccxt/coinbasepro.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinbasepro import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -425,7 +425,7 @@ class coinbasepro(Exchange, ImplicitAPI):
425
425
  }))
426
426
  return result
427
427
 
428
- def fetch_accounts(self, params={}):
428
+ def fetch_accounts(self, params={}) -> List[Account]:
429
429
  """
430
430
  fetch all the accounts associated with a profile
431
431
  :see: https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccounts
ccxt/coinex.py CHANGED
@@ -146,7 +146,7 @@ class coinex(Exchange, ImplicitAPI):
146
146
  'perpetualPrivate': 'https://api.coinex.com/perpetual',
147
147
  },
148
148
  'www': 'https://www.coinex.com',
149
- 'doc': 'https://github.com/coinexcom/coinex_exchange_api/wiki',
149
+ 'doc': 'https://viabtc.github.io/coinex_api_en_doc',
150
150
  'fees': 'https://www.coinex.com/fees',
151
151
  'referral': 'https://www.coinex.com/register?refer_code=yw5fz',
152
152
  },
@@ -360,6 +360,7 @@ class coinex(Exchange, ImplicitAPI):
360
360
  },
361
361
  'broad': {
362
362
  'ip not allow visit': PermissionDenied,
363
+ 'service too busy': ExchangeNotAvailable,
363
364
  },
364
365
  },
365
366
  })
@@ -4813,7 +4814,7 @@ class coinex(Exchange, ImplicitAPI):
4813
4814
  def borrow_isolated_margin(self, symbol: str, code: str, amount: float, params={}):
4814
4815
  """
4815
4816
  create a loan to borrow margin
4816
- :see: https://github.com/coinexcom/coinex_exchange_api/wiki/086margin_loan
4817
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account017_margin_loan
4817
4818
  :param str symbol: unified market symbol, required for coinex
4818
4819
  :param str code: unified currency code of the currency to borrow
4819
4820
  :param float amount: the amount to borrow
@@ -4848,7 +4849,7 @@ class coinex(Exchange, ImplicitAPI):
4848
4849
  def repay_isolated_margin(self, symbol: str, code: str, amount, params={}):
4849
4850
  """
4850
4851
  repay borrowed margin and interest
4851
- :see: https://github.com/coinexcom/coinex_exchange_api/wiki/087margin_flat
4852
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account018_margin_flat
4852
4853
  :param str symbol: unified market symbol, required for coinex
4853
4854
  :param str code: unified currency code of the currency to repay
4854
4855
  :param float amount: the amount to repay
ccxt/coinlist.py CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinlist import ImplicitAPI
8
8
  import hashlib
9
9
  import math
10
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import PermissionDenied
@@ -1031,7 +1031,7 @@ class coinlist(Exchange, ImplicitAPI):
1031
1031
  'taker': takerFees,
1032
1032
  }
1033
1033
 
1034
- def fetch_accounts(self, params={}):
1034
+ def fetch_accounts(self, params={}) -> List[Account]:
1035
1035
  """
1036
1036
  fetch all the accounts associated with a profile
1037
1037
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-accounts
ccxt/cryptocom.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.cryptocom import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -2298,7 +2298,7 @@ class cryptocom(Exchange, ImplicitAPI):
2298
2298
  }
2299
2299
  return self.safe_string(ledgerType, type, type)
2300
2300
 
2301
- def fetch_accounts(self, params={}):
2301
+ def fetch_accounts(self, params={}) -> List[Account]:
2302
2302
  """
2303
2303
  fetch all the accounts associated with a profile
2304
2304
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-accounts
ccxt/currencycom.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.currencycom import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Leverage, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
@@ -574,7 +574,7 @@ class currencycom(Exchange, ImplicitAPI):
574
574
  })
575
575
  return result
576
576
 
577
- def fetch_accounts(self, params={}):
577
+ def fetch_accounts(self, params={}) -> List[Account]:
578
578
  """
579
579
  fetch all the accounts associated with a profile
580
580
  :see: https://apitradedoc.currency.com/swagger-ui.html#/rest-api/accountUsingGET
ccxt/deribit.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.deribit import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Greeks, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Greeks, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -682,7 +682,7 @@ class deribit(Exchange, ImplicitAPI):
682
682
  'info': response,
683
683
  }
684
684
 
685
- def fetch_accounts(self, params={}):
685
+ def fetch_accounts(self, params={}) -> List[Account]:
686
686
  """
687
687
  fetch all the accounts associated with a profile
688
688
  :see: https://docs.deribit.com/#private-get_subaccounts
ccxt/gate.py CHANGED
@@ -4010,6 +4010,7 @@ class gate(Exchange, ImplicitAPI):
4010
4010
  'failed': 'canceled',
4011
4011
  'expired': 'canceled',
4012
4012
  'finished': 'closed',
4013
+ 'finish': 'closed',
4013
4014
  'succeeded': 'closed',
4014
4015
  }
4015
4016
  return self.safe_string(statuses, status, status)
ccxt/htx.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.htx import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -2938,7 +2938,7 @@ class htx(Exchange, ImplicitAPI):
2938
2938
  data = self.safe_value(response, 'data', [])
2939
2939
  return self.parse_ohlcvs(data, market, timeframe, since, limit)
2940
2940
 
2941
- def fetch_accounts(self, params={}):
2941
+ def fetch_accounts(self, params={}) -> List[Account]:
2942
2942
  """
2943
2943
  fetch all the accounts associated with a profile
2944
2944
  :param dict [params]: extra parameters specific to the exchange API endpoint
ccxt/huobijp.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.huobijp import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -944,7 +944,7 @@ class huobijp(Exchange, ImplicitAPI):
944
944
  data = self.safe_value(response, 'data', [])
945
945
  return self.parse_ohlcvs(data, market, timeframe, since, limit)
946
946
 
947
- def fetch_accounts(self, params={}):
947
+ def fetch_accounts(self, params={}) -> List[Account]:
948
948
  """
949
949
  fetch all the accounts associated with a profile
950
950
  :param dict [params]: extra parameters specific to the exchange API endpoint
ccxt/kraken.py CHANGED
@@ -2586,7 +2586,7 @@ class kraken(Exchange, ImplicitAPI):
2586
2586
  # todo unify parsePosition/parsePositions
2587
2587
  return result
2588
2588
 
2589
- def parse_account(self, account):
2589
+ def parse_account_type(self, account):
2590
2590
  accountByType = {
2591
2591
  'spot': 'Spot Wallet',
2592
2592
  'swap': 'Futures Wallet',
@@ -2618,8 +2618,8 @@ class kraken(Exchange, ImplicitAPI):
2618
2618
  """
2619
2619
  self.load_markets()
2620
2620
  currency = self.currency(code)
2621
- fromAccount = self.parse_account(fromAccount)
2622
- toAccount = self.parse_account(toAccount)
2621
+ fromAccount = self.parse_account_type(fromAccount)
2622
+ toAccount = self.parse_account_type(toAccount)
2623
2623
  request = {
2624
2624
  'amount': self.currency_to_precision(code, amount),
2625
2625
  'from': fromAccount,
ccxt/kucoin.py CHANGED
@@ -8,7 +8,7 @@ from ccxt.abstract.kucoin import ImplicitAPI
8
8
  import hashlib
9
9
  import math
10
10
  import json
11
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
11
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import PermissionDenied
@@ -479,7 +479,7 @@ class kucoin(Exchange, ImplicitAPI):
479
479
  '400006': AuthenticationError,
480
480
  '400007': AuthenticationError,
481
481
  '400008': NotSupported,
482
- '400100': BadRequest,
482
+ '400100': InsufficientFunds, # {"msg":"account.available.amount","code":"400100"}
483
483
  '400200': InvalidOrder, # {"code":"400200","msg":"Forbidden to place an order"}
484
484
  '400350': InvalidOrder, # {"code":"400350","msg":"Upper limit for holding: 10,000USDT, you can still buy 10,000USDT worth of coin."}
485
485
  '400370': InvalidOrder, # {"code":"400370","msg":"Max. price: 0.02500000000000000000"}
@@ -1226,7 +1226,7 @@ class kucoin(Exchange, ImplicitAPI):
1226
1226
  }
1227
1227
  return result
1228
1228
 
1229
- def fetch_accounts(self, params={}):
1229
+ def fetch_accounts(self, params={}) -> List[Account]:
1230
1230
  """
1231
1231
  fetch all the accounts associated with a profile
1232
1232
  :see: https://docs.kucoin.com/#list-accounts
ccxt/luno.py CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.luno import ImplicitAPI
8
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
8
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
9
9
  from typing import List
10
10
  from ccxt.base.errors import ExchangeError
11
11
  from ccxt.base.errors import ArgumentsRequired
@@ -268,7 +268,7 @@ class luno(Exchange, ImplicitAPI):
268
268
  })
269
269
  return result
270
270
 
271
- def fetch_accounts(self, params={}):
271
+ def fetch_accounts(self, params={}) -> List[Account]:
272
272
  """
273
273
  fetch all the accounts associated with a profile
274
274
  :see: https://www.luno.com/en/developers/api#tag/Accounts/operation/getBalances
ccxt/mexc.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.mexc import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, IndexType, Int, Leverage, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, IndexType, Int, Leverage, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -3319,7 +3319,7 @@ class mexc(Exchange, ImplicitAPI):
3319
3319
  return self.safe_value(response, 'data')
3320
3320
  return None
3321
3321
 
3322
- def fetch_accounts(self, params={}):
3322
+ def fetch_accounts(self, params={}) -> List[Account]:
3323
3323
  """
3324
3324
  fetch all the accounts associated with a profile
3325
3325
  :param dict [params]: extra parameters specific to the exchange API endpoint
ccxt/ndax.py CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.ndax import ImplicitAPI
8
8
  import hashlib
9
9
  import json
10
- from ccxt.base.types import Balances, Currency, IndexType, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
10
+ from ccxt.base.types import Account, Balances, Currency, IndexType, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import BadSymbol
@@ -962,7 +962,7 @@ class ndax(Exchange, ImplicitAPI):
962
962
  #
963
963
  return self.parse_trades(response, market, since, limit)
964
964
 
965
- def fetch_accounts(self, params={}):
965
+ def fetch_accounts(self, params={}) -> List[Account]:
966
966
  """
967
967
  fetch all the accounts associated with a profile
968
968
  :see: https://apidoc.ndax.io/#getuseraccounts
ccxt/novadax.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.novadax import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -1185,7 +1185,7 @@ class novadax(Exchange, ImplicitAPI):
1185
1185
  #
1186
1186
  return self.parse_transaction(response, currency)
1187
1187
 
1188
- def fetch_accounts(self, params={}):
1188
+ def fetch_accounts(self, params={}) -> List[Account]:
1189
1189
  """
1190
1190
  fetch all the accounts associated with a profile
1191
1191
  :see: https://doc.novadax.com/en-US/#get-sub-account-list
ccxt/okx.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.okx import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Greeks, Int, Leverage, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -1275,7 +1275,7 @@ class okx(Exchange, ImplicitAPI):
1275
1275
  first = self.safe_value(data, 0, {})
1276
1276
  return self.safe_integer(first, 'ts')
1277
1277
 
1278
- def fetch_accounts(self, params={}):
1278
+ def fetch_accounts(self, params={}) -> List[Account]:
1279
1279
  """
1280
1280
  fetch all the accounts associated with a profile
1281
1281
  :see: https://www.okx.com/docs-v5/en/#trading-account-rest-api-get-account-configuration
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.74'
7
+ __version__ = '4.2.75'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10