ccxt 4.3.45 → 4.3.47

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 (49) hide show
  1. package/README.md +127 -127
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +1 -0
  5. package/dist/cjs/src/base/functions/number.js +2 -2
  6. package/dist/cjs/src/binance.js +2 -0
  7. package/dist/cjs/src/bingx.js +25 -17
  8. package/dist/cjs/src/bitget.js +1 -1
  9. package/dist/cjs/src/bitmart.js +6 -1
  10. package/dist/cjs/src/bitteam.js +5 -7
  11. package/dist/cjs/src/coinmetro.js +8 -17
  12. package/dist/cjs/src/hyperliquid.js +56 -21
  13. package/dist/cjs/src/idex.js +1 -0
  14. package/dist/cjs/src/mexc.js +8 -6
  15. package/dist/cjs/src/okx.js +1 -0
  16. package/dist/cjs/src/oxfun.js +2 -2
  17. package/dist/cjs/src/pro/binanceus.js +0 -8
  18. package/dist/cjs/src/pro/coinex.js +3 -2
  19. package/dist/cjs/src/tokocrypto.js +8 -10
  20. package/dist/cjs/src/wavesexchange.js +1 -0
  21. package/dist/cjs/src/woofipro.js +1 -0
  22. package/js/ccxt.d.ts +1 -1
  23. package/js/ccxt.js +1 -1
  24. package/js/src/abstract/binance.d.ts +2 -0
  25. package/js/src/abstract/binancecoinm.d.ts +2 -0
  26. package/js/src/abstract/binanceus.d.ts +2 -0
  27. package/js/src/abstract/binanceusdm.d.ts +2 -0
  28. package/js/src/abstract/mexc.d.ts +2 -0
  29. package/js/src/base/Exchange.d.ts +1 -0
  30. package/js/src/base/Exchange.js +1 -0
  31. package/js/src/base/functions/number.js +2 -2
  32. package/js/src/binance.js +2 -0
  33. package/js/src/bingx.js +26 -18
  34. package/js/src/bitget.js +1 -1
  35. package/js/src/bitmart.js +6 -1
  36. package/js/src/bitteam.js +6 -8
  37. package/js/src/coinmetro.js +9 -18
  38. package/js/src/hyperliquid.d.ts +4 -3
  39. package/js/src/hyperliquid.js +56 -21
  40. package/js/src/idex.js +1 -0
  41. package/js/src/mexc.js +8 -6
  42. package/js/src/okx.js +1 -0
  43. package/js/src/oxfun.js +2 -2
  44. package/js/src/pro/binanceus.js +0 -8
  45. package/js/src/pro/coinex.js +3 -2
  46. package/js/src/tokocrypto.js +9 -11
  47. package/js/src/wavesexchange.js +1 -0
  48. package/js/src/woofipro.js +1 -0
  49. package/package.json +1 -1
@@ -657,12 +657,13 @@ export default class coinex extends coinexRest {
657
657
  // "id": null
658
658
  // }
659
659
  //
660
+ const isSwap = client.url.indexOf('perpetual') >= 0;
661
+ const marketType = isSwap ? 'swap' : 'spot';
660
662
  const params = this.safeValue(message, 'params', []);
661
663
  const fullOrderBook = this.safeValue(params, 0);
662
664
  let orderbook = this.safeValue(params, 1);
663
665
  const marketId = this.safeString(params, 2);
664
- const defaultType = this.safeString(this.options, 'defaultType');
665
- const market = this.safeMarket(marketId, undefined, undefined, defaultType);
666
+ const market = this.safeMarket(marketId, undefined, undefined, marketType);
666
667
  const symbol = market['symbol'];
667
668
  const name = 'orderbook';
668
669
  const messageHash = name + ':' + symbol;
@@ -6,7 +6,7 @@
6
6
 
7
7
  // ---------------------------------------------------------------------------
8
8
  import Exchange from './abstract/tokocrypto.js';
9
- import { TRUNCATE, DECIMAL_PLACES } from './base/functions/number.js';
9
+ import { TRUNCATE, TICK_SIZE } from './base/functions/number.js';
10
10
  import { ExchangeError, ExchangeNotAvailable, InsufficientFunds, OrderNotFound, InvalidOrder, DDoSProtection, InvalidNonce, AuthenticationError, RateLimitExceeded, PermissionDenied, NotSupported, BadRequest, BadSymbol, AccountSuspended, OrderImmediatelyFillable, OnMaintenance, BadResponse, RequestTimeout, OrderNotFillable, MarginModeAlreadySet, ArgumentsRequired } from './base/errors.js';
11
11
  import { Precise } from './base/Precise.js';
12
12
  import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
@@ -213,7 +213,7 @@ export default class tokocrypto extends Exchange {
213
213
  'maker': this.parseNumber('0.0075'), // 0.1% trading fee, zero fees for all trading pairs before November 1
214
214
  },
215
215
  },
216
- 'precisionMode': DECIMAL_PLACES,
216
+ 'precisionMode': TICK_SIZE,
217
217
  'options': {
218
218
  // 'fetchTradesMethod': 'binanceGetTrades', // binanceGetTrades, binanceGetAggTrades
219
219
  'createMarketBuyOrderRequiresPrice': true,
@@ -720,10 +720,10 @@ export default class tokocrypto extends Exchange {
720
720
  'strike': undefined,
721
721
  'optionType': undefined,
722
722
  'precision': {
723
- 'amount': this.safeInteger(market, 'quantityPrecision'),
724
- 'price': this.safeInteger(market, 'pricePrecision'),
725
- 'base': this.safeInteger(market, 'baseAssetPrecision'),
726
- 'quote': this.safeInteger(market, 'quotePrecision'),
723
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantityPrecision'))),
724
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision'))),
725
+ 'base': this.parseNumber(this.parsePrecision(this.safeString(market, 'baseAssetPrecision'))),
726
+ 'quote': this.parseNumber(this.parsePrecision(this.safeString(market, 'quotePrecision'))),
727
727
  },
728
728
  'limits': {
729
729
  'leverage': {
@@ -748,8 +748,7 @@ export default class tokocrypto extends Exchange {
748
748
  };
749
749
  if ('PRICE_FILTER' in filtersByType) {
750
750
  const filter = this.safeValue(filtersByType, 'PRICE_FILTER', {});
751
- const tickSize = this.safeString(filter, 'tickSize');
752
- entry['precision']['price'] = this.precisionFromString(tickSize);
751
+ entry['precision']['price'] = this.safeNumber(filter, 'tickSize');
753
752
  // PRICE_FILTER reports zero values for maxPrice
754
753
  // since they updated filter types in November 2018
755
754
  // https://github.com/ccxt/ccxt/issues/4286
@@ -758,12 +757,11 @@ export default class tokocrypto extends Exchange {
758
757
  'min': this.safeNumber(filter, 'minPrice'),
759
758
  'max': this.safeNumber(filter, 'maxPrice'),
760
759
  };
761
- entry['precision']['price'] = this.precisionFromString(filter['tickSize']);
760
+ entry['precision']['price'] = filter['tickSize'];
762
761
  }
763
762
  if ('LOT_SIZE' in filtersByType) {
764
763
  const filter = this.safeValue(filtersByType, 'LOT_SIZE', {});
765
- const stepSize = this.safeString(filter, 'stepSize');
766
- entry['precision']['amount'] = this.precisionFromString(stepSize);
764
+ entry['precision']['amount'] = this.safeNumber(filter, 'stepSize');
767
765
  entry['limits']['amount'] = {
768
766
  'min': this.safeNumber(filter, 'minQty'),
769
767
  'max': this.safeNumber(filter, 'maxQty'),
@@ -23,6 +23,7 @@ export default class wavesexchange extends Exchange {
23
23
  'countries': ['CH'],
24
24
  'certified': false,
25
25
  'pro': false,
26
+ 'dex': true,
26
27
  'has': {
27
28
  'CORS': undefined,
28
29
  'spot': true,
@@ -28,6 +28,7 @@ export default class woofipro extends Exchange {
28
28
  'version': 'v1',
29
29
  'certified': true,
30
30
  'pro': true,
31
+ 'dex': true,
31
32
  'hostname': 'dex.woo.org',
32
33
  'has': {
33
34
  'CORS': undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.3.45",
3
+ "version": "4.3.47",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",