ccxt 4.4.39 → 4.4.41
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 +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +9 -9
- package/dist/cjs/src/base/Exchange.js +32 -21
- package/dist/cjs/src/binance.js +37 -43
- package/dist/cjs/src/bingx.js +4 -3
- package/dist/cjs/src/bit2c.js +0 -1
- package/dist/cjs/src/bitbank.js +0 -1
- package/dist/cjs/src/bitbns.js +0 -1
- package/dist/cjs/src/bitfinex.js +18 -19
- package/dist/cjs/src/bitfinex1.js +0 -1
- package/dist/cjs/src/bitflyer.js +0 -1
- package/dist/cjs/src/bitget.js +2 -2
- package/dist/cjs/src/bithumb.js +0 -1
- package/dist/cjs/src/bitmart.js +257 -5
- package/dist/cjs/src/bitmex.js +5 -6
- package/dist/cjs/src/bitopro.js +4 -5
- package/dist/cjs/src/bitrue.js +5 -7
- package/dist/cjs/src/bitso.js +1 -2
- package/dist/cjs/src/bitstamp.js +1 -2
- package/dist/cjs/src/bitteam.js +1 -3
- package/dist/cjs/src/bitvavo.js +2 -4
- package/dist/cjs/src/blockchaincom.js +5 -5
- package/dist/cjs/src/blofin.js +10 -10
- package/dist/cjs/src/btcalpha.js +0 -1
- package/dist/cjs/src/btcbox.js +0 -1
- package/dist/cjs/src/btcmarkets.js +1 -3
- package/dist/cjs/src/bybit.js +10 -11
- package/dist/cjs/src/cex.js +1 -1
- package/dist/cjs/src/coinbase.js +77 -1
- package/dist/cjs/src/coinbaseexchange.js +1 -1
- package/dist/cjs/src/coinbaseinternational.js +62 -0
- package/dist/cjs/src/coincatch.js +1 -1
- package/dist/cjs/src/coinex.js +9 -9
- package/dist/cjs/src/coinlist.js +1 -1
- package/dist/cjs/src/coinmetro.js +1 -1
- package/dist/cjs/src/cryptocom.js +91 -2
- package/dist/cjs/src/currencycom.js +1 -1
- package/dist/cjs/src/defx.js +1 -2
- package/dist/cjs/src/delta.js +1 -1
- package/dist/cjs/src/digifinex.js +1 -1
- package/dist/cjs/src/exmo.js +64 -6
- package/dist/cjs/src/gate.js +2 -2
- package/dist/cjs/src/hashkey.js +3 -5
- package/dist/cjs/src/htx.js +2 -2
- package/dist/cjs/src/hyperliquid.js +66 -2
- package/dist/cjs/src/kraken.js +130 -27
- package/dist/cjs/src/kucoin.js +30 -25
- package/dist/cjs/src/luno.js +1 -1
- package/dist/cjs/src/mexc.js +138 -2
- package/dist/cjs/src/ndax.js +1 -1
- package/dist/cjs/src/okcoin.js +18 -18
- package/dist/cjs/src/okx.js +27 -22
- package/dist/cjs/src/phemex.js +12 -8
- package/dist/cjs/src/poloniex.js +1 -1
- package/dist/cjs/src/poloniexfutures.js +6 -6
- package/dist/cjs/src/pro/bitget.js +1 -1
- package/dist/cjs/src/pro/bybit.js +13 -1
- package/dist/cjs/src/pro/coinex.js +2 -2
- package/dist/cjs/src/pro/gate.js +6 -6
- package/dist/cjs/src/pro/kucoin.js +3 -3
- package/dist/cjs/src/pro/okx.js +11 -11
- package/dist/cjs/src/pro/upbit.js +3 -3
- package/dist/cjs/src/vertex.js +11 -11
- package/dist/cjs/src/woo.js +33 -33
- package/dist/cjs/src/woofipro.js +24 -24
- package/dist/cjs/src/xt.js +31 -28
- package/dist/cjs/src/zonda.js +1 -1
- package/js/ccxt.d.ts +3 -3
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bitmart.d.ts +2 -0
- package/js/src/abstract/okx.d.ts +5 -0
- package/js/src/ascendex.d.ts +2 -2
- package/js/src/ascendex.js +9 -9
- package/js/src/base/Exchange.d.ts +6 -3
- package/js/src/base/Exchange.js +32 -21
- package/js/src/base/types.d.ts +2 -0
- package/js/src/binance.d.ts +9 -9
- package/js/src/binance.js +37 -43
- package/js/src/bingx.d.ts +1 -1
- package/js/src/bingx.js +4 -3
- package/js/src/bit2c.js +0 -1
- package/js/src/bitbank.js +0 -1
- package/js/src/bitbns.js +0 -1
- package/js/src/bitfinex.d.ts +3 -3
- package/js/src/bitfinex.js +18 -19
- package/js/src/bitfinex1.js +0 -1
- package/js/src/bitflyer.js +0 -1
- package/js/src/bitget.d.ts +1 -1
- package/js/src/bitget.js +2 -2
- package/js/src/bithumb.js +0 -1
- package/js/src/bitmart.d.ts +53 -2
- package/js/src/bitmart.js +257 -5
- package/js/src/bitmex.d.ts +1 -1
- package/js/src/bitmex.js +5 -6
- package/js/src/bitopro.js +4 -5
- package/js/src/bitrue.js +5 -7
- package/js/src/bitso.d.ts +1 -1
- package/js/src/bitso.js +1 -2
- package/js/src/bitstamp.d.ts +1 -1
- package/js/src/bitstamp.js +1 -2
- package/js/src/bitteam.js +1 -3
- package/js/src/bitvavo.d.ts +1 -1
- package/js/src/bitvavo.js +2 -4
- package/js/src/blockchaincom.js +5 -5
- package/js/src/blofin.d.ts +3 -3
- package/js/src/blofin.js +10 -10
- package/js/src/btcalpha.js +0 -1
- package/js/src/btcbox.js +0 -1
- package/js/src/btcmarkets.js +1 -3
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +10 -11
- package/js/src/cex.d.ts +1 -1
- package/js/src/cex.js +1 -1
- package/js/src/coinbase.d.ts +1 -1
- package/js/src/coinbase.js +77 -1
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/coinbaseexchange.js +1 -1
- package/js/src/coinbaseinternational.js +62 -0
- package/js/src/coincatch.d.ts +1 -1
- package/js/src/coincatch.js +1 -1
- package/js/src/coinex.js +9 -9
- package/js/src/coinlist.d.ts +1 -1
- package/js/src/coinlist.js +1 -1
- package/js/src/coinmetro.d.ts +1 -1
- package/js/src/coinmetro.js +1 -1
- package/js/src/cryptocom.d.ts +2 -2
- package/js/src/cryptocom.js +91 -2
- package/js/src/currencycom.d.ts +1 -1
- package/js/src/currencycom.js +1 -1
- package/js/src/defx.d.ts +1 -2
- package/js/src/defx.js +1 -2
- package/js/src/delta.d.ts +1 -1
- package/js/src/delta.js +1 -1
- package/js/src/digifinex.d.ts +1 -1
- package/js/src/digifinex.js +1 -1
- package/js/src/exmo.d.ts +35 -0
- package/js/src/exmo.js +64 -6
- package/js/src/gate.d.ts +1 -1
- package/js/src/gate.js +2 -2
- package/js/src/hashkey.d.ts +1 -1
- package/js/src/hashkey.js +3 -5
- package/js/src/htx.d.ts +1 -1
- package/js/src/htx.js +2 -2
- package/js/src/hyperliquid.d.ts +21 -2
- package/js/src/hyperliquid.js +66 -2
- package/js/src/kraken.d.ts +14 -8
- package/js/src/kraken.js +130 -27
- package/js/src/kucoin.d.ts +13 -13
- package/js/src/kucoin.js +30 -25
- package/js/src/luno.d.ts +1 -1
- package/js/src/luno.js +1 -1
- package/js/src/mexc.d.ts +1 -2
- package/js/src/mexc.js +138 -2
- package/js/src/ndax.d.ts +1 -1
- package/js/src/ndax.js +1 -1
- package/js/src/okcoin.d.ts +4 -4
- package/js/src/okcoin.js +18 -18
- package/js/src/okx.d.ts +3 -3
- package/js/src/okx.js +27 -22
- package/js/src/phemex.js +12 -8
- package/js/src/poloniex.d.ts +1 -1
- package/js/src/poloniex.js +1 -1
- package/js/src/poloniexfutures.d.ts +1 -1
- package/js/src/poloniexfutures.js +6 -6
- package/js/src/pro/bitget.d.ts +1 -1
- package/js/src/pro/bitget.js +1 -1
- package/js/src/pro/bybit.d.ts +1 -1
- package/js/src/pro/bybit.js +13 -1
- package/js/src/pro/coinex.js +2 -2
- package/js/src/pro/gate.d.ts +2 -2
- package/js/src/pro/gate.js +6 -6
- package/js/src/pro/kucoin.d.ts +1 -1
- package/js/src/pro/kucoin.js +3 -3
- package/js/src/pro/okx.d.ts +2 -2
- package/js/src/pro/okx.js +11 -11
- package/js/src/pro/upbit.d.ts +3 -3
- package/js/src/pro/upbit.js +3 -3
- package/js/src/vertex.d.ts +3 -3
- package/js/src/vertex.js +11 -11
- package/js/src/woo.d.ts +7 -7
- package/js/src/woo.js +33 -33
- package/js/src/woofipro.d.ts +1 -1
- package/js/src/woofipro.js +24 -24
- package/js/src/xt.d.ts +7 -7
- package/js/src/xt.js +31 -28
- package/js/src/zonda.d.ts +1 -1
- package/js/src/zonda.js +1 -1
- package/package.json +2 -2
package/js/src/cryptocom.js
CHANGED
|
@@ -351,6 +351,95 @@ export default class cryptocom extends Exchange {
|
|
|
351
351
|
},
|
|
352
352
|
'broker': 'CCXT',
|
|
353
353
|
},
|
|
354
|
+
'features': {
|
|
355
|
+
'default': {
|
|
356
|
+
'sandbox': true,
|
|
357
|
+
'createOrder': {
|
|
358
|
+
'marginMode': true,
|
|
359
|
+
'triggerPrice': true,
|
|
360
|
+
// todo: implementation fix
|
|
361
|
+
'triggerPriceType': {
|
|
362
|
+
'last': true,
|
|
363
|
+
'mark': true,
|
|
364
|
+
'index': true,
|
|
365
|
+
},
|
|
366
|
+
'triggerDirection': false,
|
|
367
|
+
'stopLossPrice': true,
|
|
368
|
+
'takeProfitPrice': true,
|
|
369
|
+
'attachedStopLossTakeProfit': undefined,
|
|
370
|
+
'timeInForce': {
|
|
371
|
+
'IOC': true,
|
|
372
|
+
'FOK': true,
|
|
373
|
+
'PO': true,
|
|
374
|
+
'GTD': false,
|
|
375
|
+
},
|
|
376
|
+
'hedged': false,
|
|
377
|
+
// exchange-supported features
|
|
378
|
+
'selfTradePrevention': true,
|
|
379
|
+
'trailing': false,
|
|
380
|
+
'iceberg': false,
|
|
381
|
+
},
|
|
382
|
+
'createOrders': {
|
|
383
|
+
'max': 10,
|
|
384
|
+
},
|
|
385
|
+
'fetchMyTrades': {
|
|
386
|
+
'marginMode': false,
|
|
387
|
+
'limit': 100,
|
|
388
|
+
'daysBack': undefined,
|
|
389
|
+
'untilDays': 1,
|
|
390
|
+
},
|
|
391
|
+
'fetchOrder': {
|
|
392
|
+
'marginMode': false,
|
|
393
|
+
'trigger': false,
|
|
394
|
+
'trailing': false,
|
|
395
|
+
},
|
|
396
|
+
'fetchOpenOrders': {
|
|
397
|
+
'marginMode': true,
|
|
398
|
+
'limit': 100,
|
|
399
|
+
'trigger': false,
|
|
400
|
+
'trailing': false,
|
|
401
|
+
},
|
|
402
|
+
'fetchOrders': {
|
|
403
|
+
'marginMode': false,
|
|
404
|
+
'limit': 100,
|
|
405
|
+
'daysBack': undefined,
|
|
406
|
+
'untilDays': 1,
|
|
407
|
+
'trigger': false,
|
|
408
|
+
'trailing': false,
|
|
409
|
+
},
|
|
410
|
+
'fetchClosedOrders': {
|
|
411
|
+
'marginMode': false,
|
|
412
|
+
'limit': 100,
|
|
413
|
+
'daysBackClosed': undefined,
|
|
414
|
+
'daysBackCanceled': undefined,
|
|
415
|
+
'untilDays': 1,
|
|
416
|
+
'trigger': false,
|
|
417
|
+
'trailing': false,
|
|
418
|
+
},
|
|
419
|
+
'fetchOHLCV': {
|
|
420
|
+
'limit': 300,
|
|
421
|
+
},
|
|
422
|
+
},
|
|
423
|
+
'spot': {
|
|
424
|
+
'extends': 'default',
|
|
425
|
+
},
|
|
426
|
+
'swap': {
|
|
427
|
+
'linear': {
|
|
428
|
+
'extends': 'default',
|
|
429
|
+
},
|
|
430
|
+
'inverse': {
|
|
431
|
+
'extends': 'default',
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
'future': {
|
|
435
|
+
'linear': {
|
|
436
|
+
'extends': 'default',
|
|
437
|
+
},
|
|
438
|
+
'inverse': {
|
|
439
|
+
'extends': 'default',
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
},
|
|
354
443
|
// https://exchange-docs.crypto.com/spot/index.html#response-and-reason-codes
|
|
355
444
|
'commonCurrencies': {
|
|
356
445
|
'USD_STABLE_COIN': 'USDC',
|
|
@@ -1190,7 +1279,7 @@ export default class cryptocom extends Exchange {
|
|
|
1190
1279
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1191
1280
|
* @param {string} [params.timeInForce] 'GTC', 'IOC', 'FOK' or 'PO'
|
|
1192
1281
|
* @param {string} [params.ref_price_type] 'MARK_PRICE', 'INDEX_PRICE', 'LAST_PRICE' which trigger price type to use, default is MARK_PRICE
|
|
1193
|
-
* @param {float} [params.triggerPrice] price to trigger a
|
|
1282
|
+
* @param {float} [params.triggerPrice] price to trigger a trigger order
|
|
1194
1283
|
* @param {float} [params.stopLossPrice] price to trigger a stop-loss trigger order
|
|
1195
1284
|
* @param {float} [params.takeProfitPrice] price to trigger a take-profit trigger order
|
|
1196
1285
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
@@ -2406,7 +2495,7 @@ export default class cryptocom extends Exchange {
|
|
|
2406
2495
|
* @param {int} [limit] max number of ledger entries to return
|
|
2407
2496
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2408
2497
|
* @param {int} [params.until] timestamp in ms for the ending date filter, default is the current time
|
|
2409
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
2498
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
2410
2499
|
*/
|
|
2411
2500
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2412
2501
|
await this.loadMarkets();
|
package/js/src/currencycom.d.ts
CHANGED
|
@@ -235,7 +235,7 @@ export default class currencycom extends Exchange {
|
|
|
235
235
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
236
236
|
* @param {int} [limit] max number of ledger entries to return, default is undefined
|
|
237
237
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
238
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
238
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
239
239
|
*/
|
|
240
240
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
241
241
|
parseLedgerEntry(item: Dict, currency?: Currency): LedgerEntry;
|
package/js/src/currencycom.js
CHANGED
|
@@ -1701,7 +1701,7 @@ export default class currencycom extends Exchange {
|
|
|
1701
1701
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
1702
1702
|
* @param {int} [limit] max number of ledger entries to return, default is undefined
|
|
1703
1703
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1704
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
1704
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
1705
1705
|
*/
|
|
1706
1706
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
1707
1707
|
await this.loadMarkets();
|
package/js/src/defx.d.ts
CHANGED
|
@@ -172,7 +172,6 @@ export default class defx extends Exchange {
|
|
|
172
172
|
* @param {string} id order id
|
|
173
173
|
* @param {string} symbol unified symbol of the market the order was made in
|
|
174
174
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
175
|
-
* @param {boolean} [params.stop] whether the order is a stop/algo order
|
|
176
175
|
* @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
177
176
|
*/
|
|
178
177
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
@@ -305,7 +304,7 @@ export default class defx extends Exchange {
|
|
|
305
304
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
306
305
|
* @param {int} [params.until] timestamp in ms of the latest ledger entry
|
|
307
306
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
308
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
307
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
309
308
|
*/
|
|
310
309
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
311
310
|
parseLedgerEntry(item: Dict, currency?: Currency): LedgerEntry;
|
package/js/src/defx.js
CHANGED
|
@@ -1349,7 +1349,6 @@ export default class defx extends Exchange {
|
|
|
1349
1349
|
* @param {string} id order id
|
|
1350
1350
|
* @param {string} symbol unified symbol of the market the order was made in
|
|
1351
1351
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1352
|
-
* @param {boolean} [params.stop] whether the order is a stop/algo order
|
|
1353
1352
|
* @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1354
1353
|
*/
|
|
1355
1354
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -1782,7 +1781,7 @@ export default class defx extends Exchange {
|
|
|
1782
1781
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1783
1782
|
* @param {int} [params.until] timestamp in ms of the latest ledger entry
|
|
1784
1783
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
1785
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
1784
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
1786
1785
|
*/
|
|
1787
1786
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
1788
1787
|
await this.loadMarkets();
|
package/js/src/delta.d.ts
CHANGED
|
@@ -239,7 +239,7 @@ export default class delta extends Exchange {
|
|
|
239
239
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
240
240
|
* @param {int} [limit] max number of ledger entries to return, default is undefined
|
|
241
241
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
242
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
242
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
243
243
|
*/
|
|
244
244
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
245
245
|
parseLedgerEntryType(type: any): string;
|
package/js/src/delta.js
CHANGED
|
@@ -2200,7 +2200,7 @@ export default class delta extends Exchange {
|
|
|
2200
2200
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
2201
2201
|
* @param {int} [limit] max number of ledger entries to return, default is undefined
|
|
2202
2202
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2203
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
2203
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
2204
2204
|
*/
|
|
2205
2205
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2206
2206
|
await this.loadMarkets();
|
package/js/src/digifinex.d.ts
CHANGED
|
@@ -253,7 +253,7 @@ export default class digifinex extends Exchange {
|
|
|
253
253
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
254
254
|
* @param {int} [limit] max number of ledger entries to return, default is undefined
|
|
255
255
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
256
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
256
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
257
257
|
*/
|
|
258
258
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
259
259
|
parseDepositAddress(depositAddress: any, currency?: Currency): DepositAddress;
|
package/js/src/digifinex.js
CHANGED
|
@@ -2646,7 +2646,7 @@ export default class digifinex extends Exchange {
|
|
|
2646
2646
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
2647
2647
|
* @param {int} [limit] max number of ledger entries to return, default is undefined
|
|
2648
2648
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2649
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
2649
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
2650
2650
|
*/
|
|
2651
2651
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2652
2652
|
await this.loadMarkets();
|
package/js/src/exmo.d.ts
CHANGED
|
@@ -182,6 +182,40 @@ export default class exmo extends Exchange {
|
|
|
182
182
|
* @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
|
|
183
183
|
*/
|
|
184
184
|
fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
185
|
+
/**
|
|
186
|
+
* @method
|
|
187
|
+
* @name exmo#createMarketOrderWithCost
|
|
188
|
+
* @description create a market order by providing the symbol, side and cost
|
|
189
|
+
* @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#80daa469-ec59-4d0a-b229-6a311d8dd1cd
|
|
190
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
191
|
+
* @param {string} side 'buy' or 'sell'
|
|
192
|
+
* @param {float} cost how much you want to trade in units of the quote currency
|
|
193
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
194
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
195
|
+
*/
|
|
196
|
+
createMarketOrderWithCost(symbol: string, side: OrderSide, cost: number, params?: {}): Promise<Order>;
|
|
197
|
+
/**
|
|
198
|
+
* @method
|
|
199
|
+
* @name exmo#createMarketBuyOrderWithCost
|
|
200
|
+
* @description create a market buy order by providing the symbol and cost
|
|
201
|
+
* @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#80daa469-ec59-4d0a-b229-6a311d8dd1cd
|
|
202
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
203
|
+
* @param {float} cost how much you want to trade in units of the quote currency
|
|
204
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
205
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
206
|
+
*/
|
|
207
|
+
createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
|
|
208
|
+
/**
|
|
209
|
+
* @method
|
|
210
|
+
* @name exmo#createMarketSellOrderWithCost
|
|
211
|
+
* @description create a market sell order by providing the symbol and cost
|
|
212
|
+
* @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#80daa469-ec59-4d0a-b229-6a311d8dd1cd
|
|
213
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
214
|
+
* @param {float} cost how much you want to trade in units of the quote currency
|
|
215
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
216
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
217
|
+
*/
|
|
218
|
+
createMarketSellOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
|
|
185
219
|
/**
|
|
186
220
|
* @method
|
|
187
221
|
* @name exmo#createOrder
|
|
@@ -198,6 +232,7 @@ export default class exmo extends Exchange {
|
|
|
198
232
|
* @param {float} [params.stopPrice] the price at which a trigger order is triggered at
|
|
199
233
|
* @param {string} [params.timeInForce] *spot only* 'fok', 'ioc' or 'post_only'
|
|
200
234
|
* @param {boolean} [params.postOnly] *spot only* true for post only orders
|
|
235
|
+
* @param {float} [params.cost] *spot only* *market orders only* the cost of the order in the quote currency for market orders
|
|
201
236
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
202
237
|
*/
|
|
203
238
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
package/js/src/exmo.js
CHANGED
|
@@ -34,6 +34,9 @@ export default class exmo extends Exchange {
|
|
|
34
34
|
'cancelOrder': true,
|
|
35
35
|
'cancelOrders': false,
|
|
36
36
|
'createDepositAddress': false,
|
|
37
|
+
'createMarketBuyOrder': true,
|
|
38
|
+
'createMarketBuyOrderWithCost': true,
|
|
39
|
+
'createMarketOrderWithCost': true,
|
|
37
40
|
'createOrder': true,
|
|
38
41
|
'createStopLimitOrder': true,
|
|
39
42
|
'createStopMarketOrder': true,
|
|
@@ -1409,6 +1412,52 @@ export default class exmo extends Exchange {
|
|
|
1409
1412
|
}
|
|
1410
1413
|
return this.filterBySinceLimit(result, since, limit);
|
|
1411
1414
|
}
|
|
1415
|
+
/**
|
|
1416
|
+
* @method
|
|
1417
|
+
* @name exmo#createMarketOrderWithCost
|
|
1418
|
+
* @description create a market order by providing the symbol, side and cost
|
|
1419
|
+
* @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#80daa469-ec59-4d0a-b229-6a311d8dd1cd
|
|
1420
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
1421
|
+
* @param {string} side 'buy' or 'sell'
|
|
1422
|
+
* @param {float} cost how much you want to trade in units of the quote currency
|
|
1423
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1424
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1425
|
+
*/
|
|
1426
|
+
async createMarketOrderWithCost(symbol, side, cost, params = {}) {
|
|
1427
|
+
await this.loadMarkets();
|
|
1428
|
+
params = this.extend(params, { 'cost': cost });
|
|
1429
|
+
return await this.createOrder(symbol, 'market', side, cost, undefined, params);
|
|
1430
|
+
}
|
|
1431
|
+
/**
|
|
1432
|
+
* @method
|
|
1433
|
+
* @name exmo#createMarketBuyOrderWithCost
|
|
1434
|
+
* @description create a market buy order by providing the symbol and cost
|
|
1435
|
+
* @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#80daa469-ec59-4d0a-b229-6a311d8dd1cd
|
|
1436
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
1437
|
+
* @param {float} cost how much you want to trade in units of the quote currency
|
|
1438
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1439
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1440
|
+
*/
|
|
1441
|
+
async createMarketBuyOrderWithCost(symbol, cost, params = {}) {
|
|
1442
|
+
await this.loadMarkets();
|
|
1443
|
+
params = this.extend(params, { 'cost': cost });
|
|
1444
|
+
return await this.createOrder(symbol, 'market', 'buy', cost, undefined, params);
|
|
1445
|
+
}
|
|
1446
|
+
/**
|
|
1447
|
+
* @method
|
|
1448
|
+
* @name exmo#createMarketSellOrderWithCost
|
|
1449
|
+
* @description create a market sell order by providing the symbol and cost
|
|
1450
|
+
* @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#80daa469-ec59-4d0a-b229-6a311d8dd1cd
|
|
1451
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
1452
|
+
* @param {float} cost how much you want to trade in units of the quote currency
|
|
1453
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1454
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1455
|
+
*/
|
|
1456
|
+
async createMarketSellOrderWithCost(symbol, cost, params = {}) {
|
|
1457
|
+
await this.loadMarkets();
|
|
1458
|
+
params = this.extend(params, { 'cost': cost });
|
|
1459
|
+
return await this.createOrder(symbol, 'market', 'sell', cost, undefined, params);
|
|
1460
|
+
}
|
|
1412
1461
|
/**
|
|
1413
1462
|
* @method
|
|
1414
1463
|
* @name exmo#createOrder
|
|
@@ -1425,6 +1474,7 @@ export default class exmo extends Exchange {
|
|
|
1425
1474
|
* @param {float} [params.stopPrice] the price at which a trigger order is triggered at
|
|
1426
1475
|
* @param {string} [params.timeInForce] *spot only* 'fok', 'ioc' or 'post_only'
|
|
1427
1476
|
* @param {boolean} [params.postOnly] *spot only* true for post only orders
|
|
1477
|
+
* @param {float} [params.cost] *spot only* *market orders only* the cost of the order in the quote currency for market orders
|
|
1428
1478
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1429
1479
|
*/
|
|
1430
1480
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -1437,11 +1487,12 @@ export default class exmo extends Exchange {
|
|
|
1437
1487
|
throw new BadRequest(this.id + ' only supports isolated margin');
|
|
1438
1488
|
}
|
|
1439
1489
|
const isSpot = (marginMode !== 'isolated');
|
|
1440
|
-
const triggerPrice = this.
|
|
1490
|
+
const triggerPrice = this.safeStringN(params, ['triggerPrice', 'stopPrice', 'stop_price']);
|
|
1491
|
+
const cost = this.safeString(params, 'cost');
|
|
1441
1492
|
const request = {
|
|
1442
1493
|
'pair': market['id'],
|
|
1443
1494
|
// 'leverage': 2,
|
|
1444
|
-
'quantity': this.amountToPrecision(market['symbol'], amount),
|
|
1495
|
+
// 'quantity': this.amountToPrecision (market['symbol'], amount),
|
|
1445
1496
|
// spot - buy, sell, market_buy, market_sell, market_buy_total, market_sell_total
|
|
1446
1497
|
// margin - limit_buy, limit_sell, market_buy, market_sell, stop_buy, stop_sell, stop_limit_buy, stop_limit_sell, trailing_stop_buy, trailing_stop_sell
|
|
1447
1498
|
// 'stop_price': this.priceToPrecision (symbol, stopPrice),
|
|
@@ -1450,6 +1501,12 @@ export default class exmo extends Exchange {
|
|
|
1450
1501
|
// 'client_id': 123, // optional, must be a positive integer
|
|
1451
1502
|
// 'comment': '', // up to 50 latin symbols, whitespaces, underscores
|
|
1452
1503
|
};
|
|
1504
|
+
if (cost === undefined) {
|
|
1505
|
+
request['quantity'] = this.amountToPrecision(market['symbol'], amount);
|
|
1506
|
+
}
|
|
1507
|
+
else {
|
|
1508
|
+
request['quantity'] = this.costToPrecision(market['symbol'], cost);
|
|
1509
|
+
}
|
|
1453
1510
|
let clientOrderId = this.safeValue2(params, 'client_id', 'clientOrderId');
|
|
1454
1511
|
if (clientOrderId !== undefined) {
|
|
1455
1512
|
clientOrderId = this.safeInteger2(params, 'client_id', 'clientOrderId');
|
|
@@ -1464,7 +1521,7 @@ export default class exmo extends Exchange {
|
|
|
1464
1521
|
if (!isSpot && (leverage === undefined)) {
|
|
1465
1522
|
throw new ArgumentsRequired(this.id + ' createOrder requires an extra param params["leverage"] for margin orders');
|
|
1466
1523
|
}
|
|
1467
|
-
params = this.omit(params, ['stopPrice', 'stop_price', 'triggerPrice', 'timeInForce', 'client_id', 'clientOrderId']);
|
|
1524
|
+
params = this.omit(params, ['stopPrice', 'stop_price', 'triggerPrice', 'timeInForce', 'client_id', 'clientOrderId', 'cost']);
|
|
1468
1525
|
if (price !== undefined) {
|
|
1469
1526
|
request['price'] = this.priceToPrecision(market['symbol'], price);
|
|
1470
1527
|
}
|
|
@@ -1490,7 +1547,8 @@ export default class exmo extends Exchange {
|
|
|
1490
1547
|
request['type'] = side;
|
|
1491
1548
|
}
|
|
1492
1549
|
else if (type === 'market') {
|
|
1493
|
-
|
|
1550
|
+
const marketSuffix = (cost !== undefined) ? '_total' : '';
|
|
1551
|
+
request['type'] = 'market_' + side + marketSuffix;
|
|
1494
1552
|
}
|
|
1495
1553
|
if (isPostOnly) {
|
|
1496
1554
|
request['exec_type'] = 'post_only';
|
|
@@ -1543,7 +1601,7 @@ export default class exmo extends Exchange {
|
|
|
1543
1601
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
1544
1602
|
await this.loadMarkets();
|
|
1545
1603
|
const request = {};
|
|
1546
|
-
const
|
|
1604
|
+
const trigger = this.safeValue2(params, 'trigger', 'stop');
|
|
1547
1605
|
params = this.omit(params, ['trigger', 'stop']);
|
|
1548
1606
|
let marginMode = undefined;
|
|
1549
1607
|
[marginMode, params] = this.handleMarginModeAndParams('cancelOrder', params);
|
|
@@ -1559,7 +1617,7 @@ export default class exmo extends Exchange {
|
|
|
1559
1617
|
//
|
|
1560
1618
|
}
|
|
1561
1619
|
else {
|
|
1562
|
-
if (
|
|
1620
|
+
if (trigger) {
|
|
1563
1621
|
request['parent_order_id'] = id;
|
|
1564
1622
|
response = await this.privatePostStopMarketOrderCancel(this.extend(request, params));
|
|
1565
1623
|
//
|
package/js/src/gate.d.ts
CHANGED
|
@@ -902,7 +902,7 @@ export default class gate extends Exchange {
|
|
|
902
902
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
903
903
|
* @param {int} [params.until] end time in ms
|
|
904
904
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
905
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
905
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
906
906
|
*/
|
|
907
907
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
908
908
|
parseLedgerEntry(item: Dict, currency?: Currency): LedgerEntry;
|
package/js/src/gate.js
CHANGED
|
@@ -6899,7 +6899,7 @@ export default class gate extends Exchange {
|
|
|
6899
6899
|
// ...
|
|
6900
6900
|
// ]
|
|
6901
6901
|
//
|
|
6902
|
-
return this.
|
|
6902
|
+
return this.parseOpenInterestsHistory(response, market, since, limit);
|
|
6903
6903
|
}
|
|
6904
6904
|
parseOpenInterest(interest, market = undefined) {
|
|
6905
6905
|
//
|
|
@@ -7125,7 +7125,7 @@ export default class gate extends Exchange {
|
|
|
7125
7125
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
7126
7126
|
* @param {int} [params.until] end time in ms
|
|
7127
7127
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
7128
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
7128
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
7129
7129
|
*/
|
|
7130
7130
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
7131
7131
|
await this.loadMarkets();
|
package/js/src/hashkey.d.ts
CHANGED
|
@@ -270,7 +270,7 @@ export default class hashkey extends Exchange {
|
|
|
270
270
|
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
271
271
|
* @param {int} [params.flowType] trade, fee, transfer, deposit, withdrawal
|
|
272
272
|
* @param {int} [params.accountType] spot, swap, custody
|
|
273
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
273
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
274
274
|
*/
|
|
275
275
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
276
276
|
parseLedgerEntryType(type: any): string;
|
package/js/src/hashkey.js
CHANGED
|
@@ -2241,7 +2241,7 @@ export default class hashkey extends Exchange {
|
|
|
2241
2241
|
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
2242
2242
|
* @param {int} [params.flowType] trade, fee, transfer, deposit, withdrawal
|
|
2243
2243
|
* @param {int} [params.accountType] spot, swap, custody
|
|
2244
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
2244
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
2245
2245
|
*/
|
|
2246
2246
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2247
2247
|
const methodName = 'fetchLedger';
|
|
@@ -3482,10 +3482,8 @@ export default class hashkey extends Exchange {
|
|
|
3482
3482
|
}
|
|
3483
3483
|
}
|
|
3484
3484
|
handleTriggerOptionAndParams(params, methodName, defaultValue = undefined) {
|
|
3485
|
-
let
|
|
3486
|
-
[
|
|
3487
|
-
let isTrigger = isStop;
|
|
3488
|
-
[isTrigger, params] = this.handleOptionAndParams(params, methodName, 'trigger', isTrigger);
|
|
3485
|
+
let isTrigger = defaultValue;
|
|
3486
|
+
[isTrigger, params] = this.handleOptionAndParams2(params, methodName, 'stop', 'trigger', isTrigger);
|
|
3489
3487
|
return [isTrigger, params];
|
|
3490
3488
|
}
|
|
3491
3489
|
parseOrder(order, market = undefined) {
|
package/js/src/htx.d.ts
CHANGED
|
@@ -759,7 +759,7 @@ export default class htx extends Exchange {
|
|
|
759
759
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
760
760
|
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
761
761
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
762
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
762
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
763
763
|
*/
|
|
764
764
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
765
765
|
/**
|
package/js/src/htx.js
CHANGED
|
@@ -8389,7 +8389,7 @@ export default class htx extends Exchange {
|
|
|
8389
8389
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
8390
8390
|
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
8391
8391
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
8392
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
8392
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
8393
8393
|
*/
|
|
8394
8394
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
8395
8395
|
await this.loadMarkets();
|
|
@@ -8643,7 +8643,7 @@ export default class htx extends Exchange {
|
|
|
8643
8643
|
//
|
|
8644
8644
|
const data = this.safeValue(response, 'data');
|
|
8645
8645
|
const tick = this.safeList(data, 'tick');
|
|
8646
|
-
return this.
|
|
8646
|
+
return this.parseOpenInterestsHistory(tick, market, since, limit);
|
|
8647
8647
|
}
|
|
8648
8648
|
/**
|
|
8649
8649
|
* @method
|
package/js/src/hyperliquid.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/hyperliquid.js';
|
|
2
|
-
import type { Market, TransferEntry, Balances, Int, OrderBook, OHLCV, Str, FundingRateHistory, Order, OrderType, OrderSide, Trade, Strings, Position, OrderRequest, Dict, Num, MarginModification, Currencies, CancellationRequest, int, Transaction, Currency, TradingFeeInterface, Ticker, Tickers, LedgerEntry, FundingRates, FundingRate } from './base/types.js';
|
|
2
|
+
import type { Market, TransferEntry, Balances, Int, OrderBook, OHLCV, Str, FundingRateHistory, Order, OrderType, OrderSide, Trade, Strings, Position, OrderRequest, Dict, Num, MarginModification, Currencies, CancellationRequest, int, Transaction, Currency, TradingFeeInterface, Ticker, Tickers, LedgerEntry, FundingRates, FundingRate, OpenInterests } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class hyperliquid
|
|
5
5
|
* @augments Exchange
|
|
@@ -501,7 +501,7 @@ export default class hyperliquid extends Exchange {
|
|
|
501
501
|
* @param {int} [limit] max number of ledger entries to return
|
|
502
502
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
503
503
|
* @param {int} [params.until] timestamp in ms of the latest ledger entry
|
|
504
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
504
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
505
505
|
*/
|
|
506
506
|
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
507
507
|
parseLedgerEntry(item: Dict, currency?: Currency): LedgerEntry;
|
|
@@ -530,6 +530,25 @@ export default class hyperliquid extends Exchange {
|
|
|
530
530
|
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
|
|
531
531
|
*/
|
|
532
532
|
fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
533
|
+
/**
|
|
534
|
+
* @method
|
|
535
|
+
* @name hyperliquid#fetchOpenInterests
|
|
536
|
+
* @description Retrieves the open interest for a list of symbols
|
|
537
|
+
* @param {string[]} [symbols] Unified CCXT market symbol
|
|
538
|
+
* @param {object} [params] exchange specific parameters
|
|
539
|
+
* @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
|
|
540
|
+
*/
|
|
541
|
+
fetchOpenInterests(symbols?: Strings, params?: {}): Promise<OpenInterests>;
|
|
542
|
+
/**
|
|
543
|
+
* @method
|
|
544
|
+
* @name hyperliquid#fetchOpenInterest
|
|
545
|
+
* @description retrieves the open interest of a contract trading pair
|
|
546
|
+
* @param {string} symbol unified CCXT market symbol
|
|
547
|
+
* @param {object} [params] exchange specific parameters
|
|
548
|
+
* @returns {object} an [open interest structure]{@link https://docs.ccxt.com/#/?id=open-interest-structure}
|
|
549
|
+
*/
|
|
550
|
+
fetchOpenInterest(symbol: string, params?: {}): Promise<import("./base/types.js").OpenInterest>;
|
|
551
|
+
parseOpenInterest(interest: any, market?: Market): import("./base/types.js").OpenInterest;
|
|
533
552
|
extractTypeFromDelta(data?: any[]): any[];
|
|
534
553
|
formatVaultAddress(address?: Str): string;
|
|
535
554
|
handlePublicAddress(methodName: string, params: Dict): any[];
|
package/js/src/hyperliquid.js
CHANGED
|
@@ -88,8 +88,9 @@ export default class hyperliquid extends Exchange {
|
|
|
88
88
|
'fetchMyLiquidations': false,
|
|
89
89
|
'fetchMyTrades': true,
|
|
90
90
|
'fetchOHLCV': true,
|
|
91
|
-
'fetchOpenInterest':
|
|
91
|
+
'fetchOpenInterest': true,
|
|
92
92
|
'fetchOpenInterestHistory': false,
|
|
93
|
+
'fetchOpenInterests': true,
|
|
93
94
|
'fetchOpenOrders': true,
|
|
94
95
|
'fetchOrder': true,
|
|
95
96
|
'fetchOrderBook': true,
|
|
@@ -3082,7 +3083,7 @@ export default class hyperliquid extends Exchange {
|
|
|
3082
3083
|
* @param {int} [limit] max number of ledger entries to return
|
|
3083
3084
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3084
3085
|
* @param {int} [params.until] timestamp in ms of the latest ledger entry
|
|
3085
|
-
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger
|
|
3086
|
+
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
|
|
3086
3087
|
*/
|
|
3087
3088
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
3088
3089
|
await this.loadMarkets();
|
|
@@ -3255,6 +3256,69 @@ export default class hyperliquid extends Exchange {
|
|
|
3255
3256
|
const withdrawals = this.filterByArray(records, 'type', ['withdraw'], false);
|
|
3256
3257
|
return this.parseTransactions(withdrawals, undefined, since, limit);
|
|
3257
3258
|
}
|
|
3259
|
+
/**
|
|
3260
|
+
* @method
|
|
3261
|
+
* @name hyperliquid#fetchOpenInterests
|
|
3262
|
+
* @description Retrieves the open interest for a list of symbols
|
|
3263
|
+
* @param {string[]} [symbols] Unified CCXT market symbol
|
|
3264
|
+
* @param {object} [params] exchange specific parameters
|
|
3265
|
+
* @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
|
|
3266
|
+
*/
|
|
3267
|
+
async fetchOpenInterests(symbols = undefined, params = {}) {
|
|
3268
|
+
await this.loadMarkets();
|
|
3269
|
+
symbols = this.marketSymbols(symbols);
|
|
3270
|
+
const swapMarkets = await this.fetchSwapMarkets();
|
|
3271
|
+
const result = this.parseOpenInterests(swapMarkets);
|
|
3272
|
+
return this.filterByArray(result, 'symbol', symbols);
|
|
3273
|
+
}
|
|
3274
|
+
/**
|
|
3275
|
+
* @method
|
|
3276
|
+
* @name hyperliquid#fetchOpenInterest
|
|
3277
|
+
* @description retrieves the open interest of a contract trading pair
|
|
3278
|
+
* @param {string} symbol unified CCXT market symbol
|
|
3279
|
+
* @param {object} [params] exchange specific parameters
|
|
3280
|
+
* @returns {object} an [open interest structure]{@link https://docs.ccxt.com/#/?id=open-interest-structure}
|
|
3281
|
+
*/
|
|
3282
|
+
async fetchOpenInterest(symbol, params = {}) {
|
|
3283
|
+
symbol = this.symbol(symbol);
|
|
3284
|
+
await this.loadMarkets();
|
|
3285
|
+
const ois = await this.fetchOpenInterests([symbol], params);
|
|
3286
|
+
return ois[symbol];
|
|
3287
|
+
}
|
|
3288
|
+
parseOpenInterest(interest, market = undefined) {
|
|
3289
|
+
//
|
|
3290
|
+
// {
|
|
3291
|
+
// szDecimals: '2',
|
|
3292
|
+
// name: 'HYPE',
|
|
3293
|
+
// maxLeverage: '3',
|
|
3294
|
+
// funding: '0.00014735',
|
|
3295
|
+
// openInterest: '14677900.74',
|
|
3296
|
+
// prevDayPx: '26.145',
|
|
3297
|
+
// dayNtlVlm: '299643445.12560016',
|
|
3298
|
+
// premium: '0.00081613',
|
|
3299
|
+
// oraclePx: '27.569',
|
|
3300
|
+
// markPx: '27.63',
|
|
3301
|
+
// midPx: '27.599',
|
|
3302
|
+
// impactPxs: [ '27.5915', '27.6319' ],
|
|
3303
|
+
// dayBaseVlm: '10790652.83',
|
|
3304
|
+
// baseId: 159
|
|
3305
|
+
// }
|
|
3306
|
+
//
|
|
3307
|
+
interest = this.safeDict(interest, 'info', {});
|
|
3308
|
+
const coin = this.safeString(interest, 'name');
|
|
3309
|
+
let marketId = undefined;
|
|
3310
|
+
if (coin !== undefined) {
|
|
3311
|
+
marketId = this.coinToMarketId(coin);
|
|
3312
|
+
}
|
|
3313
|
+
return this.safeOpenInterest({
|
|
3314
|
+
'symbol': this.safeSymbol(marketId),
|
|
3315
|
+
'openInterestAmount': this.safeNumber(interest, 'openInterest'),
|
|
3316
|
+
'openInterestValue': undefined,
|
|
3317
|
+
'timestamp': undefined,
|
|
3318
|
+
'datetime': undefined,
|
|
3319
|
+
'info': interest,
|
|
3320
|
+
}, market);
|
|
3321
|
+
}
|
|
3258
3322
|
extractTypeFromDelta(data = []) {
|
|
3259
3323
|
const records = [];
|
|
3260
3324
|
for (let i = 0; i < data.length; i++) {
|