ccxt 4.4.47 → 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.
- package/README.md +3 -3
- package/dist/ccxt.browser.min.js +16 -16
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ace.js +1 -1
- package/dist/cjs/src/binance.js +18 -14
- package/dist/cjs/src/bingx.js +88 -30
- package/dist/cjs/src/bitget.js +16 -12
- package/dist/cjs/src/bitmart.js +7 -2
- package/dist/cjs/src/bitmex.js +8 -5
- package/dist/cjs/src/bybit.js +7 -2
- package/dist/cjs/src/coinbase.js +11 -1
- package/dist/cjs/src/coincatch.js +86 -2
- package/dist/cjs/src/coincheck.js +52 -0
- package/dist/cjs/src/coinlist.js +77 -0
- package/dist/cjs/src/coinmate.js +63 -0
- package/dist/cjs/src/coinmetro.js +68 -0
- package/dist/cjs/src/coinone.js +56 -0
- package/dist/cjs/src/coinsph.js +85 -10
- package/dist/cjs/src/coinspot.js +47 -0
- package/dist/cjs/src/currencycom.js +72 -0
- package/dist/cjs/src/defx.js +93 -6
- package/dist/cjs/src/delta.js +83 -1
- package/dist/cjs/src/deribit.js +82 -0
- package/dist/cjs/src/digifinex.js +131 -11
- package/dist/cjs/src/ellipx.js +61 -0
- package/dist/cjs/src/exmo.js +58 -0
- package/dist/cjs/src/gate.js +10 -1
- package/dist/cjs/src/hitbtc.js +99 -0
- package/dist/cjs/src/hollaex.js +73 -0
- package/dist/cjs/src/htx.js +10 -2
- package/dist/cjs/src/huobijp.js +73 -0
- package/dist/cjs/src/hyperliquid.js +28 -2
- package/dist/cjs/src/idex.js +71 -0
- package/dist/cjs/src/independentreserve.js +124 -0
- package/dist/cjs/src/indodax.js +61 -0
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +4 -4
- package/dist/cjs/src/kuna.js +60 -1
- package/dist/cjs/src/latoken.js +64 -0
- package/dist/cjs/src/lbank.js +70 -0
- package/dist/cjs/src/luno.js +73 -0
- package/dist/cjs/src/lykke.js +64 -0
- package/dist/cjs/src/mercado.js +65 -0
- package/dist/cjs/src/mexc.js +1 -1
- package/dist/cjs/src/myokx.js +10 -0
- package/dist/cjs/src/ndax.js +71 -0
- package/dist/cjs/src/novadax.js +74 -0
- package/dist/cjs/src/oceanex.js +69 -0
- package/dist/cjs/src/okcoin.js +79 -2
- package/dist/cjs/src/okx.js +9 -1
- package/dist/cjs/src/onetrading.js +66 -0
- package/dist/cjs/src/oxfun.js +66 -0
- package/dist/cjs/src/p2b.js +63 -1
- package/dist/cjs/src/paradex.js +73 -2
- package/dist/cjs/src/phemex.js +103 -0
- package/dist/cjs/src/poloniex.js +61 -0
- package/dist/cjs/src/poloniexfutures.js +74 -0
- package/dist/cjs/src/pro/bitmart.js +6 -0
- package/dist/cjs/src/upbit.js +61 -0
- package/dist/cjs/src/woo.js +6 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/independentreserve.d.ts +6 -0
- package/js/src/ace.js +1 -1
- package/js/src/binance.d.ts +7 -0
- package/js/src/binance.js +18 -14
- package/js/src/bingx.d.ts +8 -0
- package/js/src/bingx.js +88 -30
- package/js/src/bitget.d.ts +1 -0
- package/js/src/bitget.js +16 -12
- package/js/src/bitmart.js +7 -2
- package/js/src/bitmex.js +8 -5
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +7 -2
- package/js/src/coinbase.d.ts +1 -0
- package/js/src/coinbase.js +11 -1
- package/js/src/coincatch.d.ts +1 -2
- package/js/src/coincatch.js +86 -2
- package/js/src/coincheck.js +52 -0
- package/js/src/coinlist.js +77 -0
- package/js/src/coinmate.js +63 -0
- package/js/src/coinmetro.js +68 -0
- package/js/src/coinone.js +56 -0
- package/js/src/coinsph.d.ts +2 -1
- package/js/src/coinsph.js +85 -10
- package/js/src/coinspot.js +47 -0
- package/js/src/currencycom.js +72 -0
- package/js/src/defx.js +93 -6
- package/js/src/delta.js +83 -1
- package/js/src/deribit.js +82 -0
- package/js/src/digifinex.d.ts +1 -0
- package/js/src/digifinex.js +131 -11
- package/js/src/ellipx.d.ts +1 -0
- package/js/src/ellipx.js +61 -0
- package/js/src/exmo.js +58 -0
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +10 -1
- package/js/src/hitbtc.js +99 -0
- package/js/src/hollaex.js +73 -0
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +10 -2
- package/js/src/huobijp.js +73 -0
- package/js/src/hyperliquid.d.ts +1 -0
- package/js/src/hyperliquid.js +28 -2
- package/js/src/idex.js +71 -0
- package/js/src/independentreserve.js +124 -0
- package/js/src/indodax.js +61 -0
- package/js/src/kraken.js +1 -1
- package/js/src/krakenfutures.js +4 -4
- package/js/src/kuna.js +60 -1
- package/js/src/latoken.js +64 -0
- package/js/src/lbank.js +70 -0
- package/js/src/luno.js +73 -0
- package/js/src/lykke.js +64 -0
- package/js/src/mercado.js +65 -0
- package/js/src/mexc.js +1 -1
- package/js/src/myokx.js +10 -0
- package/js/src/ndax.js +71 -0
- package/js/src/novadax.js +74 -0
- package/js/src/oceanex.js +69 -0
- package/js/src/okcoin.js +79 -2
- package/js/src/okx.d.ts +1 -0
- package/js/src/okx.js +9 -1
- package/js/src/onetrading.js +66 -0
- package/js/src/oxfun.js +66 -0
- package/js/src/p2b.js +63 -1
- package/js/src/paradex.js +73 -2
- package/js/src/phemex.js +103 -0
- package/js/src/poloniex.js +61 -0
- package/js/src/poloniexfutures.js +74 -0
- package/js/src/pro/bitmart.d.ts +1 -0
- package/js/src/pro/bitmart.js +6 -0
- package/js/src/upbit.js +61 -0
- package/js/src/woo.js +6 -1
- package/package.json +2 -2
package/dist/cjs/src/oceanex.js
CHANGED
|
@@ -132,6 +132,75 @@ class oceanex extends oceanex$1 {
|
|
|
132
132
|
'PLA': 'Plair',
|
|
133
133
|
},
|
|
134
134
|
'precisionMode': number.TICK_SIZE,
|
|
135
|
+
'features': {
|
|
136
|
+
'spot': {
|
|
137
|
+
'sandbox': false,
|
|
138
|
+
'createOrder': {
|
|
139
|
+
'marginMode': false,
|
|
140
|
+
'triggerPrice': true,
|
|
141
|
+
'triggerDirection': true,
|
|
142
|
+
'triggerPriceType': undefined,
|
|
143
|
+
'stopLossPrice': false,
|
|
144
|
+
'takeProfitPrice': false,
|
|
145
|
+
'attachedStopLossTakeProfit': undefined,
|
|
146
|
+
'timeInForce': {
|
|
147
|
+
'IOC': false,
|
|
148
|
+
'FOK': false,
|
|
149
|
+
'PO': false,
|
|
150
|
+
'GTD': false,
|
|
151
|
+
},
|
|
152
|
+
'hedged': false,
|
|
153
|
+
'trailing': false,
|
|
154
|
+
'leverage': false,
|
|
155
|
+
'marketBuyByCost': false,
|
|
156
|
+
'marketBuyRequiresPrice': false,
|
|
157
|
+
'selfTradePrevention': false,
|
|
158
|
+
'iceberg': false,
|
|
159
|
+
},
|
|
160
|
+
'createOrders': undefined,
|
|
161
|
+
'fetchMyTrades': undefined,
|
|
162
|
+
'fetchOrder': {
|
|
163
|
+
'marginMode': false,
|
|
164
|
+
'trigger': false,
|
|
165
|
+
'trailing': false,
|
|
166
|
+
},
|
|
167
|
+
'fetchOpenOrders': {
|
|
168
|
+
'marginMode': false,
|
|
169
|
+
'limit': 100,
|
|
170
|
+
'trigger': false,
|
|
171
|
+
'trailing': false,
|
|
172
|
+
},
|
|
173
|
+
'fetchOrders': {
|
|
174
|
+
'marginMode': false,
|
|
175
|
+
'limit': 100,
|
|
176
|
+
'daysBack': 100000,
|
|
177
|
+
'untilDays': 100000,
|
|
178
|
+
'trigger': false,
|
|
179
|
+
'trailing': false,
|
|
180
|
+
},
|
|
181
|
+
'fetchClosedOrders': {
|
|
182
|
+
'marginMode': false,
|
|
183
|
+
'limit': 100,
|
|
184
|
+
'daysBack': 100000,
|
|
185
|
+
'daysBackCanceled': 1,
|
|
186
|
+
'untilDays': 100000,
|
|
187
|
+
'trigger': false,
|
|
188
|
+
'trailing': false,
|
|
189
|
+
},
|
|
190
|
+
'fetchOHLCV': {
|
|
191
|
+
'limit': 100,
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
// todo implement swap
|
|
195
|
+
'swap': {
|
|
196
|
+
'linear': undefined,
|
|
197
|
+
'inverse': undefined,
|
|
198
|
+
},
|
|
199
|
+
'future': {
|
|
200
|
+
'linear': undefined,
|
|
201
|
+
'inverse': undefined,
|
|
202
|
+
},
|
|
203
|
+
},
|
|
135
204
|
'exceptions': {
|
|
136
205
|
'codes': {
|
|
137
206
|
'-1': errors.BadRequest,
|
package/dist/cjs/src/okcoin.js
CHANGED
|
@@ -201,6 +201,83 @@ class okcoin extends okcoin$1 {
|
|
|
201
201
|
},
|
|
202
202
|
},
|
|
203
203
|
},
|
|
204
|
+
'features': {
|
|
205
|
+
'spot': {
|
|
206
|
+
'sandbox': false,
|
|
207
|
+
'createOrder': {
|
|
208
|
+
'marginMode': true,
|
|
209
|
+
'triggerPrice': true,
|
|
210
|
+
'triggerDirection': true,
|
|
211
|
+
'triggerPriceType': {
|
|
212
|
+
'last': true,
|
|
213
|
+
'mark': false,
|
|
214
|
+
'index': false,
|
|
215
|
+
},
|
|
216
|
+
'stopLossPrice': true,
|
|
217
|
+
'takeProfitPrice': true,
|
|
218
|
+
'attachedStopLossTakeProfit': {
|
|
219
|
+
'triggerPriceType': {
|
|
220
|
+
'last': true,
|
|
221
|
+
'mark': false,
|
|
222
|
+
'index': false,
|
|
223
|
+
},
|
|
224
|
+
'price': true,
|
|
225
|
+
},
|
|
226
|
+
'timeInForce': {
|
|
227
|
+
'IOC': true,
|
|
228
|
+
'FOK': true,
|
|
229
|
+
'PO': true,
|
|
230
|
+
'GTD': false,
|
|
231
|
+
},
|
|
232
|
+
'hedged': false,
|
|
233
|
+
'trailing': true,
|
|
234
|
+
'leverage': false,
|
|
235
|
+
'marketBuyByCost': true,
|
|
236
|
+
'marketBuyRequiresPrice': true,
|
|
237
|
+
'selfTradePrevention': false,
|
|
238
|
+
'iceberg': true, // todo
|
|
239
|
+
},
|
|
240
|
+
'createOrders': undefined,
|
|
241
|
+
'fetchMyTrades': {
|
|
242
|
+
'marginMode': false,
|
|
243
|
+
'limit': 100,
|
|
244
|
+
'daysBack': 90,
|
|
245
|
+
'untilDays': 90, // todo
|
|
246
|
+
},
|
|
247
|
+
'fetchOrder': {
|
|
248
|
+
'marginMode': false,
|
|
249
|
+
'trigger': true,
|
|
250
|
+
'trailing': true, // todo
|
|
251
|
+
},
|
|
252
|
+
'fetchOpenOrders': {
|
|
253
|
+
'marginMode': false,
|
|
254
|
+
'limit': 100,
|
|
255
|
+
'trigger': true,
|
|
256
|
+
'trailing': true,
|
|
257
|
+
},
|
|
258
|
+
'fetchOrders': undefined,
|
|
259
|
+
'fetchClosedOrders': {
|
|
260
|
+
'marginMode': false,
|
|
261
|
+
'limit': 100,
|
|
262
|
+
'daysBack': 90,
|
|
263
|
+
'daysBackCanceled': 1 / 12,
|
|
264
|
+
'untilDays': 90,
|
|
265
|
+
'trigger': true,
|
|
266
|
+
'trailing': true,
|
|
267
|
+
},
|
|
268
|
+
'fetchOHLCV': {
|
|
269
|
+
'limit': 100, // 300 is only possible for 'recent' 1440 candles, which does not make much sense
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
'swap': {
|
|
273
|
+
'linear': undefined,
|
|
274
|
+
'inverse': undefined,
|
|
275
|
+
},
|
|
276
|
+
'future': {
|
|
277
|
+
'linear': undefined,
|
|
278
|
+
'inverse': undefined,
|
|
279
|
+
},
|
|
280
|
+
},
|
|
204
281
|
'fees': {
|
|
205
282
|
'trading': {
|
|
206
283
|
'taker': 0.002,
|
|
@@ -1510,7 +1587,7 @@ class okcoin extends okcoin$1 {
|
|
|
1510
1587
|
if (stopLossDefined) {
|
|
1511
1588
|
const stopLossTriggerPrice = this.safeValueN(stopLoss, ['triggerPrice', 'stopPrice', 'slTriggerPx']);
|
|
1512
1589
|
if (stopLossTriggerPrice === undefined) {
|
|
1513
|
-
throw new errors.InvalidOrder(this.id + ' createOrder() requires a trigger price in params["stopLoss"]["triggerPrice"]
|
|
1590
|
+
throw new errors.InvalidOrder(this.id + ' createOrder() requires a trigger price in params["stopLoss"]["triggerPrice"] for a stop loss order');
|
|
1514
1591
|
}
|
|
1515
1592
|
request['slTriggerPx'] = this.priceToPrecision(symbol, stopLossTriggerPrice);
|
|
1516
1593
|
const stopLossLimitPrice = this.safeValueN(stopLoss, ['price', 'stopLossPrice', 'slOrdPx']);
|
|
@@ -1523,7 +1600,7 @@ class okcoin extends okcoin$1 {
|
|
|
1523
1600
|
}
|
|
1524
1601
|
else if (stopLossLimitOrderType) {
|
|
1525
1602
|
if (stopLossLimitPrice === undefined) {
|
|
1526
|
-
throw new errors.InvalidOrder(this.id + ' createOrder() requires a limit price in params["stopLoss"]["price"]
|
|
1603
|
+
throw new errors.InvalidOrder(this.id + ' createOrder() requires a limit price in params["stopLoss"]["price"] for a stop loss limit order');
|
|
1527
1604
|
}
|
|
1528
1605
|
else {
|
|
1529
1606
|
request['slOrdPx'] = this.priceToPrecision(symbol, stopLossLimitPrice);
|
package/dist/cjs/src/okx.js
CHANGED
|
@@ -1113,6 +1113,8 @@ class okx extends okx$1 {
|
|
|
1113
1113
|
'createOrder': 'privatePostTradeBatchOrders',
|
|
1114
1114
|
'createMarketBuyOrderRequiresPrice': false,
|
|
1115
1115
|
'fetchMarkets': ['spot', 'future', 'swap', 'option'],
|
|
1116
|
+
'timeDifference': 0,
|
|
1117
|
+
'adjustForTimeDifference': false,
|
|
1116
1118
|
'defaultType': 'spot',
|
|
1117
1119
|
// 'fetchBalance': {
|
|
1118
1120
|
// 'type': 'spot', // 'funding', 'trading', 'spot'
|
|
@@ -1487,6 +1489,9 @@ class okx extends okx$1 {
|
|
|
1487
1489
|
}
|
|
1488
1490
|
return result;
|
|
1489
1491
|
}
|
|
1492
|
+
nonce() {
|
|
1493
|
+
return this.milliseconds() - this.options['timeDifference'];
|
|
1494
|
+
}
|
|
1490
1495
|
/**
|
|
1491
1496
|
* @method
|
|
1492
1497
|
* @name okx#fetchMarkets
|
|
@@ -1496,6 +1501,9 @@ class okx extends okx$1 {
|
|
|
1496
1501
|
* @returns {object[]} an array of objects representing market data
|
|
1497
1502
|
*/
|
|
1498
1503
|
async fetchMarkets(params = {}) {
|
|
1504
|
+
if (this.options['adjustForTimeDifference']) {
|
|
1505
|
+
await this.loadTimeDifference();
|
|
1506
|
+
}
|
|
1499
1507
|
const types = this.safeList(this.options, 'fetchMarkets', []);
|
|
1500
1508
|
let promises = [];
|
|
1501
1509
|
let result = [];
|
|
@@ -6179,7 +6187,7 @@ class okx extends okx$1 {
|
|
|
6179
6187
|
}
|
|
6180
6188
|
}
|
|
6181
6189
|
}
|
|
6182
|
-
const timestamp = this.iso8601(this.
|
|
6190
|
+
const timestamp = this.iso8601(this.nonce());
|
|
6183
6191
|
headers = {
|
|
6184
6192
|
'OK-ACCESS-KEY': this.apiKey,
|
|
6185
6193
|
'OK-ACCESS-PASSPHRASE': this.password,
|
|
@@ -289,6 +289,72 @@ class onetrading extends onetrading$1 {
|
|
|
289
289
|
},
|
|
290
290
|
'fiat': ['EUR', 'CHF'],
|
|
291
291
|
},
|
|
292
|
+
'features': {
|
|
293
|
+
'spot': {
|
|
294
|
+
'sandbox': false,
|
|
295
|
+
'createOrder': {
|
|
296
|
+
'marginMode': false,
|
|
297
|
+
'triggerPrice': false,
|
|
298
|
+
'triggerDirection': false,
|
|
299
|
+
'triggerPriceType': undefined,
|
|
300
|
+
'stopLossPrice': false,
|
|
301
|
+
'takeProfitPrice': false,
|
|
302
|
+
'attachedStopLossTakeProfit': undefined,
|
|
303
|
+
'timeInForce': {
|
|
304
|
+
'IOC': true,
|
|
305
|
+
'FOK': true,
|
|
306
|
+
'PO': true,
|
|
307
|
+
'GTD': false,
|
|
308
|
+
},
|
|
309
|
+
'hedged': false,
|
|
310
|
+
'trailing': false,
|
|
311
|
+
'leverage': false,
|
|
312
|
+
'marketBuyByCost': false,
|
|
313
|
+
'marketBuyRequiresPrice': false,
|
|
314
|
+
'selfTradePrevention': false,
|
|
315
|
+
'iceberg': false,
|
|
316
|
+
},
|
|
317
|
+
'createOrders': undefined,
|
|
318
|
+
'fetchMyTrades': {
|
|
319
|
+
'marginMode': false,
|
|
320
|
+
'limit': 100,
|
|
321
|
+
'daysBack': 100000,
|
|
322
|
+
'untilDays': 100000, // todo
|
|
323
|
+
},
|
|
324
|
+
'fetchOrder': {
|
|
325
|
+
'marginMode': false,
|
|
326
|
+
'trigger': false,
|
|
327
|
+
'trailing': false,
|
|
328
|
+
},
|
|
329
|
+
'fetchOpenOrders': {
|
|
330
|
+
'marginMode': false,
|
|
331
|
+
'limit': 100,
|
|
332
|
+
'trigger': false,
|
|
333
|
+
'trailing': false,
|
|
334
|
+
},
|
|
335
|
+
'fetchOrders': undefined,
|
|
336
|
+
'fetchClosedOrders': {
|
|
337
|
+
'marginMode': false,
|
|
338
|
+
'limit': 100,
|
|
339
|
+
'daysBack': 100000,
|
|
340
|
+
'daysBackCanceled': 1 / 12,
|
|
341
|
+
'untilDays': 100000,
|
|
342
|
+
'trigger': false,
|
|
343
|
+
'trailing': false,
|
|
344
|
+
},
|
|
345
|
+
'fetchOHLCV': {
|
|
346
|
+
'limit': 5000,
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
'swap': {
|
|
350
|
+
'linear': undefined,
|
|
351
|
+
'inverse': undefined,
|
|
352
|
+
},
|
|
353
|
+
'future': {
|
|
354
|
+
'linear': undefined,
|
|
355
|
+
'inverse': undefined,
|
|
356
|
+
},
|
|
357
|
+
},
|
|
292
358
|
});
|
|
293
359
|
}
|
|
294
360
|
/**
|
package/dist/cjs/src/oxfun.js
CHANGED
|
@@ -116,6 +116,7 @@ class oxfun extends oxfun$1 {
|
|
|
116
116
|
'reduceMargin': false,
|
|
117
117
|
'repayCrossMargin': false,
|
|
118
118
|
'repayIsolatedMargin': false,
|
|
119
|
+
'sandbox': true,
|
|
119
120
|
'setLeverage': false,
|
|
120
121
|
'setMargin': false,
|
|
121
122
|
'setMarginMode': false,
|
|
@@ -242,6 +243,71 @@ class oxfun extends oxfun$1 {
|
|
|
242
243
|
'Optimism': 'OPTIMISM',
|
|
243
244
|
},
|
|
244
245
|
},
|
|
246
|
+
'features': {
|
|
247
|
+
'default': {
|
|
248
|
+
'sandbox': true,
|
|
249
|
+
'createOrder': {
|
|
250
|
+
'marginMode': false,
|
|
251
|
+
'triggerPrice': true,
|
|
252
|
+
'triggerDirection': false,
|
|
253
|
+
'triggerPriceType': undefined,
|
|
254
|
+
'stopLossPrice': false,
|
|
255
|
+
'takeProfitPrice': false,
|
|
256
|
+
'attachedStopLossTakeProfit': undefined,
|
|
257
|
+
'timeInForce': {
|
|
258
|
+
'IOC': true,
|
|
259
|
+
'FOK': true,
|
|
260
|
+
'PO': true,
|
|
261
|
+
'GTD': false,
|
|
262
|
+
},
|
|
263
|
+
'hedged': false,
|
|
264
|
+
'trailing': false,
|
|
265
|
+
'leverage': false,
|
|
266
|
+
'marketBuyByCost': true,
|
|
267
|
+
'marketBuyRequiresPrice': false,
|
|
268
|
+
'selfTradePrevention': true,
|
|
269
|
+
'iceberg': true, // todo
|
|
270
|
+
},
|
|
271
|
+
'createOrders': {
|
|
272
|
+
'max': 10, // todo
|
|
273
|
+
},
|
|
274
|
+
'fetchMyTrades': {
|
|
275
|
+
'marginMode': false,
|
|
276
|
+
'limit': 500,
|
|
277
|
+
'daysBack': 100000,
|
|
278
|
+
'untilDays': 7,
|
|
279
|
+
},
|
|
280
|
+
'fetchOrder': {
|
|
281
|
+
'marginMode': false,
|
|
282
|
+
'trigger': false,
|
|
283
|
+
'trailing': false,
|
|
284
|
+
},
|
|
285
|
+
'fetchOpenOrders': {
|
|
286
|
+
'marginMode': false,
|
|
287
|
+
'limit': undefined,
|
|
288
|
+
'trigger': false,
|
|
289
|
+
'trailing': false,
|
|
290
|
+
},
|
|
291
|
+
'fetchOrders': undefined,
|
|
292
|
+
'fetchClosedOrders': undefined,
|
|
293
|
+
'fetchOHLCV': {
|
|
294
|
+
'limit': 500,
|
|
295
|
+
},
|
|
296
|
+
},
|
|
297
|
+
'spot': {
|
|
298
|
+
'extends': 'default',
|
|
299
|
+
},
|
|
300
|
+
'swap': {
|
|
301
|
+
'linear': {
|
|
302
|
+
'extends': 'default',
|
|
303
|
+
},
|
|
304
|
+
'inverse': undefined,
|
|
305
|
+
},
|
|
306
|
+
'future': {
|
|
307
|
+
'linear': undefined,
|
|
308
|
+
'inverse': undefined,
|
|
309
|
+
},
|
|
310
|
+
},
|
|
245
311
|
'exceptions': {
|
|
246
312
|
'exact': {
|
|
247
313
|
'-0010': errors.OperationFailed,
|
package/dist/cjs/src/p2b.js
CHANGED
|
@@ -75,7 +75,7 @@ class p2b extends p2b$1 {
|
|
|
75
75
|
'fetchOpenOrders': true,
|
|
76
76
|
'fetchOrderBook': true,
|
|
77
77
|
'fetchOrderBooks': false,
|
|
78
|
-
'fetchOrders':
|
|
78
|
+
'fetchOrders': false,
|
|
79
79
|
'fetchOrderTrades': true,
|
|
80
80
|
'fetchPosition': false,
|
|
81
81
|
'fetchPositionHistory': false,
|
|
@@ -182,6 +182,68 @@ class p2b extends p2b$1 {
|
|
|
182
182
|
],
|
|
183
183
|
},
|
|
184
184
|
},
|
|
185
|
+
'features': {
|
|
186
|
+
'spot': {
|
|
187
|
+
'sandbox': false,
|
|
188
|
+
'createOrder': {
|
|
189
|
+
'marginMode': false,
|
|
190
|
+
'triggerPrice': false,
|
|
191
|
+
'triggerDirection': false,
|
|
192
|
+
'triggerPriceType': undefined,
|
|
193
|
+
'stopLossPrice': false,
|
|
194
|
+
'takeProfitPrice': false,
|
|
195
|
+
'attachedStopLossTakeProfit': undefined,
|
|
196
|
+
'timeInForce': {
|
|
197
|
+
'IOC': true,
|
|
198
|
+
'FOK': true,
|
|
199
|
+
'PO': true,
|
|
200
|
+
'GTD': false,
|
|
201
|
+
},
|
|
202
|
+
'hedged': false,
|
|
203
|
+
'trailing': false,
|
|
204
|
+
'leverage': false,
|
|
205
|
+
'marketBuyByCost': false,
|
|
206
|
+
'marketBuyRequiresPrice': false,
|
|
207
|
+
'selfTradePrevention': false,
|
|
208
|
+
'iceberg': false,
|
|
209
|
+
},
|
|
210
|
+
'createOrders': undefined,
|
|
211
|
+
'fetchMyTrades': {
|
|
212
|
+
'marginMode': false,
|
|
213
|
+
'limit': 100,
|
|
214
|
+
'daysBack': 100000,
|
|
215
|
+
'untilDays': 1,
|
|
216
|
+
},
|
|
217
|
+
'fetchOrder': undefined,
|
|
218
|
+
'fetchOpenOrders': {
|
|
219
|
+
'marginMode': false,
|
|
220
|
+
'limit': 100,
|
|
221
|
+
'trigger': false,
|
|
222
|
+
'trailing': false,
|
|
223
|
+
},
|
|
224
|
+
'fetchOrders': undefined,
|
|
225
|
+
'fetchClosedOrders': {
|
|
226
|
+
'marginMode': false,
|
|
227
|
+
'limit': 100,
|
|
228
|
+
'daysBack': 100000,
|
|
229
|
+
'daysBackCanceled': 1 / 12,
|
|
230
|
+
'untilDays': 1,
|
|
231
|
+
'trigger': false,
|
|
232
|
+
'trailing': false,
|
|
233
|
+
},
|
|
234
|
+
'fetchOHLCV': {
|
|
235
|
+
'limit': 500,
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
'swap': {
|
|
239
|
+
'linear': undefined,
|
|
240
|
+
'inverse': undefined,
|
|
241
|
+
},
|
|
242
|
+
'future': {
|
|
243
|
+
'linear': undefined,
|
|
244
|
+
'inverse': undefined,
|
|
245
|
+
},
|
|
246
|
+
},
|
|
185
247
|
'commonCurrencies': {},
|
|
186
248
|
'precisionMode': number.TICK_SIZE,
|
|
187
249
|
'exceptions': {
|
package/dist/cjs/src/paradex.js
CHANGED
|
@@ -266,7 +266,9 @@ class paradex extends paradex$1 {
|
|
|
266
266
|
'40111': errors.AuthenticationError,
|
|
267
267
|
'40112': errors.PermissionDenied, // Geo IP blocked
|
|
268
268
|
},
|
|
269
|
-
'broad': {
|
|
269
|
+
'broad': {
|
|
270
|
+
'missing or malformed jwt': errors.AuthenticationError,
|
|
271
|
+
},
|
|
270
272
|
},
|
|
271
273
|
'precisionMode': number.TICK_SIZE,
|
|
272
274
|
'commonCurrencies': {},
|
|
@@ -274,6 +276,74 @@ class paradex extends paradex$1 {
|
|
|
274
276
|
'paradexAccount': undefined,
|
|
275
277
|
'broker': 'CCXT',
|
|
276
278
|
},
|
|
279
|
+
'features': {
|
|
280
|
+
'spot': undefined,
|
|
281
|
+
'forSwap': {
|
|
282
|
+
'sandbox': true,
|
|
283
|
+
'createOrder': {
|
|
284
|
+
'marginMode': false,
|
|
285
|
+
'triggerPrice': true,
|
|
286
|
+
'triggerDirection': true,
|
|
287
|
+
'triggerPriceType': undefined,
|
|
288
|
+
'stopLossPrice': false,
|
|
289
|
+
'takeProfitPrice': false,
|
|
290
|
+
'attachedStopLossTakeProfit': undefined,
|
|
291
|
+
'timeInForce': {
|
|
292
|
+
'IOC': true,
|
|
293
|
+
'FOK': false,
|
|
294
|
+
'PO': true,
|
|
295
|
+
'GTD': false,
|
|
296
|
+
},
|
|
297
|
+
'hedged': false,
|
|
298
|
+
'trailing': false,
|
|
299
|
+
'leverage': false,
|
|
300
|
+
'marketBuyByCost': false,
|
|
301
|
+
'marketBuyRequiresPrice': false,
|
|
302
|
+
'selfTradePrevention': true,
|
|
303
|
+
'iceberg': false,
|
|
304
|
+
},
|
|
305
|
+
'createOrders': undefined,
|
|
306
|
+
'fetchMyTrades': {
|
|
307
|
+
'marginMode': false,
|
|
308
|
+
'limit': 100,
|
|
309
|
+
'daysBack': 100000,
|
|
310
|
+
'untilDays': 100000, // todo
|
|
311
|
+
},
|
|
312
|
+
'fetchOrder': {
|
|
313
|
+
'marginMode': false,
|
|
314
|
+
'trigger': false,
|
|
315
|
+
'trailing': false,
|
|
316
|
+
},
|
|
317
|
+
'fetchOpenOrders': {
|
|
318
|
+
'marginMode': false,
|
|
319
|
+
'limit': 100,
|
|
320
|
+
'trigger': false,
|
|
321
|
+
'trailing': false,
|
|
322
|
+
},
|
|
323
|
+
'fetchOrders': {
|
|
324
|
+
'marginMode': false,
|
|
325
|
+
'limit': 100,
|
|
326
|
+
'daysBack': 100000,
|
|
327
|
+
'untilDays': 100000,
|
|
328
|
+
'trigger': false,
|
|
329
|
+
'trailing': false,
|
|
330
|
+
},
|
|
331
|
+
'fetchClosedOrders': undefined,
|
|
332
|
+
'fetchOHLCV': {
|
|
333
|
+
'limit': undefined, // todo by from/to
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
'swap': {
|
|
337
|
+
'linear': {
|
|
338
|
+
'extends': 'forSwap',
|
|
339
|
+
},
|
|
340
|
+
'inverse': undefined,
|
|
341
|
+
},
|
|
342
|
+
'future': {
|
|
343
|
+
'linear': undefined,
|
|
344
|
+
'inverse': undefined,
|
|
345
|
+
},
|
|
346
|
+
},
|
|
277
347
|
});
|
|
278
348
|
}
|
|
279
349
|
/**
|
|
@@ -1029,7 +1099,8 @@ class paradex extends paradex$1 {
|
|
|
1029
1099
|
}
|
|
1030
1100
|
}
|
|
1031
1101
|
const account = await this.retrieveAccount();
|
|
1032
|
-
|
|
1102
|
+
// https://docs.paradex.trade/api-reference/general-information/authentication
|
|
1103
|
+
const expires = now + 180;
|
|
1033
1104
|
const req = {
|
|
1034
1105
|
'method': 'POST',
|
|
1035
1106
|
'path': '/v1/auth',
|
package/dist/cjs/src/phemex.js
CHANGED
|
@@ -290,6 +290,109 @@ class phemex extends phemex$1 {
|
|
|
290
290
|
'maker': this.parseNumber('0.001'),
|
|
291
291
|
},
|
|
292
292
|
},
|
|
293
|
+
'features': {
|
|
294
|
+
'default': {
|
|
295
|
+
'sandbox': true,
|
|
296
|
+
'createOrder': {
|
|
297
|
+
'marginMode': false,
|
|
298
|
+
'triggerPrice': true,
|
|
299
|
+
// todo
|
|
300
|
+
'triggerPriceType': {
|
|
301
|
+
'mark': true,
|
|
302
|
+
'last': true,
|
|
303
|
+
'index': true,
|
|
304
|
+
},
|
|
305
|
+
'triggerDirection': false,
|
|
306
|
+
'stopLossPrice': false,
|
|
307
|
+
'takeProfitPrice': false,
|
|
308
|
+
'attachedStopLossTakeProfit': undefined,
|
|
309
|
+
'timeInForce': {
|
|
310
|
+
'IOC': true,
|
|
311
|
+
'FOK': true,
|
|
312
|
+
'PO': true,
|
|
313
|
+
'GTD': false,
|
|
314
|
+
},
|
|
315
|
+
'hedged': false,
|
|
316
|
+
'leverage': false,
|
|
317
|
+
'marketBuyByCost': true,
|
|
318
|
+
'marketBuyRequiresPrice': false,
|
|
319
|
+
'selfTradePrevention': false,
|
|
320
|
+
'trailing': false,
|
|
321
|
+
'iceberg': false,
|
|
322
|
+
},
|
|
323
|
+
'createOrders': undefined,
|
|
324
|
+
'fetchMyTrades': {
|
|
325
|
+
'marginMode': false,
|
|
326
|
+
'limit': 200,
|
|
327
|
+
'daysBack': 100000,
|
|
328
|
+
'untilDays': 2, // todo implement
|
|
329
|
+
},
|
|
330
|
+
'fetchOrder': {
|
|
331
|
+
'marginMode': false,
|
|
332
|
+
'trigger': false,
|
|
333
|
+
'trailing': false,
|
|
334
|
+
},
|
|
335
|
+
'fetchOpenOrders': {
|
|
336
|
+
'marginMode': false,
|
|
337
|
+
'limit': undefined,
|
|
338
|
+
'trigger': false,
|
|
339
|
+
'trailing': false,
|
|
340
|
+
},
|
|
341
|
+
'fetchOrders': {
|
|
342
|
+
'marginMode': false,
|
|
343
|
+
'limit': undefined,
|
|
344
|
+
'daysBack': undefined,
|
|
345
|
+
'untilDays': undefined,
|
|
346
|
+
'trigger': false,
|
|
347
|
+
'trailing': false,
|
|
348
|
+
},
|
|
349
|
+
'fetchClosedOrders': {
|
|
350
|
+
'marginMode': false,
|
|
351
|
+
'limit': 200,
|
|
352
|
+
'daysBack': 100000,
|
|
353
|
+
'daysBackCanceled': 100000,
|
|
354
|
+
'untilDays': 2,
|
|
355
|
+
'trigger': false,
|
|
356
|
+
'trailing': false,
|
|
357
|
+
},
|
|
358
|
+
'fetchOHLCV': {
|
|
359
|
+
'limit': 1000,
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
'spot': {
|
|
363
|
+
'extends': 'default',
|
|
364
|
+
},
|
|
365
|
+
'forDerivatives': {
|
|
366
|
+
'extends': 'default',
|
|
367
|
+
'createOrder': {
|
|
368
|
+
'triggerDirection': true,
|
|
369
|
+
'attachedStopLossTakeProfit': {
|
|
370
|
+
'triggerPriceType': {
|
|
371
|
+
'mark': true,
|
|
372
|
+
'last': true,
|
|
373
|
+
'index': true,
|
|
374
|
+
},
|
|
375
|
+
'price': true,
|
|
376
|
+
},
|
|
377
|
+
'hedged': true,
|
|
378
|
+
},
|
|
379
|
+
'fetchOHLCV': {
|
|
380
|
+
'limit': 2000,
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
'swap': {
|
|
384
|
+
'linear': {
|
|
385
|
+
'extends': 'forDerivatives',
|
|
386
|
+
},
|
|
387
|
+
'inverse': {
|
|
388
|
+
'extends': 'forDerivatives',
|
|
389
|
+
},
|
|
390
|
+
},
|
|
391
|
+
'future': {
|
|
392
|
+
'linear': undefined,
|
|
393
|
+
'inverse': undefined,
|
|
394
|
+
},
|
|
395
|
+
},
|
|
293
396
|
'requiredCredentials': {
|
|
294
397
|
'apiKey': true,
|
|
295
398
|
'secret': true,
|