ccxt 4.5.55 → 4.5.56

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 (177) hide show
  1. package/README.md +209 -5
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/aftermath.js +10 -5
  5. package/dist/cjs/src/alpaca.js +2 -2
  6. package/dist/cjs/src/apex.js +25 -16
  7. package/dist/cjs/src/arkham.js +7 -4
  8. package/dist/cjs/src/ascendex.js +6 -3
  9. package/dist/cjs/src/base/Exchange.js +3 -3
  10. package/dist/cjs/src/bigone.js +7 -4
  11. package/dist/cjs/src/binance.js +4 -4
  12. package/dist/cjs/src/bingx.js +4 -4
  13. package/dist/cjs/src/bitflyer.js +2 -1
  14. package/dist/cjs/src/bitget.js +14 -3
  15. package/dist/cjs/src/bitmart.js +5 -4
  16. package/dist/cjs/src/bitmex.js +7 -4
  17. package/dist/cjs/src/bitopro.js +1 -1
  18. package/dist/cjs/src/bitrue.js +2 -1
  19. package/dist/cjs/src/bitso.js +6 -3
  20. package/dist/cjs/src/bitstamp.js +5 -3
  21. package/dist/cjs/src/bittrade.js +2 -1
  22. package/dist/cjs/src/blofin.js +2 -1
  23. package/dist/cjs/src/bybit.js +19 -17
  24. package/dist/cjs/src/bybiteu.js +1 -0
  25. package/dist/cjs/src/coinbaseexchange.js +2 -1
  26. package/dist/cjs/src/coinbaseinternational.js +15 -9
  27. package/dist/cjs/src/coinex.js +5 -3
  28. package/dist/cjs/src/coinsph.js +4 -4
  29. package/dist/cjs/src/cryptocom.js +6 -6
  30. package/dist/cjs/src/deepcoin.js +6 -3
  31. package/dist/cjs/src/delta.js +2 -1
  32. package/dist/cjs/src/deribit.js +4 -2
  33. package/dist/cjs/src/derive.js +5 -3
  34. package/dist/cjs/src/digifinex.js +2 -1
  35. package/dist/cjs/src/exmo.js +12 -39
  36. package/dist/cjs/src/foxbit.js +1 -1
  37. package/dist/cjs/src/gemini.js +4 -2
  38. package/dist/cjs/src/grvt.js +13 -7
  39. package/dist/cjs/src/hashkey.js +4 -4
  40. package/dist/cjs/src/hibachi.js +1 -1
  41. package/dist/cjs/src/hitbtc.js +2 -1
  42. package/dist/cjs/src/htx.js +9 -5
  43. package/dist/cjs/src/hyperliquid.js +19 -13
  44. package/dist/cjs/src/indodax.js +2 -1
  45. package/dist/cjs/src/kraken.js +14 -13
  46. package/dist/cjs/src/krakenfutures.js +2 -1
  47. package/dist/cjs/src/lbank.js +8 -4
  48. package/dist/cjs/src/lighter.js +1 -1
  49. package/dist/cjs/src/luno.js +1 -1
  50. package/dist/cjs/src/mercado.js +2 -1
  51. package/dist/cjs/src/mexc.js +24 -14
  52. package/dist/cjs/src/modetrade.js +1 -1
  53. package/dist/cjs/src/okx.js +6 -3
  54. package/dist/cjs/src/oxfun.js +5 -3
  55. package/dist/cjs/src/p2b.js +8 -4
  56. package/dist/cjs/src/paradex.js +3 -2
  57. package/dist/cjs/src/phemex.js +4 -2
  58. package/dist/cjs/src/poloniex.js +2 -1
  59. package/dist/cjs/src/pro/apex.js +10 -1
  60. package/dist/cjs/src/pro/aster.js +10 -9
  61. package/dist/cjs/src/pro/binance.js +3 -3
  62. package/dist/cjs/src/pro/bingx.js +7 -2
  63. package/dist/cjs/src/pro/bitmart.js +10 -0
  64. package/dist/cjs/src/pro/bitmex.js +1 -1
  65. package/dist/cjs/src/pro/grvt.js +8 -0
  66. package/dist/cjs/src/pro/htx.js +4 -4
  67. package/dist/cjs/src/pro/krakenfutures.js +16 -4
  68. package/dist/cjs/src/pro/modetrade.js +3 -3
  69. package/dist/cjs/src/pro/okx.js +4 -4
  70. package/dist/cjs/src/pro/oxfun.js +4 -4
  71. package/dist/cjs/src/pro/woo.js +4 -4
  72. package/dist/cjs/src/pro/woofipro.js +3 -3
  73. package/dist/cjs/src/pro/xt.js +1 -1
  74. package/dist/cjs/src/toobit.js +1 -1
  75. package/dist/cjs/src/woo.js +1 -1
  76. package/dist/cjs/src/woofipro.js +1 -1
  77. package/dist/cjs/src/xt.js +2 -1
  78. package/dist/cjs/src/yobit.js +4 -2
  79. package/dist/cjs/src/zebpay.js +3 -3
  80. package/js/ccxt.d.ts +1 -1
  81. package/js/ccxt.js +1 -1
  82. package/js/src/abstract/mexc.d.ts +1 -0
  83. package/js/src/aftermath.js +10 -5
  84. package/js/src/alpaca.js +2 -2
  85. package/js/src/apex.d.ts +1 -1
  86. package/js/src/apex.js +25 -16
  87. package/js/src/arkham.js +7 -4
  88. package/js/src/ascendex.js +6 -3
  89. package/js/src/base/Exchange.js +3 -3
  90. package/js/src/bigone.js +7 -4
  91. package/js/src/binance.js +4 -4
  92. package/js/src/bingx.js +4 -4
  93. package/js/src/bitflyer.js +2 -1
  94. package/js/src/bitget.js +14 -3
  95. package/js/src/bitmart.js +5 -4
  96. package/js/src/bitmex.js +7 -4
  97. package/js/src/bitopro.js +1 -1
  98. package/js/src/bitrue.js +2 -1
  99. package/js/src/bitso.js +6 -3
  100. package/js/src/bitstamp.js +5 -3
  101. package/js/src/bittrade.js +2 -1
  102. package/js/src/blofin.js +2 -1
  103. package/js/src/bybit.d.ts +1 -1
  104. package/js/src/bybit.js +19 -17
  105. package/js/src/bybiteu.js +1 -0
  106. package/js/src/coinbaseexchange.js +2 -1
  107. package/js/src/coinbaseinternational.d.ts +1 -1
  108. package/js/src/coinbaseinternational.js +15 -9
  109. package/js/src/coinex.d.ts +1 -1
  110. package/js/src/coinex.js +5 -3
  111. package/js/src/coinsph.js +4 -4
  112. package/js/src/cryptocom.js +6 -6
  113. package/js/src/deepcoin.js +6 -3
  114. package/js/src/delta.js +2 -1
  115. package/js/src/deribit.js +4 -2
  116. package/js/src/derive.js +5 -3
  117. package/js/src/digifinex.js +2 -1
  118. package/js/src/exmo.js +12 -39
  119. package/js/src/foxbit.js +1 -1
  120. package/js/src/gemini.js +4 -2
  121. package/js/src/grvt.d.ts +1 -1
  122. package/js/src/grvt.js +13 -7
  123. package/js/src/hashkey.js +4 -4
  124. package/js/src/hibachi.d.ts +1 -1
  125. package/js/src/hibachi.js +1 -1
  126. package/js/src/hitbtc.js +2 -1
  127. package/js/src/htx.js +9 -5
  128. package/js/src/hyperliquid.d.ts +4 -4
  129. package/js/src/hyperliquid.js +19 -13
  130. package/js/src/indodax.js +2 -1
  131. package/js/src/kraken.js +14 -13
  132. package/js/src/krakenfutures.js +2 -1
  133. package/js/src/lbank.js +8 -4
  134. package/js/src/lighter.d.ts +1 -1
  135. package/js/src/lighter.js +1 -1
  136. package/js/src/luno.js +1 -1
  137. package/js/src/mercado.js +2 -1
  138. package/js/src/mexc.d.ts +2 -2
  139. package/js/src/mexc.js +24 -14
  140. package/js/src/modetrade.js +1 -1
  141. package/js/src/okx.js +6 -3
  142. package/js/src/oxfun.js +5 -3
  143. package/js/src/p2b.js +8 -4
  144. package/js/src/paradex.js +3 -2
  145. package/js/src/phemex.js +4 -2
  146. package/js/src/poloniex.js +2 -1
  147. package/js/src/pro/apex.js +10 -1
  148. package/js/src/pro/aster.js +10 -9
  149. package/js/src/pro/binance.d.ts +1 -1
  150. package/js/src/pro/binance.js +3 -3
  151. package/js/src/pro/bingx.js +7 -2
  152. package/js/src/pro/bitmart.js +10 -0
  153. package/js/src/pro/bitmex.js +1 -1
  154. package/js/src/pro/grvt.js +8 -0
  155. package/js/src/pro/htx.d.ts +4 -4
  156. package/js/src/pro/htx.js +4 -4
  157. package/js/src/pro/krakenfutures.d.ts +4 -4
  158. package/js/src/pro/krakenfutures.js +16 -4
  159. package/js/src/pro/modetrade.d.ts +3 -3
  160. package/js/src/pro/modetrade.js +3 -3
  161. package/js/src/pro/okx.d.ts +4 -4
  162. package/js/src/pro/okx.js +4 -4
  163. package/js/src/pro/oxfun.d.ts +4 -4
  164. package/js/src/pro/oxfun.js +4 -4
  165. package/js/src/pro/woo.d.ts +4 -4
  166. package/js/src/pro/woo.js +4 -4
  167. package/js/src/pro/woofipro.d.ts +3 -3
  168. package/js/src/pro/woofipro.js +3 -3
  169. package/js/src/pro/xt.js +1 -1
  170. package/js/src/toobit.d.ts +1 -1
  171. package/js/src/toobit.js +1 -1
  172. package/js/src/woo.js +1 -1
  173. package/js/src/woofipro.js +1 -1
  174. package/js/src/xt.js +2 -1
  175. package/js/src/yobit.js +4 -2
  176. package/js/src/zebpay.js +3 -3
  177. package/package.json +21 -7
@@ -632,10 +632,10 @@ export default class oxfun extends oxfunRest {
632
632
  * @name oxfun#watchPositions
633
633
  * @see https://docs.ox.fun/?json#position-channel
634
634
  * @description watch all open positions
635
- * @param {string[]|undefined} symbols list of unified market symbols
636
- * @param since
637
- * @param limit
638
- * @param {object} params extra parameters specific to the exchange API endpoint
635
+ * @param {string[]} [symbols] list of unified market symbols
636
+ * @param {int} [since] timestamp in ms of the earliest position to fetch
637
+ * @param {int} [limit] the maximum number of positions to fetch
638
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
639
639
  * @param {int|string} [params.tag] If given it will be echoed in the reply and the max size of tag is 32
640
640
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
641
641
  */
@@ -190,10 +190,10 @@ export default class woo extends wooRest {
190
190
  * @name woo#watchPositions
191
191
  * @see https://docs.woox.io/#position-push
192
192
  * @description watch all open positions
193
- * @param {string[]|undefined} symbols list of unified market symbols
194
- * @param since
195
- * @param limit
196
- * @param {object} params extra parameters specific to the exchange API endpoint
193
+ * @param {string[]} [symbols] list of unified market symbols
194
+ * @param {int} [since] timestamp in ms of the earliest position to fetch
195
+ * @param {int} [limit] the maximum number of positions to fetch
196
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
197
197
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
198
198
  */
199
199
  watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
package/js/src/pro/woo.js CHANGED
@@ -1197,10 +1197,10 @@ export default class woo extends wooRest {
1197
1197
  * @name woo#watchPositions
1198
1198
  * @see https://docs.woox.io/#position-push
1199
1199
  * @description watch all open positions
1200
- * @param {string[]|undefined} symbols list of unified market symbols
1201
- * @param since
1202
- * @param limit
1203
- * @param {object} params extra parameters specific to the exchange API endpoint
1200
+ * @param {string[]} [symbols] list of unified market symbols
1201
+ * @param {int} [since] timestamp in ms of the earliest position to fetch
1202
+ * @param {int} [limit] the maximum number of positions to fetch
1203
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1204
1204
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
1205
1205
  */
1206
1206
  async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
@@ -122,9 +122,9 @@ export default class woofipro extends woofiproRest {
122
122
  * @see https://orderly.network/docs/build-on-omnichain/evm-api/websocket-api/private/position-push
123
123
  * @description watch all open positions
124
124
  * @param {string[]} [symbols] list of unified market symbols
125
- * @param since timestamp in ms of the earliest position to fetch
126
- * @param limit the maximum number of positions to fetch
127
- * @param {object} params extra parameters specific to the exchange API endpoint
125
+ * @param {int} [since] timestamp in ms of the earliest position to fetch
126
+ * @param {int} [limit] the maximum number of positions to fetch
127
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
128
128
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
129
129
  */
130
130
  watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
@@ -956,9 +956,9 @@ export default class woofipro extends woofiproRest {
956
956
  * @see https://orderly.network/docs/build-on-omnichain/evm-api/websocket-api/private/position-push
957
957
  * @description watch all open positions
958
958
  * @param {string[]} [symbols] list of unified market symbols
959
- * @param since timestamp in ms of the earliest position to fetch
960
- * @param limit the maximum number of positions to fetch
961
- * @param {object} params extra parameters specific to the exchange API endpoint
959
+ * @param {int} [since] timestamp in ms of the earliest position to fetch
960
+ * @param {int} [limit] the maximum number of positions to fetch
961
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
962
962
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
963
963
  */
964
964
  async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/pro/xt.js CHANGED
@@ -598,7 +598,7 @@ export default class xt extends xtRest {
598
598
  }
599
599
  }
600
600
  async loadPositionsSnapshot(client, messageHash) {
601
- const positions = await this.fetchPositions(undefined);
601
+ const positions = await this.fetchPositions();
602
602
  this.positions = new ArrayCacheBySymbolBySide();
603
603
  const cache = this.positions;
604
604
  for (let i = 0; i < positions.length; i++) {
@@ -375,7 +375,7 @@ export default class toobit extends Exchange {
375
375
  * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
376
376
  */
377
377
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
378
- fetchDepositsOrWithdrawalsHelper(type: any, code: any, since: any, limit: any, params: any): Promise<Transaction[]>;
378
+ fetchDepositsOrWithdrawalsHelper(type: any, code: any, since: any, limit: any, params?: {}): Promise<Transaction[]>;
379
379
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;
380
380
  parseTransactionStatus(status: Str): string;
381
381
  /**
package/js/src/toobit.js CHANGED
@@ -2513,7 +2513,7 @@ export default class toobit extends Exchange {
2513
2513
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
2514
2514
  return await this.fetchDepositsOrWithdrawalsHelper('withdrawals', code, since, limit, params);
2515
2515
  }
2516
- async fetchDepositsOrWithdrawalsHelper(type, code, since, limit, params) {
2516
+ async fetchDepositsOrWithdrawalsHelper(type, code, since, limit, params = {}) {
2517
2517
  await this.loadMarkets();
2518
2518
  let currency = undefined;
2519
2519
  let request = {};
package/js/src/woo.js CHANGED
@@ -1906,7 +1906,7 @@ export default class woo extends Exchange {
1906
1906
  'fok': 'FOK',
1907
1907
  'post_only': 'PO',
1908
1908
  };
1909
- return this.safeString(timeInForces, timeInForce, undefined);
1909
+ return this.safeString(timeInForces, timeInForce);
1910
1910
  }
1911
1911
  parseOrder(order, market = undefined) {
1912
1912
  //
@@ -1429,7 +1429,7 @@ export default class woofipro extends Exchange {
1429
1429
  'fok': 'FOK',
1430
1430
  'post_only': 'PO',
1431
1431
  };
1432
- return this.safeString(timeInForces, timeInForce, undefined);
1432
+ return this.safeString(timeInForces, timeInForce);
1433
1433
  }
1434
1434
  parseOrderStatus(status) {
1435
1435
  if (status !== undefined) {
package/js/src/xt.js CHANGED
@@ -4384,11 +4384,12 @@ export default class xt extends Exchange {
4384
4384
  const tier = brackets[i];
4385
4385
  const marketId = this.safeString(info, 'symbol');
4386
4386
  market = this.safeMarket(marketId, market, '_', 'contract');
4387
+ const minNotional = this.safeNumber(brackets[i - 1], 'maxNominalValue', 0);
4387
4388
  tiers.push({
4388
4389
  'tier': this.safeInteger(tier, 'bracket'),
4389
4390
  'symbol': this.safeSymbol(marketId, market, '_', 'contract'),
4390
4391
  'currency': market['settle'],
4391
- 'minNotional': this.safeNumber(brackets[i - 1], 'maxNominalValue', 0),
4392
+ 'minNotional': minNotional,
4392
4393
  'maxNotional': this.safeNumber(tier, 'maxNominalValue'),
4393
4394
  'maintenanceMarginRate': this.safeNumber(tier, 'maintMarginRate'),
4394
4395
  'maxLeverage': this.safeNumber(tier, 'maxLeverage'),
package/js/src/yobit.js CHANGED
@@ -574,7 +574,8 @@ export default class yobit extends Exchange {
574
574
  await this.loadMarkets();
575
575
  let ids = undefined;
576
576
  if (symbols === undefined) {
577
- ids = this.ids.join('-');
577
+ const allIds = this.ids;
578
+ ids = allIds.join('-');
578
579
  // max URL length is 2083 symbols, including http schema, hostname, tld, etc...
579
580
  if (ids.length > 2048) {
580
581
  const numIds = this.ids.length;
@@ -1111,8 +1112,9 @@ export default class yobit extends Exchange {
1111
1112
  */
1112
1113
  async fetchOrder(id, symbol = undefined, params = {}) {
1113
1114
  await this.loadMarkets();
1115
+ const intId = parseInt(id);
1114
1116
  const request = {
1115
- 'order_id': parseInt(id),
1117
+ 'order_id': intId,
1116
1118
  };
1117
1119
  const response = await this.privatePostOrderInfo(this.extend(request, params));
1118
1120
  id = id.toString();
package/js/src/zebpay.js CHANGED
@@ -1786,11 +1786,11 @@ export default class zebpay extends Exchange {
1786
1786
  // }
1787
1787
  // ]
1788
1788
  //
1789
- const timestamp = this.safeInteger2(ticker, 'timestamp', 'ts', undefined);
1789
+ const timestamp = this.safeInteger2(ticker, 'timestamp', 'ts');
1790
1790
  const marketId = this.safeString(ticker, 'symbol');
1791
1791
  market = this.safeMarket(marketId);
1792
- const close = this.safeString(ticker, 'close', undefined);
1793
- const last = this.safeString(ticker, 'last', undefined);
1792
+ const close = this.safeString(ticker, 'close');
1793
+ const last = this.safeString(ticker, 'last');
1794
1794
  const percentage = this.safeString(ticker, 'percentage');
1795
1795
  const bidVolume = this.safeString(ticker, 'bidVolume');
1796
1796
  const askVolume = this.safeString(ticker, 'askVolume');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.5.55",
3
+ "version": "4.5.56",
4
4
  "description": "A cryptocurrency trading API with more than 100 exchanges in JavaScript / TypeScript / Python / C# / PHP / Go",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",
@@ -36,9 +36,14 @@
36
36
  "docker": "docker-compose run --rm ccxt",
37
37
  "fixTSBug": "node build/fixTSBug",
38
38
  "transpileCsSingle": "tsx build/csharpTranspiler.ts",
39
+ "transpileJavaSingle": "tsx build/javaTranspiler.ts && tsx build/javaTranspiler.ts --ws && tsx build/generateJavaWrappers.ts",
39
40
  "transpileCS": "tsx build/csharpTranspiler.ts --multi",
41
+ "transpileJava": "tsx build/javaTranspiler.ts --multi && tsx build/javaTranspiler.ts --ws && tsx build/generateJavaWrappers.ts",
42
+ "transpileJavaWs": "tsx build/javaTranspiler.ts --ws",
40
43
  "transpileCSWs": "tsx build/csharpTranspiler.ts --ws",
41
44
  "buildCS": "dotnet build cs/ccxt.sln",
45
+ "buildJava": "cd java/ && ./gradlew build && cd ../",
46
+ "publishJava": "cd java && ./gradlew :lib:publishToMavenCentral --no-configuration-cache",
42
47
  "buildGO": "go build -C go ./v4 && go build -C go ./v4/pro",
43
48
  "build-go-cli": "go build -C go/cli",
44
49
  "formatGO": "go fmt -C go v4 tests",
@@ -48,9 +53,10 @@
48
53
  "buildCSTests": "dotnet build cs/tests/tests.csproj",
49
54
  "buildCSRelease": "dotnet build cs --configuration Release",
50
55
  "csharp": "npm run transpileCS && npm run transpileCSWs && npm run buildCS",
56
+ "java": "npm run transpileJava && npm run buildJava",
51
57
  "go": "npm run transpileGO && npm run buildGO",
52
58
  "force-build//WithoutGo": "npm run pre-transpile && npm run force-transpile-fast && npm run csharp && npm run post-transpile && npm run update-badges",
53
- "force-build": "npm run pre-transpile && npm run go && npm run force-transpile-fast && npm run csharp && npm run post-transpile && npm run update-badges",
59
+ "force-build": "npm run pre-transpile && npm run go && npm run force-transpile-fast && npm run csharp && npm run java && npm run post-transpile && npm run update-badges",
54
60
  "//TMPCommentforce-build": "npm run pre-transpile && npm run force-transpile-fast && npm run csharp && npm run go && npm run post-transpile && npm run update-badges",
55
61
  "build-docs": "node jsdoc2md.js && node examples2md.js",
56
62
  "serve-docs": "docsify serve ./wiki",
@@ -64,6 +70,7 @@
64
70
  "emitAPIPhp": "tsx build/generateImplicitAPI.ts -- --php",
65
71
  "emitAPIGo": "tsx build/generateImplicitAPI.ts -- --go",
66
72
  "emitAPICs": "tsx build/generateImplicitAPI.ts -- --csharp",
73
+ "emitAPIJava": "tsx build/generateImplicitAPI.ts -- --java",
67
74
  "build": "npm run pre-transpile && npm run transpile && npm run post-transpile && npm run update-badges && npm run build-docs",
68
75
  "force-build-slow": "npm run pre-transpile && npm run force-transpile && npm run post-transpile && npm run update-badges",
69
76
  "pre-transpile-js": "npm run export-exchanges && npm run vss && npm run emitAPITs && npm run tsBuild && npm run validate-types && npm run tsBuildExamples && npm run check-js-syntax && npm run bundle",
@@ -72,6 +79,7 @@
72
79
  "pre-transpile-go": "npm run export-exchanges && npm run emitAPIGo",
73
80
  "pre-transpile-js-simple": "npm run export-exchanges && npm run emitAPITs && tsc && npm run validate-types",
74
81
  "pre-transpile-cs": "npm run export-exchanges && npm run emitAPICs",
82
+ "pre-transpile-java": "npm run export-exchanges && npm run emitAPIJava",
75
83
  "pre-transpile": "npm run export-exchanges && npm run vss && npm run tsBuild && npm run emitAPI && npm run validate-types && npm run tsBuildExamples && npm run copy-python-files && npm run check-js-syntax && npm run bundle",
76
84
  "pre-transpile-pr": "npm run export-exchanges && npm run tsBuild && npm run emitAPI && npm run check-js-syntax",
77
85
  "post-transpile": "npm run check-python-syntax && npm run check-php-syntax",
@@ -81,6 +89,7 @@
81
89
  "cli.php": "php ./examples/php/cli.php",
82
90
  "cli.cs": "dotnet run --project \"./cs/cli/cli.csproj\"",
83
91
  "cli.go": "go run -C go ./cli/main.go",
92
+ "cli.java": "./utils/java-cli.sh",
84
93
  "export-exchanges": "node build/export-exchanges",
85
94
  "capabilities": "node ./examples/js/exchange-capabilities.js",
86
95
  "git-ignore-generated-files": "node build/git-ignore-generated-files.cjs",
@@ -138,6 +147,7 @@
138
147
  "live-tests-ws-php": "npm run live-tests -- --php --ws",
139
148
  "live-tests-rest-csharp": "npm run live-tests -- --csharp",
140
149
  "live-tests-rest-go": "npm run live-tests -- --go",
150
+ "live-tests-java": "npm run live-tests -- --java",
141
151
  "live-tests-ws-csharp": "npm run live-tests -- --csharp --ws",
142
152
  "live-tests-ws-go": "npm run live-tests -- --go --ws",
143
153
  "ti-ts": "tsx ts/src/test/tests.init.ts",
@@ -155,6 +165,8 @@
155
165
  "request-php-sync": "npm run ti-php -- --requestTests --sync",
156
166
  "request-php": "npm run request-php-sync && npm run request-php-async",
157
167
  "request-cs": "npm run ti-cs -- --requestTests",
168
+ "request-java": "./java/gradlew -p java :tests:run -- --args=\"--requestTests\"",
169
+ "response-java": "./java/gradlew -p java :tests:run -- --args=\"--responseTests\"",
158
170
  "request-go": "npm run ti-go -- --requestTests",
159
171
  "request-tests//withoutGo": "npm run request-js && npm run request-py && npm run request-php && npm run request-cs",
160
172
  "request-tests": "npm run request-js && npm run request-py && npm run request-php && npm run request-cs && npm run request-go",
@@ -176,6 +188,7 @@
176
188
  "id-tests-php": "npm run ti-php -- --idTests",
177
189
  "id-tests-cs": "npm run ti-cs -- --idTests",
178
190
  "id-tests-go": "npm run ti-go -- --idTests",
191
+ "id-tests-java": "cd java/ && ./gradlew :tests:run -- --args=\"--idTests\" && cd ../",
179
192
  "id-tests": "npm run id-tests-js && npm run id-tests-py && npm run id-tests-php && npm run id-tests-cs",
180
193
  "id-tests//withGO": "npm run id-tests-js && npm run id-tests-py && npm run id-tests-php && npm run id-tests-cs && npm run id-tests-go",
181
194
  "test-base-rest-ts": "npm run ti-ts -- --baseTests",
@@ -184,6 +197,7 @@
184
197
  "test-base-rest-php": "npm run ti-php -- --baseTests",
185
198
  "test-base-rest-cs": "npm run ti-cs -- --baseTests",
186
199
  "test-base-rest-go": "npm run ti-go -- --baseTests && cd ../",
200
+ "test-base-rest-java": "cd java/ && ./gradlew :tests:run -- --args=\"--baseTests\" && cd ../",
187
201
  "test-base-ws-ts": "npm run ti-ts -- --baseTests --ws",
188
202
  "test-base-ws-js": "npm run ti-js -- --baseTests --ws",
189
203
  "test-base-ws-py": "npm run ti-py -- --baseTests --ws",
@@ -214,15 +228,15 @@
214
228
  "as-table": "^1.0.55",
215
229
  "asciichart": "^1.5.25",
216
230
  "assert": "^2.0.0",
217
- "ast-transpiler": "^0.0.85",
231
+ "ast-transpiler": "0.0.86",
218
232
  "blessed": "^0.1.81",
219
233
  "clipboardy": "^5.0.0",
220
234
  "commander": "^14.0.1",
221
235
  "docsify": "^4.13.1",
236
+ "eslint": "8.22.0",
222
237
  "eslint-config-airbnb-base": "15.0.0",
223
238
  "eslint-plugin-import": "2.25.4",
224
239
  "eslint-plugin-jsdoc": "^46.9.0",
225
- "eslint": "8.22.0",
226
240
  "https-proxy-agent": "^5.0.1",
227
241
  "jsdoc-to-markdown": "^8.0.0",
228
242
  "ololog": "^1.1.175",
@@ -231,14 +245,14 @@
231
245
  "piscina": "^3.2.0",
232
246
  "protobufjs": "^7.5.3",
233
247
  "replace-in-file": "^6.3.5",
234
- "rollup-plugin-execute": "1.1.1",
235
248
  "rollup": "^2.70.1",
249
+ "rollup-plugin-execute": "1.1.1",
236
250
  "terser-webpack-plugin": "^5.3.9",
237
251
  "ts-loader": "^9.4.2",
238
252
  "tsx": "^4.7.2",
239
253
  "typescript": "4.7.4",
240
- "webpack-cli": "^5.0.1",
241
- "webpack": "^5.76.2"
254
+ "webpack": "^5.76.2",
255
+ "webpack-cli": "^5.0.1"
242
256
  },
243
257
  "author": {
244
258
  "name": "Igor Kroitor",