ccxt 4.1.47 → 4.1.49

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 (114) hide show
  1. package/README.md +124 -124
  2. package/dist/ccxt.browser.js +670 -460
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +6 -1
  5. package/dist/cjs/src/abstract/htx.js +9 -0
  6. package/dist/cjs/src/binance.js +2 -0
  7. package/dist/cjs/src/bitmart.js +183 -62
  8. package/dist/cjs/src/coinex.js +67 -18
  9. package/dist/cjs/src/htx.js +8505 -0
  10. package/dist/cjs/src/huobi.js +5 -8503
  11. package/dist/cjs/src/kraken.js +0 -4
  12. package/dist/cjs/src/mexc.js +21 -21
  13. package/dist/cjs/src/pro/htx.js +2356 -0
  14. package/dist/cjs/src/pro/huobi.js +5 -2345
  15. package/dist/cjs/src/timex.js +1 -1
  16. package/js/ccxt.d.ts +8 -2
  17. package/js/ccxt.js +6 -2
  18. package/js/src/abstract/binance.d.ts +2 -0
  19. package/js/src/abstract/binancecoinm.d.ts +2 -0
  20. package/js/src/abstract/binanceus.d.ts +2 -0
  21. package/js/src/abstract/binanceusdm.d.ts +2 -0
  22. package/js/src/abstract/htx.d.ts +544 -0
  23. package/js/src/abstract/htx.js +11 -0
  24. package/js/src/abstract/huobi.d.ts +4 -4
  25. package/js/src/abstract/huobi.js +3 -3
  26. package/js/src/ace.d.ts +2 -2
  27. package/js/src/ascendex.d.ts +2 -2
  28. package/js/src/base/Exchange.d.ts +2 -2
  29. package/js/src/base/types.d.ts +0 -1
  30. package/js/src/bigone.d.ts +2 -2
  31. package/js/src/binance.d.ts +3 -56
  32. package/js/src/binance.js +2 -0
  33. package/js/src/bingx.d.ts +3 -55
  34. package/js/src/bitbns.d.ts +2 -2
  35. package/js/src/bitfinex.d.ts +2 -2
  36. package/js/src/bitfinex2.d.ts +2 -2
  37. package/js/src/bitget.d.ts +3 -53
  38. package/js/src/bithumb.d.ts +2 -2
  39. package/js/src/bitmart.d.ts +4 -2
  40. package/js/src/bitmart.js +183 -62
  41. package/js/src/bitmex.d.ts +2 -2
  42. package/js/src/bitopro.d.ts +2 -2
  43. package/js/src/bitpanda.d.ts +2 -2
  44. package/js/src/bitrue.d.ts +2 -2
  45. package/js/src/bitstamp.d.ts +2 -2
  46. package/js/src/bittrex.d.ts +2 -2
  47. package/js/src/bitvavo.d.ts +2 -2
  48. package/js/src/blockchaincom.d.ts +2 -2
  49. package/js/src/btcalpha.d.ts +2 -2
  50. package/js/src/btcturk.d.ts +2 -2
  51. package/js/src/bybit.d.ts +2 -2
  52. package/js/src/cex.d.ts +2 -2
  53. package/js/src/coinbase.d.ts +2 -2
  54. package/js/src/coinbasepro.d.ts +2 -2
  55. package/js/src/coinex.d.ts +2 -2
  56. package/js/src/coinex.js +67 -18
  57. package/js/src/coinfalcon.d.ts +2 -2
  58. package/js/src/coinlist.d.ts +2 -2
  59. package/js/src/coinone.d.ts +2 -2
  60. package/js/src/coinsph.d.ts +2 -2
  61. package/js/src/coinspot.d.ts +2 -2
  62. package/js/src/cryptocom.d.ts +2 -2
  63. package/js/src/currencycom.d.ts +2 -2
  64. package/js/src/delta.d.ts +2 -2
  65. package/js/src/deribit.d.ts +2 -2
  66. package/js/src/digifinex.d.ts +2 -2
  67. package/js/src/exmo.d.ts +2 -2
  68. package/js/src/gate.d.ts +2 -2
  69. package/js/src/gemini.d.ts +3 -51
  70. package/js/src/hitbtc.d.ts +2 -2
  71. package/js/src/hollaex.d.ts +2 -2
  72. package/js/src/htx.d.ts +257 -0
  73. package/js/src/htx.js +8506 -0
  74. package/js/src/huobi.d.ts +2 -255
  75. package/js/src/huobi.js +5 -8503
  76. package/js/src/huobijp.d.ts +2 -2
  77. package/js/src/idex.d.ts +2 -2
  78. package/js/src/indodax.d.ts +2 -2
  79. package/js/src/kraken.d.ts +2 -2
  80. package/js/src/kraken.js +0 -4
  81. package/js/src/krakenfutures.d.ts +2 -2
  82. package/js/src/kucoin.d.ts +2 -2
  83. package/js/src/kuna.d.ts +2 -2
  84. package/js/src/latoken.d.ts +2 -2
  85. package/js/src/lbank.d.ts +2 -2
  86. package/js/src/lbank2.d.ts +2 -2
  87. package/js/src/luno.d.ts +2 -2
  88. package/js/src/lykke.d.ts +2 -2
  89. package/js/src/mexc.d.ts +2 -2
  90. package/js/src/mexc.js +21 -21
  91. package/js/src/novadax.d.ts +2 -2
  92. package/js/src/oceanex.d.ts +2 -2
  93. package/js/src/okcoin.d.ts +3 -3
  94. package/js/src/okx.d.ts +3 -3
  95. package/js/src/phemex.d.ts +2 -2
  96. package/js/src/poloniex.d.ts +2 -2
  97. package/js/src/poloniexfutures.d.ts +2 -2
  98. package/js/src/pro/htx.d.ts +45 -0
  99. package/js/src/pro/htx.js +2357 -0
  100. package/js/src/pro/huobi.d.ts +2 -43
  101. package/js/src/pro/huobi.js +5 -2345
  102. package/js/src/probit.d.ts +2 -2
  103. package/js/src/tidex.d.ts +2 -2
  104. package/js/src/timex.d.ts +3 -53
  105. package/js/src/timex.js +1 -1
  106. package/js/src/tokocrypto.d.ts +2 -2
  107. package/js/src/upbit.d.ts +2 -2
  108. package/js/src/wavesexchange.d.ts +2 -2
  109. package/js/src/wazirx.d.ts +2 -2
  110. package/js/src/whitebit.d.ts +2 -2
  111. package/js/src/yobit.d.ts +2 -2
  112. package/js/src/zonda.d.ts +2 -2
  113. package/package.json +1 -1
  114. package/skip-tests.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/probit.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class probit
5
5
  * @extends Exchange
@@ -11,7 +11,7 @@ export default class probit extends Exchange {
11
11
  parseBalance(response: any): Balances;
12
12
  fetchBalance(params?: {}): Promise<Balances>;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
14
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
14
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
15
15
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
16
16
  parseTicker(ticker: any, market?: any): Ticker;
17
17
  fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
package/js/src/tidex.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/tidex.js';
2
- import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class tidex
5
5
  * @extends Exchange
@@ -13,7 +13,7 @@ export default class tidex extends Exchange {
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
14
14
  fetchOrderBooks(symbols?: string[], limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
15
15
  parseTicker(ticker: any, market?: any): Ticker;
16
- fetchTickers(symbols?: string[], params?: {}): Promise<Dictionary<Ticker>>;
16
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
17
17
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
18
18
  parseTrade(trade: any, market?: any): Trade;
19
19
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
package/js/src/timex.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/timex.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class timex
5
5
  * @extends Exchange
@@ -12,7 +12,7 @@ export default class timex extends Exchange {
12
12
  fetchWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
13
13
  getCurrencyByAddress(address: any): any;
14
14
  parseTransaction(transaction: any, currency?: any): Transaction;
15
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
15
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
16
16
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
17
17
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -39,57 +39,7 @@ export default class timex extends Exchange {
39
39
  maker: number;
40
40
  taker: number;
41
41
  }>;
42
- parseMarket(market: any): {
43
- id: string;
44
- symbol: string;
45
- base: any;
46
- quote: any;
47
- settle: any;
48
- baseId: string;
49
- quoteId: string;
50
- settleId: any;
51
- type: string;
52
- spot: boolean;
53
- margin: boolean;
54
- swap: boolean;
55
- future: boolean;
56
- option: boolean;
57
- active: boolean;
58
- contract: boolean;
59
- linear: any;
60
- inverse: any;
61
- taker: number;
62
- maker: number;
63
- contractSize: any;
64
- expiry: any;
65
- expiryDatetime: any;
66
- strike: any;
67
- optionType: any;
68
- precision: {
69
- amount: number;
70
- price: number;
71
- };
72
- limits: {
73
- leverage: {
74
- min: any;
75
- max: any;
76
- };
77
- amount: {
78
- min: number;
79
- max: any;
80
- };
81
- price: {
82
- min: number;
83
- max: any;
84
- };
85
- cost: {
86
- min: string;
87
- max: any;
88
- };
89
- };
90
- created: any;
91
- info: any;
92
- };
42
+ parseMarket(market: any): Market;
93
43
  parseCurrency(currency: any): {
94
44
  id: any;
95
45
  code: any;
package/js/src/timex.js CHANGED
@@ -1188,7 +1188,7 @@ export default class timex extends Exchange {
1188
1188
  const minBase = this.safeString(market, 'baseMinSize');
1189
1189
  const minAmount = Precise.stringMax(amountIncrement, minBase);
1190
1190
  const priceIncrement = this.safeString(market, 'tickSize');
1191
- const minCost = this.safeString(market, 'quoteMinSize');
1191
+ const minCost = this.safeNumber(market, 'quoteMinSize');
1192
1192
  return {
1193
1193
  'id': id,
1194
1194
  'symbol': base + '/' + quote,
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/tokocrypto.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class tokocrypto
5
5
  * @extends Exchange
@@ -13,7 +13,7 @@ export default class tokocrypto extends Exchange {
13
13
  parseTrade(trade: any, market?: any): Trade;
14
14
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
15
15
  parseTicker(ticker: any, market?: any): Ticker;
16
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
16
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
17
17
  getMarketIdByType(market: any): any;
18
18
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
19
19
  fetchBidsAsks(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
package/js/src/upbit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/upbit.js';
2
- import { Balances, Dictionary, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Dictionary, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class upbit
5
5
  * @extends Exchange
@@ -142,7 +142,7 @@ export default class upbit extends Exchange {
142
142
  fetchOrderBooks(symbols?: string[], limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
143
143
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
144
144
  parseTicker(ticker: any, market?: any): Ticker;
145
- fetchTickers(symbols?: string[], params?: {}): Promise<Dictionary<Ticker>>;
145
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
146
146
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
147
147
  parseTrade(trade: any, market?: any): Trade;
148
148
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -1,6 +1,6 @@
1
1
  import Exchange from './abstract/wavesexchange.js';
2
2
  import { Precise } from './base/Precise.js';
3
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
3
+ import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
4
4
  /**
5
5
  * @class wavesexchange
6
6
  * @extends Exchange
@@ -29,7 +29,7 @@ export default class wavesexchange extends Exchange {
29
29
  signIn(params?: {}): Promise<any>;
30
30
  parseTicker(ticker: any, market?: any): Ticker;
31
31
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
32
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
32
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
33
33
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
34
34
  filterFutureCandles(ohlcvs: any): any[];
35
35
  parseOHLCV(ohlcv: any, market?: any): OHLCV;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/wazirx.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade } from './base/types.js';
2
+ import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade } from './base/types.js';
3
3
  /**
4
4
  * @class wazirx
5
5
  * @extends Exchange
@@ -11,7 +11,7 @@ export default class wazirx extends Exchange {
11
11
  parseOHLCV(ohlcv: any, market?: any): OHLCV;
12
12
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
13
13
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
14
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
14
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
15
15
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
16
16
  parseTrade(trade: any, market?: any): Trade;
17
17
  fetchStatus(params?: {}): Promise<{
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/whitebit.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class whitebit
5
5
  * @extends Exchange
@@ -18,7 +18,7 @@ export default class whitebit extends Exchange {
18
18
  fetchTradingFees(params?: {}): Promise<{}>;
19
19
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
20
20
  parseTicker(ticker: any, market?: any): Ticker;
21
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
21
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
22
22
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
23
23
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
24
24
  fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
package/js/src/yobit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/yobit.js';
2
- import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Trade } from './base/types.js';
2
+ import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade } from './base/types.js';
3
3
  /**
4
4
  * @class yobit
5
5
  * @extends Exchange
@@ -12,7 +12,7 @@ export default class yobit extends Exchange {
12
12
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
13
13
  fetchOrderBooks(symbols?: string[], limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
14
14
  parseTicker(ticker: any, market?: any): Ticker;
15
- fetchTickers(symbols?: string[], params?: {}): Promise<Dictionary<Ticker>>;
15
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
16
16
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
17
17
  parseTrade(trade: any, market?: any): Trade;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
package/js/src/zonda.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/zonda.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class zonda
5
5
  * @extends Exchange
@@ -15,7 +15,7 @@ export default class zonda extends Exchange {
15
15
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
16
16
  parseTicker(ticker: any, market?: any): Ticker;
17
17
  fetchTicker(symbol: any, params?: {}): Promise<Ticker>;
18
- fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
18
+ fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
19
19
  fetchLedger(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
20
20
  parseLedgerEntry(item: any, currency?: any): {
21
21
  info: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.1.47",
3
+ "version": "4.1.49",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
package/skip-tests.json CHANGED
@@ -511,7 +511,7 @@
511
511
  }
512
512
  },
513
513
  "btcalpha": {
514
- "skip": true,
514
+ "skip": true,
515
515
  "skipMethods": {
516
516
  "fetchOrderBook": "bids[0][0] is not < asks[0][0]",
517
517
  "fetchL2OrderBook": "same",
@@ -646,6 +646,8 @@
646
646
  "skipMethods": {
647
647
  "loadMarkets": "precision key has an null value, but is expected to have a value| taker key missing from structure (markets are created from constructor .options, so needs to fill with default values in base)",
648
648
  "fetchTickers": {
649
+ "ask": "broken bid-ask",
650
+ "bid": "broken bid-ask",
649
651
  "quoteVolume": "quoteVolume >= baseVolume * low is failing"
650
652
  }
651
653
  }
@@ -943,13 +945,11 @@
943
945
  "hollaex": {
944
946
  "skipWs": true
945
947
  },
946
- "huobi": {
948
+ "htx": {
947
949
  "skipWs": true,
948
950
  "skipMethods": {
949
951
  "loadMarkets": {
950
952
  "limits":"messed",
951
- "taker": "messed",
952
- "maker": "messed",
953
953
  "currencyIdAndCode": "messed codes"
954
954
  },
955
955
  "fetchCurrencies": {