ccxt 4.2.30 → 4.2.34

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 (318) hide show
  1. package/.gitattributes +1 -0
  2. package/CONTRIBUTING.md +20 -1
  3. package/README.md +9 -9
  4. package/build.sh +9 -2
  5. package/cleanup.sh +3 -0
  6. package/dist/ccxt.browser.js +1136 -561
  7. package/dist/ccxt.browser.min.js +3 -3
  8. package/dist/cjs/ccxt.js +1 -1
  9. package/dist/cjs/src/ace.js +3 -2
  10. package/dist/cjs/src/ascendex.js +1 -1
  11. package/dist/cjs/src/base/Exchange.js +66 -24
  12. package/dist/cjs/src/bigone.js +21 -1
  13. package/dist/cjs/src/binance.js +6 -5
  14. package/dist/cjs/src/bingx.js +4 -3
  15. package/dist/cjs/src/bit2c.js +12 -0
  16. package/dist/cjs/src/bitfinex2.js +415 -41
  17. package/dist/cjs/src/bitforex.js +3 -0
  18. package/dist/cjs/src/bitget.js +3 -3
  19. package/dist/cjs/src/bitmart.js +1 -1
  20. package/dist/cjs/src/bitrue.js +3 -3
  21. package/dist/cjs/src/blockchaincom.js +1 -1
  22. package/dist/cjs/src/bybit.js +1 -1
  23. package/dist/cjs/src/coinbase.js +12 -2
  24. package/dist/cjs/src/coinex.js +1 -1
  25. package/dist/cjs/src/cryptocom.js +10 -10
  26. package/dist/cjs/src/deribit.js +1 -0
  27. package/dist/cjs/src/gate.js +34 -29
  28. package/dist/cjs/src/htx.js +1 -1
  29. package/dist/cjs/src/kraken.js +42 -1
  30. package/dist/cjs/src/krakenfutures.js +3 -0
  31. package/dist/cjs/src/kucoin.js +1 -1
  32. package/dist/cjs/src/lbank.js +27 -26
  33. package/dist/cjs/src/mexc.js +2 -1
  34. package/dist/cjs/src/okx.js +20 -5
  35. package/dist/cjs/src/phemex.js +8 -8
  36. package/dist/cjs/src/poloniexfutures.js +3 -0
  37. package/dist/cjs/src/pro/alpaca.js +8 -4
  38. package/dist/cjs/src/pro/ascendex.js +1 -2
  39. package/dist/cjs/src/pro/binance.js +14 -10
  40. package/dist/cjs/src/pro/bingx.js +1 -1
  41. package/dist/cjs/src/pro/bitfinex.js +21 -24
  42. package/dist/cjs/src/pro/bitfinex2.js +13 -17
  43. package/dist/cjs/src/pro/bitget.js +3 -1
  44. package/dist/cjs/src/pro/bitmart.js +3 -8
  45. package/dist/cjs/src/pro/bitmex.js +4 -7
  46. package/dist/cjs/src/pro/bitopro.js +2 -5
  47. package/dist/cjs/src/pro/bitrue.js +1 -1
  48. package/dist/cjs/src/pro/bitstamp.js +2 -3
  49. package/dist/cjs/src/pro/bitvavo.js +12 -5
  50. package/dist/cjs/src/pro/blockchaincom.js +22 -23
  51. package/dist/cjs/src/pro/bybit.js +5 -5
  52. package/dist/cjs/src/pro/cex.js +7 -7
  53. package/dist/cjs/src/pro/coinbase.js +3 -2
  54. package/dist/cjs/src/pro/coinbasepro.js +1 -1
  55. package/dist/cjs/src/pro/coinex.js +15 -13
  56. package/dist/cjs/src/pro/currencycom.js +5 -7
  57. package/dist/cjs/src/pro/deribit.js +4 -4
  58. package/dist/cjs/src/pro/exmo.js +15 -13
  59. package/dist/cjs/src/pro/gate.js +1 -1
  60. package/dist/cjs/src/pro/gemini.js +4 -2
  61. package/dist/cjs/src/pro/hitbtc.js +9 -8
  62. package/dist/cjs/src/pro/hollaex.js +2 -2
  63. package/dist/cjs/src/pro/htx.js +6 -7
  64. package/dist/cjs/src/pro/huobijp.js +3 -5
  65. package/dist/cjs/src/pro/idex.js +1 -1
  66. package/dist/cjs/src/pro/independentreserve.js +14 -13
  67. package/dist/cjs/src/pro/kraken.js +10 -16
  68. package/dist/cjs/src/pro/krakenfutures.js +10 -6
  69. package/dist/cjs/src/pro/kucoin.js +10 -11
  70. package/dist/cjs/src/pro/kucoinfutures.js +12 -11
  71. package/dist/cjs/src/pro/lbank.js +10 -10
  72. package/dist/cjs/src/pro/luno.js +12 -14
  73. package/dist/cjs/src/pro/mexc.js +3 -2
  74. package/dist/cjs/src/pro/ndax.js +7 -13
  75. package/dist/cjs/src/pro/okcoin.js +7 -12
  76. package/dist/cjs/src/pro/okx.js +6 -11
  77. package/dist/cjs/src/pro/onetrading.js +16 -15
  78. package/dist/cjs/src/pro/p2b.js +5 -3
  79. package/dist/cjs/src/pro/phemex.js +16 -11
  80. package/dist/cjs/src/pro/poloniex.js +6 -4
  81. package/dist/cjs/src/pro/poloniexfutures.js +14 -9
  82. package/dist/cjs/src/pro/probit.js +15 -11
  83. package/dist/cjs/src/pro/upbit.js +8 -8
  84. package/dist/cjs/src/pro/wazirx.js +6 -3
  85. package/dist/cjs/src/pro/woo.js +8 -6
  86. package/dist/cjs/src/probit.js +3 -3
  87. package/dist/cjs/src/timex.js +1 -1
  88. package/dist/cjs/src/tokocrypto.js +2 -2
  89. package/dist/cjs/src/wavesexchange.js +2 -1
  90. package/dist/cjs/src/whitebit.js +1 -1
  91. package/dist/cjs/src/woo.js +1 -1
  92. package/dist/cjs/src/yobit.js +39 -0
  93. package/js/ccxt.d.ts +1 -1
  94. package/js/ccxt.js +1 -1
  95. package/js/src/abstract/coinbase.d.ts +10 -0
  96. package/js/src/abstract/okx.d.ts +12 -1
  97. package/js/src/ace.d.ts +1 -1
  98. package/js/src/ace.js +3 -2
  99. package/js/src/alpaca.d.ts +1 -1
  100. package/js/src/ascendex.d.ts +5 -15
  101. package/js/src/ascendex.js +1 -1
  102. package/js/src/base/Exchange.d.ts +88 -79
  103. package/js/src/base/Exchange.js +66 -24
  104. package/js/src/base/types.d.ts +90 -6
  105. package/js/src/bigone.d.ts +5 -15
  106. package/js/src/bigone.js +21 -1
  107. package/js/src/binance.d.ts +13 -23
  108. package/js/src/binance.js +6 -5
  109. package/js/src/bingx.d.ts +6 -16
  110. package/js/src/bingx.js +4 -3
  111. package/js/src/bit2c.d.ts +1 -1
  112. package/js/src/bit2c.js +12 -0
  113. package/js/src/bitbank.d.ts +2 -2
  114. package/js/src/bitbns.d.ts +1 -1
  115. package/js/src/bitfinex.d.ts +5 -5
  116. package/js/src/bitfinex2.d.ts +11 -16
  117. package/js/src/bitfinex2.js +415 -41
  118. package/js/src/bitflyer.d.ts +5 -5
  119. package/js/src/bitforex.d.ts +1 -1
  120. package/js/src/bitforex.js +3 -0
  121. package/js/src/bitget.d.ts +8 -38
  122. package/js/src/bitget.js +3 -3
  123. package/js/src/bithumb.d.ts +2 -2
  124. package/js/src/bitmart.d.ts +10 -21
  125. package/js/src/bitmart.js +1 -1
  126. package/js/src/bitmex.d.ts +3 -3
  127. package/js/src/bitopro.d.ts +2 -2
  128. package/js/src/bitrue.d.ts +5 -15
  129. package/js/src/bitrue.js +3 -3
  130. package/js/src/bitso.d.ts +4 -4
  131. package/js/src/bitstamp.d.ts +2 -2
  132. package/js/src/bitteam.d.ts +1 -1
  133. package/js/src/bitvavo.d.ts +3 -3
  134. package/js/src/bl3p.d.ts +1 -1
  135. package/js/src/blockchaincom.d.ts +2 -2
  136. package/js/src/blockchaincom.js +1 -1
  137. package/js/src/btcalpha.d.ts +1 -1
  138. package/js/src/btcbox.d.ts +1 -1
  139. package/js/src/btcmarkets.d.ts +3 -3
  140. package/js/src/btcturk.d.ts +1 -1
  141. package/js/src/bybit.d.ts +8 -8
  142. package/js/src/bybit.js +1 -1
  143. package/js/src/cex.d.ts +1 -1
  144. package/js/src/coinbase.d.ts +6 -50
  145. package/js/src/coinbase.js +12 -2
  146. package/js/src/coinbasepro.d.ts +2 -2
  147. package/js/src/coincheck.d.ts +1 -1
  148. package/js/src/coinex.d.ts +8 -8
  149. package/js/src/coinex.js +1 -1
  150. package/js/src/coinlist.d.ts +4 -14
  151. package/js/src/coinmate.d.ts +2 -2
  152. package/js/src/coinmetro.d.ts +2 -2
  153. package/js/src/coinone.d.ts +1 -1
  154. package/js/src/coinsph.d.ts +2 -2
  155. package/js/src/coinspot.d.ts +1 -1
  156. package/js/src/cryptocom.d.ts +4 -4
  157. package/js/src/cryptocom.js +10 -10
  158. package/js/src/currencycom.d.ts +2 -2
  159. package/js/src/delta.d.ts +2 -2
  160. package/js/src/deribit.d.ts +4 -14
  161. package/js/src/deribit.js +1 -0
  162. package/js/src/digifinex.d.ts +10 -38
  163. package/js/src/exmo.d.ts +2 -2
  164. package/js/src/gate.d.ts +8 -18
  165. package/js/src/gate.js +34 -29
  166. package/js/src/gemini.d.ts +2 -2
  167. package/js/src/hitbtc.d.ts +6 -16
  168. package/js/src/hollaex.d.ts +2 -2
  169. package/js/src/htx.d.ts +11 -21
  170. package/js/src/htx.js +1 -1
  171. package/js/src/huobijp.d.ts +4 -4
  172. package/js/src/idex.d.ts +3 -3
  173. package/js/src/independentreserve.d.ts +2 -2
  174. package/js/src/indodax.d.ts +2 -2
  175. package/js/src/kraken.d.ts +5 -5
  176. package/js/src/kraken.js +42 -1
  177. package/js/src/krakenfutures.d.ts +7 -7
  178. package/js/src/krakenfutures.js +3 -0
  179. package/js/src/kucoin.d.ts +8 -29
  180. package/js/src/kucoin.js +1 -1
  181. package/js/src/kucoinfutures.d.ts +4 -4
  182. package/js/src/kuna.d.ts +2 -2
  183. package/js/src/latoken.d.ts +4 -14
  184. package/js/src/lbank.d.ts +3 -6
  185. package/js/src/lbank.js +27 -26
  186. package/js/src/luno.d.ts +1 -1
  187. package/js/src/lykke.d.ts +2 -2
  188. package/js/src/mercado.d.ts +2 -2
  189. package/js/src/mexc.d.ts +6 -6
  190. package/js/src/mexc.js +2 -1
  191. package/js/src/ndax.d.ts +2 -2
  192. package/js/src/novadax.d.ts +4 -15
  193. package/js/src/oceanex.d.ts +1 -1
  194. package/js/src/okcoin.d.ts +5 -15
  195. package/js/src/okx.d.ts +8 -18
  196. package/js/src/okx.js +20 -5
  197. package/js/src/onetrading.d.ts +2 -2
  198. package/js/src/p2b.d.ts +1 -1
  199. package/js/src/paymium.d.ts +3 -13
  200. package/js/src/phemex.d.ts +5 -5
  201. package/js/src/phemex.js +8 -8
  202. package/js/src/poloniex.d.ts +4 -14
  203. package/js/src/poloniexfutures.d.ts +1 -1
  204. package/js/src/poloniexfutures.js +3 -0
  205. package/js/src/pro/alpaca.d.ts +2 -2
  206. package/js/src/pro/alpaca.js +8 -4
  207. package/js/src/pro/ascendex.d.ts +2 -2
  208. package/js/src/pro/ascendex.js +1 -2
  209. package/js/src/pro/binance.d.ts +3 -3
  210. package/js/src/pro/binance.js +14 -10
  211. package/js/src/pro/bingx.d.ts +1 -1
  212. package/js/src/pro/bingx.js +1 -1
  213. package/js/src/pro/bitfinex.d.ts +2 -2
  214. package/js/src/pro/bitfinex.js +21 -24
  215. package/js/src/pro/bitfinex2.d.ts +2 -2
  216. package/js/src/pro/bitfinex2.js +13 -17
  217. package/js/src/pro/bitget.js +3 -1
  218. package/js/src/pro/bitmart.d.ts +3 -3
  219. package/js/src/pro/bitmart.js +3 -8
  220. package/js/src/pro/bitmex.d.ts +1 -1
  221. package/js/src/pro/bitmex.js +4 -7
  222. package/js/src/pro/bitopro.d.ts +1 -1
  223. package/js/src/pro/bitopro.js +2 -5
  224. package/js/src/pro/bitrue.js +1 -1
  225. package/js/src/pro/bitstamp.d.ts +1 -1
  226. package/js/src/pro/bitstamp.js +2 -3
  227. package/js/src/pro/bitvavo.d.ts +3 -3
  228. package/js/src/pro/bitvavo.js +12 -5
  229. package/js/src/pro/blockchaincom.d.ts +8 -8
  230. package/js/src/pro/blockchaincom.js +22 -23
  231. package/js/src/pro/bybit.d.ts +2 -2
  232. package/js/src/pro/bybit.js +5 -5
  233. package/js/src/pro/cex.d.ts +1 -1
  234. package/js/src/pro/cex.js +7 -7
  235. package/js/src/pro/coinbase.d.ts +1 -1
  236. package/js/src/pro/coinbase.js +3 -2
  237. package/js/src/pro/coinbasepro.d.ts +1 -1
  238. package/js/src/pro/coinbasepro.js +1 -1
  239. package/js/src/pro/coinex.d.ts +2 -2
  240. package/js/src/pro/coinex.js +15 -13
  241. package/js/src/pro/currencycom.d.ts +1 -1
  242. package/js/src/pro/currencycom.js +5 -7
  243. package/js/src/pro/deribit.d.ts +2 -2
  244. package/js/src/pro/deribit.js +4 -4
  245. package/js/src/pro/exmo.d.ts +2 -2
  246. package/js/src/pro/exmo.js +15 -13
  247. package/js/src/pro/gate.js +1 -1
  248. package/js/src/pro/gemini.d.ts +1 -1
  249. package/js/src/pro/gemini.js +4 -2
  250. package/js/src/pro/hitbtc.d.ts +2 -2
  251. package/js/src/pro/hitbtc.js +9 -8
  252. package/js/src/pro/hollaex.d.ts +2 -2
  253. package/js/src/pro/hollaex.js +2 -2
  254. package/js/src/pro/htx.d.ts +2 -2
  255. package/js/src/pro/htx.js +6 -7
  256. package/js/src/pro/huobijp.d.ts +1 -1
  257. package/js/src/pro/huobijp.js +3 -5
  258. package/js/src/pro/idex.js +1 -1
  259. package/js/src/pro/independentreserve.d.ts +1 -1
  260. package/js/src/pro/independentreserve.js +14 -13
  261. package/js/src/pro/kraken.d.ts +2 -2
  262. package/js/src/pro/kraken.js +10 -16
  263. package/js/src/pro/krakenfutures.d.ts +1 -1
  264. package/js/src/pro/krakenfutures.js +10 -6
  265. package/js/src/pro/kucoin.d.ts +3 -3
  266. package/js/src/pro/kucoin.js +10 -11
  267. package/js/src/pro/kucoinfutures.d.ts +3 -3
  268. package/js/src/pro/kucoinfutures.js +12 -11
  269. package/js/src/pro/lbank.d.ts +1 -1
  270. package/js/src/pro/lbank.js +10 -10
  271. package/js/src/pro/luno.d.ts +2 -2
  272. package/js/src/pro/luno.js +12 -14
  273. package/js/src/pro/mexc.d.ts +2 -2
  274. package/js/src/pro/mexc.js +3 -2
  275. package/js/src/pro/ndax.d.ts +3 -3
  276. package/js/src/pro/ndax.js +7 -13
  277. package/js/src/pro/okcoin.d.ts +1 -1
  278. package/js/src/pro/okcoin.js +7 -12
  279. package/js/src/pro/okx.d.ts +1 -1
  280. package/js/src/pro/okx.js +6 -11
  281. package/js/src/pro/onetrading.d.ts +1 -1
  282. package/js/src/pro/onetrading.js +16 -15
  283. package/js/src/pro/p2b.d.ts +1 -1
  284. package/js/src/pro/p2b.js +5 -3
  285. package/js/src/pro/phemex.d.ts +3 -3
  286. package/js/src/pro/phemex.js +16 -11
  287. package/js/src/pro/poloniex.d.ts +1 -1
  288. package/js/src/pro/poloniex.js +6 -4
  289. package/js/src/pro/poloniexfutures.d.ts +4 -4
  290. package/js/src/pro/poloniexfutures.js +13 -10
  291. package/js/src/pro/probit.d.ts +1 -1
  292. package/js/src/pro/probit.js +14 -12
  293. package/js/src/pro/upbit.js +8 -8
  294. package/js/src/pro/wazirx.d.ts +1 -1
  295. package/js/src/pro/wazirx.js +6 -3
  296. package/js/src/pro/woo.d.ts +3 -3
  297. package/js/src/pro/woo.js +8 -6
  298. package/js/src/probit.d.ts +3 -3
  299. package/js/src/probit.js +3 -3
  300. package/js/src/timex.d.ts +1 -1
  301. package/js/src/timex.js +1 -1
  302. package/js/src/tokocrypto.d.ts +3 -3
  303. package/js/src/tokocrypto.js +2 -2
  304. package/js/src/upbit.d.ts +2 -2
  305. package/js/src/wavesexchange.d.ts +3 -4
  306. package/js/src/wavesexchange.js +2 -1
  307. package/js/src/wazirx.d.ts +1 -1
  308. package/js/src/whitebit.d.ts +5 -15
  309. package/js/src/whitebit.js +1 -1
  310. package/js/src/woo.d.ts +5 -15
  311. package/js/src/woo.js +1 -1
  312. package/js/src/yobit.d.ts +21 -6
  313. package/js/src/yobit.js +39 -0
  314. package/js/src/zaif.d.ts +2 -2
  315. package/js/src/zonda.d.ts +4 -14
  316. package/package.json +22 -8
  317. package/skip-tests.json +9 -1
  318. package/tests-manager.sh +1 -2
@@ -540,7 +540,7 @@ export default class binance extends binanceRest {
540
540
  */
541
541
  return await this.watchTradesForSymbols([symbol], since, limit, params);
542
542
  }
543
- parseTrade(trade, market = undefined) {
543
+ parseWsTrade(trade, market = undefined) {
544
544
  //
545
545
  // public watchTrades
546
546
  //
@@ -648,7 +648,7 @@ export default class binance extends binanceRest {
648
648
  const executionType = this.safeString(trade, 'x');
649
649
  const isTradeExecution = (executionType === 'TRADE');
650
650
  if (!isTradeExecution) {
651
- return super.parseTrade(trade, market);
651
+ return this.parseTrade(trade, market);
652
652
  }
653
653
  const id = this.safeString2(trade, 't', 'a');
654
654
  const timestamp = this.safeInteger(trade, 'T');
@@ -713,7 +713,7 @@ export default class binance extends binanceRest {
713
713
  const lowerCaseId = this.safeStringLower(message, 's');
714
714
  const event = this.safeString(message, 'e');
715
715
  const messageHash = lowerCaseId + '@' + event;
716
- const trade = this.parseTrade(message, market);
716
+ const trade = this.parseWsTrade(message, market);
717
717
  let tradesArray = this.safeValue(this.trades, symbol);
718
718
  if (tradesArray === undefined) {
719
719
  const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
@@ -1263,14 +1263,15 @@ export default class binance extends binanceRest {
1263
1263
  for (let j = 0; j < subscriptionKeys.length; j++) {
1264
1264
  const subscribeType = subscriptionKeys[j];
1265
1265
  if (subscribeType === type) {
1266
- return this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
1266
+ this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
1267
+ return;
1267
1268
  }
1268
1269
  }
1269
1270
  }
1270
1271
  }
1271
1272
  setBalanceCache(client, type) {
1272
1273
  if (type in client.subscriptions) {
1273
- return undefined;
1274
+ return;
1274
1275
  }
1275
1276
  const options = this.safeValue(this.options, 'watchBalance');
1276
1277
  const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
@@ -1371,7 +1372,7 @@ export default class binance extends binanceRest {
1371
1372
  //
1372
1373
  const messageHash = this.safeString(message, 'id');
1373
1374
  const result = this.safeValue(message, 'result', {});
1374
- const parsedBalances = this.parseBalance(result, 'spot');
1375
+ const parsedBalances = this.parseBalance(result);
1375
1376
  client.resolve(parsedBalances, messageHash);
1376
1377
  }
1377
1378
  async watchBalance(params = {}) {
@@ -2744,13 +2745,15 @@ export default class binance extends binanceRest {
2744
2745
  const status = this.safeString(message, 'status');
2745
2746
  const error = this.safeValue(message, 'error');
2746
2747
  if ((error !== undefined) || (status !== undefined && status !== '200')) {
2747
- return this.handleWsError(client, message);
2748
+ this.handleWsError(client, message);
2749
+ return;
2748
2750
  }
2749
2751
  const id = this.safeString(message, 'id');
2750
2752
  const subscriptions = this.safeValue(client.subscriptions, id);
2751
2753
  let method = this.safeValue(subscriptions, 'method');
2752
2754
  if (method !== undefined) {
2753
- return method.call(this, client, message);
2755
+ method.call(this, client, message);
2756
+ return;
2754
2757
  }
2755
2758
  // handle other APIs
2756
2759
  const methods = {
@@ -2780,7 +2783,8 @@ export default class binance extends binanceRest {
2780
2783
  if (method === undefined) {
2781
2784
  const requestId = this.safeString(message, 'id');
2782
2785
  if (requestId !== undefined) {
2783
- return this.handleSubscriptionStatus(client, message);
2786
+ this.handleSubscriptionStatus(client, message);
2787
+ return;
2784
2788
  }
2785
2789
  // special case for the real-time bookTicker, since it comes without an event identifier
2786
2790
  //
@@ -2799,7 +2803,7 @@ export default class binance extends binanceRest {
2799
2803
  }
2800
2804
  }
2801
2805
  else {
2802
- return method.call(this, client, message);
2806
+ method.call(this, client, message);
2803
2807
  }
2804
2808
  }
2805
2809
  }
@@ -17,7 +17,7 @@ export default class bingx extends bingxRest {
17
17
  watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
18
18
  watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
19
  watchBalance(params?: {}): Promise<Balances>;
20
- setBalanceCache(client: Client, type: any, subscriptionHash: any, params: any): any;
20
+ setBalanceCache(client: Client, type: any, subscriptionHash: any, params: any): void;
21
21
  loadBalanceSnapshot(client: any, messageHash: any, type: any): Promise<void>;
22
22
  handleErrorMessage(client: any, message: any): boolean;
23
23
  authenticate(params?: {}): Promise<void>;
@@ -720,7 +720,7 @@ export default class bingx extends bingxRest {
720
720
  }
721
721
  setBalanceCache(client, type, subscriptionHash, params) {
722
722
  if (subscriptionHash in client.subscriptions) {
723
- return undefined;
723
+ return;
724
724
  }
725
725
  const fetchBalanceSnapshot = this.handleOptionAndParams(params, 'watchBalance', 'fetchBalanceSnapshot', true);
726
726
  if (fetchBalanceSnapshot) {
@@ -6,7 +6,7 @@ export default class bitfinex extends bitfinexRest {
6
6
  subscribe(channel: any, symbol: any, params?: {}): Promise<any>;
7
7
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
8
8
  watchTicker(symbol: string, params?: {}): Promise<Ticker>;
9
- handleTrades(client: Client, message: any, subscription: any): any;
9
+ handleTrades(client: Client, message: any, subscription: any): void;
10
10
  parseTrade(trade: any, market?: any): Trade;
11
11
  handleTicker(client: Client, message: any, subscription: any): void;
12
12
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
@@ -21,5 +21,5 @@ export default class bitfinex extends bitfinexRest {
21
21
  handleOrders(client: Client, message: any, subscription: any): void;
22
22
  parseWsOrderStatus(status: any): string;
23
23
  handleOrder(client: Client, order: any): Order;
24
- handleMessage(client: Client, message: any): any;
24
+ handleMessage(client: Client, message: any): void;
25
25
  }
@@ -135,7 +135,6 @@ export default class bitfinex extends bitfinexRest {
135
135
  stored.append(trade);
136
136
  }
137
137
  client.resolve(stored, messageHash);
138
- return message;
139
138
  }
140
139
  parseTrade(trade, market = undefined) {
141
140
  //
@@ -325,8 +324,9 @@ export default class bitfinex extends bitfinexRest {
325
324
  const delta = deltas[i];
326
325
  const id = this.safeString(delta, 0);
327
326
  const price = this.safeFloat(delta, 1);
328
- const size = (delta[2] < 0) ? -delta[2] : delta[2];
329
- const side = (delta[2] < 0) ? 'asks' : 'bids';
327
+ const delta2Value = delta[2];
328
+ const size = (delta2Value < 0) ? -delta2Value : delta2Value;
329
+ const side = (delta2Value < 0) ? 'asks' : 'bids';
330
330
  const bookside = orderbook[side];
331
331
  bookside.store(price, size, id);
332
332
  }
@@ -335,10 +335,11 @@ export default class bitfinex extends bitfinexRest {
335
335
  const deltas = message[1];
336
336
  for (let i = 0; i < deltas.length; i++) {
337
337
  const delta = deltas[i];
338
- const size = (delta[2] < 0) ? -delta[2] : delta[2];
339
- const side = (delta[2] < 0) ? 'asks' : 'bids';
340
- const bookside = orderbook[side];
341
- bookside.store(delta[0], size, delta[1]);
338
+ const delta2 = delta[2];
339
+ const size = (delta2 < 0) ? -delta2 : delta2;
340
+ const side = (delta2 < 0) ? 'asks' : 'bids';
341
+ const countedBookSide = orderbook[side];
342
+ countedBookSide.store(delta[0], size, delta[1]);
342
343
  }
343
344
  }
344
345
  client.resolve(orderbook, messageHash);
@@ -348,18 +349,20 @@ export default class bitfinex extends bitfinexRest {
348
349
  if (isRaw) {
349
350
  const id = this.safeString(message, 1);
350
351
  const price = this.safeString(message, 2);
351
- const size = (message[3] < 0) ? -message[3] : message[3];
352
- const side = (message[3] < 0) ? 'asks' : 'bids';
352
+ const message3 = message[3];
353
+ const size = (message3 < 0) ? -message3 : message3;
354
+ const side = (message3 < 0) ? 'asks' : 'bids';
353
355
  const bookside = orderbook[side];
354
356
  // price = 0 means that you have to remove the order from your book
355
357
  const amount = Precise.stringGt(price, '0') ? size : '0';
356
358
  bookside.store(this.parseNumber(price), this.parseNumber(amount), id);
357
359
  }
358
360
  else {
359
- const size = (message[3] < 0) ? -message[3] : message[3];
360
- const side = (message[3] < 0) ? 'asks' : 'bids';
361
- const bookside = orderbook[side];
362
- bookside.store(message[1], size, message[2]);
361
+ const message3Value = message[3];
362
+ const size = (message3Value < 0) ? -message3Value : message3Value;
363
+ const side = (message3Value < 0) ? 'asks' : 'bids';
364
+ const countedBookSide = orderbook[side];
365
+ countedBookSide.store(message[1], size, message[2]);
363
366
  }
364
367
  client.resolve(orderbook, messageHash);
365
368
  }
@@ -620,7 +623,7 @@ export default class bitfinex extends bitfinexRest {
620
623
  // ]
621
624
  //
622
625
  if (message[1] === 'hb') {
623
- return message; // skip heartbeats within subscription channels for now
626
+ return; // skip heartbeats within subscription channels for now
624
627
  }
625
628
  const subscription = this.safeValue(client.subscriptions, channelId, {});
626
629
  const channel = this.safeString(subscription, 'channel');
@@ -635,11 +638,8 @@ export default class bitfinex extends bitfinexRest {
635
638
  'oc': this.handleOrders,
636
639
  };
637
640
  const method = this.safeValue2(methods, channel, name);
638
- if (method === undefined) {
639
- return message;
640
- }
641
- else {
642
- return method.call(this, client, message, subscription);
641
+ if (method !== undefined) {
642
+ method.call(this, client, message, subscription);
643
643
  }
644
644
  }
645
645
  else {
@@ -661,11 +661,8 @@ export default class bitfinex extends bitfinexRest {
661
661
  'auth': this.handleAuthenticationMessage,
662
662
  };
663
663
  const method = this.safeValue(methods, event);
664
- if (method === undefined) {
665
- return message;
666
- }
667
- else {
668
- return method.call(this, client, message);
664
+ if (method !== undefined) {
665
+ method.call(this, client, message);
669
666
  }
670
667
  }
671
668
  }
@@ -11,7 +11,7 @@ export default class bitfinex2 extends bitfinex2Rest {
11
11
  watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
12
12
  watchTicker(symbol: string, params?: {}): Promise<Ticker>;
13
13
  handleMyTrade(client: Client, message: any, subscription?: {}): void;
14
- handleTrades(client: Client, message: any, subscription: any): any;
14
+ handleTrades(client: Client, message: any, subscription: any): void;
15
15
  parseWsTrade(trade: any, market?: any): Trade;
16
16
  handleTicker(client: Client, message: any, subscription: any): void;
17
17
  parseWsTicker(ticker: any, market?: any): Ticker;
@@ -29,5 +29,5 @@ export default class bitfinex2 extends bitfinex2Rest {
29
29
  handleOrders(client: Client, message: any, subscription: any): void;
30
30
  parseWsOrderStatus(status: any): string;
31
31
  parseWsOrder(order: any, market?: any): Order;
32
- handleMessage(client: Client, message: any): any;
32
+ handleMessage(client: Client, message: any): void;
33
33
  }
@@ -342,7 +342,6 @@ export default class bitfinex2 extends bitfinex2Rest {
342
342
  stored.append(parsed);
343
343
  }
344
344
  client.resolve(stored, messageHash);
345
- return message;
346
345
  }
347
346
  parseWsTrade(trade, market = undefined) {
348
347
  //
@@ -594,8 +593,9 @@ export default class bitfinex2 extends bitfinex2Rest {
594
593
  const deltas = message[1];
595
594
  for (let i = 0; i < deltas.length; i++) {
596
595
  const delta = deltas[i];
597
- const size = (delta[2] < 0) ? -delta[2] : delta[2];
598
- const side = (delta[2] < 0) ? 'asks' : 'bids';
596
+ const delta2 = delta[2];
597
+ const size = (delta2 < 0) ? -delta2 : delta2;
598
+ const side = (delta2 < 0) ? 'asks' : 'bids';
599
599
  const bookside = orderbook[side];
600
600
  const idString = this.safeString(delta, 0);
601
601
  const price = this.safeFloat(delta, 1);
@@ -623,8 +623,9 @@ export default class bitfinex2 extends bitfinex2Rest {
623
623
  const orderbookItem = this.orderbooks[symbol];
624
624
  if (isRaw) {
625
625
  const price = this.safeString(deltas, 1);
626
- const size = (deltas[2] < 0) ? -deltas[2] : deltas[2];
627
- const side = (deltas[2] < 0) ? 'asks' : 'bids';
626
+ const deltas2 = deltas[2];
627
+ const size = (deltas2 < 0) ? -deltas2 : deltas2;
628
+ const side = (deltas2 < 0) ? 'asks' : 'bids';
628
629
  const bookside = orderbookItem[side];
629
630
  // price = 0 means that you have to remove the order from your book
630
631
  const amount = Precise.stringGt(price, '0') ? size : '0';
@@ -672,7 +673,8 @@ export default class bitfinex2 extends bitfinex2Rest {
672
673
  }
673
674
  if (ask !== undefined) {
674
675
  stringArray.push(this.numberToString(asks[i][idToCheck]));
675
- stringArray.push(this.numberToString(-asks[i][1]));
676
+ const aski1 = asks[i][1];
677
+ stringArray.push(this.numberToString(-aski1));
676
678
  }
677
679
  }
678
680
  const payload = stringArray.join(':');
@@ -1104,7 +1106,7 @@ export default class bitfinex2 extends bitfinex2Rest {
1104
1106
  //
1105
1107
  if (Array.isArray(message)) {
1106
1108
  if (message[1] === 'hb') {
1107
- return message; // skip heartbeats within subscription channels for now
1109
+ return; // skip heartbeats within subscription channels for now
1108
1110
  }
1109
1111
  const subscription = this.safeValue(client.subscriptions, channelId, {});
1110
1112
  const channel = this.safeString(subscription, 'channel');
@@ -1132,11 +1134,8 @@ export default class bitfinex2 extends bitfinex2Rest {
1132
1134
  else {
1133
1135
  method = this.safeValue2(publicMethods, name, channel);
1134
1136
  }
1135
- if (method === undefined) {
1136
- return message;
1137
- }
1138
- else {
1139
- return method.call(this, client, message, subscription);
1137
+ if (method !== undefined) {
1138
+ method.call(this, client, message, subscription);
1140
1139
  }
1141
1140
  }
1142
1141
  else {
@@ -1148,11 +1147,8 @@ export default class bitfinex2 extends bitfinex2Rest {
1148
1147
  'auth': this.handleAuthenticationMessage,
1149
1148
  };
1150
1149
  const method = this.safeValue(methods, event);
1151
- if (method === undefined) {
1152
- return message;
1153
- }
1154
- else {
1155
- return method.call(this, client, message);
1150
+ if (method !== undefined) {
1151
+ method.call(this, client, message);
1156
1152
  }
1157
1153
  }
1158
1154
  }
@@ -98,7 +98,9 @@ export default class bitget extends bitgetRest {
98
98
  else {
99
99
  instType = 'SPOT';
100
100
  }
101
- [instType, params] = this.handleOptionAndParams(params, 'getInstType', 'instType', instType);
101
+ let instypeAux = undefined;
102
+ [instypeAux, params] = this.handleOptionAndParams(params, 'getInstType', 'instType', instType);
103
+ instType = instypeAux;
102
104
  return [instType, params];
103
105
  }
104
106
  async watchTicker(symbol, params = {}) {
@@ -19,9 +19,9 @@ export default class bitmart extends bitmartRest {
19
19
  watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
20
20
  handlePositions(client: Client, message: any): void;
21
21
  parseWsPosition(position: any, market?: Market): Position;
22
- handleTrade(client: Client, message: any): any;
22
+ handleTrade(client: Client, message: any): void;
23
23
  parseWsTrade(trade: any, market?: Market): Trade;
24
- handleTicker(client: Client, message: any): any;
24
+ handleTicker(client: Client, message: any): void;
25
25
  resolveMessageHashesForSymbol(client: any, symbol: any, result: any, prexif: any): void;
26
26
  parseWsSwapTicker(ticker: any, market?: Market): Ticker;
27
27
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
@@ -35,5 +35,5 @@ export default class bitmart extends bitmartRest {
35
35
  handleSubscriptionStatus(client: Client, message: any): any;
36
36
  handleAuthenticate(client: Client, message: any): void;
37
37
  handleErrorMessage(client: Client, message: any): boolean;
38
- handleMessage(client: Client, message: any): any;
38
+ handleMessage(client: Client, message: any): void;
39
39
  }
@@ -819,7 +819,6 @@ export default class bitmart extends bitmartRest {
819
819
  messageHash += ':' + this.safeString(data[0], 'symbol');
820
820
  }
821
821
  client.resolve(stored, messageHash);
822
- return message;
823
822
  }
824
823
  parseWsTrade(trade, market = undefined) {
825
824
  // spot
@@ -921,7 +920,6 @@ export default class bitmart extends bitmartRest {
921
920
  client.resolve(ticker, 'tickers::swap');
922
921
  this.resolveMessageHashesForSymbol(client, symbol, ticker, 'tickers::');
923
922
  }
924
- return message;
925
923
  }
926
924
  resolveMessageHashesForSymbol(client, symbol, result, prexif) {
927
925
  const prefixSeparator = '::';
@@ -1455,11 +1453,8 @@ export default class bitmart extends bitmartRest {
1455
1453
  'subscribe': this.handleSubscriptionStatus,
1456
1454
  };
1457
1455
  const method = this.safeValue(methods, event);
1458
- if (method === undefined) {
1459
- return message;
1460
- }
1461
- else {
1462
- return method.call(this, client, message);
1456
+ if (method !== undefined) {
1457
+ method.call(this, client, message);
1463
1458
  }
1464
1459
  }
1465
1460
  }
@@ -1479,7 +1474,7 @@ export default class bitmart extends bitmartRest {
1479
1474
  const key = keys[i];
1480
1475
  if (channel.indexOf(key) >= 0) {
1481
1476
  const method = this.safeValue(methods, key);
1482
- return method.call(this, client, message);
1477
+ method.call(this, client, message);
1483
1478
  }
1484
1479
  }
1485
1480
  }
@@ -27,5 +27,5 @@ export default class bitmex extends bitmexRest {
27
27
  handleSystemStatus(client: Client, message: any): any;
28
28
  handleSubscriptionStatus(client: Client, message: any): any;
29
29
  handleErrorMessage(client: Client, message: any): boolean;
30
- handleMessage(client: Client, message: any): any;
30
+ handleMessage(client: Client, message: any): void;
31
31
  }
@@ -1527,7 +1527,7 @@ export default class bitmex extends bitmexRest {
1527
1527
  //
1528
1528
  // { "error": "Rate limit exceeded, retry in 29 seconds." }
1529
1529
  //
1530
- const error = this.safeValue(message, 'error');
1530
+ const error = this.safeString(message, 'error');
1531
1531
  if (error !== undefined) {
1532
1532
  const request = this.safeValue(message, 'request', {});
1533
1533
  const args = this.safeValue(request, 'args', []);
@@ -1538,7 +1538,7 @@ export default class bitmex extends bitmexRest {
1538
1538
  const broadKey = this.findBroadlyMatchedKey(broad, error);
1539
1539
  let exception = undefined;
1540
1540
  if (broadKey === undefined) {
1541
- exception = new ExchangeError(error);
1541
+ exception = new ExchangeError(error); // c# requirement for now
1542
1542
  }
1543
1543
  else {
1544
1544
  exception = new broad[broadKey](error);
@@ -1606,14 +1606,11 @@ export default class bitmex extends bitmexRest {
1606
1606
  const request = this.safeValue(message, 'request', {});
1607
1607
  const op = this.safeValue(request, 'op');
1608
1608
  if (op === 'authKeyExpires') {
1609
- return this.handleAuthenticationMessage.call(this, client, message);
1610
- }
1611
- else {
1612
- return message;
1609
+ this.handleAuthenticationMessage(client, message);
1613
1610
  }
1614
1611
  }
1615
1612
  else {
1616
- return method.call(this, client, message);
1613
+ method.call(this, client, message);
1617
1614
  }
1618
1615
  }
1619
1616
  }
@@ -16,5 +16,5 @@ export default class bitopro extends bitoproRest {
16
16
  authenticate(url: any): void;
17
17
  watchBalance(params?: {}): Promise<Balances>;
18
18
  handleBalance(client: Client, message: any): void;
19
- handleMessage(client: Client, message: any): any;
19
+ handleMessage(client: Client, message: any): void;
20
20
  }
@@ -467,11 +467,8 @@ export default class bitopro extends bitoproRest {
467
467
  };
468
468
  const event = this.safeString(message, 'event');
469
469
  const method = this.safeValue(methods, event);
470
- if (method === undefined) {
471
- return message;
472
- }
473
- else {
474
- return method.call(this, client, message);
470
+ if (method !== undefined) {
471
+ method.call(this, client, message);
475
472
  }
476
473
  }
477
474
  }
@@ -422,7 +422,7 @@ export default class bitrue extends bitrueRest {
422
422
  catch (error) {
423
423
  this.options['listenKey'] = undefined;
424
424
  this.options['listenKeyUrl'] = undefined;
425
- return;
425
+ return undefined;
426
426
  }
427
427
  //
428
428
  // {
@@ -19,6 +19,6 @@ export default class bitstamp extends bitstampRest {
19
19
  handleSubject(client: Client, message: any): void;
20
20
  handleErrorMessage(client: Client, message: any): any;
21
21
  handleMessage(client: Client, message: any): void;
22
- authenticate(params?: {}): Promise<any>;
22
+ authenticate(params?: {}): Promise<void>;
23
23
  subscribePrivate(subscription: any, messageHash: any, params?: {}): Promise<any>;
24
24
  }
@@ -501,10 +501,10 @@ export default class bitstamp extends bitstampRest {
501
501
  //
502
502
  const event = this.safeString(message, 'event');
503
503
  if (event === 'bts:subscription_succeeded') {
504
- return this.handleSubscriptionStatus(client, message);
504
+ this.handleSubscriptionStatus(client, message);
505
505
  }
506
506
  else {
507
- return this.handleSubject(client, message);
507
+ this.handleSubject(client, message);
508
508
  }
509
509
  }
510
510
  async authenticate(params = {}) {
@@ -527,7 +527,6 @@ export default class bitstamp extends bitstampRest {
527
527
  this.options['expiresIn'] = this.sum(time, validity);
528
528
  this.options['userId'] = userId;
529
529
  this.options['wsSessionToken'] = sessionToken;
530
- return response;
531
530
  }
532
531
  }
533
532
  }
@@ -17,12 +17,12 @@ export default class bitvavo extends bitvavoRest {
17
17
  handleOrderBookMessage(client: Client, message: any, orderbook: any): any;
18
18
  handleOrderBook(client: Client, message: any): void;
19
19
  watchOrderBookSnapshot(client: any, message: any, subscription: any): Promise<any>;
20
- handleOrderBookSnapshot(client: Client, message: any): any;
20
+ handleOrderBookSnapshot(client: Client, message: any): void;
21
21
  handleOrderBookSubscription(client: Client, message: any, subscription: any): void;
22
22
  handleOrderBookSubscriptions(client: Client, message: any, marketIds: any): void;
23
23
  watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
24
24
  watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
25
- createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
25
+ createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
26
26
  editOrderWs(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
27
27
  cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
28
28
  cancelAllOrdersWs(symbol?: string, params?: {}): Promise<any>;
@@ -56,7 +56,7 @@ export default class bitvavo extends bitvavoRest {
56
56
  handleOrder(client: Client, message: any): void;
57
57
  handleMyTrade(client: Client, message: any): void;
58
58
  handleSubscriptionStatus(client: Client, message: any): any;
59
- authenticate(params?: {}): any;
59
+ authenticate(params?: {}): Promise<any>;
60
60
  handleAuthenticationMessage(client: Client, message: any): void;
61
61
  handleErrorMessage(client: Client, message: any): void;
62
62
  handleMessage(client: Client, message: any): void;
@@ -415,7 +415,7 @@ export default class bitvavo extends bitvavoRest {
415
415
  //
416
416
  const response = this.safeValue(message, 'response');
417
417
  if (response === undefined) {
418
- return message;
418
+ return;
419
419
  }
420
420
  const marketId = this.safeString(response, 'market');
421
421
  const symbol = this.safeSymbol(marketId, undefined, '-');
@@ -1197,7 +1197,7 @@ export default class bitvavo extends bitvavoRest {
1197
1197
  }
1198
1198
  return message;
1199
1199
  }
1200
- authenticate(params = {}) {
1200
+ async authenticate(params = {}) {
1201
1201
  const url = this.urls['api']['ws'];
1202
1202
  const client = this.client(url);
1203
1203
  const messageHash = 'authenticated';
@@ -1342,9 +1342,16 @@ export default class bitvavo extends bitvavoRest {
1342
1342
  'getCandles': this.handleFetchOHLCV,
1343
1343
  'getMarkets': this.handleMarkets,
1344
1344
  };
1345
- const event = this.safeString2(message, 'event', 'action');
1346
- const method = this.safeValue(methods, event);
1347
- if (method !== undefined) {
1345
+ const event = this.safeString(message, 'event');
1346
+ let method = this.safeValue(methods, event);
1347
+ if (method === undefined) {
1348
+ const action = this.safeString(message, 'action');
1349
+ method = this.safeValue(methods, action);
1350
+ if (method !== undefined) {
1351
+ method.call(this, client, message);
1352
+ }
1353
+ }
1354
+ else {
1348
1355
  method.call(this, client, message);
1349
1356
  }
1350
1357
  }
@@ -4,25 +4,25 @@ import Client from '../base/ws/Client.js';
4
4
  export default class blockchaincom extends blockchaincomRest {
5
5
  describe(): any;
6
6
  watchBalance(params?: {}): Promise<Balances>;
7
- handleBalance(client: Client, message: any): any;
7
+ handleBalance(client: Client, message: any): void;
8
8
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
9
- handleOHLCV(client: Client, message: any): any;
9
+ handleOHLCV(client: Client, message: any): void;
10
10
  watchTicker(symbol: string, params?: {}): Promise<Ticker>;
11
- handleTicker(client: Client, message: any): any;
11
+ handleTicker(client: Client, message: any): void;
12
12
  parseWsUpdatedTicker(ticker: any, lastTicker?: any, market?: any): Ticker;
13
13
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
14
- handleTrades(client: Client, message: any): any;
14
+ handleTrades(client: Client, message: any): void;
15
15
  parseWsTrade(trade: any, market?: any): Trade;
16
16
  watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
17
- handleOrders(client: Client, message: any): any;
17
+ handleOrders(client: Client, message: any): void;
18
18
  parseWsOrder(order: any, market?: any): Order;
19
19
  parseWsOrderStatus(status: any): string;
20
20
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
21
- handleOrderBook(client: Client, message: any): any;
21
+ handleOrderBook(client: Client, message: any): void;
22
22
  handleDelta(bookside: any, delta: any): void;
23
23
  handleDeltas(bookside: any, deltas: any): void;
24
24
  checkSequenceNumber(client: Client, message: any): void;
25
- handleMessage(client: Client, message: any): any;
25
+ handleMessage(client: Client, message: any): void;
26
26
  handleAuthenticationMessage(client: Client, message: any): void;
27
- authenticate(params?: {}): any;
27
+ authenticate(params?: {}): Promise<any>;
28
28
  }