ccxt 4.4.50 → 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 +1 -1
- package/dist/cjs/src/base/Exchange.js +37 -3
- package/dist/cjs/src/binance.js +34 -15
- package/dist/cjs/src/blofin.js +4 -0
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/coinmetro.js +20 -3
- package/dist/cjs/src/deribit.js +23 -4
- package/dist/cjs/src/gate.js +1 -1
- package/dist/cjs/src/hollaex.js +2 -1
- package/dist/cjs/src/htx.js +6 -4
- package/dist/cjs/src/kucoin.js +3 -3
- package/dist/cjs/src/mexc.js +26 -6
- package/dist/cjs/src/onetrading.js +1 -1
- package/dist/cjs/src/paradex.js +1 -1
- package/dist/cjs/src/pro/binance.js +2 -0
- package/dist/cjs/src/pro/blofin.js +8 -0
- package/dist/cjs/src/pro/coinex.js +4 -1
- package/dist/cjs/src/pro/htx.js +8 -8
- package/dist/cjs/src/probit.js +9 -8
- 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 +69 -0
- 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/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/alpaca.js +1 -1
- package/js/src/base/Exchange.d.ts +2 -0
- package/js/src/base/Exchange.js +37 -3
- package/js/src/binance.d.ts +3 -1
- package/js/src/binance.js +34 -15
- package/js/src/blofin.js +4 -0
- package/js/src/coinex.js +1 -1
- package/js/src/coinmetro.js +20 -3
- package/js/src/deribit.d.ts +1 -1
- package/js/src/deribit.js +23 -4
- package/js/src/gate.js +1 -1
- package/js/src/hollaex.js +2 -1
- package/js/src/htx.d.ts +1 -1
- package/js/src/htx.js +6 -4
- package/js/src/kucoin.js +3 -3
- package/js/src/mexc.d.ts +1 -1
- package/js/src/mexc.js +26 -6
- package/js/src/onetrading.d.ts +1 -1
- package/js/src/onetrading.js +1 -1
- package/js/src/paradex.js +1 -1
- package/js/src/pro/binance.js +2 -0
- package/js/src/pro/blofin.js +8 -0
- package/js/src/pro/coinex.js +4 -1
- package/js/src/pro/htx.d.ts +8 -8
- package/js/src/pro/htx.js +8 -8
- package/js/src/probit.d.ts +1 -0
- package/js/src/probit.js +9 -8
- 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 +69 -0
- 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
package/js/src/pro/htx.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export default class htx extends htxRest {
|
|
|
6
6
|
requestId(): any;
|
|
7
7
|
/**
|
|
8
8
|
* @method
|
|
9
|
-
* @name
|
|
9
|
+
* @name htx#watchTicker
|
|
10
10
|
* @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
11
11
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53561-7773-11ed-9966-0242ac110003
|
|
12
12
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33ab2-77ae-11ed-9966-0242ac110003
|
|
@@ -18,7 +18,7 @@ export default class htx extends htxRest {
|
|
|
18
18
|
handleTicker(client: Client, message: any): any;
|
|
19
19
|
/**
|
|
20
20
|
* @method
|
|
21
|
-
* @name
|
|
21
|
+
* @name htx#watchTrades
|
|
22
22
|
* @description get the list of most recent trades for a particular symbol
|
|
23
23
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53b69-7773-11ed-9966-0242ac110003
|
|
24
24
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33c21-77ae-11ed-9966-0242ac110003
|
|
@@ -33,7 +33,7 @@ export default class htx extends htxRest {
|
|
|
33
33
|
handleTrades(client: Client, message: any): any;
|
|
34
34
|
/**
|
|
35
35
|
* @method
|
|
36
|
-
* @name
|
|
36
|
+
* @name htx#watchOHLCV
|
|
37
37
|
* @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
38
38
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53241-7773-11ed-9966-0242ac110003
|
|
39
39
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c3346a-77ae-11ed-9966-0242ac110003
|
|
@@ -49,7 +49,7 @@ export default class htx extends htxRest {
|
|
|
49
49
|
handleOHLCV(client: Client, message: any): void;
|
|
50
50
|
/**
|
|
51
51
|
* @method
|
|
52
|
-
* @name
|
|
52
|
+
* @name htx#watchOrderBook
|
|
53
53
|
* @see https://huobiapi.github.io/docs/dm/v1/en/#subscribe-market-depth-data
|
|
54
54
|
* @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#subscribe-incremental-market-depth-data
|
|
55
55
|
* @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-subscribe-incremental-market-depth-data
|
|
@@ -69,7 +69,7 @@ export default class htx extends htxRest {
|
|
|
69
69
|
handleOrderBookSubscription(client: Client, message: any, subscription: any): void;
|
|
70
70
|
/**
|
|
71
71
|
* @method
|
|
72
|
-
* @name
|
|
72
|
+
* @name htx#watchMyTrades
|
|
73
73
|
* @description watches information on multiple trades made by the user
|
|
74
74
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
|
|
75
75
|
* @param {string} symbol unified market symbol of the market trades were made in
|
|
@@ -82,7 +82,7 @@ export default class htx extends htxRest {
|
|
|
82
82
|
getOrderChannelAndMessageHash(type: any, subType: any, market?: any, params?: {}): any[];
|
|
83
83
|
/**
|
|
84
84
|
* @method
|
|
85
|
-
* @name
|
|
85
|
+
* @name htx#watchOrders
|
|
86
86
|
* @description watches information on multiple orders made by the user
|
|
87
87
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
|
|
88
88
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
@@ -97,7 +97,7 @@ export default class htx extends htxRest {
|
|
|
97
97
|
parseOrderTrade(trade: any, market?: any): Trade;
|
|
98
98
|
/**
|
|
99
99
|
* @method
|
|
100
|
-
* @name
|
|
100
|
+
* @name htx#watchPositions
|
|
101
101
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7de1c-77b5-11ed-9966-0242ac110003
|
|
102
102
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7df0f-77b5-11ed-9966-0242ac110003
|
|
103
103
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=28c34a7d-77ae-11ed-9966-0242ac110003
|
|
@@ -113,7 +113,7 @@ export default class htx extends htxRest {
|
|
|
113
113
|
handlePositions(client: any, message: any): void;
|
|
114
114
|
/**
|
|
115
115
|
* @method
|
|
116
|
-
* @name
|
|
116
|
+
* @name htx#watchBalance
|
|
117
117
|
* @description watch balance and get the amount of funds available for trading or funds locked in orders
|
|
118
118
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
|
|
119
119
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
|
package/js/src/pro/htx.js
CHANGED
|
@@ -132,7 +132,7 @@ export default class htx extends htxRest {
|
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
134
134
|
* @method
|
|
135
|
-
* @name
|
|
135
|
+
* @name htx#watchTicker
|
|
136
136
|
* @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
137
137
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53561-7773-11ed-9966-0242ac110003
|
|
138
138
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33ab2-77ae-11ed-9966-0242ac110003
|
|
@@ -202,7 +202,7 @@ export default class htx extends htxRest {
|
|
|
202
202
|
}
|
|
203
203
|
/**
|
|
204
204
|
* @method
|
|
205
|
-
* @name
|
|
205
|
+
* @name htx#watchTrades
|
|
206
206
|
* @description get the list of most recent trades for a particular symbol
|
|
207
207
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53b69-7773-11ed-9966-0242ac110003
|
|
208
208
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33c21-77ae-11ed-9966-0242ac110003
|
|
@@ -268,7 +268,7 @@ export default class htx extends htxRest {
|
|
|
268
268
|
}
|
|
269
269
|
/**
|
|
270
270
|
* @method
|
|
271
|
-
* @name
|
|
271
|
+
* @name htx#watchOHLCV
|
|
272
272
|
* @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
273
273
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53241-7773-11ed-9966-0242ac110003
|
|
274
274
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c3346a-77ae-11ed-9966-0242ac110003
|
|
@@ -331,7 +331,7 @@ export default class htx extends htxRest {
|
|
|
331
331
|
}
|
|
332
332
|
/**
|
|
333
333
|
* @method
|
|
334
|
-
* @name
|
|
334
|
+
* @name htx#watchOrderBook
|
|
335
335
|
* @see https://huobiapi.github.io/docs/dm/v1/en/#subscribe-market-depth-data
|
|
336
336
|
* @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#subscribe-incremental-market-depth-data
|
|
337
337
|
* @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-subscribe-incremental-market-depth-data
|
|
@@ -677,7 +677,7 @@ export default class htx extends htxRest {
|
|
|
677
677
|
}
|
|
678
678
|
/**
|
|
679
679
|
* @method
|
|
680
|
-
* @name
|
|
680
|
+
* @name htx#watchMyTrades
|
|
681
681
|
* @description watches information on multiple trades made by the user
|
|
682
682
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
|
|
683
683
|
* @param {string} symbol unified market symbol of the market trades were made in
|
|
@@ -781,7 +781,7 @@ export default class htx extends htxRest {
|
|
|
781
781
|
}
|
|
782
782
|
/**
|
|
783
783
|
* @method
|
|
784
|
-
* @name
|
|
784
|
+
* @name htx#watchOrders
|
|
785
785
|
* @description watches information on multiple orders made by the user
|
|
786
786
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
|
|
787
787
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
@@ -1235,7 +1235,7 @@ export default class htx extends htxRest {
|
|
|
1235
1235
|
}
|
|
1236
1236
|
/**
|
|
1237
1237
|
* @method
|
|
1238
|
-
* @name
|
|
1238
|
+
* @name htx#watchPositions
|
|
1239
1239
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7de1c-77b5-11ed-9966-0242ac110003
|
|
1240
1240
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7df0f-77b5-11ed-9966-0242ac110003
|
|
1241
1241
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=28c34a7d-77ae-11ed-9966-0242ac110003
|
|
@@ -1358,7 +1358,7 @@ export default class htx extends htxRest {
|
|
|
1358
1358
|
}
|
|
1359
1359
|
/**
|
|
1360
1360
|
* @method
|
|
1361
|
-
* @name
|
|
1361
|
+
* @name htx#watchBalance
|
|
1362
1362
|
* @description watch balance and get the amount of funds available for trading or funds locked in orders
|
|
1363
1363
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
|
|
1364
1364
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
|
package/js/src/probit.d.ts
CHANGED
|
@@ -112,6 +112,7 @@ export default class probit extends Exchange {
|
|
|
112
112
|
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
113
113
|
* @param {int} [limit] the maximum amount of candles to fetch
|
|
114
114
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
115
|
+
* @param {string} [params.until] timestamp in ms of the earliest candle to fetch
|
|
115
116
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
116
117
|
*/
|
|
117
118
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
package/js/src/probit.js
CHANGED
|
@@ -1002,6 +1002,7 @@ export default class probit extends Exchange {
|
|
|
1002
1002
|
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
1003
1003
|
* @param {int} [limit] the maximum amount of candles to fetch
|
|
1004
1004
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1005
|
+
* @param {string} [params.until] timestamp in ms of the earliest candle to fetch
|
|
1005
1006
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
1006
1007
|
*/
|
|
1007
1008
|
async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
|
|
@@ -1018,21 +1019,21 @@ export default class probit extends Exchange {
|
|
|
1018
1019
|
'limit': requestLimit, // max 1000
|
|
1019
1020
|
};
|
|
1020
1021
|
const now = this.milliseconds();
|
|
1021
|
-
const
|
|
1022
|
+
const until = this.safeInteger(params, 'until');
|
|
1023
|
+
const durationMilliseconds = this.parseTimeframe(timeframe) * 1000;
|
|
1022
1024
|
let startTime = since;
|
|
1023
|
-
let endTime = now;
|
|
1025
|
+
let endTime = (until !== undefined) ? until - durationMilliseconds : now;
|
|
1024
1026
|
if (since === undefined) {
|
|
1025
1027
|
if (limit === undefined) {
|
|
1026
1028
|
limit = requestLimit;
|
|
1027
1029
|
}
|
|
1028
|
-
|
|
1030
|
+
const startLimit = limit - 1;
|
|
1031
|
+
startTime = endTime - startLimit * durationMilliseconds;
|
|
1029
1032
|
}
|
|
1030
1033
|
else {
|
|
1031
|
-
if (limit
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
else {
|
|
1035
|
-
endTime = this.sum(since, this.sum(limit, 1) * duration * 1000);
|
|
1034
|
+
if (limit !== undefined) {
|
|
1035
|
+
const endByLimit = this.sum(since, limit * durationMilliseconds);
|
|
1036
|
+
endTime = Math.min(endTime, endByLimit);
|
|
1036
1037
|
}
|
|
1037
1038
|
}
|
|
1038
1039
|
const startTimeNormalized = this.normalizeOHLCVTimestamp(startTime, timeframe);
|
package/js/src/vertex.js
CHANGED
|
@@ -324,6 +324,69 @@ export default class vertex extends Exchange {
|
|
|
324
324
|
'timeDifference': 0,
|
|
325
325
|
'brokerId': 5930043274845996,
|
|
326
326
|
},
|
|
327
|
+
'features': {
|
|
328
|
+
'default': {
|
|
329
|
+
'sandbox': true,
|
|
330
|
+
'createOrder': {
|
|
331
|
+
'marginMode': false,
|
|
332
|
+
'triggerPrice': true,
|
|
333
|
+
'triggerDirection': false,
|
|
334
|
+
'triggerPriceType': undefined,
|
|
335
|
+
'stopLossPrice': true,
|
|
336
|
+
'takeProfitPrice': true,
|
|
337
|
+
'attachedStopLossTakeProfit': undefined,
|
|
338
|
+
'timeInForce': {
|
|
339
|
+
'IOC': false,
|
|
340
|
+
'FOK': false,
|
|
341
|
+
'PO': true,
|
|
342
|
+
'GTD': true,
|
|
343
|
+
},
|
|
344
|
+
'hedged': false,
|
|
345
|
+
'trailing': false,
|
|
346
|
+
'leverage': false,
|
|
347
|
+
'marketBuyByCost': true,
|
|
348
|
+
'marketBuyRequiresPrice': true,
|
|
349
|
+
'selfTradePrevention': false,
|
|
350
|
+
'iceberg': false,
|
|
351
|
+
},
|
|
352
|
+
'createOrders': undefined,
|
|
353
|
+
'fetchMyTrades': {
|
|
354
|
+
'marginMode': false,
|
|
355
|
+
'limit': 500,
|
|
356
|
+
'daysBack': 100000,
|
|
357
|
+
'untilDays': undefined,
|
|
358
|
+
},
|
|
359
|
+
'fetchOrder': {
|
|
360
|
+
'marginMode': false,
|
|
361
|
+
'trigger': false,
|
|
362
|
+
'trailing': false,
|
|
363
|
+
},
|
|
364
|
+
'fetchOpenOrders': {
|
|
365
|
+
'marginMode': false,
|
|
366
|
+
'limit': 500,
|
|
367
|
+
'trigger': true,
|
|
368
|
+
'trailing': false,
|
|
369
|
+
},
|
|
370
|
+
'fetchOrders': undefined,
|
|
371
|
+
'fetchClosedOrders': undefined,
|
|
372
|
+
'fetchOHLCV': {
|
|
373
|
+
'limit': 1000,
|
|
374
|
+
},
|
|
375
|
+
},
|
|
376
|
+
'spot': {
|
|
377
|
+
'extends': 'default',
|
|
378
|
+
},
|
|
379
|
+
'swap': {
|
|
380
|
+
'linear': {
|
|
381
|
+
'extends': 'default',
|
|
382
|
+
},
|
|
383
|
+
'inverse': undefined,
|
|
384
|
+
},
|
|
385
|
+
'future': {
|
|
386
|
+
'linear': undefined,
|
|
387
|
+
'inverse': undefined,
|
|
388
|
+
},
|
|
389
|
+
},
|
|
327
390
|
});
|
|
328
391
|
}
|
|
329
392
|
setSandboxMode(enabled) {
|
|
@@ -2169,7 +2232,7 @@ export default class vertex extends Exchange {
|
|
|
2169
2232
|
// "product_id": 1,
|
|
2170
2233
|
// "orders": [
|
|
2171
2234
|
// {
|
|
2172
|
-
// "product_id":
|
|
2235
|
+
// "product_id": 2,
|
|
2173
2236
|
// "sender": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43000000000000000000000000",
|
|
2174
2237
|
// "price_x18": "1000000000000000000",
|
|
2175
2238
|
// "amount": "1000000000000000000",
|
|
@@ -2178,7 +2241,7 @@ export default class vertex extends Exchange {
|
|
|
2178
2241
|
// "order_type": "default",
|
|
2179
2242
|
// "unfilled_amount": "1000000000000000000",
|
|
2180
2243
|
// "digest": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
2181
|
-
// "placed_at":
|
|
2244
|
+
// "placed_at": 1682437737,
|
|
2182
2245
|
// "order_type": "ioc"
|
|
2183
2246
|
// }
|
|
2184
2247
|
// ]
|
package/js/src/wavesexchange.js
CHANGED
|
@@ -347,6 +347,79 @@ export default class wavesexchange extends Exchange {
|
|
|
347
347
|
'BEP20': 'BSC',
|
|
348
348
|
},
|
|
349
349
|
},
|
|
350
|
+
'features': {
|
|
351
|
+
'spot': {
|
|
352
|
+
'sandbox': true,
|
|
353
|
+
'createOrder': {
|
|
354
|
+
'marginMode': false,
|
|
355
|
+
'triggerPrice': true,
|
|
356
|
+
'triggerDirection': false,
|
|
357
|
+
'triggerPriceType': undefined,
|
|
358
|
+
'stopLossPrice': false,
|
|
359
|
+
'takeProfitPrice': false,
|
|
360
|
+
'attachedStopLossTakeProfit': undefined,
|
|
361
|
+
'timeInForce': {
|
|
362
|
+
'IOC': false,
|
|
363
|
+
'FOK': false,
|
|
364
|
+
'PO': false,
|
|
365
|
+
'GTD': true, // todo
|
|
366
|
+
},
|
|
367
|
+
'hedged': false,
|
|
368
|
+
'trailing': false,
|
|
369
|
+
'leverage': false,
|
|
370
|
+
'marketBuyByCost': false,
|
|
371
|
+
'marketBuyRequiresPrice': true,
|
|
372
|
+
'selfTradePrevention': false,
|
|
373
|
+
'iceberg': false,
|
|
374
|
+
},
|
|
375
|
+
'createOrders': undefined,
|
|
376
|
+
'fetchMyTrades': {
|
|
377
|
+
'marginMode': false,
|
|
378
|
+
'limit': 100,
|
|
379
|
+
'daysBack': 100000,
|
|
380
|
+
'untilDays': 100000, // todo
|
|
381
|
+
},
|
|
382
|
+
'fetchOrder': {
|
|
383
|
+
'marginMode': false,
|
|
384
|
+
'trigger': false,
|
|
385
|
+
'trailing': false,
|
|
386
|
+
},
|
|
387
|
+
'fetchOpenOrders': {
|
|
388
|
+
'marginMode': false,
|
|
389
|
+
'limit': 100,
|
|
390
|
+
'trigger': false,
|
|
391
|
+
'trailing': false,
|
|
392
|
+
},
|
|
393
|
+
'fetchOrders': {
|
|
394
|
+
'marginMode': false,
|
|
395
|
+
'limit': 100,
|
|
396
|
+
'daysBack': undefined,
|
|
397
|
+
'untilDays': undefined,
|
|
398
|
+
'trigger': false,
|
|
399
|
+
'trailing': false,
|
|
400
|
+
},
|
|
401
|
+
'fetchClosedOrders': {
|
|
402
|
+
'marginMode': false,
|
|
403
|
+
'limit': 100,
|
|
404
|
+
'daysBack': 100000,
|
|
405
|
+
'daysBackCanceled': 1,
|
|
406
|
+
'untilDays': 100000,
|
|
407
|
+
'trigger': false,
|
|
408
|
+
'trailing': false,
|
|
409
|
+
},
|
|
410
|
+
'fetchOHLCV': {
|
|
411
|
+
'limit': undefined, // todo
|
|
412
|
+
},
|
|
413
|
+
},
|
|
414
|
+
'swap': {
|
|
415
|
+
'linear': undefined,
|
|
416
|
+
'inverse': undefined,
|
|
417
|
+
},
|
|
418
|
+
'future': {
|
|
419
|
+
'linear': undefined,
|
|
420
|
+
'inverse': undefined,
|
|
421
|
+
},
|
|
422
|
+
},
|
|
350
423
|
'commonCurrencies': {
|
|
351
424
|
'EGG': 'Waves Ducks',
|
|
352
425
|
},
|
package/js/src/wazirx.js
CHANGED
|
@@ -209,6 +209,62 @@ export default class wazirx extends Exchange {
|
|
|
209
209
|
// You can get network from fetchCurrencies
|
|
210
210
|
},
|
|
211
211
|
},
|
|
212
|
+
'features': {
|
|
213
|
+
'spot': {
|
|
214
|
+
'sandbox': false,
|
|
215
|
+
'createOrder': {
|
|
216
|
+
'marginMode': false,
|
|
217
|
+
'triggerPrice': true,
|
|
218
|
+
'triggerDirection': false,
|
|
219
|
+
'triggerPriceType': undefined,
|
|
220
|
+
'stopLossPrice': false,
|
|
221
|
+
'takeProfitPrice': false,
|
|
222
|
+
'attachedStopLossTakeProfit': undefined,
|
|
223
|
+
'timeInForce': {
|
|
224
|
+
'IOC': false,
|
|
225
|
+
'FOK': false,
|
|
226
|
+
'PO': false,
|
|
227
|
+
'GTD': false,
|
|
228
|
+
},
|
|
229
|
+
'hedged': false,
|
|
230
|
+
'trailing': false,
|
|
231
|
+
'leverage': false,
|
|
232
|
+
'marketBuyByCost': false,
|
|
233
|
+
'marketBuyRequiresPrice': false,
|
|
234
|
+
'selfTradePrevention': false,
|
|
235
|
+
'iceberg': false,
|
|
236
|
+
},
|
|
237
|
+
'createOrders': undefined,
|
|
238
|
+
'fetchMyTrades': undefined,
|
|
239
|
+
'fetchOrder': undefined,
|
|
240
|
+
'fetchOpenOrders': {
|
|
241
|
+
'marginMode': false,
|
|
242
|
+
'limit': undefined,
|
|
243
|
+
'trigger': false,
|
|
244
|
+
'trailing': false,
|
|
245
|
+
},
|
|
246
|
+
'fetchOrders': {
|
|
247
|
+
'marginMode': false,
|
|
248
|
+
'limit': 1000,
|
|
249
|
+
'daysBack': 100000,
|
|
250
|
+
'untilDays': 100000,
|
|
251
|
+
'trigger': false,
|
|
252
|
+
'trailing': false,
|
|
253
|
+
},
|
|
254
|
+
'fetchClosedOrders': undefined,
|
|
255
|
+
'fetchOHLCV': {
|
|
256
|
+
'limit': 2000,
|
|
257
|
+
},
|
|
258
|
+
},
|
|
259
|
+
'swap': {
|
|
260
|
+
'linear': undefined,
|
|
261
|
+
'inverse': undefined,
|
|
262
|
+
},
|
|
263
|
+
'future': {
|
|
264
|
+
'linear': undefined,
|
|
265
|
+
'inverse': undefined,
|
|
266
|
+
},
|
|
267
|
+
},
|
|
212
268
|
});
|
|
213
269
|
}
|
|
214
270
|
/**
|
|
@@ -889,10 +945,10 @@ export default class wazirx extends Exchange {
|
|
|
889
945
|
'type': 'limit',
|
|
890
946
|
};
|
|
891
947
|
request['price'] = this.priceToPrecision(symbol, price);
|
|
892
|
-
const
|
|
893
|
-
if (
|
|
948
|
+
const triggerPrice = this.safeString2(params, 'triggerPrice', 'stopPrice');
|
|
949
|
+
if (triggerPrice !== undefined) {
|
|
894
950
|
request['type'] = 'stop_limit';
|
|
895
|
-
request['stopPrice'] = this.priceToPrecision(symbol,
|
|
951
|
+
request['stopPrice'] = this.priceToPrecision(symbol, triggerPrice);
|
|
896
952
|
}
|
|
897
953
|
const response = await this.privatePostOrder(this.extend(request, params));
|
|
898
954
|
// {
|
package/js/src/whitebit.js
CHANGED
|
@@ -281,6 +281,75 @@ export default class whitebit extends Exchange {
|
|
|
281
281
|
'defaultType': 'spot',
|
|
282
282
|
'brokerId': 'ccxt',
|
|
283
283
|
},
|
|
284
|
+
'features': {
|
|
285
|
+
'default': {
|
|
286
|
+
'sandbox': false,
|
|
287
|
+
'createOrder': {
|
|
288
|
+
'marginMode': true,
|
|
289
|
+
'triggerPrice': true,
|
|
290
|
+
'triggerDirection': false,
|
|
291
|
+
'triggerPriceType': undefined,
|
|
292
|
+
'stopLossPrice': false,
|
|
293
|
+
'takeProfitPrice': false,
|
|
294
|
+
'attachedStopLossTakeProfit': undefined,
|
|
295
|
+
'timeInForce': {
|
|
296
|
+
'IOC': true,
|
|
297
|
+
'FOK': false,
|
|
298
|
+
'PO': true,
|
|
299
|
+
'GTD': false,
|
|
300
|
+
},
|
|
301
|
+
'hedged': false,
|
|
302
|
+
'trailing': false,
|
|
303
|
+
'leverage': false,
|
|
304
|
+
'marketBuyByCost': true,
|
|
305
|
+
'marketBuyRequiresPrice': false,
|
|
306
|
+
'selfTradePrevention': false,
|
|
307
|
+
'iceberg': false,
|
|
308
|
+
},
|
|
309
|
+
'createOrders': undefined,
|
|
310
|
+
'fetchMyTrades': {
|
|
311
|
+
'marginMode': false,
|
|
312
|
+
'limit': 100,
|
|
313
|
+
'daysBack': undefined,
|
|
314
|
+
'untilDays': undefined,
|
|
315
|
+
},
|
|
316
|
+
'fetchOrder': undefined,
|
|
317
|
+
'fetchOpenOrders': {
|
|
318
|
+
'marginMode': false,
|
|
319
|
+
'limit': 100,
|
|
320
|
+
'trigger': false,
|
|
321
|
+
'trailing': false,
|
|
322
|
+
},
|
|
323
|
+
'fetchOrders': undefined,
|
|
324
|
+
'fetchClosedOrders': {
|
|
325
|
+
'marginMode': false,
|
|
326
|
+
'limit': 100,
|
|
327
|
+
'daysBack': undefined,
|
|
328
|
+
'daysBackCanceled': undefined,
|
|
329
|
+
'untilDays': undefined,
|
|
330
|
+
'trigger': false,
|
|
331
|
+
'trailing': false,
|
|
332
|
+
},
|
|
333
|
+
'fetchOHLCV': {
|
|
334
|
+
'limit': 1440,
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
'spot': {
|
|
338
|
+
'extends': 'default',
|
|
339
|
+
},
|
|
340
|
+
'swap': {
|
|
341
|
+
'linear': {
|
|
342
|
+
'extends': 'default',
|
|
343
|
+
},
|
|
344
|
+
'inverse': {
|
|
345
|
+
'extends': 'default',
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
'future': {
|
|
349
|
+
'linear': undefined,
|
|
350
|
+
'inverse': undefined,
|
|
351
|
+
},
|
|
352
|
+
},
|
|
284
353
|
'precisionMode': TICK_SIZE,
|
|
285
354
|
'exceptions': {
|
|
286
355
|
'exact': {
|
package/js/src/xt.js
CHANGED
|
@@ -676,6 +676,118 @@ export default class xt extends Exchange {
|
|
|
676
676
|
'createMarketBuyOrderRequiresPrice': true,
|
|
677
677
|
'recvWindow': '5000', // in milliseconds, spot only
|
|
678
678
|
},
|
|
679
|
+
'features': {
|
|
680
|
+
'default': {
|
|
681
|
+
'sandbox': false,
|
|
682
|
+
'createOrder': {
|
|
683
|
+
'marginMode': false,
|
|
684
|
+
'triggerPrice': false,
|
|
685
|
+
'triggerDirection': false,
|
|
686
|
+
'triggerPriceType': undefined,
|
|
687
|
+
'stopLossPrice': false,
|
|
688
|
+
'takeProfitPrice': false,
|
|
689
|
+
'attachedStopLossTakeProfit': undefined,
|
|
690
|
+
'timeInForce': {
|
|
691
|
+
'IOC': true,
|
|
692
|
+
'FOK': true,
|
|
693
|
+
'PO': true,
|
|
694
|
+
'GTD': false,
|
|
695
|
+
},
|
|
696
|
+
'hedged': false,
|
|
697
|
+
'trailing': false,
|
|
698
|
+
'leverage': false,
|
|
699
|
+
'marketBuyByCost': true,
|
|
700
|
+
'marketBuyRequiresPrice': false,
|
|
701
|
+
'selfTradePrevention': false,
|
|
702
|
+
'iceberg': false,
|
|
703
|
+
},
|
|
704
|
+
'createOrders': undefined,
|
|
705
|
+
'fetchMyTrades': {
|
|
706
|
+
'marginMode': true,
|
|
707
|
+
'limit': 100,
|
|
708
|
+
'daysBack': 100000,
|
|
709
|
+
'untilDays': 100000,
|
|
710
|
+
'marketType': true,
|
|
711
|
+
'subType': true,
|
|
712
|
+
},
|
|
713
|
+
'fetchOrder': {
|
|
714
|
+
'marginMode': false,
|
|
715
|
+
'trigger': true,
|
|
716
|
+
'trailing': false,
|
|
717
|
+
'marketType': true,
|
|
718
|
+
'subType': true,
|
|
719
|
+
},
|
|
720
|
+
'fetchOpenOrders': {
|
|
721
|
+
'marginMode': true,
|
|
722
|
+
'limit': 100,
|
|
723
|
+
'trigger': true,
|
|
724
|
+
'trailing': false,
|
|
725
|
+
'marketType': true,
|
|
726
|
+
'subType': true,
|
|
727
|
+
},
|
|
728
|
+
'fetchOrders': {
|
|
729
|
+
'marginMode': true,
|
|
730
|
+
'limit': 100,
|
|
731
|
+
'daysBack': 100000,
|
|
732
|
+
'untilDays': 100000,
|
|
733
|
+
'trigger': true,
|
|
734
|
+
'trailing': false,
|
|
735
|
+
'marketType': true,
|
|
736
|
+
'subType': true,
|
|
737
|
+
},
|
|
738
|
+
'fetchClosedOrders': {
|
|
739
|
+
'marginMode': true,
|
|
740
|
+
'limit': 100,
|
|
741
|
+
'daysBack': 100000,
|
|
742
|
+
'daysBackCanceled': 1,
|
|
743
|
+
'untilDays': 100000,
|
|
744
|
+
'trigger': true,
|
|
745
|
+
'trailing': false,
|
|
746
|
+
'marketType': true,
|
|
747
|
+
'subType': true,
|
|
748
|
+
},
|
|
749
|
+
'fetchOHLCV': {
|
|
750
|
+
'limit': 1000, // todo for derivatives
|
|
751
|
+
},
|
|
752
|
+
},
|
|
753
|
+
'spot': {
|
|
754
|
+
'extends': 'default',
|
|
755
|
+
},
|
|
756
|
+
'forDerivatives': {
|
|
757
|
+
'extends': 'default',
|
|
758
|
+
'createOrder': {
|
|
759
|
+
'triggerPrice': true,
|
|
760
|
+
// todo
|
|
761
|
+
'triggerPriceType': {
|
|
762
|
+
'last': true,
|
|
763
|
+
'mark': true,
|
|
764
|
+
'index': true,
|
|
765
|
+
},
|
|
766
|
+
'stopLossPrice': true,
|
|
767
|
+
'takeProfitPrice': true,
|
|
768
|
+
},
|
|
769
|
+
'fetchMyTrades': {
|
|
770
|
+
'daysBack': undefined,
|
|
771
|
+
'untilDays': undefined,
|
|
772
|
+
},
|
|
773
|
+
},
|
|
774
|
+
'swap': {
|
|
775
|
+
'linear': {
|
|
776
|
+
'extends': 'forDerivatives',
|
|
777
|
+
},
|
|
778
|
+
'inverse': {
|
|
779
|
+
'extends': 'forDerivatives',
|
|
780
|
+
},
|
|
781
|
+
},
|
|
782
|
+
'future': {
|
|
783
|
+
'linear': {
|
|
784
|
+
'extends': 'forDerivatives',
|
|
785
|
+
},
|
|
786
|
+
'inverse': {
|
|
787
|
+
'extends': 'forDerivatives',
|
|
788
|
+
},
|
|
789
|
+
},
|
|
790
|
+
},
|
|
679
791
|
});
|
|
680
792
|
}
|
|
681
793
|
nonce() {
|