ccxt 4.3.17 → 4.3.19

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 (174) hide show
  1. package/README.md +7 -5
  2. package/dist/cjs/ccxt.js +6 -1
  3. package/dist/cjs/src/abstract/woofipro.js +9 -0
  4. package/dist/cjs/src/ascendex.js +3 -4
  5. package/dist/cjs/src/base/Exchange.js +43 -3
  6. package/dist/cjs/src/base/functions/crypto.js +10 -3
  7. package/dist/cjs/src/base/functions/encode.js +6 -3
  8. package/dist/cjs/src/base/functions/number.js +8 -5
  9. package/dist/cjs/src/base/functions/rsa.js +5 -5
  10. package/dist/cjs/src/bigone.js +1 -1
  11. package/dist/cjs/src/binance.js +32 -8
  12. package/dist/cjs/src/bitfinex.js +25 -1
  13. package/dist/cjs/src/bitfinex2.js +59 -51
  14. package/dist/cjs/src/bitget.js +1 -5
  15. package/dist/cjs/src/bitmart.js +3 -3
  16. package/dist/cjs/src/bitstamp.js +1 -3
  17. package/dist/cjs/src/bybit.js +1 -0
  18. package/dist/cjs/src/coinex.js +321 -537
  19. package/dist/cjs/src/coinlist.js +1 -2
  20. package/dist/cjs/src/deribit.js +1 -1
  21. package/dist/cjs/src/hollaex.js +3 -3
  22. package/dist/cjs/src/htx.js +1 -1
  23. package/dist/cjs/src/indodax.js +1 -1
  24. package/dist/cjs/src/latoken.js +1 -1
  25. package/dist/cjs/src/mexc.js +1 -1
  26. package/dist/cjs/src/novadax.js +0 -1
  27. package/dist/cjs/src/okx.js +17 -0
  28. package/dist/cjs/src/poloniex.js +1 -2
  29. package/dist/cjs/src/pro/bitget.js +136 -192
  30. package/dist/cjs/src/pro/bybit.js +4 -2
  31. package/dist/cjs/src/pro/coinbaseinternational.js +9 -1
  32. package/dist/cjs/src/pro/okx.js +85 -0
  33. package/dist/cjs/src/pro/woofipro.js +1263 -0
  34. package/dist/cjs/src/wavesexchange.js +2 -2
  35. package/dist/cjs/src/woo.js +17 -3
  36. package/dist/cjs/src/woofipro.js +2698 -0
  37. package/js/ccxt.d.ts +8 -2
  38. package/js/ccxt.js +6 -2
  39. package/js/src/abstract/bybit.d.ts +1 -0
  40. package/js/src/abstract/okx.d.ts +1 -0
  41. package/js/src/abstract/woofipro.d.ts +122 -0
  42. package/js/src/abstract/woofipro.js +11 -0
  43. package/js/src/ace.d.ts +2 -2
  44. package/js/src/ascendex.d.ts +5 -15
  45. package/js/src/ascendex.js +3 -4
  46. package/js/src/base/Exchange.d.ts +27 -18
  47. package/js/src/base/Exchange.js +43 -3
  48. package/js/src/base/functions/crypto.d.ts +1 -1
  49. package/js/src/base/functions/crypto.js +10 -3
  50. package/js/src/base/functions/encode.d.ts +1 -1
  51. package/js/src/base/functions/encode.js +6 -3
  52. package/js/src/base/functions/number.d.ts +1 -1
  53. package/js/src/base/functions/number.js +8 -5
  54. package/js/src/base/functions/rsa.js +6 -6
  55. package/js/src/base/types.d.ts +4 -0
  56. package/js/src/bigone.d.ts +4 -14
  57. package/js/src/bigone.js +1 -1
  58. package/js/src/binance.d.ts +13 -71
  59. package/js/src/binance.js +32 -8
  60. package/js/src/binancecoinm.d.ts +2 -22
  61. package/js/src/binanceusdm.d.ts +2 -22
  62. package/js/src/bingx.d.ts +4 -14
  63. package/js/src/bit2c.d.ts +2 -2
  64. package/js/src/bitbank.d.ts +2 -2
  65. package/js/src/bitbns.d.ts +2 -2
  66. package/js/src/bitfinex.d.ts +6 -16
  67. package/js/src/bitfinex.js +25 -1
  68. package/js/src/bitfinex2.d.ts +6 -16
  69. package/js/src/bitfinex2.js +59 -51
  70. package/js/src/bitflyer.d.ts +2 -2
  71. package/js/src/bitget.d.ts +7 -17
  72. package/js/src/bitget.js +1 -5
  73. package/js/src/bithumb.d.ts +3 -3
  74. package/js/src/bitmart.d.ts +5 -14
  75. package/js/src/bitmart.js +3 -3
  76. package/js/src/bitmex.d.ts +4 -4
  77. package/js/src/bitopro.d.ts +2 -2
  78. package/js/src/bitrue.d.ts +5 -5
  79. package/js/src/bitso.d.ts +2 -2
  80. package/js/src/bitstamp.d.ts +3 -3
  81. package/js/src/bitstamp.js +1 -3
  82. package/js/src/bitteam.d.ts +2 -2
  83. package/js/src/bitvavo.d.ts +5 -5
  84. package/js/src/bl3p.d.ts +2 -2
  85. package/js/src/blockchaincom.d.ts +2 -2
  86. package/js/src/blofin.d.ts +4 -14
  87. package/js/src/btcalpha.d.ts +2 -2
  88. package/js/src/btcbox.d.ts +2 -2
  89. package/js/src/btcmarkets.d.ts +2 -2
  90. package/js/src/btcturk.d.ts +2 -2
  91. package/js/src/bybit.d.ts +8 -56
  92. package/js/src/bybit.js +1 -0
  93. package/js/src/cex.d.ts +2 -2
  94. package/js/src/coinbase.d.ts +4 -4
  95. package/js/src/coinbasepro.d.ts +3 -3
  96. package/js/src/coincheck.d.ts +2 -2
  97. package/js/src/coinex.d.ts +6 -16
  98. package/js/src/coinex.js +321 -537
  99. package/js/src/coinlist.d.ts +5 -15
  100. package/js/src/coinlist.js +1 -2
  101. package/js/src/coinmate.d.ts +2 -2
  102. package/js/src/coinmetro.d.ts +3 -3
  103. package/js/src/coinone.d.ts +2 -2
  104. package/js/src/coinsph.d.ts +2 -2
  105. package/js/src/coinspot.d.ts +2 -2
  106. package/js/src/cryptocom.d.ts +2 -2
  107. package/js/src/currencycom.d.ts +3 -3
  108. package/js/src/delta.d.ts +5 -43
  109. package/js/src/deribit.d.ts +7 -55
  110. package/js/src/deribit.js +1 -1
  111. package/js/src/digifinex.d.ts +5 -15
  112. package/js/src/exmo.d.ts +2 -2
  113. package/js/src/gate.d.ts +6 -54
  114. package/js/src/gemini.d.ts +2 -2
  115. package/js/src/hitbtc.d.ts +4 -14
  116. package/js/src/hollaex.d.ts +3 -3
  117. package/js/src/hollaex.js +3 -3
  118. package/js/src/htx.d.ts +6 -16
  119. package/js/src/htx.js +1 -1
  120. package/js/src/huobijp.d.ts +4 -4
  121. package/js/src/hyperliquid.d.ts +1 -1
  122. package/js/src/idex.d.ts +3 -3
  123. package/js/src/independentreserve.d.ts +2 -2
  124. package/js/src/indodax.d.ts +2 -2
  125. package/js/src/indodax.js +1 -1
  126. package/js/src/kraken.d.ts +4 -14
  127. package/js/src/krakenfutures.d.ts +4 -14
  128. package/js/src/kucoin.d.ts +5 -15
  129. package/js/src/kucoinfutures.d.ts +4 -14
  130. package/js/src/kuna.d.ts +2 -2
  131. package/js/src/latoken.d.ts +5 -15
  132. package/js/src/latoken.js +1 -1
  133. package/js/src/lbank.d.ts +2 -2
  134. package/js/src/luno.d.ts +2 -2
  135. package/js/src/lykke.d.ts +2 -2
  136. package/js/src/mercado.d.ts +2 -2
  137. package/js/src/mexc.d.ts +8 -28
  138. package/js/src/mexc.js +1 -1
  139. package/js/src/ndax.d.ts +2 -2
  140. package/js/src/novadax.d.ts +4 -15
  141. package/js/src/novadax.js +0 -1
  142. package/js/src/okcoin.d.ts +4 -14
  143. package/js/src/okx.d.ts +10 -68
  144. package/js/src/okx.js +17 -0
  145. package/js/src/onetrading.d.ts +2 -2
  146. package/js/src/paymium.d.ts +4 -14
  147. package/js/src/phemex.d.ts +5 -15
  148. package/js/src/poloniex.d.ts +3 -13
  149. package/js/src/poloniex.js +1 -2
  150. package/js/src/poloniexfutures.d.ts +2 -2
  151. package/js/src/pro/bitget.js +137 -193
  152. package/js/src/pro/bybit.js +4 -2
  153. package/js/src/pro/coinbaseinternational.d.ts +3 -3
  154. package/js/src/pro/coinbaseinternational.js +9 -1
  155. package/js/src/pro/okx.d.ts +4 -1
  156. package/js/src/pro/okx.js +85 -0
  157. package/js/src/pro/woofipro.d.ts +47 -0
  158. package/js/src/pro/woofipro.js +1264 -0
  159. package/js/src/probit.d.ts +3 -3
  160. package/js/src/timex.d.ts +2 -2
  161. package/js/src/tokocrypto.d.ts +3 -3
  162. package/js/src/upbit.d.ts +2 -2
  163. package/js/src/wavesexchange.d.ts +3 -3
  164. package/js/src/wavesexchange.js +2 -2
  165. package/js/src/wazirx.d.ts +2 -2
  166. package/js/src/whitebit.d.ts +3 -13
  167. package/js/src/woo.d.ts +7 -17
  168. package/js/src/woo.js +17 -3
  169. package/js/src/woofipro.d.ts +131 -0
  170. package/js/src/woofipro.js +2699 -0
  171. package/js/src/yobit.d.ts +2 -2
  172. package/js/src/zaif.d.ts +2 -2
  173. package/js/src/zonda.d.ts +4 -14
  174. package/package.json +1 -1
package/js/src/bingx.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bingx.js';
2
- import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Dict, Leverage, MarginMode, Num, MarginModification, Currencies } from './base/types.js';
2
+ import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Dict, Leverage, MarginMode, Num, MarginModification, Currencies, TransferEntries } from './base/types.js';
3
3
  /**
4
4
  * @class bingx
5
5
  * @augments Exchange
@@ -85,18 +85,8 @@ export default class bingx extends Exchange {
85
85
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
86
86
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
87
87
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
88
- fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
89
- parseTransfer(transfer: any, currency?: Currency): {
90
- info: any;
91
- id: string;
92
- timestamp: number;
93
- datetime: string;
94
- currency: string;
95
- amount: number;
96
- fromAccount: string;
97
- toAccount: string;
98
- status: string;
99
- };
88
+ fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<TransferEntries>;
89
+ parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
100
90
  fetchDepositAddressesByNetwork(code: string, params?: {}): Promise<import("./base/types.js").Dictionary<any>>;
101
91
  fetchDepositAddress(code: string, params?: {}): Promise<import("./base/types.js").Dictionary<any>>;
102
92
  parseDepositAddress(depositAddress: any, currency?: Currency): {
@@ -116,7 +106,7 @@ export default class bingx extends Exchange {
116
106
  setMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
117
107
  parseMarginModification(data: any, market?: Market): MarginModification;
118
108
  fetchLeverage(symbol: string, params?: {}): Promise<Leverage>;
119
- parseLeverage(leverage: any, market?: any): Leverage;
109
+ parseLeverage(leverage: Dict, market?: Market): Leverage;
120
110
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
121
111
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
122
112
  parseDepositWithdrawFee(fee: any, currency?: Currency): {
package/js/src/bit2c.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bit2c.js';
2
- import type { Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees } from './base/types.js';
3
3
  /**
4
4
  * @class bit2c
5
5
  * @augments Exchange
@@ -9,7 +9,7 @@ export default class bit2c extends Exchange {
9
9
  parseBalance(response: any): Balances;
10
10
  fetchBalance(params?: {}): Promise<Balances>;
11
11
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
12
- parseTicker(ticker: any, market?: Market): Ticker;
12
+ parseTicker(ticker: Dict, market?: Market): Ticker;
13
13
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
14
14
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
15
15
  fetchTradingFees(params?: {}): Promise<TradingFees>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitbank.js';
2
- import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class bitbank
5
5
  * @augments Exchange
@@ -8,7 +8,7 @@ export default class bitbank extends Exchange {
8
8
  describe(): any;
9
9
  fetchMarkets(params?: {}): Promise<Market[]>;
10
10
  parseMarket(entry: any): Market;
11
- parseTicker(ticker: any, market?: Market): Ticker;
11
+ parseTicker(ticker: Dict, market?: Market): Ticker;
12
12
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
14
14
  parseTrade(trade: any, market?: Market): Trade;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitbns.js';
2
- import type { Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class bitbns
5
5
  * @augments Exchange
@@ -15,7 +15,7 @@ export default class bitbns extends Exchange {
15
15
  }>;
16
16
  fetchMarkets(params?: {}): Promise<Market[]>;
17
17
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
18
- parseTicker(ticker: any, market?: Market): Ticker;
18
+ parseTicker(ticker: Dict, market?: Market): Ticker;
19
19
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
20
20
  parseBalance(response: any): Balances;
21
21
  fetchBalance(params?: {}): Promise<Balances>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitfinex.js';
2
- import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, TradingFees } from './base/types.js';
2
+ import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, TradingFees, Dict } from './base/types.js';
3
3
  /**
4
4
  * @class bitfinex
5
5
  * @augments Exchange
@@ -22,27 +22,17 @@ export default class bitfinex extends Exchange {
22
22
  };
23
23
  fetchTradingFees(params?: {}): Promise<TradingFees>;
24
24
  fetchMarkets(params?: {}): Promise<Market[]>;
25
- amountToPrecision(symbol: any, amount: any): any;
26
- priceToPrecision(symbol: any, price: any): any;
25
+ amountToPrecision(symbol: any, amount: any): string;
26
+ priceToPrecision(symbol: any, price: any): string;
27
27
  fetchBalance(params?: {}): Promise<Balances>;
28
28
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
29
- parseTransfer(transfer: any, currency?: Currency): {
30
- info: any;
31
- id: any;
32
- timestamp: any;
33
- datetime: any;
34
- currency: string;
35
- amount: any;
36
- fromAccount: any;
37
- toAccount: any;
38
- status: string;
39
- };
40
- parseTransferStatus(status: any): string;
29
+ parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
30
+ parseTransferStatus(status: Str): Str;
41
31
  convertDerivativesId(currencyId: any, type: any): any;
42
32
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
43
33
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
44
34
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
45
- parseTicker(ticker: any, market?: Market): Ticker;
35
+ parseTicker(ticker: Dict, market?: Market): Ticker;
46
36
  parseTrade(trade: any, market?: Market): Trade;
47
37
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
48
38
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -863,7 +863,7 @@ export default class bitfinex extends Exchange {
863
863
  const response = await this.publicGetTickers(params);
864
864
  const result = {};
865
865
  for (let i = 0; i < response.length; i++) {
866
- const ticker = this.parseTicker(response[i]);
866
+ const ticker = this.parseTicker({ 'result': response[i] });
867
867
  const symbol = ticker['symbol'];
868
868
  result[symbol] = ticker;
869
869
  }
@@ -885,9 +885,33 @@ export default class bitfinex extends Exchange {
885
885
  'symbol': market['id'],
886
886
  };
887
887
  const ticker = await this.publicGetPubtickerSymbol(this.extend(request, params));
888
+ //
889
+ // {
890
+ // mid: '63560.5',
891
+ // bid: '63560.0',
892
+ // ask: '63561.0',
893
+ // last_price: '63547.0',
894
+ // low: '62812.0',
895
+ // high: '64480.0',
896
+ // volume: '517.25634977',
897
+ // timestamp: '1715102384.9849467'
898
+ // }
899
+ //
888
900
  return this.parseTicker(ticker, market);
889
901
  }
890
902
  parseTicker(ticker, market = undefined) {
903
+ //
904
+ // {
905
+ // mid: '63560.5',
906
+ // bid: '63560.0',
907
+ // ask: '63561.0',
908
+ // last_price: '63547.0',
909
+ // low: '62812.0',
910
+ // high: '64480.0',
911
+ // volume: '517.25634977',
912
+ // timestamp: '1715102384.9849467'
913
+ // }
914
+ //
891
915
  const timestamp = this.safeTimestamp(ticker, 'timestamp');
892
916
  const marketId = this.safeString(ticker, 'pair');
893
917
  market = this.safeMarket(marketId, market);
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitfinex2.js';
2
- import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderBook, Str, Transaction, Ticker, Balances, Tickers, Strings, Currency, Market, OpenInterest, Liquidation, OrderRequest, Num, MarginModification, Currencies, TradingFees } from './base/types.js';
2
+ import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderBook, Str, Transaction, Ticker, Balances, Tickers, Strings, Currency, Market, OpenInterest, Liquidation, OrderRequest, Num, MarginModification, Currencies, TradingFees, Dict } from './base/types.js';
3
3
  /**
4
4
  * @class bitfinex2
5
5
  * @augments Exchange
@@ -9,8 +9,8 @@ export default class bitfinex2 extends Exchange {
9
9
  isFiat(code: any): boolean;
10
10
  getCurrencyId(code: any): string;
11
11
  getCurrencyName(code: any): any;
12
- amountToPrecision(symbol: any, amount: any): any;
13
- priceToPrecision(symbol: any, price: any): any;
12
+ amountToPrecision(symbol: any, amount: any): string;
13
+ priceToPrecision(symbol: any, price: any): string;
14
14
  fetchStatus(params?: {}): Promise<{
15
15
  status: string;
16
16
  updated: any;
@@ -23,21 +23,11 @@ export default class bitfinex2 extends Exchange {
23
23
  safeNetwork(networkId: any): string;
24
24
  fetchBalance(params?: {}): Promise<Balances>;
25
25
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
26
- parseTransfer(transfer: any, currency?: Currency): {
27
- id: any;
28
- timestamp: number;
29
- datetime: string;
30
- status: string;
31
- amount: number;
32
- currency: string;
33
- fromAccount: string;
34
- toAccount: string;
35
- info: any;
36
- };
37
- parseTransferStatus(status: any): string;
26
+ parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
27
+ parseTransferStatus(status: Str): Str;
38
28
  convertDerivativesId(currency: any, type: any): any;
39
29
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
40
- parseTicker(ticker: any, market?: Market): Ticker;
30
+ parseTicker(ticker: Dict, market?: Market): Ticker;
41
31
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
42
32
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
43
33
  parseTrade(trade: any, market?: Market): Trade;
@@ -949,7 +949,7 @@ export default class bitfinex2 extends Exchange {
949
949
  this.throwExactlyMatchedException(this.exceptions['exact'], message, this.id + ' ' + message);
950
950
  throw new ExchangeError(this.id + ' ' + message);
951
951
  }
952
- return this.parseTransfer(response, currency);
952
+ return this.parseTransfer({ 'result': response }, currency);
953
953
  }
954
954
  parseTransfer(transfer, currency = undefined) {
955
955
  //
@@ -975,12 +975,13 @@ export default class bitfinex2 extends Exchange {
975
975
  // "1.0 Tether USDt transfered from Exchange to Margin"
976
976
  // ]
977
977
  //
978
- const timestamp = this.safeInteger(transfer, 0);
979
- const info = this.safeValue(transfer, 4);
978
+ const result = this.safeList(transfer, 'result');
979
+ const timestamp = this.safeInteger(result, 0);
980
+ const info = this.safeValue(result, 4);
980
981
  const fromAccount = this.safeString(info, 1);
981
982
  const toAccount = this.safeString(info, 2);
982
983
  const currencyId = this.safeString(info, 5);
983
- const status = this.safeString(transfer, 6);
984
+ const status = this.safeString(result, 6);
984
985
  return {
985
986
  'id': undefined,
986
987
  'timestamp': timestamp,
@@ -990,7 +991,7 @@ export default class bitfinex2 extends Exchange {
990
991
  'currency': this.safeCurrencyCode(currencyId, currency),
991
992
  'fromAccount': fromAccount,
992
993
  'toAccount': toAccount,
993
- 'info': transfer,
994
+ 'info': result,
994
995
  };
995
996
  }
996
997
  parseTransferStatus(status) {
@@ -1076,67 +1077,73 @@ export default class bitfinex2 extends Exchange {
1076
1077
  //
1077
1078
  // on trading pairs (ex. tBTCUSD)
1078
1079
  //
1079
- // [
1080
- // SYMBOL,
1081
- // BID,
1082
- // BID_SIZE,
1083
- // ASK,
1084
- // ASK_SIZE,
1085
- // DAILY_CHANGE,
1086
- // DAILY_CHANGE_RELATIVE,
1087
- // LAST_PRICE,
1088
- // VOLUME,
1089
- // HIGH,
1090
- // LOW
1091
- // ]
1080
+ // {
1081
+ // 'result': [
1082
+ // SYMBOL,
1083
+ // BID,
1084
+ // BID_SIZE,
1085
+ // ASK,
1086
+ // ASK_SIZE,
1087
+ // DAILY_CHANGE,
1088
+ // DAILY_CHANGE_RELATIVE,
1089
+ // LAST_PRICE,
1090
+ // VOLUME,
1091
+ // HIGH,
1092
+ // LOW
1093
+ // ]
1094
+ // }
1095
+ //
1092
1096
  //
1093
1097
  // on funding currencies (ex. fUSD)
1094
1098
  //
1095
- // [
1096
- // SYMBOL,
1097
- // FRR,
1098
- // BID,
1099
- // BID_PERIOD,
1100
- // BID_SIZE,
1101
- // ASK,
1102
- // ASK_PERIOD,
1103
- // ASK_SIZE,
1104
- // DAILY_CHANGE,
1105
- // DAILY_CHANGE_RELATIVE,
1106
- // LAST_PRICE,
1107
- // VOLUME,
1108
- // HIGH,
1109
- // LOW,
1110
- // _PLACEHOLDER,
1111
- // _PLACEHOLDER,
1112
- // FRR_AMOUNT_AVAILABLE
1113
- // ]
1099
+ // {
1100
+ // 'result': [
1101
+ // SYMBOL,
1102
+ // FRR,
1103
+ // BID,
1104
+ // BID_PERIOD,
1105
+ // BID_SIZE,
1106
+ // ASK,
1107
+ // ASK_PERIOD,
1108
+ // ASK_SIZE,
1109
+ // DAILY_CHANGE,
1110
+ // DAILY_CHANGE_RELATIVE,
1111
+ // LAST_PRICE,
1112
+ // VOLUME,
1113
+ // HIGH,
1114
+ // LOW,
1115
+ // _PLACEHOLDER,
1116
+ // _PLACEHOLDER,
1117
+ // FRR_AMOUNT_AVAILABLE
1118
+ // ]
1119
+ // }
1114
1120
  //
1121
+ const result = this.safeList(ticker, 'result');
1115
1122
  const symbol = this.safeSymbol(undefined, market);
1116
- const length = ticker.length;
1117
- const last = this.safeString(ticker, length - 4);
1118
- const percentage = this.safeString(ticker, length - 5);
1123
+ const length = result.length;
1124
+ const last = this.safeString(result, length - 4);
1125
+ const percentage = this.safeString(result, length - 5);
1119
1126
  return this.safeTicker({
1120
1127
  'symbol': symbol,
1121
1128
  'timestamp': undefined,
1122
1129
  'datetime': undefined,
1123
- 'high': this.safeString(ticker, length - 2),
1124
- 'low': this.safeString(ticker, length - 1),
1125
- 'bid': this.safeString(ticker, length - 10),
1126
- 'bidVolume': this.safeString(ticker, length - 9),
1127
- 'ask': this.safeString(ticker, length - 8),
1128
- 'askVolume': this.safeString(ticker, length - 7),
1130
+ 'high': this.safeString(result, length - 2),
1131
+ 'low': this.safeString(result, length - 1),
1132
+ 'bid': this.safeString(result, length - 10),
1133
+ 'bidVolume': this.safeString(result, length - 9),
1134
+ 'ask': this.safeString(result, length - 8),
1135
+ 'askVolume': this.safeString(result, length - 7),
1129
1136
  'vwap': undefined,
1130
1137
  'open': undefined,
1131
1138
  'close': last,
1132
1139
  'last': last,
1133
1140
  'previousClose': undefined,
1134
- 'change': this.safeString(ticker, length - 6),
1141
+ 'change': this.safeString(result, length - 6),
1135
1142
  'percentage': Precise.stringMul(percentage, '100'),
1136
1143
  'average': undefined,
1137
- 'baseVolume': this.safeString(ticker, length - 3),
1144
+ 'baseVolume': this.safeString(result, length - 3),
1138
1145
  'quoteVolume': undefined,
1139
- 'info': ticker,
1146
+ 'info': result,
1140
1147
  }, market);
1141
1148
  }
1142
1149
  async fetchTickers(symbols = undefined, params = {}) {
@@ -1205,7 +1212,7 @@ export default class bitfinex2 extends Exchange {
1205
1212
  const marketId = this.safeString(ticker, 0);
1206
1213
  const market = this.safeMarket(marketId);
1207
1214
  const symbol = market['symbol'];
1208
- result[symbol] = this.parseTicker(ticker, market);
1215
+ result[symbol] = this.parseTicker({ 'result': ticker }, market);
1209
1216
  }
1210
1217
  return this.filterByArrayTickers(result, 'symbol', symbols);
1211
1218
  }
@@ -1225,7 +1232,8 @@ export default class bitfinex2 extends Exchange {
1225
1232
  'symbol': market['id'],
1226
1233
  };
1227
1234
  const ticker = await this.publicGetTickerSymbol(this.extend(request, params));
1228
- return this.parseTicker(ticker, market);
1235
+ const result = { 'result': ticker };
1236
+ return this.parseTicker(result, market);
1229
1237
  }
1230
1238
  parseTrade(trade, market = undefined) {
1231
1239
  //
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitflyer.js';
2
- import type { Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFeeInterface, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFeeInterface, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class bitflyer
5
5
  * @augments Exchange
@@ -12,7 +12,7 @@ export default class bitflyer extends Exchange {
12
12
  parseBalance(response: any): Balances;
13
13
  fetchBalance(params?: {}): Promise<Balances>;
14
14
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
15
- parseTicker(ticker: any, market?: Market): Ticker;
15
+ parseTicker(ticker: Dict, market?: Market): Ticker;
16
16
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
17
17
  parseTrade(trade: any, market?: Market): Trade;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitget.js';
2
- import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Liquidation, TransferEntry, Leverage, MarginMode, Num, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRate } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Liquidation, TransferEntry, Leverage, MarginMode, Num, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRate, Dict, TransferEntries } from './base/types.js';
3
3
  /**
4
4
  * @class bitget
5
5
  * @augments Exchange
@@ -36,7 +36,7 @@ export default class bitget extends Exchange {
36
36
  info: any;
37
37
  };
38
38
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
39
- parseTicker(ticker: any, market?: Market): Ticker;
39
+ parseTicker(ticker: Dict, market?: Market): Ticker;
40
40
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
41
41
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
42
42
  parseTrade(trade: any, market?: Market): Trade;
@@ -148,26 +148,16 @@ export default class bitget extends Exchange {
148
148
  reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
149
149
  addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
150
150
  fetchLeverage(symbol: string, params?: {}): Promise<Leverage>;
151
- parseLeverage(leverage: any, market?: any): Leverage;
151
+ parseLeverage(leverage: Dict, market?: Market): Leverage;
152
152
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
153
153
  setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
154
154
  setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
155
155
  fetchOpenInterest(symbol: string, params?: {}): Promise<import("./base/types.js").OpenInterest>;
156
156
  parseOpenInterest(interest: any, market?: Market): import("./base/types.js").OpenInterest;
157
- fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
157
+ fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<TransferEntries>;
158
158
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
159
- parseTransfer(transfer: any, currency?: Currency): {
160
- info: any;
161
- id: string;
162
- timestamp: number;
163
- datetime: string;
164
- currency: string;
165
- amount: number;
166
- fromAccount: string;
167
- toAccount: string;
168
- status: string;
169
- };
170
- parseTransferStatus(status: any): string;
159
+ parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
160
+ parseTransferStatus(status: Str): Str;
171
161
  parseDepositWithdrawFee(fee: any, currency?: Currency): {
172
162
  info: any;
173
163
  withdraw: {
@@ -259,7 +249,7 @@ export default class bitget extends Exchange {
259
249
  fetchConvertQuote(fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
260
250
  createConvertTrade(id: string, fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
261
251
  fetchConvertTradeHistory(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Conversion[]>;
262
- parseConversion(conversion: any, fromCurrency?: Currency, toCurrency?: Currency): Conversion;
252
+ parseConversion(conversion: Dict, fromCurrency?: Currency, toCurrency?: Currency): Conversion;
263
253
  fetchConvertCurrencies(params?: {}): Promise<Currencies>;
264
254
  handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
265
255
  sign(path: any, api?: any[], method?: string, params?: {}, headers?: any, body?: any): {
package/js/src/bitget.js CHANGED
@@ -2635,11 +2635,7 @@ export default class bitget extends Exchange {
2635
2635
  //
2636
2636
  const marketId = this.safeString(ticker, 'symbol');
2637
2637
  const close = this.safeString(ticker, 'lastPr');
2638
- const timestampString = this.omitZero(this.safeString(ticker, 'ts')); // exchange sometimes provided 0
2639
- let timestamp = undefined;
2640
- if (timestampString !== undefined) {
2641
- timestamp = this.parseToInt(timestampString);
2642
- }
2638
+ const timestamp = this.safeIntegerOmitZero(ticker, 'ts'); // exchange bitget provided 0
2643
2639
  const change = this.safeString(ticker, 'change24h');
2644
2640
  const open24 = this.safeString(ticker, 'open24');
2645
2641
  const open = this.safeString(ticker, 'open');
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bithumb.js';
2
- import type { Balances, Currency, Int, Market, MarketInterface, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dict, Int, Market, MarketInterface, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class bithumb
5
5
  * @augments Exchange
@@ -7,12 +7,12 @@ import type { Balances, Currency, Int, Market, MarketInterface, Num, OHLCV, Orde
7
7
  export default class bithumb extends Exchange {
8
8
  describe(): any;
9
9
  safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
10
- amountToPrecision(symbol: any, amount: any): any;
10
+ amountToPrecision(symbol: any, amount: any): string;
11
11
  fetchMarkets(params?: {}): Promise<Market[]>;
12
12
  parseBalance(response: any): Balances;
13
13
  fetchBalance(params?: {}): Promise<Balances>;
14
14
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
15
- parseTicker(ticker: any, market?: Market): Ticker;
15
+ parseTicker(ticker: Dict, market?: Market): Ticker;
16
16
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
17
17
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
18
18
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitmart.js';
2
- import type { Int, OrderSide, Balances, OrderType, OHLCV, Order, Str, Trade, Transaction, Ticker, OrderBook, Tickers, Strings, Currency, Market, TransferEntry, Num, TradingFeeInterface, Currencies, IsolatedBorrowRates, IsolatedBorrowRate } from './base/types.js';
2
+ import type { Int, OrderSide, Balances, OrderType, OHLCV, Order, Str, Trade, Transaction, Ticker, OrderBook, Tickers, Strings, Currency, Market, TransferEntry, Num, TradingFeeInterface, Currencies, IsolatedBorrowRates, IsolatedBorrowRate, Dict, TransferEntries } from './base/types.js';
3
3
  /**
4
4
  * @class bitmart
5
5
  * @augments Exchange
@@ -36,7 +36,7 @@ export default class bitmart extends Exchange {
36
36
  networks: {};
37
37
  };
38
38
  fetchDepositWithdrawFee(code: string, params?: {}): Promise<any>;
39
- parseTicker(ticker: any, market?: Market): Ticker;
39
+ parseTicker(ticker: Dict, market?: Market): Ticker;
40
40
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
41
41
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
42
42
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
@@ -103,20 +103,11 @@ export default class bitmart extends Exchange {
103
103
  parseIsolatedBorrowRate(info: any, market?: Market): IsolatedBorrowRate;
104
104
  fetchIsolatedBorrowRates(params?: {}): Promise<IsolatedBorrowRates>;
105
105
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
106
- parseTransferStatus(status: any): string;
106
+ parseTransferStatus(status: Str): Str;
107
107
  parseTransferToAccount(type: any): string;
108
108
  parseTransferFromAccount(type: any): string;
109
- parseTransfer(transfer: any, currency?: Currency): {
110
- id: string;
111
- timestamp: number;
112
- datetime: string;
113
- currency: string;
114
- amount: number;
115
- fromAccount: string;
116
- toAccount: string;
117
- status: string;
118
- };
119
- fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
109
+ parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
110
+ fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<TransferEntries>;
120
111
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
121
112
  parseBorrowInterest(info: any, market?: Market): {
122
113
  symbol: string;
package/js/src/bitmart.js CHANGED
@@ -2552,7 +2552,7 @@ export default class bitmart extends Exchange {
2552
2552
  else if (isMarketOrder) {
2553
2553
  // for market buy it requires the amount of quote currency to spend
2554
2554
  if (side === 'buy') {
2555
- let notional = this.safeNumber2(params, 'cost', 'notional');
2555
+ let notional = this.safeString2(params, 'cost', 'notional');
2556
2556
  params = this.omit(params, 'cost');
2557
2557
  let createMarketBuyOrderRequiresPrice = true;
2558
2558
  [createMarketBuyOrderRequiresPrice, params] = this.handleOptionAndParams(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', true);
@@ -2563,11 +2563,11 @@ export default class bitmart extends Exchange {
2563
2563
  else {
2564
2564
  const amountString = this.numberToString(amount);
2565
2565
  const priceString = this.numberToString(price);
2566
- notional = this.parseNumber(Precise.stringMul(amountString, priceString));
2566
+ notional = Precise.stringMul(amountString, priceString);
2567
2567
  }
2568
2568
  }
2569
2569
  else {
2570
- notional = (notional === undefined) ? amount : notional;
2570
+ notional = (notional === undefined) ? this.numberToString(amount) : notional;
2571
2571
  }
2572
2572
  request['notional'] = this.decimalToPrecision(notional, TRUNCATE, market['precision']['price'], this.precisionMode);
2573
2573
  }
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitmex.js';
2
- import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, Liquidation, OrderBook, Balances, Str, Transaction, Ticker, Tickers, Market, Strings, Currency, Leverage, Leverages, Num, Currencies } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, Liquidation, OrderBook, Balances, Str, Dict, Transaction, Ticker, Tickers, Market, Strings, Currency, Leverage, Leverages, Num, Currencies } from './base/types.js';
3
3
  /**
4
4
  * @class bitmex
5
5
  * @augments Exchange
@@ -9,7 +9,7 @@ export default class bitmex extends Exchange {
9
9
  fetchCurrencies(params?: {}): Promise<Currencies>;
10
10
  convertFromRealAmount(code: any, amount: any): number;
11
11
  convertToRealAmount(code: Str, amount: Str): string;
12
- amountToPrecision(symbol: any, amount: any): any;
12
+ amountToPrecision(symbol: any, amount: any): string;
13
13
  convertFromRawQuantity(symbol: any, rawQuantity: any, currencySide?: string): number;
14
14
  convertFromRawCost(symbol: any, rawQuantity: any): number;
15
15
  fetchMarkets(params?: {}): Promise<Market[]>;
@@ -49,7 +49,7 @@ export default class bitmex extends Exchange {
49
49
  parseTransaction(transaction: any, currency?: Currency): Transaction;
50
50
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
51
51
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
52
- parseTicker(ticker: any, market?: Market): Ticker;
52
+ parseTicker(ticker: Dict, market?: Market): Ticker;
53
53
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
54
54
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
55
55
  parseTrade(trade: any, market?: Market): Trade;
@@ -64,7 +64,7 @@ export default class bitmex extends Exchange {
64
64
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
65
65
  cancelAllOrdersAfter(timeout: Int, params?: {}): Promise<any>;
66
66
  fetchLeverages(symbols?: string[], params?: {}): Promise<Leverages>;
67
- parseLeverage(leverage: any, market?: any): Leverage;
67
+ parseLeverage(leverage: Dict, market?: Market): Leverage;
68
68
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
69
69
  parsePosition(position: any, market?: Market): import("./base/types.js").Position;
70
70
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitopro.js';
2
- import type { Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, 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, TradingFees, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class bitopro
5
5
  * @augments Exchange
@@ -9,7 +9,7 @@ export default class bitopro extends Exchange {
9
9
  fetchCurrencies(params?: {}): Promise<Currencies>;
10
10
  fetchMarkets(params?: {}): Promise<Market[]>;
11
11
  parseMarket(market: any): Market;
12
- parseTicker(ticker: any, market?: Market): Ticker;
12
+ parseTicker(ticker: Dict, market?: Market): Ticker;
13
13
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
14
14
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
15
15
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;