ccxt 4.4.49 → 4.4.53
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.
- package/README.md +6 -3
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/alpaca.js +65 -2
- package/dist/cjs/src/base/Exchange.js +112 -3
- package/dist/cjs/src/binance.js +42 -19
- package/dist/cjs/src/bitfinex1.js +22 -22
- package/dist/cjs/src/blofin.js +6 -2
- package/dist/cjs/src/bybit.js +2 -2
- package/dist/cjs/src/coinex.js +5 -5
- package/dist/cjs/src/coinmetro.js +21 -4
- package/dist/cjs/src/defx.js +1 -1
- package/dist/cjs/src/deribit.js +23 -4
- package/dist/cjs/src/ellipx.js +1 -0
- package/dist/cjs/src/gate.js +2 -2
- package/dist/cjs/src/hollaex.js +15 -20
- package/dist/cjs/src/htx.js +6 -4
- package/dist/cjs/src/hyperliquid.js +4 -4
- package/dist/cjs/src/krakenfutures.js +1 -1
- package/dist/cjs/src/kucoin.js +52 -74
- package/dist/cjs/src/kuna.js +1 -1
- package/dist/cjs/src/mexc.js +29 -8
- package/dist/cjs/src/okcoin.js +13 -5
- package/dist/cjs/src/okx.js +1 -1
- package/dist/cjs/src/onetrading.js +1 -1
- package/dist/cjs/src/paradex.js +2 -2
- package/dist/cjs/src/paymium.js +42 -0
- package/dist/cjs/src/pro/binance.js +2 -0
- package/dist/cjs/src/pro/bitfinex1.js +4 -4
- package/dist/cjs/src/pro/bitvavo.js +1 -1
- package/dist/cjs/src/pro/blofin.js +9 -1
- package/dist/cjs/src/pro/bybit.js +1 -1
- package/dist/cjs/src/pro/coincatch.js +2 -2
- package/dist/cjs/src/pro/coinex.js +4 -1
- package/dist/cjs/src/pro/cryptocom.js +2 -2
- package/dist/cjs/src/pro/defx.js +1 -1
- package/dist/cjs/src/pro/exmo.js +1 -1
- package/dist/cjs/src/pro/gemini.js +1 -1
- package/dist/cjs/src/pro/hashkey.js +2 -2
- package/dist/cjs/src/pro/htx.js +8 -8
- package/dist/cjs/src/pro/hyperliquid.js +2 -2
- package/dist/cjs/src/pro/kucoin.js +1 -1
- package/dist/cjs/src/pro/okx.js +1 -1
- package/dist/cjs/src/pro/oxfun.js +1 -1
- package/dist/cjs/src/probit.js +77 -9
- package/dist/cjs/src/timex.js +67 -0
- package/dist/cjs/src/tokocrypto.js +82 -5
- package/dist/cjs/src/tradeogre.js +55 -2
- package/dist/cjs/src/vertex.js +65 -2
- package/dist/cjs/src/wavesexchange.js +73 -0
- package/dist/cjs/src/wazirx.js +59 -3
- package/dist/cjs/src/whitebit.js +80 -4
- package/dist/cjs/src/xt.js +112 -0
- package/dist/cjs/src/yobit.js +56 -0
- package/dist/cjs/src/zaif.js +55 -0
- package/dist/cjs/src/zonda.js +56 -0
- package/examples/README.md +6 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/alpaca.d.ts +35 -0
- package/js/src/alpaca.js +65 -2
- package/js/src/base/Exchange.d.ts +2 -0
- package/js/src/base/Exchange.js +112 -3
- package/js/src/binance.d.ts +4 -1
- package/js/src/binance.js +42 -19
- package/js/src/bitfinex1.d.ts +22 -22
- package/js/src/bitfinex1.js +22 -22
- package/js/src/blofin.d.ts +1 -1
- package/js/src/blofin.js +6 -2
- package/js/src/bybit.d.ts +2 -2
- package/js/src/bybit.js +2 -2
- package/js/src/coinex.js +5 -5
- package/js/src/coinmetro.d.ts +1 -1
- package/js/src/coinmetro.js +21 -4
- package/js/src/defx.d.ts +1 -1
- package/js/src/defx.js +1 -1
- package/js/src/deribit.d.ts +1 -1
- package/js/src/deribit.js +23 -4
- package/js/src/ellipx.d.ts +1 -0
- package/js/src/ellipx.js +1 -0
- package/js/src/gate.d.ts +1 -1
- package/js/src/gate.js +2 -2
- package/js/src/hollaex.d.ts +2 -1
- package/js/src/hollaex.js +15 -20
- package/js/src/htx.d.ts +1 -1
- package/js/src/htx.js +6 -4
- package/js/src/hyperliquid.d.ts +3 -3
- package/js/src/hyperliquid.js +4 -4
- package/js/src/krakenfutures.d.ts +1 -1
- package/js/src/krakenfutures.js +1 -1
- package/js/src/kucoin.js +52 -74
- package/js/src/kuna.d.ts +1 -1
- package/js/src/kuna.js +1 -1
- package/js/src/mexc.d.ts +1 -1
- package/js/src/mexc.js +29 -8
- package/js/src/okcoin.js +13 -5
- package/js/src/okx.d.ts +1 -1
- package/js/src/okx.js +1 -1
- package/js/src/onetrading.d.ts +1 -1
- package/js/src/onetrading.js +1 -1
- package/js/src/paradex.d.ts +1 -1
- package/js/src/paradex.js +2 -2
- package/js/src/paymium.js +42 -0
- package/js/src/pro/binance.js +2 -0
- package/js/src/pro/bitfinex1.d.ts +4 -4
- package/js/src/pro/bitfinex1.js +4 -4
- package/js/src/pro/bitvavo.d.ts +1 -1
- package/js/src/pro/bitvavo.js +1 -1
- package/js/src/pro/blofin.d.ts +1 -1
- package/js/src/pro/blofin.js +9 -1
- package/js/src/pro/bybit.d.ts +1 -1
- package/js/src/pro/bybit.js +1 -1
- package/js/src/pro/coincatch.d.ts +2 -2
- package/js/src/pro/coincatch.js +2 -2
- package/js/src/pro/coinex.js +4 -1
- package/js/src/pro/cryptocom.d.ts +2 -2
- package/js/src/pro/cryptocom.js +2 -2
- package/js/src/pro/defx.d.ts +1 -1
- package/js/src/pro/defx.js +1 -1
- package/js/src/pro/exmo.d.ts +1 -1
- package/js/src/pro/exmo.js +1 -1
- package/js/src/pro/gemini.d.ts +1 -1
- package/js/src/pro/gemini.js +1 -1
- package/js/src/pro/hashkey.d.ts +2 -2
- package/js/src/pro/hashkey.js +2 -2
- package/js/src/pro/htx.d.ts +8 -8
- package/js/src/pro/htx.js +8 -8
- package/js/src/pro/hyperliquid.d.ts +2 -2
- package/js/src/pro/hyperliquid.js +2 -2
- package/js/src/pro/kucoin.d.ts +1 -1
- package/js/src/pro/kucoin.js +1 -1
- package/js/src/pro/okx.d.ts +1 -1
- package/js/src/pro/okx.js +1 -1
- package/js/src/pro/oxfun.d.ts +1 -1
- package/js/src/pro/oxfun.js +1 -1
- package/js/src/probit.d.ts +1 -0
- package/js/src/probit.js +77 -9
- package/js/src/timex.js +67 -0
- package/js/src/tokocrypto.d.ts +2 -3
- package/js/src/tokocrypto.js +82 -5
- package/js/src/tradeogre.d.ts +4 -2
- package/js/src/tradeogre.js +55 -2
- package/js/src/vertex.js +65 -2
- package/js/src/wavesexchange.js +73 -0
- package/js/src/wazirx.js +59 -3
- package/js/src/whitebit.js +80 -4
- package/js/src/xt.js +112 -0
- package/js/src/yobit.js +56 -0
- package/js/src/zaif.js +55 -0
- package/js/src/zonda.d.ts +1 -0
- package/js/src/zonda.js +56 -0
- package/package.json +2 -2
- package/js/src/hitbtc3.d.ts +0 -8
- package/js/src/hitbtc3.js +0 -20
|
@@ -595,6 +595,79 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
595
595
|
'MAX_POSITION': errors.InvalidOrder, // {"code":-2010,"msg":"Filter failure: MAX_POSITION"}
|
|
596
596
|
},
|
|
597
597
|
},
|
|
598
|
+
'features': {
|
|
599
|
+
'spot': {
|
|
600
|
+
'sandbox': false,
|
|
601
|
+
'createOrder': {
|
|
602
|
+
'marginMode': false,
|
|
603
|
+
'triggerPrice': true,
|
|
604
|
+
'triggerDirection': false,
|
|
605
|
+
'triggerPriceType': undefined,
|
|
606
|
+
'stopLossPrice': false,
|
|
607
|
+
'takeProfitPrice': false,
|
|
608
|
+
'attachedStopLossTakeProfit': undefined,
|
|
609
|
+
'timeInForce': {
|
|
610
|
+
'IOC': true,
|
|
611
|
+
'FOK': true,
|
|
612
|
+
'PO': true,
|
|
613
|
+
'GTD': false,
|
|
614
|
+
},
|
|
615
|
+
'hedged': false,
|
|
616
|
+
'trailing': false,
|
|
617
|
+
'leverage': false,
|
|
618
|
+
'marketBuyByCost': true,
|
|
619
|
+
'marketBuyRequiresPrice': true,
|
|
620
|
+
'selfTradePrevention': true,
|
|
621
|
+
'iceberg': true, // todo
|
|
622
|
+
},
|
|
623
|
+
'createOrders': undefined,
|
|
624
|
+
'fetchMyTrades': {
|
|
625
|
+
'marginMode': false,
|
|
626
|
+
'limit': 1000,
|
|
627
|
+
'daysBack': 100000,
|
|
628
|
+
'untilDays': 100000, // todo
|
|
629
|
+
},
|
|
630
|
+
'fetchOrder': {
|
|
631
|
+
'marginMode': false,
|
|
632
|
+
'trigger': false,
|
|
633
|
+
'trailing': false,
|
|
634
|
+
},
|
|
635
|
+
'fetchOpenOrders': {
|
|
636
|
+
'marginMode': false,
|
|
637
|
+
'limit': 1000,
|
|
638
|
+
'trigger': false,
|
|
639
|
+
'trailing': false,
|
|
640
|
+
},
|
|
641
|
+
'fetchOrders': {
|
|
642
|
+
'marginMode': false,
|
|
643
|
+
'limit': 1000,
|
|
644
|
+
'daysBack': 100000,
|
|
645
|
+
'untilDays': 100000,
|
|
646
|
+
'trigger': false,
|
|
647
|
+
'trailing': false,
|
|
648
|
+
},
|
|
649
|
+
'fetchClosedOrders': {
|
|
650
|
+
'marginMode': false,
|
|
651
|
+
'limit': 1000,
|
|
652
|
+
'daysBack': 100000,
|
|
653
|
+
'daysBackCanceled': 1,
|
|
654
|
+
'untilDays': 100000,
|
|
655
|
+
'trigger': false,
|
|
656
|
+
'trailing': false,
|
|
657
|
+
},
|
|
658
|
+
'fetchOHLCV': {
|
|
659
|
+
'limit': 1000,
|
|
660
|
+
},
|
|
661
|
+
},
|
|
662
|
+
'swap': {
|
|
663
|
+
'linear': undefined,
|
|
664
|
+
'inverse': undefined,
|
|
665
|
+
},
|
|
666
|
+
'future': {
|
|
667
|
+
'linear': undefined,
|
|
668
|
+
'inverse': undefined,
|
|
669
|
+
},
|
|
670
|
+
},
|
|
598
671
|
});
|
|
599
672
|
}
|
|
600
673
|
nonce() {
|
|
@@ -611,9 +684,14 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
611
684
|
async fetchTime(params = {}) {
|
|
612
685
|
const response = await this.publicGetOpenV1CommonTime(params);
|
|
613
686
|
//
|
|
687
|
+
// {
|
|
688
|
+
// "code": 0,
|
|
689
|
+
// "msg": "Success",
|
|
690
|
+
// "data": null,
|
|
691
|
+
// "timestamp": 1737378074159
|
|
692
|
+
// }
|
|
614
693
|
//
|
|
615
|
-
|
|
616
|
-
return this.safeInteger(response, 'serverTime');
|
|
694
|
+
return this.safeInteger(response, 'timestamp');
|
|
617
695
|
}
|
|
618
696
|
/**
|
|
619
697
|
* @method
|
|
@@ -1588,7 +1666,6 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
1588
1666
|
* @name tokocrypto#createOrder
|
|
1589
1667
|
* @description create a trade order
|
|
1590
1668
|
* @see https://www.tokocrypto.com/apidocs/#new-order--signed
|
|
1591
|
-
* @see https://www.tokocrypto.com/apidocs/#account-trade-list-signed
|
|
1592
1669
|
* @param {string} symbol unified symbol of the market to create an order in
|
|
1593
1670
|
* @param {string} type 'market' or 'limit'
|
|
1594
1671
|
* @param {string} side 'buy' or 'sell'
|
|
@@ -1778,7 +1855,7 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
1778
1855
|
/**
|
|
1779
1856
|
* @method
|
|
1780
1857
|
* @name tokocrypto#fetchOrder
|
|
1781
|
-
* @see https://www.tokocrypto.com/apidocs/#
|
|
1858
|
+
* @see https://www.tokocrypto.com/apidocs/#query-order-signed
|
|
1782
1859
|
* @description fetches information on an order made by the user
|
|
1783
1860
|
* @param {string} id order id
|
|
1784
1861
|
* @param {string} symbol unified symbol of the market the order was made in
|
|
@@ -2343,7 +2420,7 @@ class tokocrypto extends tokocrypto$1 {
|
|
|
2343
2420
|
}
|
|
2344
2421
|
/**
|
|
2345
2422
|
* @method
|
|
2346
|
-
* @name
|
|
2423
|
+
* @name tokocrypto#withdraw
|
|
2347
2424
|
* @see https://www.tokocrypto.com/apidocs/#withdraw-signed
|
|
2348
2425
|
* @description make a withdrawal
|
|
2349
2426
|
* @param {string} code unified currency code
|
|
@@ -156,6 +156,57 @@ class tradeogre extends tradeogre$1 {
|
|
|
156
156
|
},
|
|
157
157
|
},
|
|
158
158
|
'options': {},
|
|
159
|
+
'features': {
|
|
160
|
+
'spot': {
|
|
161
|
+
'sandbox': false,
|
|
162
|
+
'createOrder': {
|
|
163
|
+
'marginMode': false,
|
|
164
|
+
'triggerPrice': false,
|
|
165
|
+
'triggerDirection': false,
|
|
166
|
+
'triggerPriceType': undefined,
|
|
167
|
+
'stopLossPrice': false,
|
|
168
|
+
'takeProfitPrice': false,
|
|
169
|
+
'attachedStopLossTakeProfit': undefined,
|
|
170
|
+
'timeInForce': {
|
|
171
|
+
'IOC': false,
|
|
172
|
+
'FOK': false,
|
|
173
|
+
'PO': false,
|
|
174
|
+
'GTD': false,
|
|
175
|
+
},
|
|
176
|
+
'hedged': false,
|
|
177
|
+
'trailing': false,
|
|
178
|
+
'leverage': false,
|
|
179
|
+
'marketBuyByCost': false,
|
|
180
|
+
'marketBuyRequiresPrice': false,
|
|
181
|
+
'selfTradePrevention': false,
|
|
182
|
+
'iceberg': false,
|
|
183
|
+
},
|
|
184
|
+
'createOrders': undefined,
|
|
185
|
+
'fetchMyTrades': undefined,
|
|
186
|
+
'fetchOrder': {
|
|
187
|
+
'marginMode': false,
|
|
188
|
+
'trigger': false,
|
|
189
|
+
'trailing': false,
|
|
190
|
+
},
|
|
191
|
+
'fetchOpenOrders': {
|
|
192
|
+
'marginMode': false,
|
|
193
|
+
'limit': undefined,
|
|
194
|
+
'trigger': false,
|
|
195
|
+
'trailing': false,
|
|
196
|
+
},
|
|
197
|
+
'fetchOrders': undefined,
|
|
198
|
+
'fetchClosedOrders': undefined,
|
|
199
|
+
'fetchOHLCV': undefined, // todo
|
|
200
|
+
},
|
|
201
|
+
'swap': {
|
|
202
|
+
'linear': undefined,
|
|
203
|
+
'inverse': undefined,
|
|
204
|
+
},
|
|
205
|
+
'future': {
|
|
206
|
+
'linear': undefined,
|
|
207
|
+
'inverse': undefined,
|
|
208
|
+
},
|
|
209
|
+
},
|
|
159
210
|
});
|
|
160
211
|
}
|
|
161
212
|
/**
|
|
@@ -446,6 +497,7 @@ class tradeogre extends tradeogre$1 {
|
|
|
446
497
|
* @method
|
|
447
498
|
* @name tradeogre#createOrder
|
|
448
499
|
* @description create a trade order
|
|
500
|
+
* @see https://tradeogre.com/help/api#:~:text=u%20%27%7Bpublic%7D%3A%7Bprivate%7D%27-,Submit%20Buy%20Order
|
|
449
501
|
* @param {string} symbol unified symbol of the market to create an order in
|
|
450
502
|
* @param {string} type must be 'limit'
|
|
451
503
|
* @param {string} side 'buy' or 'sell'
|
|
@@ -513,6 +565,7 @@ class tradeogre extends tradeogre$1 {
|
|
|
513
565
|
* @method
|
|
514
566
|
* @name tradeogre#fetchOpenOrders
|
|
515
567
|
* @description fetch all unfilled currently open orders
|
|
568
|
+
* @see https://tradeogre.com/help/api#:~:text=%7B%22success%22%3Atrue%7D-,Get%20Orders,-Method%20(POST)
|
|
516
569
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
517
570
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
518
571
|
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
@@ -534,9 +587,9 @@ class tradeogre extends tradeogre$1 {
|
|
|
534
587
|
}
|
|
535
588
|
/**
|
|
536
589
|
* @method
|
|
537
|
-
* @name
|
|
590
|
+
* @name tradeogre#fetchOrder
|
|
538
591
|
* @description fetches information on an order made by the user
|
|
539
|
-
* @see https://
|
|
592
|
+
* @see https://tradeogre.com/help/api#:~:text=market%22%3A%22XMR%2DBTC%22%7D%5D-,Get%20Order,-Method%20(GET)
|
|
540
593
|
* @param {string} id order id
|
|
541
594
|
* @param {string} symbol unified symbol of the market the order was made in
|
|
542
595
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
package/dist/cjs/src/vertex.js
CHANGED
|
@@ -321,6 +321,69 @@ class vertex extends vertex$1 {
|
|
|
321
321
|
'timeDifference': 0,
|
|
322
322
|
'brokerId': 5930043274845996,
|
|
323
323
|
},
|
|
324
|
+
'features': {
|
|
325
|
+
'default': {
|
|
326
|
+
'sandbox': true,
|
|
327
|
+
'createOrder': {
|
|
328
|
+
'marginMode': false,
|
|
329
|
+
'triggerPrice': true,
|
|
330
|
+
'triggerDirection': false,
|
|
331
|
+
'triggerPriceType': undefined,
|
|
332
|
+
'stopLossPrice': true,
|
|
333
|
+
'takeProfitPrice': true,
|
|
334
|
+
'attachedStopLossTakeProfit': undefined,
|
|
335
|
+
'timeInForce': {
|
|
336
|
+
'IOC': false,
|
|
337
|
+
'FOK': false,
|
|
338
|
+
'PO': true,
|
|
339
|
+
'GTD': true,
|
|
340
|
+
},
|
|
341
|
+
'hedged': false,
|
|
342
|
+
'trailing': false,
|
|
343
|
+
'leverage': false,
|
|
344
|
+
'marketBuyByCost': true,
|
|
345
|
+
'marketBuyRequiresPrice': true,
|
|
346
|
+
'selfTradePrevention': false,
|
|
347
|
+
'iceberg': false,
|
|
348
|
+
},
|
|
349
|
+
'createOrders': undefined,
|
|
350
|
+
'fetchMyTrades': {
|
|
351
|
+
'marginMode': false,
|
|
352
|
+
'limit': 500,
|
|
353
|
+
'daysBack': 100000,
|
|
354
|
+
'untilDays': undefined,
|
|
355
|
+
},
|
|
356
|
+
'fetchOrder': {
|
|
357
|
+
'marginMode': false,
|
|
358
|
+
'trigger': false,
|
|
359
|
+
'trailing': false,
|
|
360
|
+
},
|
|
361
|
+
'fetchOpenOrders': {
|
|
362
|
+
'marginMode': false,
|
|
363
|
+
'limit': 500,
|
|
364
|
+
'trigger': true,
|
|
365
|
+
'trailing': false,
|
|
366
|
+
},
|
|
367
|
+
'fetchOrders': undefined,
|
|
368
|
+
'fetchClosedOrders': undefined,
|
|
369
|
+
'fetchOHLCV': {
|
|
370
|
+
'limit': 1000,
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
'spot': {
|
|
374
|
+
'extends': 'default',
|
|
375
|
+
},
|
|
376
|
+
'swap': {
|
|
377
|
+
'linear': {
|
|
378
|
+
'extends': 'default',
|
|
379
|
+
},
|
|
380
|
+
'inverse': undefined,
|
|
381
|
+
},
|
|
382
|
+
'future': {
|
|
383
|
+
'linear': undefined,
|
|
384
|
+
'inverse': undefined,
|
|
385
|
+
},
|
|
386
|
+
},
|
|
324
387
|
});
|
|
325
388
|
}
|
|
326
389
|
setSandboxMode(enabled) {
|
|
@@ -2166,7 +2229,7 @@ class vertex extends vertex$1 {
|
|
|
2166
2229
|
// "product_id": 1,
|
|
2167
2230
|
// "orders": [
|
|
2168
2231
|
// {
|
|
2169
|
-
// "product_id":
|
|
2232
|
+
// "product_id": 2,
|
|
2170
2233
|
// "sender": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43000000000000000000000000",
|
|
2171
2234
|
// "price_x18": "1000000000000000000",
|
|
2172
2235
|
// "amount": "1000000000000000000",
|
|
@@ -2175,7 +2238,7 @@ class vertex extends vertex$1 {
|
|
|
2175
2238
|
// "order_type": "default",
|
|
2176
2239
|
// "unfilled_amount": "1000000000000000000",
|
|
2177
2240
|
// "digest": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
2178
|
-
// "placed_at":
|
|
2241
|
+
// "placed_at": 1682437737,
|
|
2179
2242
|
// "order_type": "ioc"
|
|
2180
2243
|
// }
|
|
2181
2244
|
// ]
|
|
@@ -344,6 +344,79 @@ class wavesexchange extends wavesexchange$1 {
|
|
|
344
344
|
'BEP20': 'BSC',
|
|
345
345
|
},
|
|
346
346
|
},
|
|
347
|
+
'features': {
|
|
348
|
+
'spot': {
|
|
349
|
+
'sandbox': true,
|
|
350
|
+
'createOrder': {
|
|
351
|
+
'marginMode': false,
|
|
352
|
+
'triggerPrice': true,
|
|
353
|
+
'triggerDirection': false,
|
|
354
|
+
'triggerPriceType': undefined,
|
|
355
|
+
'stopLossPrice': false,
|
|
356
|
+
'takeProfitPrice': false,
|
|
357
|
+
'attachedStopLossTakeProfit': undefined,
|
|
358
|
+
'timeInForce': {
|
|
359
|
+
'IOC': false,
|
|
360
|
+
'FOK': false,
|
|
361
|
+
'PO': false,
|
|
362
|
+
'GTD': true, // todo
|
|
363
|
+
},
|
|
364
|
+
'hedged': false,
|
|
365
|
+
'trailing': false,
|
|
366
|
+
'leverage': false,
|
|
367
|
+
'marketBuyByCost': false,
|
|
368
|
+
'marketBuyRequiresPrice': true,
|
|
369
|
+
'selfTradePrevention': false,
|
|
370
|
+
'iceberg': false,
|
|
371
|
+
},
|
|
372
|
+
'createOrders': undefined,
|
|
373
|
+
'fetchMyTrades': {
|
|
374
|
+
'marginMode': false,
|
|
375
|
+
'limit': 100,
|
|
376
|
+
'daysBack': 100000,
|
|
377
|
+
'untilDays': 100000, // todo
|
|
378
|
+
},
|
|
379
|
+
'fetchOrder': {
|
|
380
|
+
'marginMode': false,
|
|
381
|
+
'trigger': false,
|
|
382
|
+
'trailing': false,
|
|
383
|
+
},
|
|
384
|
+
'fetchOpenOrders': {
|
|
385
|
+
'marginMode': false,
|
|
386
|
+
'limit': 100,
|
|
387
|
+
'trigger': false,
|
|
388
|
+
'trailing': false,
|
|
389
|
+
},
|
|
390
|
+
'fetchOrders': {
|
|
391
|
+
'marginMode': false,
|
|
392
|
+
'limit': 100,
|
|
393
|
+
'daysBack': undefined,
|
|
394
|
+
'untilDays': undefined,
|
|
395
|
+
'trigger': false,
|
|
396
|
+
'trailing': false,
|
|
397
|
+
},
|
|
398
|
+
'fetchClosedOrders': {
|
|
399
|
+
'marginMode': false,
|
|
400
|
+
'limit': 100,
|
|
401
|
+
'daysBack': 100000,
|
|
402
|
+
'daysBackCanceled': 1,
|
|
403
|
+
'untilDays': 100000,
|
|
404
|
+
'trigger': false,
|
|
405
|
+
'trailing': false,
|
|
406
|
+
},
|
|
407
|
+
'fetchOHLCV': {
|
|
408
|
+
'limit': undefined, // todo
|
|
409
|
+
},
|
|
410
|
+
},
|
|
411
|
+
'swap': {
|
|
412
|
+
'linear': undefined,
|
|
413
|
+
'inverse': undefined,
|
|
414
|
+
},
|
|
415
|
+
'future': {
|
|
416
|
+
'linear': undefined,
|
|
417
|
+
'inverse': undefined,
|
|
418
|
+
},
|
|
419
|
+
},
|
|
347
420
|
'commonCurrencies': {
|
|
348
421
|
'EGG': 'Waves Ducks',
|
|
349
422
|
},
|
package/dist/cjs/src/wazirx.js
CHANGED
|
@@ -207,6 +207,62 @@ class wazirx extends wazirx$1 {
|
|
|
207
207
|
// You can get network from fetchCurrencies
|
|
208
208
|
},
|
|
209
209
|
},
|
|
210
|
+
'features': {
|
|
211
|
+
'spot': {
|
|
212
|
+
'sandbox': false,
|
|
213
|
+
'createOrder': {
|
|
214
|
+
'marginMode': false,
|
|
215
|
+
'triggerPrice': true,
|
|
216
|
+
'triggerDirection': false,
|
|
217
|
+
'triggerPriceType': undefined,
|
|
218
|
+
'stopLossPrice': false,
|
|
219
|
+
'takeProfitPrice': false,
|
|
220
|
+
'attachedStopLossTakeProfit': undefined,
|
|
221
|
+
'timeInForce': {
|
|
222
|
+
'IOC': false,
|
|
223
|
+
'FOK': false,
|
|
224
|
+
'PO': false,
|
|
225
|
+
'GTD': false,
|
|
226
|
+
},
|
|
227
|
+
'hedged': false,
|
|
228
|
+
'trailing': false,
|
|
229
|
+
'leverage': false,
|
|
230
|
+
'marketBuyByCost': false,
|
|
231
|
+
'marketBuyRequiresPrice': false,
|
|
232
|
+
'selfTradePrevention': false,
|
|
233
|
+
'iceberg': false,
|
|
234
|
+
},
|
|
235
|
+
'createOrders': undefined,
|
|
236
|
+
'fetchMyTrades': undefined,
|
|
237
|
+
'fetchOrder': undefined,
|
|
238
|
+
'fetchOpenOrders': {
|
|
239
|
+
'marginMode': false,
|
|
240
|
+
'limit': undefined,
|
|
241
|
+
'trigger': false,
|
|
242
|
+
'trailing': false,
|
|
243
|
+
},
|
|
244
|
+
'fetchOrders': {
|
|
245
|
+
'marginMode': false,
|
|
246
|
+
'limit': 1000,
|
|
247
|
+
'daysBack': 100000,
|
|
248
|
+
'untilDays': 100000,
|
|
249
|
+
'trigger': false,
|
|
250
|
+
'trailing': false,
|
|
251
|
+
},
|
|
252
|
+
'fetchClosedOrders': undefined,
|
|
253
|
+
'fetchOHLCV': {
|
|
254
|
+
'limit': 2000,
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
'swap': {
|
|
258
|
+
'linear': undefined,
|
|
259
|
+
'inverse': undefined,
|
|
260
|
+
},
|
|
261
|
+
'future': {
|
|
262
|
+
'linear': undefined,
|
|
263
|
+
'inverse': undefined,
|
|
264
|
+
},
|
|
265
|
+
},
|
|
210
266
|
});
|
|
211
267
|
}
|
|
212
268
|
/**
|
|
@@ -887,10 +943,10 @@ class wazirx extends wazirx$1 {
|
|
|
887
943
|
'type': 'limit',
|
|
888
944
|
};
|
|
889
945
|
request['price'] = this.priceToPrecision(symbol, price);
|
|
890
|
-
const
|
|
891
|
-
if (
|
|
946
|
+
const triggerPrice = this.safeString2(params, 'triggerPrice', 'stopPrice');
|
|
947
|
+
if (triggerPrice !== undefined) {
|
|
892
948
|
request['type'] = 'stop_limit';
|
|
893
|
-
request['stopPrice'] = this.priceToPrecision(symbol,
|
|
949
|
+
request['stopPrice'] = this.priceToPrecision(symbol, triggerPrice);
|
|
894
950
|
}
|
|
895
951
|
const response = await this.privatePostOrder(this.extend(request, params));
|
|
896
952
|
// {
|
package/dist/cjs/src/whitebit.js
CHANGED
|
@@ -259,6 +259,8 @@ class whitebit extends whitebit$1 {
|
|
|
259
259
|
},
|
|
260
260
|
},
|
|
261
261
|
'options': {
|
|
262
|
+
'timeDifference': 0,
|
|
263
|
+
'adjustForTimeDifference': false,
|
|
262
264
|
'fiatCurrencies': ['EUR', 'USD', 'RUB', 'UAH'],
|
|
263
265
|
'fetchBalance': {
|
|
264
266
|
'account': 'spot',
|
|
@@ -276,6 +278,75 @@ class whitebit extends whitebit$1 {
|
|
|
276
278
|
'defaultType': 'spot',
|
|
277
279
|
'brokerId': 'ccxt',
|
|
278
280
|
},
|
|
281
|
+
'features': {
|
|
282
|
+
'default': {
|
|
283
|
+
'sandbox': false,
|
|
284
|
+
'createOrder': {
|
|
285
|
+
'marginMode': true,
|
|
286
|
+
'triggerPrice': true,
|
|
287
|
+
'triggerDirection': false,
|
|
288
|
+
'triggerPriceType': undefined,
|
|
289
|
+
'stopLossPrice': false,
|
|
290
|
+
'takeProfitPrice': false,
|
|
291
|
+
'attachedStopLossTakeProfit': undefined,
|
|
292
|
+
'timeInForce': {
|
|
293
|
+
'IOC': true,
|
|
294
|
+
'FOK': false,
|
|
295
|
+
'PO': true,
|
|
296
|
+
'GTD': false,
|
|
297
|
+
},
|
|
298
|
+
'hedged': false,
|
|
299
|
+
'trailing': false,
|
|
300
|
+
'leverage': false,
|
|
301
|
+
'marketBuyByCost': true,
|
|
302
|
+
'marketBuyRequiresPrice': false,
|
|
303
|
+
'selfTradePrevention': false,
|
|
304
|
+
'iceberg': false,
|
|
305
|
+
},
|
|
306
|
+
'createOrders': undefined,
|
|
307
|
+
'fetchMyTrades': {
|
|
308
|
+
'marginMode': false,
|
|
309
|
+
'limit': 100,
|
|
310
|
+
'daysBack': undefined,
|
|
311
|
+
'untilDays': undefined,
|
|
312
|
+
},
|
|
313
|
+
'fetchOrder': undefined,
|
|
314
|
+
'fetchOpenOrders': {
|
|
315
|
+
'marginMode': false,
|
|
316
|
+
'limit': 100,
|
|
317
|
+
'trigger': false,
|
|
318
|
+
'trailing': false,
|
|
319
|
+
},
|
|
320
|
+
'fetchOrders': undefined,
|
|
321
|
+
'fetchClosedOrders': {
|
|
322
|
+
'marginMode': false,
|
|
323
|
+
'limit': 100,
|
|
324
|
+
'daysBack': undefined,
|
|
325
|
+
'daysBackCanceled': undefined,
|
|
326
|
+
'untilDays': undefined,
|
|
327
|
+
'trigger': false,
|
|
328
|
+
'trailing': false,
|
|
329
|
+
},
|
|
330
|
+
'fetchOHLCV': {
|
|
331
|
+
'limit': 1440,
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
'spot': {
|
|
335
|
+
'extends': 'default',
|
|
336
|
+
},
|
|
337
|
+
'swap': {
|
|
338
|
+
'linear': {
|
|
339
|
+
'extends': 'default',
|
|
340
|
+
},
|
|
341
|
+
'inverse': {
|
|
342
|
+
'extends': 'default',
|
|
343
|
+
},
|
|
344
|
+
},
|
|
345
|
+
'future': {
|
|
346
|
+
'linear': undefined,
|
|
347
|
+
'inverse': undefined,
|
|
348
|
+
},
|
|
349
|
+
},
|
|
279
350
|
'precisionMode': number.TICK_SIZE,
|
|
280
351
|
'exceptions': {
|
|
281
352
|
'exact': {
|
|
@@ -315,6 +386,9 @@ class whitebit extends whitebit$1 {
|
|
|
315
386
|
* @returns {object[]} an array of objects representing market data
|
|
316
387
|
*/
|
|
317
388
|
async fetchMarkets(params = {}) {
|
|
389
|
+
if (this.options['adjustForTimeDifference']) {
|
|
390
|
+
await this.loadTimeDifference();
|
|
391
|
+
}
|
|
318
392
|
const markets = await this.v4PublicGetMarkets();
|
|
319
393
|
//
|
|
320
394
|
// [
|
|
@@ -1239,7 +1313,7 @@ class whitebit extends whitebit$1 {
|
|
|
1239
1313
|
const response = await this.v4PublicGetTime(params);
|
|
1240
1314
|
//
|
|
1241
1315
|
// {
|
|
1242
|
-
// "time":
|
|
1316
|
+
// "time":1737380046
|
|
1243
1317
|
// }
|
|
1244
1318
|
//
|
|
1245
1319
|
return this.safeInteger(response, 'time');
|
|
@@ -2608,7 +2682,7 @@ class whitebit extends whitebit$1 {
|
|
|
2608
2682
|
return this.inArray(currency, fiatCurrencies);
|
|
2609
2683
|
}
|
|
2610
2684
|
nonce() {
|
|
2611
|
-
return this.milliseconds();
|
|
2685
|
+
return this.milliseconds() - this.options['timeDifference'];
|
|
2612
2686
|
}
|
|
2613
2687
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
2614
2688
|
const query = this.omit(params, this.extractParams(path));
|
|
@@ -2623,10 +2697,12 @@ class whitebit extends whitebit$1 {
|
|
|
2623
2697
|
}
|
|
2624
2698
|
if (accessibility === 'private') {
|
|
2625
2699
|
this.checkRequiredCredentials();
|
|
2626
|
-
const nonce = this.nonce()
|
|
2700
|
+
const nonce = this.nonce();
|
|
2701
|
+
const timestamp = this.parseToInt(nonce / 1000);
|
|
2702
|
+
const timestampString = timestamp.toString();
|
|
2627
2703
|
const secret = this.encode(this.secret);
|
|
2628
2704
|
const request = '/' + 'api' + '/' + version + pathWithParams;
|
|
2629
|
-
body = this.json(this.extend({ 'request': request, 'nonce':
|
|
2705
|
+
body = this.json(this.extend({ 'request': request, 'nonce': timestampString }, params));
|
|
2630
2706
|
const payload = this.stringToBase64(body);
|
|
2631
2707
|
const signature = this.hmac(this.encode(payload), secret, sha512.sha512);
|
|
2632
2708
|
headers = {
|