ccxt 4.4.48 → 4.4.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +12 -12
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/bingx.js +88 -30
  5. package/dist/cjs/src/bitget.js +12 -10
  6. package/dist/cjs/src/coinsph.js +18 -9
  7. package/dist/cjs/src/deribit.js +82 -0
  8. package/dist/cjs/src/digifinex.js +131 -11
  9. package/dist/cjs/src/ellipx.js +61 -0
  10. package/dist/cjs/src/exmo.js +58 -0
  11. package/dist/cjs/src/hitbtc.js +99 -0
  12. package/dist/cjs/src/hollaex.js +73 -0
  13. package/dist/cjs/src/huobijp.js +73 -0
  14. package/dist/cjs/src/hyperliquid.js +22 -1
  15. package/dist/cjs/src/idex.js +71 -0
  16. package/dist/cjs/src/independentreserve.js +64 -0
  17. package/dist/cjs/src/indodax.js +61 -0
  18. package/dist/cjs/src/kuna.js +60 -1
  19. package/dist/cjs/src/latoken.js +64 -0
  20. package/dist/cjs/src/lbank.js +70 -0
  21. package/dist/cjs/src/luno.js +73 -0
  22. package/dist/cjs/src/lykke.js +64 -0
  23. package/dist/cjs/src/mercado.js +65 -0
  24. package/dist/cjs/src/mexc.js +1 -1
  25. package/dist/cjs/src/myokx.js +10 -0
  26. package/dist/cjs/src/ndax.js +71 -0
  27. package/dist/cjs/src/novadax.js +74 -0
  28. package/dist/cjs/src/oceanex.js +69 -0
  29. package/dist/cjs/src/okcoin.js +79 -2
  30. package/dist/cjs/src/onetrading.js +66 -0
  31. package/dist/cjs/src/oxfun.js +66 -0
  32. package/dist/cjs/src/p2b.js +63 -1
  33. package/dist/cjs/src/paradex.js +68 -0
  34. package/dist/cjs/src/pro/bitmart.js +6 -0
  35. package/js/ccxt.d.ts +1 -1
  36. package/js/ccxt.js +1 -1
  37. package/js/src/bingx.d.ts +8 -0
  38. package/js/src/bingx.js +88 -30
  39. package/js/src/bitget.d.ts +1 -0
  40. package/js/src/bitget.js +12 -10
  41. package/js/src/coinsph.d.ts +1 -0
  42. package/js/src/coinsph.js +18 -9
  43. package/js/src/deribit.js +82 -0
  44. package/js/src/digifinex.d.ts +1 -0
  45. package/js/src/digifinex.js +131 -11
  46. package/js/src/ellipx.d.ts +1 -0
  47. package/js/src/ellipx.js +61 -0
  48. package/js/src/exmo.js +58 -0
  49. package/js/src/hitbtc.js +99 -0
  50. package/js/src/hollaex.js +73 -0
  51. package/js/src/huobijp.js +73 -0
  52. package/js/src/hyperliquid.d.ts +1 -0
  53. package/js/src/hyperliquid.js +22 -1
  54. package/js/src/idex.js +71 -0
  55. package/js/src/independentreserve.js +64 -0
  56. package/js/src/indodax.js +61 -0
  57. package/js/src/kuna.js +60 -1
  58. package/js/src/latoken.js +64 -0
  59. package/js/src/lbank.js +70 -0
  60. package/js/src/luno.js +73 -0
  61. package/js/src/lykke.js +64 -0
  62. package/js/src/mercado.js +65 -0
  63. package/js/src/mexc.js +1 -1
  64. package/js/src/myokx.js +10 -0
  65. package/js/src/ndax.js +71 -0
  66. package/js/src/novadax.js +74 -0
  67. package/js/src/oceanex.js +69 -0
  68. package/js/src/okcoin.js +79 -2
  69. package/js/src/onetrading.js +66 -0
  70. package/js/src/oxfun.js +66 -0
  71. package/js/src/p2b.js +63 -1
  72. package/js/src/paradex.js +68 -0
  73. package/js/src/pro/bitmart.d.ts +1 -0
  74. package/js/src/pro/bitmart.js +6 -0
  75. package/package.json +2 -2
package/js/src/oxfun.js CHANGED
@@ -119,6 +119,7 @@ export default class oxfun extends Exchange {
119
119
  'reduceMargin': false,
120
120
  'repayCrossMargin': false,
121
121
  'repayIsolatedMargin': false,
122
+ 'sandbox': true,
122
123
  'setLeverage': false,
123
124
  'setMargin': false,
124
125
  'setMarginMode': false,
@@ -245,6 +246,71 @@ export default class oxfun extends Exchange {
245
246
  'Optimism': 'OPTIMISM',
246
247
  },
247
248
  },
249
+ 'features': {
250
+ 'default': {
251
+ 'sandbox': true,
252
+ 'createOrder': {
253
+ 'marginMode': false,
254
+ 'triggerPrice': true,
255
+ 'triggerDirection': false,
256
+ 'triggerPriceType': undefined,
257
+ 'stopLossPrice': false,
258
+ 'takeProfitPrice': false,
259
+ 'attachedStopLossTakeProfit': undefined,
260
+ 'timeInForce': {
261
+ 'IOC': true,
262
+ 'FOK': true,
263
+ 'PO': true,
264
+ 'GTD': false,
265
+ },
266
+ 'hedged': false,
267
+ 'trailing': false,
268
+ 'leverage': false,
269
+ 'marketBuyByCost': true,
270
+ 'marketBuyRequiresPrice': false,
271
+ 'selfTradePrevention': true,
272
+ 'iceberg': true, // todo
273
+ },
274
+ 'createOrders': {
275
+ 'max': 10, // todo
276
+ },
277
+ 'fetchMyTrades': {
278
+ 'marginMode': false,
279
+ 'limit': 500,
280
+ 'daysBack': 100000,
281
+ 'untilDays': 7,
282
+ },
283
+ 'fetchOrder': {
284
+ 'marginMode': false,
285
+ 'trigger': false,
286
+ 'trailing': false,
287
+ },
288
+ 'fetchOpenOrders': {
289
+ 'marginMode': false,
290
+ 'limit': undefined,
291
+ 'trigger': false,
292
+ 'trailing': false,
293
+ },
294
+ 'fetchOrders': undefined,
295
+ 'fetchClosedOrders': undefined,
296
+ 'fetchOHLCV': {
297
+ 'limit': 500,
298
+ },
299
+ },
300
+ 'spot': {
301
+ 'extends': 'default',
302
+ },
303
+ 'swap': {
304
+ 'linear': {
305
+ 'extends': 'default',
306
+ },
307
+ 'inverse': undefined,
308
+ },
309
+ 'future': {
310
+ 'linear': undefined,
311
+ 'inverse': undefined,
312
+ },
313
+ },
248
314
  'exceptions': {
249
315
  'exact': {
250
316
  '-0010': OperationFailed,
package/js/src/p2b.js CHANGED
@@ -78,7 +78,7 @@ export default class p2b extends Exchange {
78
78
  'fetchOpenOrders': true,
79
79
  'fetchOrderBook': true,
80
80
  'fetchOrderBooks': false,
81
- 'fetchOrders': true,
81
+ 'fetchOrders': false,
82
82
  'fetchOrderTrades': true,
83
83
  'fetchPosition': false,
84
84
  'fetchPositionHistory': false,
@@ -185,6 +185,68 @@ export default class p2b extends Exchange {
185
185
  ],
186
186
  },
187
187
  },
188
+ 'features': {
189
+ 'spot': {
190
+ 'sandbox': false,
191
+ 'createOrder': {
192
+ 'marginMode': false,
193
+ 'triggerPrice': false,
194
+ 'triggerDirection': false,
195
+ 'triggerPriceType': undefined,
196
+ 'stopLossPrice': false,
197
+ 'takeProfitPrice': false,
198
+ 'attachedStopLossTakeProfit': undefined,
199
+ 'timeInForce': {
200
+ 'IOC': true,
201
+ 'FOK': true,
202
+ 'PO': true,
203
+ 'GTD': false,
204
+ },
205
+ 'hedged': false,
206
+ 'trailing': false,
207
+ 'leverage': false,
208
+ 'marketBuyByCost': false,
209
+ 'marketBuyRequiresPrice': false,
210
+ 'selfTradePrevention': false,
211
+ 'iceberg': false,
212
+ },
213
+ 'createOrders': undefined,
214
+ 'fetchMyTrades': {
215
+ 'marginMode': false,
216
+ 'limit': 100,
217
+ 'daysBack': 100000,
218
+ 'untilDays': 1,
219
+ },
220
+ 'fetchOrder': undefined,
221
+ 'fetchOpenOrders': {
222
+ 'marginMode': false,
223
+ 'limit': 100,
224
+ 'trigger': false,
225
+ 'trailing': false,
226
+ },
227
+ 'fetchOrders': undefined,
228
+ 'fetchClosedOrders': {
229
+ 'marginMode': false,
230
+ 'limit': 100,
231
+ 'daysBack': 100000,
232
+ 'daysBackCanceled': 1 / 12,
233
+ 'untilDays': 1,
234
+ 'trigger': false,
235
+ 'trailing': false,
236
+ },
237
+ 'fetchOHLCV': {
238
+ 'limit': 500,
239
+ },
240
+ },
241
+ 'swap': {
242
+ 'linear': undefined,
243
+ 'inverse': undefined,
244
+ },
245
+ 'future': {
246
+ 'linear': undefined,
247
+ 'inverse': undefined,
248
+ },
249
+ },
188
250
  'commonCurrencies': {},
189
251
  'precisionMode': TICK_SIZE,
190
252
  'exceptions': {
package/js/src/paradex.js CHANGED
@@ -279,6 +279,74 @@ export default class paradex extends Exchange {
279
279
  'paradexAccount': undefined,
280
280
  'broker': 'CCXT',
281
281
  },
282
+ 'features': {
283
+ 'spot': undefined,
284
+ 'forSwap': {
285
+ 'sandbox': true,
286
+ 'createOrder': {
287
+ 'marginMode': false,
288
+ 'triggerPrice': true,
289
+ 'triggerDirection': true,
290
+ 'triggerPriceType': undefined,
291
+ 'stopLossPrice': false,
292
+ 'takeProfitPrice': false,
293
+ 'attachedStopLossTakeProfit': undefined,
294
+ 'timeInForce': {
295
+ 'IOC': true,
296
+ 'FOK': false,
297
+ 'PO': true,
298
+ 'GTD': false,
299
+ },
300
+ 'hedged': false,
301
+ 'trailing': false,
302
+ 'leverage': false,
303
+ 'marketBuyByCost': false,
304
+ 'marketBuyRequiresPrice': false,
305
+ 'selfTradePrevention': true,
306
+ 'iceberg': false,
307
+ },
308
+ 'createOrders': undefined,
309
+ 'fetchMyTrades': {
310
+ 'marginMode': false,
311
+ 'limit': 100,
312
+ 'daysBack': 100000,
313
+ 'untilDays': 100000, // todo
314
+ },
315
+ 'fetchOrder': {
316
+ 'marginMode': false,
317
+ 'trigger': false,
318
+ 'trailing': false,
319
+ },
320
+ 'fetchOpenOrders': {
321
+ 'marginMode': false,
322
+ 'limit': 100,
323
+ 'trigger': false,
324
+ 'trailing': false,
325
+ },
326
+ 'fetchOrders': {
327
+ 'marginMode': false,
328
+ 'limit': 100,
329
+ 'daysBack': 100000,
330
+ 'untilDays': 100000,
331
+ 'trigger': false,
332
+ 'trailing': false,
333
+ },
334
+ 'fetchClosedOrders': undefined,
335
+ 'fetchOHLCV': {
336
+ 'limit': undefined, // todo by from/to
337
+ },
338
+ },
339
+ 'swap': {
340
+ 'linear': {
341
+ 'extends': 'forSwap',
342
+ },
343
+ 'inverse': undefined,
344
+ },
345
+ 'future': {
346
+ 'linear': undefined,
347
+ 'inverse': undefined,
348
+ },
349
+ },
282
350
  });
283
351
  }
284
352
  /**
@@ -140,6 +140,7 @@ export default class bitmart extends bitmartRest {
140
140
  * @param {string} symbol unified symbol of the market to fetch the order book for
141
141
  * @param {int} [limit] the maximum amount of order book entries to return
142
142
  * @param {object} [params] extra parameters specific to the exchange API endpoint
143
+ * @param {string} [params.speed] *futures only* '100ms' or '200ms'
143
144
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
144
145
  */
145
146
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
@@ -104,6 +104,11 @@ export default class bitmart extends bitmartRest {
104
104
  }
105
105
  else {
106
106
  messageHash = 'futures/' + channel + ':' + market['id'];
107
+ const speed = this.safeString(params, 'speed');
108
+ if (speed !== undefined) {
109
+ params = this.omit(params, 'speed');
110
+ messageHash += ':' + speed;
111
+ }
107
112
  request = {
108
113
  'action': 'subscribe',
109
114
  'args': [messageHash],
@@ -1211,6 +1216,7 @@ export default class bitmart extends bitmartRest {
1211
1216
  * @param {string} symbol unified symbol of the market to fetch the order book for
1212
1217
  * @param {int} [limit] the maximum amount of order book entries to return
1213
1218
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1219
+ * @param {string} [params.speed] *futures only* '100ms' or '200ms'
1214
1220
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
1215
1221
  */
1216
1222
  async watchOrderBook(symbol, limit = undefined, params = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.4.48",
3
+ "version": "4.4.49",
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",
@@ -144,7 +144,7 @@
144
144
  "response-php-sync": "npm run ti-php -- --responseTests --sync",
145
145
  "response-php": "npm run response-php-sync && npm run response-php-async",
146
146
  "response-tests": "npm run response-js && npm run response-py && npm run response-php && npm run response-cs",
147
- "static-updater": "node ./utils/update-static-tests-data --update",
147
+ "static-updater": "tsx ./utils/update-static-json --update",
148
148
  "id-tests-js": "npm run ti-js -- --idTests",
149
149
  "id-tests-py": "npm run ti-py -- --idTests",
150
150
  "id-tests-php": "npm run ti-php -- --idTests",