ccxt 4.3.33 → 4.3.35

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 (135) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/alpaca.js +1 -1
  5. package/dist/cjs/src/base/Exchange.js +37 -0
  6. package/dist/cjs/src/binance.js +1 -0
  7. package/dist/cjs/src/bitmart.js +2 -9
  8. package/dist/cjs/src/coinbase.js +169 -55
  9. package/dist/cjs/src/coinex.js +26 -19
  10. package/dist/cjs/src/kraken.js +3 -1
  11. package/dist/cjs/src/pro/binance.js +352 -0
  12. package/dist/cjs/src/pro/bitget.js +31 -1
  13. package/dist/cjs/src/pro/bitmex.js +108 -0
  14. package/dist/cjs/src/pro/bybit.js +85 -0
  15. package/dist/cjs/src/pro/gate.js +183 -0
  16. package/dist/cjs/src/pro/kucoinfutures.js +4 -0
  17. package/dist/cjs/src/pro/okx.js +258 -0
  18. package/js/ccxt.d.ts +1 -1
  19. package/js/ccxt.js +1 -1
  20. package/js/src/abstract/binance.d.ts +1 -0
  21. package/js/src/abstract/binancecoinm.d.ts +1 -0
  22. package/js/src/abstract/binanceus.d.ts +1 -0
  23. package/js/src/abstract/binanceusdm.d.ts +1 -0
  24. package/js/src/ace.d.ts +3 -3
  25. package/js/src/alpaca.d.ts +3 -3
  26. package/js/src/alpaca.js +1 -1
  27. package/js/src/ascendex.d.ts +3 -3
  28. package/js/src/base/Exchange.d.ts +14 -3
  29. package/js/src/base/Exchange.js +37 -0
  30. package/js/src/base/types.d.ts +1 -0
  31. package/js/src/bigone.d.ts +3 -3
  32. package/js/src/binance.d.ts +4 -4
  33. package/js/src/binance.js +1 -0
  34. package/js/src/bingx.d.ts +3 -3
  35. package/js/src/bit2c.d.ts +2 -2
  36. package/js/src/bitbank.d.ts +2 -2
  37. package/js/src/bitbns.d.ts +2 -2
  38. package/js/src/bitfinex.d.ts +3 -3
  39. package/js/src/bitfinex2.d.ts +1 -1
  40. package/js/src/bitflyer.d.ts +2 -2
  41. package/js/src/bitget.d.ts +4 -4
  42. package/js/src/bithumb.d.ts +2 -2
  43. package/js/src/bitmart.d.ts +3 -3
  44. package/js/src/bitmart.js +2 -9
  45. package/js/src/bitmex.d.ts +4 -4
  46. package/js/src/bitopro.d.ts +4 -4
  47. package/js/src/bitrue.d.ts +3 -3
  48. package/js/src/bitso.d.ts +3 -3
  49. package/js/src/bitstamp.d.ts +3 -3
  50. package/js/src/bitteam.d.ts +4 -4
  51. package/js/src/bitvavo.d.ts +3 -3
  52. package/js/src/blockchaincom.d.ts +2 -2
  53. package/js/src/blofin.d.ts +4 -4
  54. package/js/src/btcalpha.d.ts +4 -4
  55. package/js/src/btcbox.d.ts +2 -2
  56. package/js/src/btcmarkets.d.ts +4 -4
  57. package/js/src/btcturk.d.ts +2 -2
  58. package/js/src/bybit.d.ts +3 -3
  59. package/js/src/cex.d.ts +2 -2
  60. package/js/src/coinbase.d.ts +4 -3
  61. package/js/src/coinbase.js +169 -55
  62. package/js/src/coinbaseexchange.d.ts +2 -2
  63. package/js/src/coinbaseinternational.d.ts +4 -4
  64. package/js/src/coincheck.d.ts +3 -3
  65. package/js/src/coinex.d.ts +3 -3
  66. package/js/src/coinex.js +26 -19
  67. package/js/src/coinlist.d.ts +3 -3
  68. package/js/src/coinmate.d.ts +3 -3
  69. package/js/src/coinmetro.d.ts +3 -3
  70. package/js/src/coinone.d.ts +2 -2
  71. package/js/src/coinsph.d.ts +3 -3
  72. package/js/src/cryptocom.d.ts +2 -2
  73. package/js/src/currencycom.d.ts +3 -3
  74. package/js/src/delta.d.ts +2 -2
  75. package/js/src/deribit.d.ts +3 -3
  76. package/js/src/digifinex.d.ts +3 -3
  77. package/js/src/exmo.d.ts +3 -3
  78. package/js/src/gate.d.ts +3 -3
  79. package/js/src/gemini.d.ts +3 -3
  80. package/js/src/hitbtc.d.ts +3 -3
  81. package/js/src/hollaex.d.ts +2 -2
  82. package/js/src/htx.d.ts +3 -3
  83. package/js/src/huobijp.d.ts +3 -3
  84. package/js/src/hyperliquid.d.ts +3 -3
  85. package/js/src/idex.d.ts +3 -3
  86. package/js/src/indodax.d.ts +3 -3
  87. package/js/src/kraken.d.ts +3 -3
  88. package/js/src/kraken.js +3 -1
  89. package/js/src/krakenfutures.d.ts +2 -2
  90. package/js/src/kucoin.d.ts +3 -3
  91. package/js/src/kuna.d.ts +3 -3
  92. package/js/src/latoken.d.ts +3 -3
  93. package/js/src/lbank.d.ts +2 -2
  94. package/js/src/luno.d.ts +2 -2
  95. package/js/src/lykke.d.ts +2 -2
  96. package/js/src/mercado.d.ts +2 -2
  97. package/js/src/mexc.d.ts +2 -2
  98. package/js/src/ndax.d.ts +3 -3
  99. package/js/src/novadax.d.ts +4 -4
  100. package/js/src/oceanex.d.ts +3 -3
  101. package/js/src/okcoin.d.ts +4 -4
  102. package/js/src/okx.d.ts +4 -4
  103. package/js/src/onetrading.d.ts +3 -3
  104. package/js/src/p2b.d.ts +3 -3
  105. package/js/src/paymium.d.ts +2 -2
  106. package/js/src/phemex.d.ts +5 -5
  107. package/js/src/poloniex.d.ts +4 -4
  108. package/js/src/poloniexfutures.d.ts +3 -3
  109. package/js/src/pro/binance.d.ts +9 -2
  110. package/js/src/pro/binance.js +352 -0
  111. package/js/src/pro/bitget.js +31 -1
  112. package/js/src/pro/bitmex.d.ts +4 -1
  113. package/js/src/pro/bitmex.js +108 -0
  114. package/js/src/pro/bybit.d.ts +4 -1
  115. package/js/src/pro/bybit.js +85 -0
  116. package/js/src/pro/gate.d.ts +5 -1
  117. package/js/src/pro/gate.js +183 -0
  118. package/js/src/pro/kucoinfutures.js +4 -0
  119. package/js/src/pro/okx.d.ts +8 -1
  120. package/js/src/pro/okx.js +258 -0
  121. package/js/src/probit.d.ts +4 -4
  122. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  123. package/js/src/timex.d.ts +3 -3
  124. package/js/src/tokocrypto.d.ts +2 -2
  125. package/js/src/tradeogre.d.ts +2 -2
  126. package/js/src/upbit.d.ts +4 -4
  127. package/js/src/wavesexchange.d.ts +2 -2
  128. package/js/src/wazirx.d.ts +4 -4
  129. package/js/src/whitebit.d.ts +4 -4
  130. package/js/src/woo.d.ts +4 -4
  131. package/js/src/woofipro.d.ts +4 -4
  132. package/js/src/yobit.d.ts +2 -2
  133. package/js/src/zaif.d.ts +3 -3
  134. package/js/src/zonda.d.ts +2 -2
  135. package/package.json +1 -1
package/js/src/pro/okx.js CHANGED
@@ -22,6 +22,10 @@ export default class okx extends okxRest {
22
22
  'watchTradesForSymbols': true,
23
23
  'watchOrderBookForSymbols': true,
24
24
  'watchBalance': true,
25
+ 'watchLiquidations': 'emulated',
26
+ 'watchLiquidationsForSymbols': true,
27
+ 'watchMyLiquidations': 'emulated',
28
+ 'watchMyLiquidationsForSymbols': true,
25
29
  'watchOHLCV': true,
26
30
  'watchOHLCVForSymbols': true,
27
31
  'watchOrders': true,
@@ -422,6 +426,255 @@ export default class okx extends okxRest {
422
426
  }
423
427
  return message;
424
428
  }
429
+ async watchLiquidationsForSymbols(symbols = undefined, since = undefined, limit = undefined, params = {}) {
430
+ /**
431
+ * @method
432
+ * @name okx#watchLiquidationsForSymbols
433
+ * @description watch the public liquidations of a trading pair
434
+ * @see https://www.okx.com/docs-v5/en/#public-data-websocket-liquidation-orders-channel
435
+ * @param {string} symbol unified CCXT market symbol
436
+ * @param {int} [since] the earliest time in ms to fetch liquidations for
437
+ * @param {int} [limit] the maximum number of liquidation structures to retrieve
438
+ * @param {object} [params] exchange specific parameters for the okx api endpoint
439
+ * @returns {object} an array of [liquidation structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#liquidation-structure}
440
+ */
441
+ await this.loadMarkets();
442
+ symbols = this.marketSymbols(symbols, undefined, true, true);
443
+ let messageHash = 'liquidations';
444
+ if (symbols !== undefined) {
445
+ messageHash += '::' + symbols.join(',');
446
+ }
447
+ const market = this.getMarketFromSymbols(symbols);
448
+ let type = undefined;
449
+ [type, params] = this.handleMarketTypeAndParams('watchliquidationsForSymbols', market, params);
450
+ const channel = 'liquidation-orders';
451
+ if (type === 'spot') {
452
+ type = 'SWAP';
453
+ }
454
+ else if (type === 'future') {
455
+ type = 'futures';
456
+ }
457
+ const uppercaseType = type.toUpperCase();
458
+ const request = {
459
+ 'instType': uppercaseType,
460
+ };
461
+ const newLiquidations = await this.subscribe('public', messageHash, channel, undefined, this.extend(request, params));
462
+ if (this.newUpdates) {
463
+ return newLiquidations;
464
+ }
465
+ return this.filterBySymbolsSinceLimit(this.liquidations, symbols, since, limit, true);
466
+ }
467
+ handleLiquidation(client, message) {
468
+ //
469
+ // {
470
+ // "arg": {
471
+ // "channel": "liquidation-orders",
472
+ // "instType": "SWAP"
473
+ // },
474
+ // "data": [
475
+ // {
476
+ // "details": [
477
+ // {
478
+ // "bkLoss": "0",
479
+ // "bkPx": "0.007831",
480
+ // "ccy": "",
481
+ // "posSide": "short",
482
+ // "side": "buy",
483
+ // "sz": "13",
484
+ // "ts": "1692266434010"
485
+ // }
486
+ // ],
487
+ // "instFamily": "IOST-USDT",
488
+ // "instId": "IOST-USDT-SWAP",
489
+ // "instType": "SWAP",
490
+ // "uly": "IOST-USDT"
491
+ // }
492
+ // ]
493
+ // }
494
+ //
495
+ const rawLiquidations = this.safeList(message, 'data', []);
496
+ for (let i = 0; i < rawLiquidations.length; i++) {
497
+ const rawLiquidation = rawLiquidations[i];
498
+ const liquidation = this.parseWsLiquidation(rawLiquidation);
499
+ const symbol = this.safeString(liquidation, 'symbol');
500
+ let liquidations = this.safeValue(this.liquidations, symbol);
501
+ if (liquidations === undefined) {
502
+ const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
503
+ liquidations = new ArrayCache(limit);
504
+ }
505
+ liquidations.append(liquidation);
506
+ this.liquidations[symbol] = liquidations;
507
+ client.resolve([liquidation], 'liquidations');
508
+ client.resolve([liquidation], 'liquidations::' + symbol);
509
+ }
510
+ }
511
+ async watchMyLiquidationsForSymbols(symbols = undefined, since = undefined, limit = undefined, params = {}) {
512
+ /**
513
+ * @method
514
+ * @name okx#watchMyLiquidationsForSymbols
515
+ * @description watch the private liquidations of a trading pair
516
+ * @see https://www.okx.com/docs-v5/en/#trading-account-websocket-balance-and-position-channel
517
+ * @param {string} symbol unified CCXT market symbol
518
+ * @param {int} [since] the earliest time in ms to fetch liquidations for
519
+ * @param {int} [limit] the maximum number of liquidation structures to retrieve
520
+ * @param {object} [params] exchange specific parameters for the okx api endpoint
521
+ * @returns {object} an array of [liquidation structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#liquidation-structure}
522
+ */
523
+ await this.loadMarkets();
524
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
525
+ params = this.omit(params, ['stop', 'trigger']);
526
+ await this.authenticate({ 'access': isStop ? 'business' : 'private' });
527
+ symbols = this.marketSymbols(symbols, undefined, true, true);
528
+ let messageHash = 'myLiquidations';
529
+ if (symbols !== undefined) {
530
+ messageHash += '::' + symbols.join(',');
531
+ }
532
+ const channel = 'balance_and_position';
533
+ const newLiquidations = await this.subscribe('private', messageHash, channel, undefined, params);
534
+ if (this.newUpdates) {
535
+ return newLiquidations;
536
+ }
537
+ return this.filterBySymbolsSinceLimit(this.liquidations, symbols, since, limit, true);
538
+ }
539
+ handleMyLiquidation(client, message) {
540
+ //
541
+ // {
542
+ // "arg": {
543
+ // "channel": "balance_and_position",
544
+ // "uid": "77982378738415879"
545
+ // },
546
+ // "data": [{
547
+ // "pTime": "1597026383085",
548
+ // "eventType": "snapshot",
549
+ // "balData": [{
550
+ // "ccy": "BTC",
551
+ // "cashBal": "1",
552
+ // "uTime": "1597026383085"
553
+ // }],
554
+ // "posData": [{
555
+ // "posId": "1111111111",
556
+ // "tradeId": "2",
557
+ // "instId": "BTC-USD-191018",
558
+ // "instType": "FUTURES",
559
+ // "mgnMode": "cross",
560
+ // "posSide": "long",
561
+ // "pos": "10",
562
+ // "ccy": "BTC",
563
+ // "posCcy": "",
564
+ // "avgPx": "3320",
565
+ // "uTIme": "1597026383085"
566
+ // }],
567
+ // "trades": [{
568
+ // "instId": "BTC-USD-191018",
569
+ // "tradeId": "2",
570
+ // }]
571
+ // }]
572
+ // }
573
+ //
574
+ const rawLiquidations = this.safeList(message, 'data', []);
575
+ for (let i = 0; i < rawLiquidations.length; i++) {
576
+ const rawLiquidation = rawLiquidations[i];
577
+ const eventType = this.safeString(rawLiquidation, 'eventType');
578
+ if (eventType !== 'liquidation') {
579
+ return;
580
+ }
581
+ const liquidation = this.parseWsMyLiquidation(rawLiquidation);
582
+ const symbol = this.safeString(liquidation, 'symbol');
583
+ let liquidations = this.safeValue(this.liquidations, symbol);
584
+ if (liquidations === undefined) {
585
+ const limit = this.safeInteger(this.options, 'myLiquidationsLimit', 1000);
586
+ liquidations = new ArrayCache(limit);
587
+ }
588
+ liquidations.append(liquidation);
589
+ this.liquidations[symbol] = liquidations;
590
+ client.resolve([liquidation], 'myLiquidations');
591
+ client.resolve([liquidation], 'myLiquidations::' + symbol);
592
+ }
593
+ }
594
+ parseWsMyLiquidation(liquidation, market = undefined) {
595
+ //
596
+ // {
597
+ // "pTime": "1597026383085",
598
+ // "eventType": "snapshot",
599
+ // "balData": [{
600
+ // "ccy": "BTC",
601
+ // "cashBal": "1",
602
+ // "uTime": "1597026383085"
603
+ // }],
604
+ // "posData": [{
605
+ // "posId": "1111111111",
606
+ // "tradeId": "2",
607
+ // "instId": "BTC-USD-191018",
608
+ // "instType": "FUTURES",
609
+ // "mgnMode": "cross",
610
+ // "posSide": "long",
611
+ // "pos": "10",
612
+ // "ccy": "BTC",
613
+ // "posCcy": "",
614
+ // "avgPx": "3320",
615
+ // "uTIme": "1597026383085"
616
+ // }],
617
+ // "trades": [{
618
+ // "instId": "BTC-USD-191018",
619
+ // "tradeId": "2",
620
+ // }]
621
+ // }
622
+ //
623
+ const posData = this.safeList(liquidation, 'posData', []);
624
+ const firstPosData = this.safeDict(posData, 0, {});
625
+ const marketId = this.safeString(firstPosData, 'instId');
626
+ market = this.safeMarket(marketId, market);
627
+ const timestamp = this.safeInteger(firstPosData, 'uTIme');
628
+ return this.safeLiquidation({
629
+ 'info': liquidation,
630
+ 'symbol': this.safeSymbol(marketId, market),
631
+ 'contracts': this.safeNumber(firstPosData, 'pos'),
632
+ 'contractSize': this.safeNumber(market, 'contractSize'),
633
+ 'price': this.safeNumber(liquidation, 'avgPx'),
634
+ 'baseValue': undefined,
635
+ 'quoteValue': undefined,
636
+ 'timestamp': timestamp,
637
+ 'datetime': this.iso8601(timestamp),
638
+ });
639
+ }
640
+ parseWsLiquidation(liquidation, market = undefined) {
641
+ //
642
+ // public liquidation
643
+ // {
644
+ // "details": [
645
+ // {
646
+ // "bkLoss": "0",
647
+ // "bkPx": "0.007831",
648
+ // "ccy": "",
649
+ // "posSide": "short",
650
+ // "side": "buy",
651
+ // "sz": "13",
652
+ // "ts": "1692266434010"
653
+ // }
654
+ // ],
655
+ // "instFamily": "IOST-USDT",
656
+ // "instId": "IOST-USDT-SWAP",
657
+ // "instType": "SWAP",
658
+ // "uly": "IOST-USDT"
659
+ // }
660
+ //
661
+ const details = this.safeList(liquidation, 'details', []);
662
+ const liquidationDetails = this.safeDict(details, 0, {});
663
+ const marketId = this.safeString(liquidation, 'instId');
664
+ market = this.safeMarket(marketId, market);
665
+ const timestamp = this.safeInteger(liquidationDetails, 'ts');
666
+ return this.safeLiquidation({
667
+ 'info': liquidation,
668
+ 'symbol': this.safeSymbol(marketId, market),
669
+ 'contracts': this.safeNumber(liquidationDetails, 'sz'),
670
+ 'contractSize': this.safeNumber(market, 'contractSize'),
671
+ 'price': this.safeNumber(liquidationDetails, 'bkPx'),
672
+ 'baseValue': undefined,
673
+ 'quoteValue': undefined,
674
+ 'timestamp': timestamp,
675
+ 'datetime': this.iso8601(timestamp),
676
+ });
677
+ }
425
678
  async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
426
679
  /**
427
680
  * @method
@@ -881,6 +1134,9 @@ export default class okx extends okxRest {
881
1134
  await this.authenticate();
882
1135
  return await this.subscribe('private', 'account', 'account', undefined, params);
883
1136
  }
1137
+ handleBalanceAndPosition(client, message) {
1138
+ this.handleMyLiquidation(client, message);
1139
+ }
884
1140
  handleBalance(client, message) {
885
1141
  //
886
1142
  // {
@@ -1724,6 +1980,8 @@ export default class okx extends okxRest {
1724
1980
  // 'margin_account': this.handleBalance,
1725
1981
  'orders': this.handleOrders,
1726
1982
  'orders-algo': this.handleOrders,
1983
+ 'liquidation-orders': this.handleLiquidation,
1984
+ 'balance_and_position': this.handleBalanceAndPosition,
1727
1985
  };
1728
1986
  const method = this.safeValue(methods, channel);
1729
1987
  if (method === undefined) {
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/probit.js';
2
- import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class probit
5
5
  * @augments Exchange
@@ -7,7 +7,7 @@ import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Ord
7
7
  export default class probit extends Exchange {
8
8
  describe(): any;
9
9
  fetchMarkets(params?: {}): Promise<Market[]>;
10
- parseMarket(market: any): Market;
10
+ parseMarket(market: Dict): Market;
11
11
  fetchCurrencies(params?: {}): Promise<Currencies>;
12
12
  parseBalance(response: any): Balances;
13
13
  fetchBalance(params?: {}): Promise<Balances>;
@@ -50,7 +50,7 @@ export default class probit extends Exchange {
50
50
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
51
51
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
52
52
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
53
- parseTransactionStatus(status: any): string;
53
+ parseTransactionStatus(status: Str): string;
54
54
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
55
55
  parseDepositWithdrawFee(fee: any, currency?: Currency): any;
56
56
  nonce(): number;
@@ -61,5 +61,5 @@ export default class probit extends Exchange {
61
61
  headers: any;
62
62
  };
63
63
  signIn(params?: {}): Promise<any>;
64
- handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
64
+ handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
65
65
  }
@@ -15,7 +15,7 @@ export declare class BigInteger {
15
15
  protected intValue(): number;
16
16
  protected byteValue(): number;
17
17
  protected shortValue(): number;
18
- protected signum(): 1 | 0 | -1;
18
+ protected signum(): 0 | 1 | -1;
19
19
  toByteArray(): number[];
20
20
  protected equals(a: BigInteger): boolean;
21
21
  protected min(a: BigInteger): BigInteger;
package/js/src/timex.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/timex.js';
2
- import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction } from './base/types.js';
2
+ import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class timex
5
5
  * @augments Exchange
@@ -30,7 +30,7 @@ export default class timex extends Exchange {
30
30
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
31
31
  parseTradingFee(fee: Dict, market?: Market): TradingFeeInterface;
32
32
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
33
- parseMarket(market: any): Market;
33
+ parseMarket(market: Dict): Market;
34
34
  parseCurrency(currency: Dict): {
35
35
  id: string;
36
36
  code: string;
@@ -78,5 +78,5 @@ export default class timex extends Exchange {
78
78
  body: any;
79
79
  headers: any;
80
80
  };
81
- handleErrors(statusCode: any, statusText: any, url: any, method: any, responseHeaders: any, responseBody: any, response: any, requestHeaders: any, requestBody: any): any;
81
+ handleErrors(statusCode: int, statusText: string, url: string, method: string, responseHeaders: Dict, responseBody: any, response: any, requestHeaders: any, requestBody: any): any;
82
82
  }
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/tokocrypto.js';
2
- import type { Balances, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class tokocrypto
5
5
  * @augments Exchange
@@ -49,6 +49,6 @@ export default class tokocrypto extends Exchange {
49
49
  body: any;
50
50
  headers: any;
51
51
  };
52
- handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
52
+ handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
53
53
  calculateRateLimiterCost(api: any, method: any, path: any, params: any, config?: {}): any;
54
54
  }
@@ -1,6 +1,6 @@
1
1
  import { Market } from '../ccxt.js';
2
2
  import Exchange from './abstract/tradeogre.js';
3
- import type { Int, Num, Order, OrderSide, OrderType, Str, Ticker, IndexType, Dict } from './base/types.js';
3
+ import type { Int, Num, Order, OrderSide, OrderType, Str, Ticker, IndexType, Dict, int } from './base/types.js';
4
4
  /**
5
5
  * @class tradeogre
6
6
  * @augments Exchange
@@ -28,5 +28,5 @@ export default class tradeogre extends Exchange {
28
28
  body: any;
29
29
  headers: any;
30
30
  };
31
- handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
31
+ handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
32
32
  }
package/js/src/upbit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/upbit.js';
2
- import type { Balances, Currency, Dict, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class upbit
5
5
  * @augments Exchange
@@ -39,7 +39,7 @@ export default class upbit extends Exchange {
39
39
  fetchMarket(symbol: string, params?: {}): Promise<import("./base/types.js").MarketInterface>;
40
40
  fetchMarketById(id: string, params?: {}): Promise<import("./base/types.js").MarketInterface>;
41
41
  fetchMarkets(params?: {}): Promise<Market[]>;
42
- parseMarket(market: any): Market;
42
+ parseMarket(market: Dict): Market;
43
43
  parseBalance(response: any): Balances;
44
44
  fetchBalance(params?: {}): Promise<Balances>;
45
45
  fetchOrderBooks(symbols?: Strings, limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
@@ -58,7 +58,7 @@ export default class upbit extends Exchange {
58
58
  fetchDeposit(id: string, code?: Str, params?: {}): Promise<Transaction>;
59
59
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
60
60
  fetchWithdrawal(id: string, code?: Str, params?: {}): Promise<Transaction>;
61
- parseTransactionStatus(status: any): string;
61
+ parseTransactionStatus(status: Str): string;
62
62
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
63
63
  parseOrderStatus(status: Str): string;
64
64
  parseOrder(order: Dict, market?: Market): Order;
@@ -97,5 +97,5 @@ export default class upbit extends Exchange {
97
97
  body: any;
98
98
  headers: any;
99
99
  };
100
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
100
+ handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
101
101
  }
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/wavesexchange.js';
2
- import type { Balances, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class wavesexchange
5
5
  * @augments Exchange
@@ -87,7 +87,7 @@ export default class wavesexchange extends Exchange {
87
87
  parseTrade(trade: Dict, market?: Market): Trade;
88
88
  parseDepositWithdrawFees(response: any, codes?: Strings, currencyIdKey?: any): any;
89
89
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
90
- handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
90
+ handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
91
91
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
92
92
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
93
93
  }
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/wazirx.js';
2
- import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class wazirx
5
5
  * @augments Exchange
@@ -7,7 +7,7 @@ import type { Balances, Currencies, Currency, Dict, Int, Market, Num, OHLCV, Ord
7
7
  export default class wazirx extends Exchange {
8
8
  describe(): any;
9
9
  fetchMarkets(params?: {}): Promise<Market[]>;
10
- parseMarket(market: any): Market;
10
+ parseMarket(market: Dict): Market;
11
11
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
12
12
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
@@ -42,7 +42,7 @@ export default class wazirx extends Exchange {
42
42
  info: any;
43
43
  }>;
44
44
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
45
- parseTransactionStatus(status: any): string;
45
+ parseTransactionStatus(status: Str): string;
46
46
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
47
47
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
48
48
  url: string;
@@ -50,5 +50,5 @@ export default class wazirx extends Exchange {
50
50
  body: any;
51
51
  headers: any;
52
52
  };
53
- handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
53
+ handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
54
54
  }
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/whitebit.js';
2
- import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Currencies, TradingFees, Dict } from './base/types.js';
2
+ import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Currencies, TradingFees, Dict, int } from './base/types.js';
3
3
  /**
4
4
  * @class whitebit
5
5
  * @augments Exchange
@@ -7,7 +7,7 @@ import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, Orde
7
7
  export default class whitebit extends Exchange {
8
8
  describe(): any;
9
9
  fetchMarkets(params?: {}): Promise<Market[]>;
10
- parseMarket(market: any): Market;
10
+ parseMarket(market: Dict): Market;
11
11
  fetchCurrencies(params?: {}): Promise<Currencies>;
12
12
  fetchTransactionFees(codes?: Strings, params?: {}): Promise<{
13
13
  withdraw: Dict;
@@ -60,7 +60,7 @@ export default class whitebit extends Exchange {
60
60
  parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
61
61
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<any>;
62
62
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
63
- parseTransactionStatus(status: any): string;
63
+ parseTransactionStatus(status: Str): string;
64
64
  fetchDeposit(id: string, code?: Str, params?: {}): Promise<Transaction>;
65
65
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
66
66
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
@@ -104,5 +104,5 @@ export default class whitebit extends Exchange {
104
104
  body: any;
105
105
  headers: any;
106
106
  };
107
- handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
107
+ handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
108
108
  }
package/js/src/woo.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/woo.js';
2
- import type { TransferEntry, Balances, Conversion, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Dict, Strings, Trade, Transaction, Leverage, Account, Currencies, TradingFees, TransferEntries } from './base/types.js';
2
+ import type { TransferEntry, Balances, Conversion, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Dict, Strings, Trade, Transaction, Leverage, Account, Currencies, TradingFees, TransferEntries, int } from './base/types.js';
3
3
  /**
4
4
  * @class woo
5
5
  * @augments Exchange
@@ -15,7 +15,7 @@ export default class woo extends Exchange {
15
15
  }>;
16
16
  fetchTime(params?: {}): Promise<number>;
17
17
  fetchMarkets(params?: {}): Promise<Market[]>;
18
- parseMarket(market: any): Market;
18
+ parseMarket(market: Dict): Market;
19
19
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
20
20
  parseTrade(trade: Dict, market?: Market): Trade;
21
21
  parseTokenAndFeeTemp(item: any, feeTokenKey: any, feeAmountKey: any): any;
@@ -83,7 +83,7 @@ export default class woo extends Exchange {
83
83
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
84
84
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
85
85
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
86
- parseTransactionStatus(status: any): string;
86
+ parseTransactionStatus(status: Str): string;
87
87
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
88
88
  fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<TransferEntries>;
89
89
  parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
@@ -106,7 +106,7 @@ export default class woo extends Exchange {
106
106
  body: any;
107
107
  headers: any;
108
108
  };
109
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
109
+ handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
110
110
  parseIncome(income: any, market?: Market): {
111
111
  info: any;
112
112
  symbol: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/woofipro.js';
2
- import type { Balances, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage, Currencies, TradingFees, OrderRequest, Dict } from './base/types.js';
2
+ import type { Balances, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage, Currencies, TradingFees, OrderRequest, Dict, int } from './base/types.js';
3
3
  /**
4
4
  * @class woofipro
5
5
  * @augments Exchange
@@ -15,7 +15,7 @@ export default class woofipro extends Exchange {
15
15
  info: any;
16
16
  }>;
17
17
  fetchTime(params?: {}): Promise<number>;
18
- parseMarket(market: any): Market;
18
+ parseMarket(market: Dict): Market;
19
19
  fetchMarkets(params?: {}): Promise<Market[]>;
20
20
  fetchCurrencies(params?: {}): Promise<Currencies>;
21
21
  parseTokenAndFeeTemp(item: any, feeTokenKey: any, feeAmountKey: any): any;
@@ -105,7 +105,7 @@ export default class woofipro extends Exchange {
105
105
  parseLedgerEntryType(type: any): string;
106
106
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
107
107
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
108
- parseTransactionStatus(status: any): string;
108
+ parseTransactionStatus(status: Str): string;
109
109
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
110
110
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
111
111
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
@@ -127,5 +127,5 @@ export default class woofipro extends Exchange {
127
127
  body: any;
128
128
  headers: any;
129
129
  };
130
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
130
+ handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
131
131
  }
package/js/src/yobit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/yobit.js';
2
- import type { Transaction, Balances, Dict, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Num, TradingFees, Dictionary } from './base/types.js';
2
+ import type { Transaction, Balances, Dict, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Num, TradingFees, Dictionary, int } from './base/types.js';
3
3
  /**
4
4
  * @class yobit
5
5
  * @augments Exchange
@@ -62,5 +62,5 @@ export default class yobit extends Exchange {
62
62
  body: any;
63
63
  headers: any;
64
64
  };
65
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
65
+ handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
66
66
  }
package/js/src/zaif.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/zaif.js';
2
- import type { Balances, Currency, Dict, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction, int } from './base/types.js';
3
3
  /**
4
4
  * @class zaif
5
5
  * @augments Exchange
@@ -7,7 +7,7 @@ import type { Balances, Currency, Dict, Int, Market, Num, Order, OrderBook, Orde
7
7
  export default class zaif extends Exchange {
8
8
  describe(): any;
9
9
  fetchMarkets(params?: {}): Promise<Market[]>;
10
- parseMarket(market: any): Market;
10
+ parseMarket(market: Dict): Market;
11
11
  parseBalance(response: any): Balances;
12
12
  fetchBalance(params?: {}): Promise<Balances>;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
@@ -29,5 +29,5 @@ export default class zaif extends Exchange {
29
29
  body: any;
30
30
  headers: any;
31
31
  };
32
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
32
+ handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
33
33
  }
package/js/src/zonda.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/zonda.js';
2
- import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Dict } from './base/types.js';
2
+ import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Dict, int } from './base/types.js';
3
3
  /**
4
4
  * @class zonda
5
5
  * @augments Exchange
@@ -69,5 +69,5 @@ export default class zonda extends Exchange {
69
69
  body: any;
70
70
  headers: any;
71
71
  };
72
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
72
+ handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
73
73
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.3.33",
3
+ "version": "4.3.35",
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",