ccxt 4.3.87__py2.py3-none-any.whl → 4.3.89__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 (107) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/kucoin.py +1 -0
  3. ccxt/abstract/kucoinfutures.py +1 -0
  4. ccxt/ace.py +1 -0
  5. ccxt/alpaca.py +1 -0
  6. ccxt/ascendex.py +7 -19
  7. ccxt/async_support/__init__.py +1 -1
  8. ccxt/async_support/ace.py +1 -0
  9. ccxt/async_support/alpaca.py +1 -0
  10. ccxt/async_support/ascendex.py +7 -19
  11. ccxt/async_support/base/exchange.py +3 -3
  12. ccxt/async_support/bigone.py +1 -0
  13. ccxt/async_support/bingx.py +1 -0
  14. ccxt/async_support/bit2c.py +1 -0
  15. ccxt/async_support/bitbank.py +1 -0
  16. ccxt/async_support/bitfinex.py +1 -0
  17. ccxt/async_support/bitflyer.py +1 -0
  18. ccxt/async_support/bitget.py +1 -0
  19. ccxt/async_support/bitmex.py +1 -0
  20. ccxt/async_support/bitopro.py +1 -0
  21. ccxt/async_support/bitrue.py +62 -71
  22. ccxt/async_support/bitso.py +1 -0
  23. ccxt/async_support/bitstamp.py +1 -0
  24. ccxt/async_support/bitvavo.py +1 -0
  25. ccxt/async_support/blockchaincom.py +1 -0
  26. ccxt/async_support/btcalpha.py +1 -0
  27. ccxt/async_support/btcbox.py +1 -0
  28. ccxt/async_support/btcmarkets.py +1 -0
  29. ccxt/async_support/bybit.py +2 -0
  30. ccxt/async_support/cex.py +1 -0
  31. ccxt/async_support/coinbaseexchange.py +1 -0
  32. ccxt/async_support/coinex.py +1 -1
  33. ccxt/async_support/cryptocom.py +0 -12
  34. ccxt/async_support/kraken.py +48 -48
  35. ccxt/async_support/kucoin.py +2 -0
  36. ccxt/async_support/mexc.py +1 -61
  37. ccxt/async_support/okcoin.py +4 -9
  38. ccxt/async_support/onetrading.py +1 -0
  39. ccxt/async_support/phemex.py +1 -0
  40. ccxt/async_support/poloniexfutures.py +1 -0
  41. ccxt/async_support/probit.py +1 -0
  42. ccxt/async_support/vertex.py +1 -0
  43. ccxt/async_support/woo.py +1 -0
  44. ccxt/async_support/woofipro.py +1 -0
  45. ccxt/base/exchange.py +8 -6
  46. ccxt/bigone.py +1 -0
  47. ccxt/bingx.py +1 -0
  48. ccxt/bit2c.py +1 -0
  49. ccxt/bitbank.py +1 -0
  50. ccxt/bitfinex.py +1 -0
  51. ccxt/bitflyer.py +1 -0
  52. ccxt/bitget.py +1 -0
  53. ccxt/bitmex.py +1 -0
  54. ccxt/bitopro.py +1 -0
  55. ccxt/bitrue.py +62 -71
  56. ccxt/bitso.py +1 -0
  57. ccxt/bitstamp.py +1 -0
  58. ccxt/bitvavo.py +1 -0
  59. ccxt/blockchaincom.py +1 -0
  60. ccxt/btcalpha.py +1 -0
  61. ccxt/btcbox.py +1 -0
  62. ccxt/btcmarkets.py +1 -0
  63. ccxt/bybit.py +2 -0
  64. ccxt/cex.py +1 -0
  65. ccxt/coinbaseexchange.py +1 -0
  66. ccxt/coinex.py +1 -1
  67. ccxt/cryptocom.py +0 -12
  68. ccxt/kraken.py +48 -48
  69. ccxt/kucoin.py +2 -0
  70. ccxt/mexc.py +1 -61
  71. ccxt/okcoin.py +4 -9
  72. ccxt/onetrading.py +1 -0
  73. ccxt/phemex.py +1 -0
  74. ccxt/poloniexfutures.py +1 -0
  75. ccxt/pro/__init__.py +1 -1
  76. ccxt/pro/bitfinex.py +1 -0
  77. ccxt/pro/bitfinex2.py +1 -0
  78. ccxt/pro/bitopro.py +1 -0
  79. ccxt/pro/bitstamp.py +1 -0
  80. ccxt/pro/bitvavo.py +1 -0
  81. ccxt/pro/blockchaincom.py +1 -0
  82. ccxt/pro/bybit.py +252 -1
  83. ccxt/pro/cex.py +2 -0
  84. ccxt/pro/coincheck.py +1 -0
  85. ccxt/pro/coinone.py +1 -0
  86. ccxt/pro/hashkey.py +1 -0
  87. ccxt/pro/hitbtc.py +1 -0
  88. ccxt/pro/hollaex.py +1 -0
  89. ccxt/pro/htx.py +1 -0
  90. ccxt/pro/huobijp.py +1 -0
  91. ccxt/pro/hyperliquid.py +7 -0
  92. ccxt/pro/independentreserve.py +1 -0
  93. ccxt/pro/lbank.py +1 -0
  94. ccxt/pro/luno.py +1 -0
  95. ccxt/pro/ndax.py +5 -0
  96. ccxt/pro/okcoin.py +7 -0
  97. ccxt/pro/onetrading.py +1 -0
  98. ccxt/pro/paradex.py +1 -0
  99. ccxt/probit.py +1 -0
  100. ccxt/vertex.py +1 -0
  101. ccxt/woo.py +1 -0
  102. ccxt/woofipro.py +1 -0
  103. {ccxt-4.3.87.dist-info → ccxt-4.3.89.dist-info}/METADATA +4 -4
  104. {ccxt-4.3.87.dist-info → ccxt-4.3.89.dist-info}/RECORD +107 -107
  105. {ccxt-4.3.87.dist-info → ccxt-4.3.89.dist-info}/LICENSE.txt +0 -0
  106. {ccxt-4.3.87.dist-info → ccxt-4.3.89.dist-info}/WHEEL +0 -0
  107. {ccxt-4.3.87.dist-info → ccxt-4.3.89.dist-info}/top_level.txt +0 -0
@@ -258,100 +258,100 @@ class kraken(Exchange, ImplicitAPI):
258
258
  'TRX': 'TRC20',
259
259
  },
260
260
  'depositMethods': {
261
- '1INCH': '1inch(1INCH)',
261
+ '1INCH': '1inch' + ' ' + '(1INCH)',
262
262
  'AAVE': 'Aave',
263
263
  'ADA': 'ADA',
264
264
  'ALGO': 'Algorand',
265
- 'ANKR': 'ANKR(ANKR)',
266
- 'ANT': 'Aragon(ANT)',
265
+ 'ANKR': 'ANKR' + ' ' + '(ANKR)',
266
+ 'ANT': 'Aragon' + ' ' + '(ANT)',
267
267
  'ATOM': 'Cosmos',
268
- 'AXS': 'Axie Infinity Shards(AXS)',
269
- 'BADGER': 'Bager DAO(BADGER)',
270
- 'BAL': 'Balancer(BAL)',
271
- 'BAND': 'Band Protocol(BAND)',
268
+ 'AXS': 'Axie Infinity Shards' + ' ' + '(AXS)',
269
+ 'BADGER': 'Bager DAO' + ' ' + '(BADGER)',
270
+ 'BAL': 'Balancer' + ' ' + '(BAL)',
271
+ 'BAND': 'Band Protocol' + ' ' + '(BAND)',
272
272
  'BAT': 'BAT',
273
273
  'BCH': 'Bitcoin Cash',
274
- 'BNC': 'Bifrost(BNC)',
275
- 'BNT': 'Bancor(BNT)',
274
+ 'BNC': 'Bifrost' + ' ' + '(BNC)',
275
+ 'BNT': 'Bancor' + ' ' + '(BNT)',
276
276
  'BTC': 'Bitcoin',
277
- 'CHZ': 'Chiliz(CHZ)',
278
- 'COMP': 'Compound(COMP)',
279
- 'CQT': '\tCovalent Query Token(CQT)',
280
- 'CRV': 'Curve DAO Token(CRV)',
281
- 'CTSI': 'Cartesi(CTSI)',
277
+ 'CHZ': 'Chiliz' + ' ' + '(CHZ)',
278
+ 'COMP': 'Compound' + ' ' + '(COMP)',
279
+ 'CQT': '\tCovalent Query Token' + ' ' + '(CQT)',
280
+ 'CRV': 'Curve DAO Token' + ' ' + '(CRV)',
281
+ 'CTSI': 'Cartesi' + ' ' + '(CTSI)',
282
282
  'DAI': 'Dai',
283
283
  'DASH': 'Dash',
284
284
  'DOGE': 'Dogecoin',
285
285
  'DOT': 'Polkadot',
286
- 'DYDX': 'dYdX(DYDX)',
287
- 'ENJ': 'Enjin Coin(ENJ)',
286
+ 'DYDX': 'dYdX' + ' ' + '(DYDX)',
287
+ 'ENJ': 'Enjin Coin' + ' ' + '(ENJ)',
288
288
  'EOS': 'EOS',
289
- 'ETC': 'Ether Classic(Hex)',
290
- 'ETH': 'Ether(Hex)',
289
+ 'ETC': 'Ether Classic' + ' ' + '(Hex)',
290
+ 'ETH': 'Ether' + ' ' + '(Hex)',
291
291
  'EWT': 'Energy Web Token',
292
292
  'FEE': 'Kraken Fee Credit',
293
293
  'FIL': 'Filecoin',
294
294
  'FLOW': 'Flow',
295
- 'GHST': 'Aavegotchi(GHST)',
295
+ 'GHST': 'Aavegotchi' + ' ' + '(GHST)',
296
296
  'GNO': 'GNO',
297
297
  'GRT': 'GRT',
298
298
  'ICX': 'Icon',
299
- 'INJ': 'Injective Protocol(INJ)',
300
- 'KAR': 'Karura(KAR)',
299
+ 'INJ': 'Injective Protocol' + ' ' + '(INJ)',
300
+ 'KAR': 'Karura' + ' ' + '(KAR)',
301
301
  'KAVA': 'Kava',
302
- 'KEEP': 'Keep Token(KEEP)',
303
- 'KNC': 'Kyber Network(KNC)',
302
+ 'KEEP': 'Keep Token' + ' ' + '(KEEP)',
303
+ 'KNC': 'Kyber Network' + ' ' + '(KNC)',
304
304
  'KSM': 'Kusama',
305
305
  'LINK': 'Link',
306
- 'LPT': 'Livepeer Token(LPT)',
307
- 'LRC': 'Loopring(LRC)',
306
+ 'LPT': 'Livepeer Token' + ' ' + '(LPT)',
307
+ 'LRC': 'Loopring' + ' ' + '(LRC)',
308
308
  'LSK': 'Lisk',
309
309
  'LTC': 'Litecoin',
310
310
  'MANA': 'MANA',
311
- 'MATIC': 'Polygon(MATIC)',
311
+ 'MATIC': 'Polygon' + ' ' + '(MATIC)',
312
312
  'MINA': 'Mina', # inspected from webui
313
- 'MIR': 'Mirror Protocol(MIR)',
314
- 'MKR': 'Maker(MKR)',
313
+ 'MIR': 'Mirror Protocol' + ' ' + '(MIR)',
314
+ 'MKR': 'Maker' + ' ' + '(MKR)',
315
315
  'MLN': 'MLN',
316
- 'MOVR': 'Moonriver(MOVR)',
316
+ 'MOVR': 'Moonriver' + ' ' + '(MOVR)',
317
317
  'NANO': 'NANO',
318
318
  'OCEAN': 'OCEAN',
319
- 'OGN': 'Origin Protocol(OGN)',
319
+ 'OGN': 'Origin Protocol' + ' ' + '(OGN)',
320
320
  'OMG': 'OMG',
321
- 'OXT': 'Orchid(OXT)',
322
- 'OXY': 'Oxygen(OXY)',
323
- 'PAXG': 'PAX(Gold)',
324
- 'PERP': 'Perpetual Protocol(PERP)',
325
- 'PHA': 'Phala(PHA)',
321
+ 'OXT': 'Orchid' + ' ' + '(OXT)',
322
+ 'OXY': 'Oxygen' + ' ' + '(OXY)',
323
+ 'PAXG': 'PAX' + ' ' + '(Gold)',
324
+ 'PERP': 'Perpetual Protocol' + ' ' + '(PERP)',
325
+ 'PHA': 'Phala' + ' ' + '(PHA)',
326
326
  'QTUM': 'QTUM',
327
- 'RARI': 'Rarible(RARI)',
328
- 'RAY': 'Raydium(RAY)',
329
- 'REN': 'Ren Protocol(REN)',
327
+ 'RARI': 'Rarible' + ' ' + '(RARI)',
328
+ 'RAY': 'Raydium' + ' ' + '(RAY)',
329
+ 'REN': 'Ren Protocol' + ' ' + '(REN)',
330
330
  'REP': 'REPv2',
331
331
  'REPV1': 'REP',
332
- 'SAND': 'The Sandbox(SAND)',
332
+ 'SAND': 'The Sandbox' + ' ' + '(SAND)',
333
333
  'SC': 'Siacoin',
334
- 'SDN': 'Shiden(SDN)',
334
+ 'SDN': 'Shiden' + ' ' + '(SDN)',
335
335
  'SOL': 'Solana', # their deposit method api doesn't work for SOL - was guessed
336
- 'SNX': 'Synthetix Network(SNX)',
336
+ 'SNX': 'Synthetix Network' + ' ' + '(SNX)',
337
337
  'SRM': 'Serum', # inspected from webui
338
- 'STORJ': 'Storj(STORJ)',
339
- 'SUSHI': 'Sushiswap(SUSHI)',
338
+ 'STORJ': 'Storj' + ' ' + '(STORJ)',
339
+ 'SUSHI': 'Sushiswap' + ' ' + '(SUSHI)',
340
340
  'TBTC': 'tBTC',
341
341
  'TRX': 'Tron',
342
342
  'UNI': 'UNI',
343
343
  'USDC': 'USDC',
344
- 'USDT': 'Tether USD(ERC20)',
345
- 'USDT-TRC20': 'Tether USD(TRC20)',
344
+ 'USDT': 'Tether USD' + ' ' + '(ERC20)',
345
+ 'USDT-TRC20': 'Tether USD' + ' ' + '(TRC20)',
346
346
  'WAVES': 'Waves',
347
- 'WBTC': 'Wrapped Bitcoin(WBTC)',
347
+ 'WBTC': 'Wrapped Bitcoin' + ' ' + '(WBTC)',
348
348
  'XLM': 'Stellar XLM',
349
349
  'XMR': 'Monero',
350
350
  'XRP': 'Ripple XRP',
351
351
  'XTZ': 'XTZ',
352
352
  'YFI': 'YFI',
353
- 'ZEC': 'Zcash(Transparent)',
354
- 'ZRX': '0x(ZRX)',
353
+ 'ZEC': 'Zcash' + ' ' + '(Transparent)',
354
+ 'ZRX': '0x' + ' ' + '(ZRX)',
355
355
  },
356
356
  'withdrawMethods': { # keeping it here because deposit and withdraw return different networks codes
357
357
  'Lightning': 'Lightning',
@@ -415,6 +415,7 @@ class kucoin(Exchange, ImplicitAPI):
415
415
  'broker/nd/account': 2,
416
416
  'broker/nd/account/apikey': 2,
417
417
  'broker/nd/rebase/download': 3,
418
+ 'asset/ndbroker/deposit/list': 1,
418
419
  'broker/nd/transfer/detail': 1,
419
420
  'broker/nd/deposit/detail': 1,
420
421
  'broker/nd/withdraw/detail': 1,
@@ -706,6 +707,7 @@ class kucoin(Exchange, ImplicitAPI):
706
707
  'purchase/orders': 'v3',
707
708
  'margin/symbols': 'v3',
708
709
  'affiliate/inviter/statistics': 'v2',
710
+ 'asset/ndbroker/deposit/list': 'v1',
709
711
  },
710
712
  'POST': {
711
713
  # account
@@ -577,7 +577,7 @@ class mexc(Exchange, ImplicitAPI):
577
577
  'POKT': 'POKT',
578
578
  'QKC': 'QKC',
579
579
  'QTUM': 'QTUM',
580
- 'RAP20': 'RAP20(Rangers Mainnet)',
580
+ 'RAP20': 'RAP20' + ' ' + '(Rangers Mainnet)',
581
581
  'REI': 'REI',
582
582
  'RSK': 'RBTC',
583
583
  'RVN': 'Ravencoin(RVN)',
@@ -727,69 +727,9 @@ class mexc(Exchange, ImplicitAPI):
727
727
  # OKB <> OKT(for usdt it's exception) for OKC, PMEER, FLARE, STRD, ZEL, FUND, "NONE", CRING, FREETON, QTZ (probably unique network is meant), HT, BSC(RACAV1), BSC(RACAV2), AMBROSUS, BAJUN, NOM. their individual info is at https://www.mexc.com/api/platform/asset/spot/{COINNAME}
728
728
  },
729
729
  'networksById': {
730
- 'Aleph Zero(AZERO)': 'AZERO',
731
- 'Alephium(ALPH)': 'ALPH',
732
- 'Algorand(ALGO)': 'ALGO',
733
- 'APTOS(APT)': 'APT',
734
- 'Arbitrum One(ARB)': 'ARB',
735
- 'Avalanche C Chain(AVAX CCHAIN)': 'AVAXC',
736
- 'Avalanche X Chain(AVAX XCHAIN)': 'AVAXX',
737
- 'BEP20(BSC)': 'BSC',
738
- 'Bitcoin Cash(BCH)': 'BCH',
739
- 'Bitcoin SV(BSV)': 'BSV',
740
- 'Bitcoin(BTC)': 'BTC',
741
- 'Bittensor(TAO)': 'TAO',
742
- 'BNB Beacon Chain(BEP2)': 'BEP2',
743
730
  'BNB Smart Chain(BEP20-RACAV1)': 'BSC',
744
731
  'BNB Smart Chain(BEP20-RACAV2)': 'BSC',
745
732
  'BNB Smart Chain(BEP20)': 'BSC',
746
- 'Cardano(ADA)': 'ADA',
747
- 'Celestia(TIA)': 'TIA',
748
- 'Chia(XCH)': 'XCH',
749
- 'Chiliz Chain(CHZ2)': 'CHZ2',
750
- 'Chiliz Legacy Chain(CHZ)': 'CHZ',
751
- 'Clore.ai(CLORE)': 'CLORE',
752
- 'Cosmos(ATOM)': 'ATOM',
753
- 'Dogechain(DC)': 'DC',
754
- 'Dogecoin(DOGE)': 'DOGE',
755
- 'Dymension(DYM)': 'DYM',
756
- 'Dynex(DNX)': 'DNX',
757
- 'Elysium(LAVA)': 'LAVA',
758
- 'Ethereum Classic(ETC)': 'ETC',
759
- 'Ethereum(ERC20)': 'ERC20',
760
- 'Fantom(FTM)': 'FTM',
761
- 'Hedera(HBAR)': 'HBAR',
762
- 'Index Chain': 'INDEX',
763
- 'Internet Computer(ICP)': 'ICP',
764
- 'Kaspa(KAS)': 'KAS',
765
- 'Klaytn(KLAY)': 'KLAY',
766
- 'Litecoin(LTC)': 'LTC',
767
- 'Mantle(MNT)': 'MNT',
768
- 'Mcoin Network': 'MCOIN',
769
- 'Meter(MTRG)': 'MTRG',
770
- 'Monero(XMR)': 'XMR',
771
- 'NEAR Protocol(NEAR)': 'NEAR',
772
- 'Neoxa Network': 'NEOXA',
773
- 'Neurai(XNA)': 'XNA',
774
- 'Omega Network(OMN)': 'OMN',
775
- 'Optimism(OP)': 'OPTIMISM',
776
- 'Polkadot(DOT)': 'DOT',
777
- 'Polygon(MATIC)': 'MATIC',
778
- 'RAP20(Rangers Mainnet)': 'RAP20',
779
- 'Ravencoin(RVN)': 'RVN',
780
- 'Ripple(XRP)': 'XRP',
781
- 'Satoxcoin(SATOX)': 'SATOX',
782
- 'Solana(SOL)': 'SOL',
783
- 'Starknet(STARK)': 'STARK',
784
- 'Stellar(XLM)': 'XLM',
785
- 'Terra(LUNA)': 'LUNA',
786
- 'Toncoin(TON)': 'TON',
787
- 'Tron(TRC20)': 'TRC20',
788
- 'UGAS(Ultrain)': 'UGAS',
789
- 'VeChain(VET)': 'VET',
790
- 'Vexanium(VEX)': 'VEX',
791
- 'XPR Network': 'XPR',
792
- 'Zilliqa(ZIL)': 'ZIL',
793
733
  # TODO: uncomment below after deciding unified name
794
734
  # 'PEPE COIN BSC':
795
735
  # 'SMART BLOCKCHAIN':
@@ -598,6 +598,9 @@ class okcoin(Exchange, ImplicitAPI):
598
598
  'defaultNetwork': 'ERC20',
599
599
  'networks': {
600
600
  'ERC20': 'Ethereum',
601
+ 'BTC': 'Bitcoin',
602
+ 'OMNI': 'Omni',
603
+ 'TRC20': 'TRON',
601
604
  },
602
605
  },
603
606
  'commonCurrencies': {
@@ -725,14 +728,6 @@ class okcoin(Exchange, ImplicitAPI):
725
728
  'info': market,
726
729
  })
727
730
 
728
- def safe_network(self, networkId):
729
- networksById: dict = {
730
- 'Bitcoin': 'BTC',
731
- 'Omni': 'OMNI',
732
- 'TRON': 'TRC20',
733
- }
734
- return self.safe_string(networksById, networkId, networkId)
735
-
736
731
  async def fetch_currencies(self, params={}) -> Currencies:
737
732
  """
738
733
  fetches all available currencies on an exchange
@@ -772,7 +767,7 @@ class okcoin(Exchange, ImplicitAPI):
772
767
  if (networkId is not None) and (networkId.find('-') >= 0):
773
768
  parts = networkId.split('-')
774
769
  chainPart = self.safe_string(parts, 1, networkId)
775
- networkCode = self.safe_network(chainPart)
770
+ networkCode = self.network_id_to_code(chainPart)
776
771
  precision = self.parse_precision(self.safe_string(chain, 'wdTickSz'))
777
772
  if maxPrecision is None:
778
773
  maxPrecision = precision
@@ -1577,6 +1577,7 @@ class onetrading(Exchange, ImplicitAPI):
1577
1577
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
1578
1578
  """
1579
1579
  fetches information on an order made by the user
1580
+ :param str id: the order id
1580
1581
  :param str symbol: not used by onetrading fetchOrder
1581
1582
  :param dict [params]: extra parameters specific to the exchange API endpoint
1582
1583
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -2800,6 +2800,7 @@ class phemex(Exchange, ImplicitAPI):
2800
2800
  """
2801
2801
  :see: https://phemex-docs.github.io/#query-orders-by-ids
2802
2802
  fetches information on an order made by the user
2803
+ :param str id: the order id
2803
2804
  :param str symbol: unified symbol of the market the order was made in
2804
2805
  :param dict [params]: extra parameters specific to the exchange API endpoint
2805
2806
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1340,6 +1340,7 @@ class poloniexfutures(Exchange, ImplicitAPI):
1340
1340
  fetches information on an order made by the user
1341
1341
  :see: https://api-docs.poloniex.com/futures/api/orders#get-details-of-a-single-order
1342
1342
  :see: https://api-docs.poloniex.com/futures/api/orders#get-single-order-by-clientoid
1343
+ :param str id: the order id
1343
1344
  :param str symbol: unified symbol of the market the order was made in
1344
1345
  :param dict [params]: extra parameters specific to the exchange API endpoint
1345
1346
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1028,6 +1028,7 @@ class probit(Exchange, ImplicitAPI):
1028
1028
  """
1029
1029
  :see: https://docs-en.probit.com/reference/order-3
1030
1030
  fetches information on an order made by the user
1031
+ :param str id: the order id
1031
1032
  :param str symbol: unified symbol of the market the order was made in
1032
1033
  :param dict [params]: extra parameters specific to the exchange API endpoint
1033
1034
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1886,6 +1886,7 @@ class vertex(Exchange, ImplicitAPI):
1886
1886
  """
1887
1887
  fetches information on an order made by the user
1888
1888
  :see: https://docs.vertexprotocol.com/developer-resources/api/gateway/queries/order
1889
+ :param str id: the order id
1889
1890
  :param str symbol: unified symbol of the market the order was made in
1890
1891
  :param dict [params]: extra parameters specific to the exchange API endpoint
1891
1892
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/async_support/woo.py CHANGED
@@ -1276,6 +1276,7 @@ class woo(Exchange, ImplicitAPI):
1276
1276
  :see: https://docs.woo.org/#get-algo-order
1277
1277
  :see: https://docs.woo.org/#get-order
1278
1278
  fetches information on an order made by the user
1279
+ :param str id: the order id
1279
1280
  :param str symbol: unified symbol of the market the order was made in
1280
1281
  :param dict [params]: extra parameters specific to the exchange API endpoint
1281
1282
  :param boolean [params.stop]: whether the order is a stop/algo order
@@ -1619,6 +1619,7 @@ class woofipro(Exchange, ImplicitAPI):
1619
1619
  :see: https://orderly.network/docs/build-on-evm/evm-api/restful-api/private/get-algo-order-by-order_id
1620
1620
  :see: https://orderly.network/docs/build-on-evm/evm-api/restful-api/private/get-algo-order-by-client_order_id
1621
1621
  fetches information on an order made by the user
1622
+ :param str id: the order id
1622
1623
  :param str symbol: unified symbol of the market the order was made in
1623
1624
  :param dict [params]: extra parameters specific to the exchange API endpoint
1624
1625
  :param boolean [params.trigger]: whether the order is a stop/algo order
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.87'
7
+ __version__ = '4.3.89'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -820,11 +820,13 @@ class Exchange(object):
820
820
 
821
821
  @staticmethod
822
822
  def get_object_value_from_key_list(dictionary_or_list, key_list):
823
+ isDataArray = isinstance(dictionary_or_list, list)
824
+ isDataDict = isinstance(dictionary_or_list, dict)
823
825
  for key in key_list:
824
- if isinstance(key, str):
826
+ if isDataDict:
825
827
  if key in dictionary_or_list and dictionary_or_list[key] is not None and dictionary_or_list[key] != '':
826
828
  return dictionary_or_list[key]
827
- elif key is not None:
829
+ elif isDataArray and not isinstance(key, str):
828
830
  if (key < len(dictionary_or_list)) and (dictionary_or_list[key] is not None) and (dictionary_or_list[key] != ''):
829
831
  return dictionary_or_list[key]
830
832
  return None
@@ -1014,7 +1016,7 @@ class Exchange(object):
1014
1016
  if isinstance(params, dict):
1015
1017
  for key in params:
1016
1018
  _encode_params(params[key], key)
1017
- return _urlencode.urlencode(result)
1019
+ return _urlencode.urlencode(result, quote_via=_urlencode.quote)
1018
1020
 
1019
1021
  @staticmethod
1020
1022
  def rawencode(params={}):
@@ -5846,7 +5848,7 @@ class Exchange(object):
5846
5848
  errors = 0
5847
5849
  result = self.array_concat(result, response)
5848
5850
  last = self.safe_value(response, responseLength - 1)
5849
- paginationTimestamp = self.safe_integer(last, 'timestamp') - 1
5851
+ paginationTimestamp = self.safe_integer(last, 'timestamp') + 1
5850
5852
  if (until is not None) and (paginationTimestamp >= until):
5851
5853
  break
5852
5854
  except Exception as e:
@@ -6215,7 +6217,7 @@ class Exchange(object):
6215
6217
  """
6216
6218
  if self.has['fetchPositionsHistory']:
6217
6219
  positions = self.fetch_positions_history([symbol], since, limit, params)
6218
- return self.safe_dict(positions, 0)
6220
+ return positions
6219
6221
  else:
6220
6222
  raise NotSupported(self.id + ' fetchPositionHistory() is not supported yet')
6221
6223
 
ccxt/bigone.py CHANGED
@@ -1563,6 +1563,7 @@ class bigone(Exchange, ImplicitAPI):
1563
1563
  """
1564
1564
  fetches information on an order made by the user
1565
1565
  :see: https://open.big.one/docs/spot_orders.html#get-one-order
1566
+ :param str id: the order id
1566
1567
  :param str symbol: not used by bigone fetchOrder
1567
1568
  :param dict [params]: extra parameters specific to the exchange API endpoint
1568
1569
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bingx.py CHANGED
@@ -3425,6 +3425,7 @@ class bingx(Exchange, ImplicitAPI):
3425
3425
  :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20details
3426
3426
  :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Order%20details
3427
3427
  :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Query%20Order
3428
+ :param str id: the order id
3428
3429
  :param str symbol: unified symbol of the market the order was made in
3429
3430
  :param dict [params]: extra parameters specific to the exchange API endpoint
3430
3431
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bit2c.py CHANGED
@@ -478,6 +478,7 @@ class bit2c(Exchange, ImplicitAPI):
478
478
  """
479
479
  fetches information on an order made by the user
480
480
  :see: https://bit2c.co.il/home/api#getoid
481
+ :param str id: the order id
481
482
  :param str symbol: unified market symbol
482
483
  :param dict [params]: extra parameters specific to the exchange API endpoint
483
484
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitbank.py CHANGED
@@ -699,6 +699,7 @@ class bitbank(Exchange, ImplicitAPI):
699
699
  """
700
700
  fetches information on an order made by the user
701
701
  :see: https://github.com/bitbankinc/bitbank-api-docs/blob/38d6d7c6f486c793872fd4b4087a0d090a04cd0a/rest-api.md#fetch-order-information
702
+ :param str id: the order id
702
703
  :param str symbol: unified symbol of the market the order was made in
703
704
  :param dict [params]: extra parameters specific to the exchange API endpoint
704
705
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitfinex.py CHANGED
@@ -1272,6 +1272,7 @@ class bitfinex(Exchange, ImplicitAPI):
1272
1272
  """
1273
1273
  fetches information on an order made by the user
1274
1274
  :see: https://docs.bitfinex.com/v1/reference/rest-auth-order-status
1275
+ :param str id: the order id
1275
1276
  :param str symbol: not used by bitfinex fetchOrder
1276
1277
  :param dict [params]: extra parameters specific to the exchange API endpoint
1277
1278
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitflyer.py CHANGED
@@ -687,6 +687,7 @@ class bitflyer(Exchange, ImplicitAPI):
687
687
  """
688
688
  fetches information on an order made by the user
689
689
  :see: https://lightning.bitflyer.com/docs?lang=en#list-orders
690
+ :param str id: the order id
690
691
  :param str symbol: unified symbol of the market the order was made in
691
692
  :param dict [params]: extra parameters specific to the exchange API endpoint
692
693
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitget.py CHANGED
@@ -4770,6 +4770,7 @@ class bitget(Exchange, ImplicitAPI):
4770
4770
  fetches information on an order made by the user
4771
4771
  :see: https://www.bitget.com/api-doc/spot/trade/Get-Order-Info
4772
4772
  :see: https://www.bitget.com/api-doc/contract/trade/Get-Order-Details
4773
+ :param str id: the order id
4773
4774
  :param str symbol: unified symbol of the market the order was made in
4774
4775
  :param dict [params]: extra parameters specific to the exchange API endpoint
4775
4776
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitmex.py CHANGED
@@ -861,6 +861,7 @@ class bitmex(Exchange, ImplicitAPI):
861
861
  """
862
862
  fetches information on an order made by the user
863
863
  :see: https://www.bitmex.com/api/explorer/#not /Order/Order_getOrders
864
+ :param str id: the order id
864
865
  :param str symbol: unified symbol of the market the order was made in
865
866
  :param dict [params]: extra parameters specific to the exchange API endpoint
866
867
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitopro.py CHANGED
@@ -1118,6 +1118,7 @@ class bitopro(Exchange, ImplicitAPI):
1118
1118
  """
1119
1119
  fetches information on an order made by the user
1120
1120
  :see: https://github.com/bitoex/bitopro-offical-api-docs/blob/master/api/v3/private/get_an_order_data.md
1121
+ :param str id: the order id
1121
1122
  :param str symbol: unified symbol of the market the order was made in
1122
1123
  :param dict [params]: extra parameters specific to the exchange API endpoint
1123
1124
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/bitrue.py CHANGED
@@ -355,6 +355,67 @@ class bitrue(Exchange, ImplicitAPI):
355
355
  'networks': {
356
356
  'ERC20': 'ETH',
357
357
  'TRC20': 'TRX',
358
+ 'AETERNITY': 'Aeternity',
359
+ 'AION': 'AION',
360
+ 'ALGO': 'Algorand',
361
+ 'ASK': 'ASK',
362
+ 'ATOM': 'ATOM',
363
+ 'AVAXC': 'AVAX C-Chain',
364
+ 'BCH': 'BCH',
365
+ 'BEP2': 'BEP2',
366
+ 'BEP20': 'BEP20',
367
+ 'Bitcoin': 'Bitcoin',
368
+ 'BRP20': 'BRP20',
369
+ 'ADA': 'Cardano',
370
+ 'CASINOCOIN': 'CasinoCoin',
371
+ 'CASINOCOIN-XRPL': 'CasinoCoin XRPL',
372
+ 'CONTENTOS': 'Contentos',
373
+ 'DASH': 'Dash',
374
+ 'DECOIN': 'Decoin',
375
+ 'DFI': 'DeFiChain',
376
+ 'DGB': 'DGB',
377
+ 'DIVI': 'Divi',
378
+ 'DOGE': 'dogecoin',
379
+ 'EOS': 'EOS',
380
+ 'ETC': 'ETC',
381
+ 'FILECOIN': 'Filecoin',
382
+ 'FREETON': 'FREETON',
383
+ 'HBAR': 'HBAR',
384
+ 'HEDERA': 'Hedera Hashgraph',
385
+ 'HRC20': 'HRC20',
386
+ 'ICON': 'ICON',
387
+ 'ICP': 'ICP',
388
+ 'IGNIS': 'Ignis',
389
+ 'INTERNETCOMPUTER': 'Internet Computer',
390
+ 'IOTA': 'IOTA',
391
+ 'KAVA': 'KAVA',
392
+ 'KSM': 'KSM',
393
+ 'LTC': 'LiteCoin',
394
+ 'LUNA': 'Luna',
395
+ 'MATIC': 'MATIC',
396
+ 'MOBILECOIN': 'Mobile Coin',
397
+ 'MONACOIN': 'MonaCoin',
398
+ 'XMR': 'Monero',
399
+ 'NEM': 'NEM',
400
+ 'NEP5': 'NEP5',
401
+ 'OMNI': 'OMNI',
402
+ 'PAC': 'PAC',
403
+ 'DOT': 'Polkadot',
404
+ 'RAVEN': 'Ravencoin',
405
+ 'SAFEX': 'Safex',
406
+ 'SOL': 'SOLANA',
407
+ 'SGB': 'Songbird',
408
+ 'XML': 'Stellar Lumens',
409
+ 'XYM': 'Symbol',
410
+ 'XTZ': 'Tezos',
411
+ 'theta': 'theta',
412
+ 'THETA': 'THETA',
413
+ 'VECHAIN': 'VeChain',
414
+ 'WANCHAIN': 'Wanchain',
415
+ 'XINFIN': 'XinFin Network',
416
+ 'XRP': 'XRP',
417
+ 'XRPL': 'XRPL',
418
+ 'ZIL': 'ZIL',
358
419
  },
359
420
  'defaultType': 'spot',
360
421
  'timeframes': {
@@ -521,77 +582,6 @@ class bitrue(Exchange, ImplicitAPI):
521
582
  #
522
583
  return self.safe_integer(response, 'serverTime')
523
584
 
524
- def safe_network(self, networkId):
525
- uppercaseNetworkId = networkId.upper()
526
- networksById: dict = {
527
- 'Aeternity': 'Aeternity',
528
- 'AION': 'AION',
529
- 'Algorand': 'Algorand',
530
- 'ASK': 'ASK',
531
- 'ATOM': 'ATOM',
532
- 'AVAX C-Chain': 'AVAX C-Chain',
533
- 'bch': 'bch',
534
- 'BCH': 'BCH',
535
- 'BEP2': 'BEP2',
536
- 'BEP20': 'BEP20',
537
- 'Bitcoin': 'Bitcoin',
538
- 'BRP20': 'BRP20',
539
- 'Cardano': 'ADA',
540
- 'CasinoCoin': 'CasinoCoin',
541
- 'CasinoCoin XRPL': 'CasinoCoin XRPL',
542
- 'Contentos': 'Contentos',
543
- 'Dash': 'Dash',
544
- 'Decoin': 'Decoin',
545
- 'DeFiChain': 'DeFiChain',
546
- 'DGB': 'DGB',
547
- 'Divi': 'Divi',
548
- 'dogecoin': 'DOGE',
549
- 'EOS': 'EOS',
550
- 'ERC20': 'ERC20',
551
- 'ETC': 'ETC',
552
- 'Filecoin': 'Filecoin',
553
- 'FREETON': 'FREETON',
554
- 'HBAR': 'HBAR',
555
- 'Hedera Hashgraph': 'Hedera Hashgraph',
556
- 'HRC20': 'HRC20',
557
- 'ICON': 'ICON',
558
- 'ICP': 'ICP',
559
- 'Ignis': 'Ignis',
560
- 'Internet Computer': 'Internet Computer',
561
- 'IOTA': 'IOTA',
562
- 'KAVA': 'KAVA',
563
- 'KSM': 'KSM',
564
- 'LiteCoin': 'LiteCoin',
565
- 'Luna': 'Luna',
566
- 'MATIC': 'MATIC',
567
- 'Mobile Coin': 'Mobile Coin',
568
- 'MonaCoin': 'MonaCoin',
569
- 'Monero': 'Monero',
570
- 'NEM': 'NEM',
571
- 'NEP5': 'NEP5',
572
- 'OMNI': 'OMNI',
573
- 'PAC': 'PAC',
574
- 'Polkadot': 'Polkadot',
575
- 'Ravencoin': 'Ravencoin',
576
- 'Safex': 'Safex',
577
- 'SOLANA': 'SOL',
578
- 'Songbird': 'Songbird',
579
- 'Stellar Lumens': 'Stellar Lumens',
580
- 'Symbol': 'Symbol',
581
- 'Tezos': 'XTZ',
582
- 'theta': 'theta',
583
- 'THETA': 'THETA',
584
- 'TRC20': 'TRC20',
585
- 'VeChain': 'VeChain',
586
- 'VECHAIN': 'VECHAIN',
587
- 'Wanchain': 'Wanchain',
588
- 'XinFin Network': 'XinFin Network',
589
- 'XRP': 'XRP',
590
- 'XRPL': 'XRPL',
591
- 'ZIL': 'ZIL',
592
- }
593
- return self.safe_string_2(networksById, networkId, uppercaseNetworkId, networkId)
594
-
595
585
  def fetch_currencies(self, params={}) -> Currencies:
596
586
  """
597
587
  fetches all available currencies on an exchange
@@ -1941,6 +1931,7 @@ class bitrue(Exchange, ImplicitAPI):
1941
1931
  :see: https://github.com/Bitrue-exchange/Spot-official-api-docs#query-order-user_data
1942
1932
  :see: https://www.bitrue.com/api-docs#query-order-user_data-hmac-sha256
1943
1933
  :see: https://www.bitrue.com/api_docs_includes_file/delivery.html#query-order-user_data-hmac-sha256
1934
+ :param str id: the order id
1944
1935
  :param str symbol: unified symbol of the market the order was made in
1945
1936
  :param dict [params]: extra parameters specific to the exchange API endpoint
1946
1937
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`