ccxt 4.4.49 → 4.4.50

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 (122) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/alpaca.js +64 -1
  5. package/dist/cjs/src/base/Exchange.js +75 -0
  6. package/dist/cjs/src/binance.js +8 -4
  7. package/dist/cjs/src/bitfinex1.js +22 -22
  8. package/dist/cjs/src/blofin.js +2 -2
  9. package/dist/cjs/src/bybit.js +2 -2
  10. package/dist/cjs/src/coinex.js +4 -4
  11. package/dist/cjs/src/coinmetro.js +1 -1
  12. package/dist/cjs/src/defx.js +1 -1
  13. package/dist/cjs/src/ellipx.js +1 -0
  14. package/dist/cjs/src/gate.js +1 -1
  15. package/dist/cjs/src/hollaex.js +13 -19
  16. package/dist/cjs/src/hyperliquid.js +4 -4
  17. package/dist/cjs/src/krakenfutures.js +1 -1
  18. package/dist/cjs/src/kucoin.js +49 -71
  19. package/dist/cjs/src/kuna.js +1 -1
  20. package/dist/cjs/src/mexc.js +3 -2
  21. package/dist/cjs/src/okcoin.js +13 -5
  22. package/dist/cjs/src/okx.js +1 -1
  23. package/dist/cjs/src/paradex.js +1 -1
  24. package/dist/cjs/src/paymium.js +42 -0
  25. package/dist/cjs/src/pro/bitfinex1.js +4 -4
  26. package/dist/cjs/src/pro/bitvavo.js +1 -1
  27. package/dist/cjs/src/pro/blofin.js +1 -1
  28. package/dist/cjs/src/pro/bybit.js +1 -1
  29. package/dist/cjs/src/pro/coincatch.js +2 -2
  30. package/dist/cjs/src/pro/cryptocom.js +2 -2
  31. package/dist/cjs/src/pro/defx.js +1 -1
  32. package/dist/cjs/src/pro/exmo.js +1 -1
  33. package/dist/cjs/src/pro/gemini.js +1 -1
  34. package/dist/cjs/src/pro/hashkey.js +2 -2
  35. package/dist/cjs/src/pro/hyperliquid.js +2 -2
  36. package/dist/cjs/src/pro/kucoin.js +1 -1
  37. package/dist/cjs/src/pro/okx.js +1 -1
  38. package/dist/cjs/src/pro/oxfun.js +1 -1
  39. package/dist/cjs/src/probit.js +68 -1
  40. package/dist/cjs/src/timex.js +67 -0
  41. package/dist/cjs/src/tokocrypto.js +82 -5
  42. package/dist/cjs/src/tradeogre.js +55 -2
  43. package/dist/cjs/src/whitebit.js +11 -4
  44. package/examples/README.md +6 -0
  45. package/js/ccxt.d.ts +1 -1
  46. package/js/ccxt.js +1 -1
  47. package/js/src/abstract/binance.d.ts +1 -0
  48. package/js/src/abstract/binancecoinm.d.ts +1 -0
  49. package/js/src/abstract/binanceus.d.ts +1 -0
  50. package/js/src/abstract/binanceusdm.d.ts +1 -0
  51. package/js/src/alpaca.d.ts +35 -0
  52. package/js/src/alpaca.js +64 -1
  53. package/js/src/base/Exchange.js +75 -0
  54. package/js/src/binance.d.ts +1 -0
  55. package/js/src/binance.js +8 -4
  56. package/js/src/bitfinex1.d.ts +22 -22
  57. package/js/src/bitfinex1.js +22 -22
  58. package/js/src/blofin.d.ts +1 -1
  59. package/js/src/blofin.js +2 -2
  60. package/js/src/bybit.d.ts +2 -2
  61. package/js/src/bybit.js +2 -2
  62. package/js/src/coinex.js +4 -4
  63. package/js/src/coinmetro.d.ts +1 -1
  64. package/js/src/coinmetro.js +1 -1
  65. package/js/src/defx.d.ts +1 -1
  66. package/js/src/defx.js +1 -1
  67. package/js/src/ellipx.d.ts +1 -0
  68. package/js/src/ellipx.js +1 -0
  69. package/js/src/gate.d.ts +1 -1
  70. package/js/src/gate.js +1 -1
  71. package/js/src/hollaex.d.ts +2 -1
  72. package/js/src/hollaex.js +13 -19
  73. package/js/src/hyperliquid.d.ts +3 -3
  74. package/js/src/hyperliquid.js +4 -4
  75. package/js/src/krakenfutures.d.ts +1 -1
  76. package/js/src/krakenfutures.js +1 -1
  77. package/js/src/kucoin.js +49 -71
  78. package/js/src/kuna.d.ts +1 -1
  79. package/js/src/kuna.js +1 -1
  80. package/js/src/mexc.js +3 -2
  81. package/js/src/okcoin.js +13 -5
  82. package/js/src/okx.d.ts +1 -1
  83. package/js/src/okx.js +1 -1
  84. package/js/src/paradex.d.ts +1 -1
  85. package/js/src/paradex.js +1 -1
  86. package/js/src/paymium.js +42 -0
  87. package/js/src/pro/bitfinex1.d.ts +4 -4
  88. package/js/src/pro/bitfinex1.js +4 -4
  89. package/js/src/pro/bitvavo.d.ts +1 -1
  90. package/js/src/pro/bitvavo.js +1 -1
  91. package/js/src/pro/blofin.d.ts +1 -1
  92. package/js/src/pro/blofin.js +1 -1
  93. package/js/src/pro/bybit.d.ts +1 -1
  94. package/js/src/pro/bybit.js +1 -1
  95. package/js/src/pro/coincatch.d.ts +2 -2
  96. package/js/src/pro/coincatch.js +2 -2
  97. package/js/src/pro/cryptocom.d.ts +2 -2
  98. package/js/src/pro/cryptocom.js +2 -2
  99. package/js/src/pro/defx.d.ts +1 -1
  100. package/js/src/pro/defx.js +1 -1
  101. package/js/src/pro/exmo.d.ts +1 -1
  102. package/js/src/pro/exmo.js +1 -1
  103. package/js/src/pro/gemini.d.ts +1 -1
  104. package/js/src/pro/gemini.js +1 -1
  105. package/js/src/pro/hashkey.d.ts +2 -2
  106. package/js/src/pro/hashkey.js +2 -2
  107. package/js/src/pro/hyperliquid.d.ts +2 -2
  108. package/js/src/pro/hyperliquid.js +2 -2
  109. package/js/src/pro/kucoin.d.ts +1 -1
  110. package/js/src/pro/kucoin.js +1 -1
  111. package/js/src/pro/okx.d.ts +1 -1
  112. package/js/src/pro/okx.js +1 -1
  113. package/js/src/pro/oxfun.d.ts +1 -1
  114. package/js/src/pro/oxfun.js +1 -1
  115. package/js/src/probit.js +68 -1
  116. package/js/src/timex.js +67 -0
  117. package/js/src/tokocrypto.d.ts +2 -3
  118. package/js/src/tokocrypto.js +82 -5
  119. package/js/src/tradeogre.d.ts +4 -2
  120. package/js/src/tradeogre.js +55 -2
  121. package/js/src/whitebit.js +11 -4
  122. package/package.json +1 -1
@@ -159,6 +159,57 @@ export default class tradeogre extends Exchange {
159
159
  },
160
160
  },
161
161
  'options': {},
162
+ 'features': {
163
+ 'spot': {
164
+ 'sandbox': false,
165
+ 'createOrder': {
166
+ 'marginMode': false,
167
+ 'triggerPrice': false,
168
+ 'triggerDirection': false,
169
+ 'triggerPriceType': undefined,
170
+ 'stopLossPrice': false,
171
+ 'takeProfitPrice': false,
172
+ 'attachedStopLossTakeProfit': undefined,
173
+ 'timeInForce': {
174
+ 'IOC': false,
175
+ 'FOK': false,
176
+ 'PO': false,
177
+ 'GTD': false,
178
+ },
179
+ 'hedged': false,
180
+ 'trailing': false,
181
+ 'leverage': false,
182
+ 'marketBuyByCost': false,
183
+ 'marketBuyRequiresPrice': false,
184
+ 'selfTradePrevention': false,
185
+ 'iceberg': false,
186
+ },
187
+ 'createOrders': undefined,
188
+ 'fetchMyTrades': undefined,
189
+ 'fetchOrder': {
190
+ 'marginMode': false,
191
+ 'trigger': false,
192
+ 'trailing': false,
193
+ },
194
+ 'fetchOpenOrders': {
195
+ 'marginMode': false,
196
+ 'limit': undefined,
197
+ 'trigger': false,
198
+ 'trailing': false,
199
+ },
200
+ 'fetchOrders': undefined,
201
+ 'fetchClosedOrders': undefined,
202
+ 'fetchOHLCV': undefined, // todo
203
+ },
204
+ 'swap': {
205
+ 'linear': undefined,
206
+ 'inverse': undefined,
207
+ },
208
+ 'future': {
209
+ 'linear': undefined,
210
+ 'inverse': undefined,
211
+ },
212
+ },
162
213
  });
163
214
  }
164
215
  /**
@@ -449,6 +500,7 @@ export default class tradeogre extends Exchange {
449
500
  * @method
450
501
  * @name tradeogre#createOrder
451
502
  * @description create a trade order
503
+ * @see https://tradeogre.com/help/api#:~:text=u%20%27%7Bpublic%7D%3A%7Bprivate%7D%27-,Submit%20Buy%20Order
452
504
  * @param {string} symbol unified symbol of the market to create an order in
453
505
  * @param {string} type must be 'limit'
454
506
  * @param {string} side 'buy' or 'sell'
@@ -516,6 +568,7 @@ export default class tradeogre extends Exchange {
516
568
  * @method
517
569
  * @name tradeogre#fetchOpenOrders
518
570
  * @description fetch all unfilled currently open orders
571
+ * @see https://tradeogre.com/help/api#:~:text=%7B%22success%22%3Atrue%7D-,Get%20Orders,-Method%20(POST)
519
572
  * @param {string} symbol unified market symbol of the market orders were made in
520
573
  * @param {int} [since] the earliest time in ms to fetch orders for
521
574
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -537,9 +590,9 @@ export default class tradeogre extends Exchange {
537
590
  }
538
591
  /**
539
592
  * @method
540
- * @name ace#fetchOrder
593
+ * @name tradeogre#fetchOrder
541
594
  * @description fetches information on an order made by the user
542
- * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-status
595
+ * @see https://tradeogre.com/help/api#:~:text=market%22%3A%22XMR%2DBTC%22%7D%5D-,Get%20Order,-Method%20(GET)
543
596
  * @param {string} id order id
544
597
  * @param {string} symbol unified symbol of the market the order was made in
545
598
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -262,6 +262,8 @@ export default class whitebit extends Exchange {
262
262
  },
263
263
  },
264
264
  'options': {
265
+ 'timeDifference': 0,
266
+ 'adjustForTimeDifference': false,
265
267
  'fiatCurrencies': ['EUR', 'USD', 'RUB', 'UAH'],
266
268
  'fetchBalance': {
267
269
  'account': 'spot',
@@ -318,6 +320,9 @@ export default class whitebit extends Exchange {
318
320
  * @returns {object[]} an array of objects representing market data
319
321
  */
320
322
  async fetchMarkets(params = {}) {
323
+ if (this.options['adjustForTimeDifference']) {
324
+ await this.loadTimeDifference();
325
+ }
321
326
  const markets = await this.v4PublicGetMarkets();
322
327
  //
323
328
  // [
@@ -1242,7 +1247,7 @@ export default class whitebit extends Exchange {
1242
1247
  const response = await this.v4PublicGetTime(params);
1243
1248
  //
1244
1249
  // {
1245
- // "time":1635467280514
1250
+ // "time":1737380046
1246
1251
  // }
1247
1252
  //
1248
1253
  return this.safeInteger(response, 'time');
@@ -2611,7 +2616,7 @@ export default class whitebit extends Exchange {
2611
2616
  return this.inArray(currency, fiatCurrencies);
2612
2617
  }
2613
2618
  nonce() {
2614
- return this.milliseconds();
2619
+ return this.milliseconds() - this.options['timeDifference'];
2615
2620
  }
2616
2621
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
2617
2622
  const query = this.omit(params, this.extractParams(path));
@@ -2626,10 +2631,12 @@ export default class whitebit extends Exchange {
2626
2631
  }
2627
2632
  if (accessibility === 'private') {
2628
2633
  this.checkRequiredCredentials();
2629
- const nonce = this.nonce().toString();
2634
+ const nonce = this.nonce();
2635
+ const timestamp = this.parseToInt(nonce / 1000);
2636
+ const timestampString = timestamp.toString();
2630
2637
  const secret = this.encode(this.secret);
2631
2638
  const request = '/' + 'api' + '/' + version + pathWithParams;
2632
- body = this.json(this.extend({ 'request': request, 'nonce': nonce }, params));
2639
+ body = this.json(this.extend({ 'request': request, 'nonce': timestampString }, params));
2633
2640
  const payload = this.stringToBase64(body);
2634
2641
  const signature = this.hmac(this.encode(payload), secret, sha512);
2635
2642
  headers = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.4.49",
3
+ "version": "4.4.50",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",