ccxt 4.1.44 → 4.1.46
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.js +2132 -768
- package/dist/ccxt.browser.min.js +9 -9
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ace.js +1 -3
- package/dist/cjs/src/ascendex.js +1 -3
- package/dist/cjs/src/base/Exchange.js +11 -3
- package/dist/cjs/src/base/ws/Cache.js +50 -0
- package/dist/cjs/src/bigone.js +2 -6
- package/dist/cjs/src/binance.js +16 -12
- package/dist/cjs/src/bit2c.js +2 -4
- package/dist/cjs/src/bitbns.js +5 -15
- package/dist/cjs/src/bitfinex.js +1 -3
- package/dist/cjs/src/bitfinex2.js +1 -3
- package/dist/cjs/src/bitflyer.js +4 -12
- package/dist/cjs/src/bitforex.js +4 -8
- package/dist/cjs/src/bithumb.js +4 -10
- package/dist/cjs/src/bitmart.js +64 -59
- package/dist/cjs/src/bitmex.js +2 -6
- package/dist/cjs/src/bitopro.js +6 -16
- package/dist/cjs/src/bitrue.js +6 -14
- package/dist/cjs/src/bitvavo.js +9 -14
- package/dist/cjs/src/btctradeua.js +2 -4
- package/dist/cjs/src/bybit.js +88 -132
- package/dist/cjs/src/cex.js +2 -4
- package/dist/cjs/src/coinbasepro.js +2 -2
- package/dist/cjs/src/coinex.js +7 -24
- package/dist/cjs/src/coinfalcon.js +1 -3
- package/dist/cjs/src/coinmate.js +2 -4
- package/dist/cjs/src/coinone.js +2 -6
- package/dist/cjs/src/coinsph.js +5 -13
- package/dist/cjs/src/cryptocom.js +1 -1
- package/dist/cjs/src/currencycom.js +2 -6
- package/dist/cjs/src/gate.js +5 -7
- package/dist/cjs/src/gemini.js +1 -3
- package/dist/cjs/src/hitbtc.js +290 -100
- package/dist/cjs/src/hollaex.js +1 -3
- package/dist/cjs/src/huobi.js +4 -14
- package/dist/cjs/src/huobijp.js +1 -3
- package/dist/cjs/src/indodax.js +4 -10
- package/dist/cjs/src/kucoinfutures.js +2 -7
- package/dist/cjs/src/kuna.js +1 -0
- package/dist/cjs/src/luno.js +1 -3
- package/dist/cjs/src/mercado.js +7 -17
- package/dist/cjs/src/mexc.js +5 -15
- package/dist/cjs/src/oceanex.js +2 -4
- package/dist/cjs/src/okx.js +33 -21
- package/dist/cjs/src/phemex.js +12 -33
- package/dist/cjs/src/poloniexfutures.js +2 -6
- package/dist/cjs/src/pro/binance.js +203 -1
- package/dist/cjs/src/pro/bitget.js +181 -0
- package/dist/cjs/src/pro/bitmart.js +2 -4
- package/dist/cjs/src/pro/bitrue.js +0 -4
- package/dist/cjs/src/pro/bitstamp.js +2 -4
- package/dist/cjs/src/pro/bitvavo.js +3 -7
- package/dist/cjs/src/pro/bybit.js +154 -10
- package/dist/cjs/src/pro/cex.js +2 -6
- package/dist/cjs/src/pro/cryptocom.js +131 -1
- package/dist/cjs/src/pro/gate.js +161 -0
- package/dist/cjs/src/pro/huobi.js +128 -4
- package/dist/cjs/src/pro/krakenfutures.js +129 -0
- package/dist/cjs/src/pro/kucoinfutures.js +182 -0
- package/dist/cjs/src/pro/okx.js +121 -0
- package/dist/cjs/src/pro/whitebit.js +3 -7
- package/dist/cjs/src/probit.js +2 -6
- package/dist/cjs/src/tokocrypto.js +3 -7
- package/dist/cjs/src/wavesexchange.js +2 -4
- package/dist/cjs/src/wazirx.js +4 -10
- package/dist/cjs/src/whitebit.js +3 -7
- package/dist/cjs/src/woo.js +0 -3
- package/dist/cjs/src/yobit.js +3 -7
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bequant.d.ts +37 -7
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/abstract/bitcoincom.d.ts +37 -7
- package/js/src/abstract/bybit.d.ts +3 -0
- package/js/src/abstract/fmfwio.d.ts +37 -7
- package/js/src/abstract/hitbtc.d.ts +37 -7
- package/js/src/abstract/hitbtc3.d.ts +37 -7
- package/js/src/abstract/okex.d.ts +6 -1
- package/js/src/abstract/okex5.d.ts +6 -1
- package/js/src/abstract/okx.d.ts +6 -1
- package/js/src/ace.d.ts +2 -2
- package/js/src/ace.js +2 -4
- package/js/src/alpaca.d.ts +2 -2
- package/js/src/ascendex.d.ts +2 -2
- package/js/src/ascendex.js +1 -3
- package/js/src/base/Exchange.d.ts +4 -1
- package/js/src/base/Exchange.js +11 -3
- package/js/src/base/ws/Cache.d.ts +5 -1
- package/js/src/base/ws/Cache.js +50 -1
- package/js/src/bigone.d.ts +2 -2
- package/js/src/bigone.js +3 -7
- package/js/src/binance.d.ts +2 -2
- package/js/src/binance.js +16 -12
- package/js/src/bingx.d.ts +2 -2
- package/js/src/bit2c.d.ts +2 -2
- package/js/src/bit2c.js +3 -5
- package/js/src/bitbank.d.ts +2 -2
- package/js/src/bitbns.d.ts +2 -2
- package/js/src/bitbns.js +5 -15
- package/js/src/bitfinex.d.ts +2 -2
- package/js/src/bitfinex.js +1 -3
- package/js/src/bitfinex2.js +1 -3
- package/js/src/bitflyer.d.ts +2 -2
- package/js/src/bitflyer.js +4 -12
- package/js/src/bitforex.d.ts +2 -2
- package/js/src/bitforex.js +5 -9
- package/js/src/bitget.d.ts +2 -2
- package/js/src/bithumb.d.ts +2 -2
- package/js/src/bithumb.js +4 -10
- package/js/src/bitmart.d.ts +2 -2
- package/js/src/bitmart.js +64 -59
- package/js/src/bitmex.js +2 -6
- package/js/src/bitopro.d.ts +2 -2
- package/js/src/bitopro.js +6 -16
- package/js/src/bitpanda.d.ts +2 -2
- package/js/src/bitrue.d.ts +2 -2
- package/js/src/bitrue.js +6 -14
- package/js/src/bitso.d.ts +2 -2
- package/js/src/bitstamp.d.ts +2 -2
- package/js/src/bitstamp1.d.ts +2 -2
- package/js/src/bittrex.d.ts +2 -2
- package/js/src/bitvavo.d.ts +2 -2
- package/js/src/bitvavo.js +9 -14
- package/js/src/bl3p.d.ts +2 -2
- package/js/src/blockchaincom.d.ts +4 -4
- package/js/src/btcalpha.d.ts +2 -2
- package/js/src/btcbox.d.ts +2 -2
- package/js/src/btcmarkets.d.ts +2 -2
- package/js/src/btctradeua.d.ts +2 -2
- package/js/src/btctradeua.js +3 -5
- package/js/src/btcturk.d.ts +2 -2
- package/js/src/bybit.d.ts +2 -4
- package/js/src/bybit.js +88 -132
- package/js/src/cex.d.ts +2 -2
- package/js/src/cex.js +2 -4
- package/js/src/coinbase.d.ts +2 -2
- package/js/src/coinbasepro.d.ts +2 -2
- package/js/src/coinbasepro.js +2 -2
- package/js/src/coincheck.d.ts +2 -2
- package/js/src/coinex.js +7 -24
- package/js/src/coinfalcon.d.ts +2 -2
- package/js/src/coinfalcon.js +2 -4
- package/js/src/coinlist.d.ts +12 -12
- package/js/src/coinmate.d.ts +3 -3
- package/js/src/coinmate.js +3 -5
- package/js/src/coinone.d.ts +2 -2
- package/js/src/coinone.js +2 -6
- package/js/src/coinsph.d.ts +2 -2
- package/js/src/coinsph.js +5 -13
- package/js/src/coinspot.d.ts +2 -2
- package/js/src/cryptocom.d.ts +2 -2
- package/js/src/cryptocom.js +1 -1
- package/js/src/currencycom.d.ts +2 -2
- package/js/src/currencycom.js +2 -6
- package/js/src/delta.d.ts +2 -2
- package/js/src/deribit.d.ts +3 -3
- package/js/src/digifinex.d.ts +2 -2
- package/js/src/gate.d.ts +2 -2
- package/js/src/gate.js +5 -7
- package/js/src/gemini.d.ts +3 -3
- package/js/src/gemini.js +1 -3
- package/js/src/hitbtc.d.ts +3 -0
- package/js/src/hitbtc.js +291 -101
- package/js/src/hollaex.js +1 -3
- package/js/src/huobi.d.ts +2 -2
- package/js/src/huobi.js +4 -14
- package/js/src/huobijp.d.ts +2 -2
- package/js/src/huobijp.js +2 -4
- package/js/src/independentreserve.d.ts +2 -2
- package/js/src/indodax.d.ts +2 -2
- package/js/src/indodax.js +4 -10
- package/js/src/kraken.d.ts +2 -2
- package/js/src/krakenfutures.d.ts +2 -2
- package/js/src/kucoin.d.ts +2 -2
- package/js/src/kucoinfutures.d.ts +2 -2
- package/js/src/kucoinfutures.js +2 -7
- package/js/src/kuna.d.ts +3 -3
- package/js/src/kuna.js +1 -0
- package/js/src/latoken.d.ts +2 -2
- package/js/src/lbank2.d.ts +2 -2
- package/js/src/luno.d.ts +2 -2
- package/js/src/luno.js +1 -3
- package/js/src/lykke.d.ts +2 -2
- package/js/src/mercado.d.ts +2 -2
- package/js/src/mercado.js +7 -17
- package/js/src/mexc.js +5 -15
- package/js/src/novadax.d.ts +2 -2
- package/js/src/oceanex.d.ts +4 -4
- package/js/src/oceanex.js +2 -4
- package/js/src/okcoin.d.ts +2 -2
- package/js/src/okx.d.ts +2 -2
- package/js/src/okx.js +33 -21
- package/js/src/paymium.d.ts +2 -2
- package/js/src/phemex.js +12 -33
- package/js/src/poloniexfutures.d.ts +2 -2
- package/js/src/poloniexfutures.js +2 -6
- package/js/src/pro/binance.d.ts +6 -0
- package/js/src/pro/binance.js +204 -2
- package/js/src/pro/bitget.d.ts +3 -0
- package/js/src/pro/bitget.js +182 -1
- package/js/src/pro/bitmart.js +2 -4
- package/js/src/pro/bitrue.js +0 -4
- package/js/src/pro/bitstamp.js +3 -5
- package/js/src/pro/bitvavo.js +4 -8
- package/js/src/pro/bybit.d.ts +5 -1
- package/js/src/pro/bybit.js +156 -12
- package/js/src/pro/cex.js +3 -7
- package/js/src/pro/cryptocom.d.ts +4 -0
- package/js/src/pro/cryptocom.js +132 -2
- package/js/src/pro/gate.d.ts +5 -0
- package/js/src/pro/gate.js +162 -1
- package/js/src/pro/huobi.d.ts +2 -0
- package/js/src/pro/huobi.js +129 -5
- package/js/src/pro/krakenfutures.d.ts +3 -0
- package/js/src/pro/krakenfutures.js +129 -0
- package/js/src/pro/kucoinfutures.d.ts +5 -0
- package/js/src/pro/kucoinfutures.js +182 -0
- package/js/src/pro/okx.d.ts +2 -0
- package/js/src/pro/okx.js +123 -2
- package/js/src/pro/whitebit.js +4 -8
- package/js/src/probit.d.ts +2 -2
- package/js/src/probit.js +3 -7
- package/js/src/timex.d.ts +2 -2
- package/js/src/tokocrypto.d.ts +2 -2
- package/js/src/tokocrypto.js +4 -8
- package/js/src/wavesexchange.js +3 -5
- package/js/src/wazirx.d.ts +2 -2
- package/js/src/wazirx.js +5 -11
- package/js/src/whitebit.d.ts +2 -2
- package/js/src/whitebit.js +3 -7
- package/js/src/woo.d.ts +2 -2
- package/js/src/woo.js +1 -4
- package/js/src/yobit.js +3 -7
- package/js/src/zaif.d.ts +2 -2
- package/package.json +1 -1
- package/skip-tests.json +3 -1
package/dist/cjs/src/bybit.js
CHANGED
|
@@ -323,6 +323,8 @@ class bybit extends bybit$1 {
|
|
|
323
323
|
'v5/spot-cross-margin-trade/orders': 1,
|
|
324
324
|
'v5/spot-cross-margin-trade/repay-history': 1,
|
|
325
325
|
// institutional lending
|
|
326
|
+
'v5/ins-loan/product-infos': 5,
|
|
327
|
+
'v5/ins-loan/ensure-tokens-convert': 5,
|
|
326
328
|
'v5/ins-loan/loan-order': 5,
|
|
327
329
|
'v5/ins-loan/repaid-history': 5,
|
|
328
330
|
'v5/ins-loan/ltv-convert': 5,
|
|
@@ -459,6 +461,8 @@ class bybit extends bybit$1 {
|
|
|
459
461
|
'v5/spot-cross-margin-trade/loan': 2.5,
|
|
460
462
|
'v5/spot-cross-margin-trade/repay': 2.5,
|
|
461
463
|
'v5/spot-cross-margin-trade/switch': 2.5,
|
|
464
|
+
// institutional lending
|
|
465
|
+
'v5/ins-loan/association-uid': 5,
|
|
462
466
|
// c2c lending
|
|
463
467
|
'v5/lending/purchase': 5,
|
|
464
468
|
'v5/lending/redeem': 5,
|
|
@@ -2519,88 +2523,8 @@ class bybit extends bybit$1 {
|
|
|
2519
2523
|
return this.filterBySymbolSinceLimit(sorted, symbol, since, limit);
|
|
2520
2524
|
}
|
|
2521
2525
|
parseTrade(trade, market = undefined) {
|
|
2522
|
-
const isSpotTrade = ('isBuyerMaker' in trade) || ('feeTokenId' in trade);
|
|
2523
|
-
if (isSpotTrade) {
|
|
2524
|
-
return this.parseSpotTrade(trade, market);
|
|
2525
|
-
}
|
|
2526
|
-
else {
|
|
2527
|
-
return this.parseContractTrade(trade, market);
|
|
2528
|
-
}
|
|
2529
|
-
}
|
|
2530
|
-
parseSpotTrade(trade, market = undefined) {
|
|
2531
2526
|
//
|
|
2532
|
-
//
|
|
2533
|
-
// {
|
|
2534
|
-
// "price": "39548.68",
|
|
2535
|
-
// "time": "1651748717850",
|
|
2536
|
-
// "qty": "0.166872",
|
|
2537
|
-
// "isBuyerMaker": 0
|
|
2538
|
-
// }
|
|
2539
|
-
//
|
|
2540
|
-
// private:
|
|
2541
|
-
// {
|
|
2542
|
-
// "orderPrice": "82.5",
|
|
2543
|
-
// "creatTime": "1666702226326",
|
|
2544
|
-
// "orderQty": "0.016",
|
|
2545
|
-
// "isBuyer": "0",
|
|
2546
|
-
// "isMaker": "0",
|
|
2547
|
-
// "symbol": "AAVEUSDT",
|
|
2548
|
-
// "id": "1274785101965716992",
|
|
2549
|
-
// "orderId": "1274784252359089664",
|
|
2550
|
-
// "tradeId": "2270000000031365639",
|
|
2551
|
-
// "execFee": "0",
|
|
2552
|
-
// "feeTokenId": "AAVE",
|
|
2553
|
-
// "matchOrderId": "1274785101865076224",
|
|
2554
|
-
// "makerRebate": "0",
|
|
2555
|
-
// "executionTime": "1666702226335"
|
|
2556
|
-
// }
|
|
2557
|
-
//
|
|
2558
|
-
const timestamp = this.safeIntegerN(trade, ['time', 'creatTime']);
|
|
2559
|
-
let takerOrMaker = undefined;
|
|
2560
|
-
let side = undefined;
|
|
2561
|
-
const isBuyerMaker = this.safeInteger(trade, 'isBuyerMaker');
|
|
2562
|
-
if (isBuyerMaker !== undefined) {
|
|
2563
|
-
// if public response
|
|
2564
|
-
side = (isBuyerMaker === 1) ? 'buy' : 'sell';
|
|
2565
|
-
}
|
|
2566
|
-
else {
|
|
2567
|
-
// if private response
|
|
2568
|
-
const isBuyer = this.safeInteger(trade, 'isBuyer');
|
|
2569
|
-
const isMaker = this.safeInteger(trade, 'isMaker');
|
|
2570
|
-
takerOrMaker = (isMaker === 0) ? 'maker' : 'taker';
|
|
2571
|
-
side = (isBuyer === 0) ? 'buy' : 'sell';
|
|
2572
|
-
}
|
|
2573
|
-
const marketId = this.safeString(trade, 'symbol');
|
|
2574
|
-
market = this.safeMarket(marketId, market, undefined, 'spot');
|
|
2575
|
-
let fee = undefined;
|
|
2576
|
-
const feeCost = this.safeString(trade, 'execFee');
|
|
2577
|
-
if (feeCost !== undefined) {
|
|
2578
|
-
const feeToken = this.safeString(trade, 'feeTokenId');
|
|
2579
|
-
const feeCurrency = this.safeCurrencyCode(feeToken);
|
|
2580
|
-
fee = {
|
|
2581
|
-
'cost': feeCost,
|
|
2582
|
-
'currency': feeCurrency,
|
|
2583
|
-
};
|
|
2584
|
-
}
|
|
2585
|
-
return this.safeTrade({
|
|
2586
|
-
'id': this.safeString(trade, 'tradeId'),
|
|
2587
|
-
'info': trade,
|
|
2588
|
-
'timestamp': timestamp,
|
|
2589
|
-
'datetime': this.iso8601(timestamp),
|
|
2590
|
-
'symbol': market['symbol'],
|
|
2591
|
-
'order': this.safeString(trade, 'orderId'),
|
|
2592
|
-
'type': undefined,
|
|
2593
|
-
'side': side,
|
|
2594
|
-
'takerOrMaker': takerOrMaker,
|
|
2595
|
-
'price': this.safeString2(trade, 'price', 'orderPrice'),
|
|
2596
|
-
'amount': this.safeString2(trade, 'qty', 'orderQty'),
|
|
2597
|
-
'cost': undefined,
|
|
2598
|
-
'fee': fee,
|
|
2599
|
-
}, market);
|
|
2600
|
-
}
|
|
2601
|
-
parseContractTrade(trade, market = undefined) {
|
|
2602
|
-
//
|
|
2603
|
-
// public contract
|
|
2527
|
+
// public https://bybit-exchange.github.io/docs/v5/market/recent-trade
|
|
2604
2528
|
//
|
|
2605
2529
|
// {
|
|
2606
2530
|
// "execId": "666042b4-50c6-58f3-bd9c-89b2088663ff",
|
|
@@ -2612,59 +2536,66 @@ class bybit extends bybit$1 {
|
|
|
2612
2536
|
// "isBlockTrade": false
|
|
2613
2537
|
// }
|
|
2614
2538
|
//
|
|
2615
|
-
//
|
|
2539
|
+
// private trades classic spot https://bybit-exchange.github.io/docs/v5/position/execution
|
|
2616
2540
|
//
|
|
2617
2541
|
// {
|
|
2618
|
-
// "
|
|
2619
|
-
// "
|
|
2620
|
-
// "price": "20802.50",
|
|
2621
|
-
// "size": "0.200",
|
|
2622
|
-
// "side": "Sell",
|
|
2623
|
-
// "time": "1657870316630"
|
|
2624
|
-
// }
|
|
2625
|
-
//
|
|
2626
|
-
// private contract trades
|
|
2627
|
-
//
|
|
2628
|
-
// {
|
|
2629
|
-
// "symbol": "ETHUSD",
|
|
2630
|
-
// "execFee": "0.00005484",
|
|
2631
|
-
// "execId": "acf78206-d464-589b-b888-51bd130821c1",
|
|
2632
|
-
// "execPrice": "1367.80",
|
|
2633
|
-
// "execQty": "100",
|
|
2634
|
-
// "execType": "Trade",
|
|
2635
|
-
// "execValue": "0.0731101",
|
|
2636
|
-
// "feeRate": "0.00075",
|
|
2637
|
-
// "lastLiquidityInd": "RemovedLiquidity",
|
|
2638
|
-
// "leavesQty": "0",
|
|
2639
|
-
// "orderId": "fdc584c3-be5d-41ff-8f54-5be7649b1d1c",
|
|
2542
|
+
// "symbol": "QNTUSDT",
|
|
2543
|
+
// "orderId": "1538686353240339712",
|
|
2640
2544
|
// "orderLinkId": "",
|
|
2641
|
-
// "orderPrice": "1299.50",
|
|
2642
|
-
// "orderQty": "100",
|
|
2643
|
-
// "orderType": "Market",
|
|
2644
|
-
// "stopOrderType": "UNKNOWN",
|
|
2645
2545
|
// "side": "Sell",
|
|
2646
|
-
// "
|
|
2647
|
-
// "
|
|
2546
|
+
// "orderPrice": "",
|
|
2547
|
+
// "orderQty": "",
|
|
2548
|
+
// "leavesQty": "",
|
|
2549
|
+
// "orderType": "Limit",
|
|
2550
|
+
// "stopOrderType": "",
|
|
2551
|
+
// "execFee": "0.040919",
|
|
2552
|
+
// "execId": "2210000000097330907",
|
|
2553
|
+
// "execPrice": "98.6",
|
|
2554
|
+
// "execQty": "0.415",
|
|
2555
|
+
// "execType": "",
|
|
2556
|
+
// "execValue": "",
|
|
2557
|
+
// "execTime": "1698161716634",
|
|
2558
|
+
// "isMaker": true,
|
|
2559
|
+
// "feeRate": "",
|
|
2560
|
+
// "tradeIv": "",
|
|
2561
|
+
// "markIv": "",
|
|
2562
|
+
// "markPrice": "",
|
|
2563
|
+
// "indexPrice": "",
|
|
2564
|
+
// "underlyingPrice": "",
|
|
2565
|
+
// "blockTradeId": ""
|
|
2648
2566
|
// }
|
|
2649
2567
|
//
|
|
2650
|
-
// private unified
|
|
2568
|
+
// private trades unified https://bybit-exchange.github.io/docs/v5/position/execution
|
|
2651
2569
|
//
|
|
2652
2570
|
// {
|
|
2653
|
-
// "symbol": "
|
|
2654
|
-
// "
|
|
2655
|
-
// "
|
|
2656
|
-
// "
|
|
2657
|
-
// "
|
|
2658
|
-
// "
|
|
2659
|
-
// "
|
|
2660
|
-
// "
|
|
2661
|
-
// "
|
|
2662
|
-
// "
|
|
2663
|
-
// "
|
|
2664
|
-
// "
|
|
2665
|
-
// "
|
|
2666
|
-
// "
|
|
2667
|
-
//
|
|
2571
|
+
// "symbol": "QNTUSDT",
|
|
2572
|
+
// "orderType": "Limit",
|
|
2573
|
+
// "underlyingPrice": "",
|
|
2574
|
+
// "orderLinkId": "1549452573428424449",
|
|
2575
|
+
// "orderId": "1549452573428424448",
|
|
2576
|
+
// "stopOrderType": "",
|
|
2577
|
+
// "execTime": "1699445151998",
|
|
2578
|
+
// "feeRate": "0.00025",
|
|
2579
|
+
// "tradeIv": "",
|
|
2580
|
+
// "blockTradeId": "",
|
|
2581
|
+
// "markPrice": "",
|
|
2582
|
+
// "execPrice": "102.8",
|
|
2583
|
+
// "markIv": "",
|
|
2584
|
+
// "orderQty": "3.652",
|
|
2585
|
+
// "orderPrice": "102.8",
|
|
2586
|
+
// "execValue": "1.028",
|
|
2587
|
+
// "closedSize": "",
|
|
2588
|
+
// "execType": "Trade",
|
|
2589
|
+
// "seq": "19157444346",
|
|
2590
|
+
// "side": "Buy",
|
|
2591
|
+
// "indexPrice": "",
|
|
2592
|
+
// "leavesQty": "3.642",
|
|
2593
|
+
// "isMaker": true,
|
|
2594
|
+
// "execFee": "0.0000025",
|
|
2595
|
+
// "execId": "2210000000101610464",
|
|
2596
|
+
// "execQty": "0.01",
|
|
2597
|
+
// "nextPageCursor": "267951%3A0%2C38567%3A0"
|
|
2598
|
+
// },
|
|
2668
2599
|
//
|
|
2669
2600
|
// private USDC settled trades
|
|
2670
2601
|
//
|
|
@@ -2736,9 +2667,25 @@ class bybit extends bybit$1 {
|
|
|
2736
2667
|
const feeCostString = this.safeString(trade, 'execFee');
|
|
2737
2668
|
let fee = undefined;
|
|
2738
2669
|
if (feeCostString !== undefined) {
|
|
2670
|
+
const feeRateString = this.safeString(trade, 'feeRate');
|
|
2739
2671
|
let feeCurrencyCode = undefined;
|
|
2740
2672
|
if (market['spot']) {
|
|
2741
|
-
|
|
2673
|
+
if (Precise["default"].stringGt(feeCostString, '0')) {
|
|
2674
|
+
if (side === 'buy') {
|
|
2675
|
+
feeCurrencyCode = market['base'];
|
|
2676
|
+
}
|
|
2677
|
+
else {
|
|
2678
|
+
feeCurrencyCode = market['quote'];
|
|
2679
|
+
}
|
|
2680
|
+
}
|
|
2681
|
+
else {
|
|
2682
|
+
if (side === 'buy') {
|
|
2683
|
+
feeCurrencyCode = market['quote'];
|
|
2684
|
+
}
|
|
2685
|
+
else {
|
|
2686
|
+
feeCurrencyCode = market['base'];
|
|
2687
|
+
}
|
|
2688
|
+
}
|
|
2742
2689
|
}
|
|
2743
2690
|
else {
|
|
2744
2691
|
feeCurrencyCode = market['inverse'] ? market['base'] : market['settle'];
|
|
@@ -2746,6 +2693,7 @@ class bybit extends bybit$1 {
|
|
|
2746
2693
|
fee = {
|
|
2747
2694
|
'cost': feeCostString,
|
|
2748
2695
|
'currency': feeCurrencyCode,
|
|
2696
|
+
'rate': feeRateString,
|
|
2749
2697
|
};
|
|
2750
2698
|
}
|
|
2751
2699
|
return this.safeTrade({
|
|
@@ -5751,11 +5699,19 @@ class bybit extends bybit$1 {
|
|
|
5751
5699
|
}
|
|
5752
5700
|
if (type === 'linear' || type === 'inverse') {
|
|
5753
5701
|
const baseCoin = this.safeString(params, 'baseCoin');
|
|
5754
|
-
if (
|
|
5755
|
-
|
|
5756
|
-
|
|
5757
|
-
|
|
5758
|
-
|
|
5702
|
+
if (type === 'linear') {
|
|
5703
|
+
if (symbol === undefined && baseCoin === undefined) {
|
|
5704
|
+
const defaultSettle = this.safeString(this.options, 'defaultSettle', 'USDT');
|
|
5705
|
+
const settleCoin = this.safeString(params, 'settleCoin', defaultSettle);
|
|
5706
|
+
request['settleCoin'] = settleCoin;
|
|
5707
|
+
isUsdcSettled = (settleCoin === 'USDC');
|
|
5708
|
+
}
|
|
5709
|
+
}
|
|
5710
|
+
else {
|
|
5711
|
+
// inverse
|
|
5712
|
+
if (symbol === undefined && baseCoin === undefined) {
|
|
5713
|
+
request['category'] = 'inverse';
|
|
5714
|
+
}
|
|
5759
5715
|
}
|
|
5760
5716
|
}
|
|
5761
5717
|
if (((type === 'option') || isUsdcSettled) && !isUnifiedAccount) {
|
package/dist/cjs/src/cex.js
CHANGED
|
@@ -1130,15 +1130,13 @@ class cex extends cex$1 {
|
|
|
1130
1130
|
* @description fetches information on multiple closed orders made by the user
|
|
1131
1131
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
1132
1132
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
1133
|
-
* @param {int} [limit] the maximum number of
|
|
1133
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
1134
1134
|
* @param {object} [params] extra parameters specific to the cex api endpoint
|
|
1135
1135
|
* @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
1136
1136
|
*/
|
|
1137
|
+
this.checkRequiredSymbol('fetchClosedOrders', symbol);
|
|
1137
1138
|
await this.loadMarkets();
|
|
1138
1139
|
const method = 'privatePostArchivedOrdersPair';
|
|
1139
|
-
if (symbol === undefined) {
|
|
1140
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
|
|
1141
|
-
}
|
|
1142
1140
|
const market = this.market(symbol);
|
|
1143
1141
|
const request = { 'pair': market['id'] };
|
|
1144
1142
|
const response = await this[method](this.extend(request, params));
|
|
@@ -1233,7 +1233,7 @@ class coinbasepro extends coinbasepro$1 {
|
|
|
1233
1233
|
if (clientOrderId !== undefined) {
|
|
1234
1234
|
request['client_oid'] = clientOrderId;
|
|
1235
1235
|
}
|
|
1236
|
-
const stopPrice = this.
|
|
1236
|
+
const stopPrice = this.safeNumberN(params, ['stopPrice', 'stop_price', 'triggerPrice']);
|
|
1237
1237
|
if (stopPrice !== undefined) {
|
|
1238
1238
|
request['stop_price'] = this.priceToPrecision(symbol, stopPrice);
|
|
1239
1239
|
}
|
|
@@ -1245,7 +1245,7 @@ class coinbasepro extends coinbasepro$1 {
|
|
|
1245
1245
|
if (postOnly) {
|
|
1246
1246
|
request['post_only'] = true;
|
|
1247
1247
|
}
|
|
1248
|
-
params = this.omit(params, ['timeInForce', 'time_in_force', 'stopPrice', 'stop_price', 'clientOrderId', 'client_oid', 'postOnly', 'post_only']);
|
|
1248
|
+
params = this.omit(params, ['timeInForce', 'time_in_force', 'stopPrice', 'stop_price', 'clientOrderId', 'client_oid', 'postOnly', 'post_only', 'triggerPrice']);
|
|
1249
1249
|
if (type === 'limit') {
|
|
1250
1250
|
request['price'] = this.priceToPrecision(symbol, price);
|
|
1251
1251
|
request['size'] = this.amountToPrecision(symbol, amount);
|
package/dist/cjs/src/coinex.js
CHANGED
|
@@ -901,9 +901,6 @@ class coinex extends coinex$1 {
|
|
|
901
901
|
* @param {object} [params] extra parameters specific to the coinex api endpoint
|
|
902
902
|
* @returns {object} A dictionary of [order book structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure} indexed by market symbols
|
|
903
903
|
*/
|
|
904
|
-
if (symbol === undefined) {
|
|
905
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchOrderBook() requires a symbol argument');
|
|
906
|
-
}
|
|
907
904
|
await this.loadMarkets();
|
|
908
905
|
const market = this.market(symbol);
|
|
909
906
|
if (limit === undefined) {
|
|
@@ -2302,9 +2299,7 @@ class coinex extends coinex$1 {
|
|
|
2302
2299
|
* @param {object} [params] extra parameters specific to the coinex api endpoint
|
|
2303
2300
|
* @returns {object[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
2304
2301
|
*/
|
|
2305
|
-
|
|
2306
|
-
throw new errors.ArgumentsRequired(this.id + ' cancellAllOrders() requires a symbol argument');
|
|
2307
|
-
}
|
|
2302
|
+
this.checkRequiredSymbol('cancelAllOrders', symbol);
|
|
2308
2303
|
await this.loadMarkets();
|
|
2309
2304
|
const market = this.market(symbol);
|
|
2310
2305
|
const marketId = market['id'];
|
|
@@ -2352,9 +2347,7 @@ class coinex extends coinex$1 {
|
|
|
2352
2347
|
* @param {object} [params] extra parameters specific to the coinex api endpoint
|
|
2353
2348
|
* @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
2354
2349
|
*/
|
|
2355
|
-
|
|
2356
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
|
|
2357
|
-
}
|
|
2350
|
+
this.checkRequiredSymbol('fetchOrder', symbol);
|
|
2358
2351
|
await this.loadMarkets();
|
|
2359
2352
|
const market = this.market(symbol);
|
|
2360
2353
|
const swap = market['swap'];
|
|
@@ -3257,9 +3250,7 @@ class coinex extends coinex$1 {
|
|
|
3257
3250
|
* @param {object} [params] extra parameters specific to the coinex api endpoint
|
|
3258
3251
|
* @returns {object} response from the exchange
|
|
3259
3252
|
*/
|
|
3260
|
-
|
|
3261
|
-
throw new errors.ArgumentsRequired(this.id + ' setMarginMode() requires a symbol argument');
|
|
3262
|
-
}
|
|
3253
|
+
this.checkRequiredSymbol('setMarginMode', symbol);
|
|
3263
3254
|
marginMode = marginMode.toLowerCase();
|
|
3264
3255
|
if (marginMode !== 'isolated' && marginMode !== 'cross') {
|
|
3265
3256
|
throw new errors.BadRequest(this.id + ' setMarginMode() marginMode argument should be isolated or cross');
|
|
@@ -3533,9 +3524,7 @@ class coinex extends coinex$1 {
|
|
|
3533
3524
|
* @param {object} [params] extra parameters specific to the coinex api endpoint
|
|
3534
3525
|
* @returns {object} a [funding history structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#funding-history-structure}
|
|
3535
3526
|
*/
|
|
3536
|
-
|
|
3537
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchFundingHistory() requires a symbol argument');
|
|
3538
|
-
}
|
|
3527
|
+
this.checkRequiredSymbol('fetchFundingHistory', symbol);
|
|
3539
3528
|
limit = (limit === undefined) ? 100 : limit;
|
|
3540
3529
|
await this.loadMarkets();
|
|
3541
3530
|
const market = this.market(symbol);
|
|
@@ -3855,9 +3844,7 @@ class coinex extends coinex$1 {
|
|
|
3855
3844
|
* @param {int} [params.until] timestamp in ms of the latest funding rate
|
|
3856
3845
|
* @returns {object[]} a list of [funding rate structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-history-structure}
|
|
3857
3846
|
*/
|
|
3858
|
-
|
|
3859
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
|
|
3860
|
-
}
|
|
3847
|
+
this.checkRequiredSymbol('fetchFundingRateHistory', symbol);
|
|
3861
3848
|
await this.loadMarkets();
|
|
3862
3849
|
let paginate = false;
|
|
3863
3850
|
[paginate, params] = this.handleOptionAndParams(params, 'fetchFundingRateHistory', 'paginate');
|
|
@@ -4579,9 +4566,7 @@ class coinex extends coinex$1 {
|
|
|
4579
4566
|
* @param {object} [params] extra parameters specific to the coinex api endpoint
|
|
4580
4567
|
* @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
|
|
4581
4568
|
*/
|
|
4582
|
-
|
|
4583
|
-
throw new errors.ArgumentsRequired(this.id + ' borrowMargin() requires a symbol argument');
|
|
4584
|
-
}
|
|
4569
|
+
this.checkRequiredSymbol('borrowMargin', symbol);
|
|
4585
4570
|
await this.loadMarkets();
|
|
4586
4571
|
const market = this.market(symbol);
|
|
4587
4572
|
const currency = this.currency(code);
|
|
@@ -4620,9 +4605,7 @@ class coinex extends coinex$1 {
|
|
|
4620
4605
|
* @param {string} [params.loan_id] extra parameter that is not required
|
|
4621
4606
|
* @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
|
|
4622
4607
|
*/
|
|
4623
|
-
|
|
4624
|
-
throw new errors.ArgumentsRequired(this.id + ' repayMargin() requires a symbol argument');
|
|
4625
|
-
}
|
|
4608
|
+
this.checkRequiredSymbol('repayMargin', symbol);
|
|
4626
4609
|
await this.loadMarkets();
|
|
4627
4610
|
const market = this.market(symbol);
|
|
4628
4611
|
const currency = this.currency(code);
|
|
@@ -405,9 +405,7 @@ class coinfalcon extends coinfalcon$1 {
|
|
|
405
405
|
* @param {object} [params] extra parameters specific to the coinfalcon api endpoint
|
|
406
406
|
* @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
|
|
407
407
|
*/
|
|
408
|
-
|
|
409
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
410
|
-
}
|
|
408
|
+
this.checkRequiredSymbol('fetchMyTrades', symbol);
|
|
411
409
|
await this.loadMarkets();
|
|
412
410
|
const market = this.market(symbol);
|
|
413
411
|
const request = {
|
package/dist/cjs/src/coinmate.js
CHANGED
|
@@ -735,13 +735,11 @@ class coinmate extends coinmate$1 {
|
|
|
735
735
|
* @description fetches information on multiple orders made by the user
|
|
736
736
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
737
737
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
738
|
-
* @param {int} [limit] the maximum number of
|
|
738
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
739
739
|
* @param {object} [params] extra parameters specific to the coinmate api endpoint
|
|
740
740
|
* @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
741
741
|
*/
|
|
742
|
-
|
|
743
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchOrders() requires a symbol argument');
|
|
744
|
-
}
|
|
742
|
+
this.checkRequiredSymbol('fetchOrders', symbol);
|
|
745
743
|
await this.loadMarkets();
|
|
746
744
|
const market = this.market(symbol);
|
|
747
745
|
const request = {
|
package/dist/cjs/src/coinone.js
CHANGED
|
@@ -534,9 +534,7 @@ class coinone extends coinone$1 {
|
|
|
534
534
|
* @param {object} [params] extra parameters specific to the coinone api endpoint
|
|
535
535
|
* @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
536
536
|
*/
|
|
537
|
-
|
|
538
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
|
|
539
|
-
}
|
|
537
|
+
this.checkRequiredSymbol('fetchOrder', symbol);
|
|
540
538
|
await this.loadMarkets();
|
|
541
539
|
const market = this.market(symbol);
|
|
542
540
|
const request = {
|
|
@@ -746,9 +744,7 @@ class coinone extends coinone$1 {
|
|
|
746
744
|
* @param {object} [params] extra parameters specific to the coinone api endpoint
|
|
747
745
|
* @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
|
|
748
746
|
*/
|
|
749
|
-
|
|
750
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
751
|
-
}
|
|
747
|
+
this.checkRequiredSymbol('fetchMyTrades', symbol);
|
|
752
748
|
await this.loadMarkets();
|
|
753
749
|
const market = this.market(symbol);
|
|
754
750
|
const request = {
|
package/dist/cjs/src/coinsph.js
CHANGED
|
@@ -877,9 +877,7 @@ class coinsph extends coinsph$1 {
|
|
|
877
877
|
* @param {object} [params] extra parameters specific to the coinsph api endpoint
|
|
878
878
|
* @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
|
|
879
879
|
*/
|
|
880
|
-
|
|
881
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
882
|
-
}
|
|
880
|
+
this.checkRequiredSymbol('fetchMyTrades', symbol);
|
|
883
881
|
await this.loadMarkets();
|
|
884
882
|
const market = this.market(symbol);
|
|
885
883
|
const request = {
|
|
@@ -908,9 +906,7 @@ class coinsph extends coinsph$1 {
|
|
|
908
906
|
* @param {object} [params] extra parameters specific to the coinsph api endpoint
|
|
909
907
|
* @returns {object[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
|
|
910
908
|
*/
|
|
911
|
-
|
|
912
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchOrderTrades() requires a symbol argument');
|
|
913
|
-
}
|
|
909
|
+
this.checkRequiredSymbol('fetchOrderTrades', symbol);
|
|
914
910
|
const request = {
|
|
915
911
|
'orderId': id,
|
|
916
912
|
};
|
|
@@ -1210,13 +1206,11 @@ class coinsph extends coinsph$1 {
|
|
|
1210
1206
|
* @description fetches information on multiple closed orders made by the user
|
|
1211
1207
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
1212
1208
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
1213
|
-
* @param {int} [limit] the maximum number of
|
|
1209
|
+
* @param {int} [limit] the maximum number of order structures to retrieve (default 500, max 1000)
|
|
1214
1210
|
* @param {object} [params] extra parameters specific to the coinsph api endpoint
|
|
1215
1211
|
* @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
1216
1212
|
*/
|
|
1217
|
-
|
|
1218
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
|
|
1219
|
-
}
|
|
1213
|
+
this.checkRequiredSymbol('fetchClosedOrders', symbol);
|
|
1220
1214
|
await this.loadMarkets();
|
|
1221
1215
|
const market = this.market(symbol);
|
|
1222
1216
|
const request = {
|
|
@@ -1265,9 +1259,7 @@ class coinsph extends coinsph$1 {
|
|
|
1265
1259
|
* @param {object} [params] extra parameters specific to the coinsph api endpoint
|
|
1266
1260
|
* @returns {object[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
1267
1261
|
*/
|
|
1268
|
-
|
|
1269
|
-
throw new errors.ArgumentsRequired(this.id + ' cancelAllOrders() requires a symbol argument');
|
|
1270
|
-
}
|
|
1262
|
+
this.checkRequiredSymbol('cancelAllOrders', symbol);
|
|
1271
1263
|
await this.loadMarkets();
|
|
1272
1264
|
let market = undefined;
|
|
1273
1265
|
const request = {};
|
|
@@ -3167,7 +3167,7 @@ class cryptocom extends cryptocom$1 {
|
|
|
3167
3167
|
'datetime': this.iso8601(timestamp),
|
|
3168
3168
|
'hedged': undefined,
|
|
3169
3169
|
'side': undefined,
|
|
3170
|
-
'contracts':
|
|
3170
|
+
'contracts': this.safeNumber(position, 'quantity'),
|
|
3171
3171
|
'contractSize': market['contractSize'],
|
|
3172
3172
|
'entryPrice': undefined,
|
|
3173
3173
|
'markPrice': undefined,
|
|
@@ -1442,9 +1442,7 @@ class currencycom extends currencycom$1 {
|
|
|
1442
1442
|
* @param {object} [params] extra parameters specific to the currencycom api endpoint
|
|
1443
1443
|
* @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
|
|
1444
1444
|
*/
|
|
1445
|
-
|
|
1446
|
-
throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
|
|
1447
|
-
}
|
|
1445
|
+
this.checkRequiredSymbol('cancelOrder', symbol);
|
|
1448
1446
|
await this.loadMarkets();
|
|
1449
1447
|
const market = this.market(symbol);
|
|
1450
1448
|
const origClientOrderId = this.safeValue(params, 'origClientOrderId');
|
|
@@ -1486,9 +1484,7 @@ class currencycom extends currencycom$1 {
|
|
|
1486
1484
|
* @param {object} [params] extra parameters specific to the currencycom api endpoint
|
|
1487
1485
|
* @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
|
|
1488
1486
|
*/
|
|
1489
|
-
|
|
1490
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
1491
|
-
}
|
|
1487
|
+
this.checkRequiredSymbol('fetchMyTrades', symbol);
|
|
1492
1488
|
await this.loadMarkets();
|
|
1493
1489
|
const market = this.market(symbol);
|
|
1494
1490
|
const request = {
|
package/dist/cjs/src/gate.js
CHANGED
|
@@ -2914,9 +2914,7 @@ class gate extends gate$1 {
|
|
|
2914
2914
|
* @param {object} [params] extra parameters specific to the gate api endpoint
|
|
2915
2915
|
* @returns {object[]} a list of [funding rate structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-history-structure}
|
|
2916
2916
|
*/
|
|
2917
|
-
|
|
2918
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
|
|
2919
|
-
}
|
|
2917
|
+
this.checkRequiredSymbol('fetchFundingRateHistory', symbol);
|
|
2920
2918
|
await this.loadMarkets();
|
|
2921
2919
|
const market = this.market(symbol);
|
|
2922
2920
|
if (!market['swap']) {
|
|
@@ -4959,9 +4957,7 @@ class gate extends gate$1 {
|
|
|
4959
4957
|
* @param {object} [params] extra parameters specific to the gate api endpoint
|
|
4960
4958
|
* @returns {object} response from the exchange
|
|
4961
4959
|
*/
|
|
4962
|
-
|
|
4963
|
-
throw new errors.ArgumentsRequired(this.id + ' setLeverage() requires a symbol argument');
|
|
4964
|
-
}
|
|
4960
|
+
this.checkRequiredSymbol('setLeverage', symbol);
|
|
4965
4961
|
// WARNING: THIS WILL INCREASE LIQUIDATION PRICE FOR OPEN ISOLATED LONG POSITIONS
|
|
4966
4962
|
// AND DECREASE LIQUIDATION PRICE FOR OPEN ISOLATED SHORT POSITIONS
|
|
4967
4963
|
if ((leverage < 0) || (leverage > 100)) {
|
|
@@ -5096,13 +5092,14 @@ class gate extends gate$1 {
|
|
|
5096
5092
|
const takerFee = '0.00075';
|
|
5097
5093
|
const feePaid = Precise["default"].stringMul(takerFee, notional);
|
|
5098
5094
|
const initialMarginString = Precise["default"].stringAdd(Precise["default"].stringDiv(notional, leverage), feePaid);
|
|
5095
|
+
const timestamp = this.safeInteger(position, 'time_ms');
|
|
5099
5096
|
return this.safePosition({
|
|
5100
5097
|
'info': position,
|
|
5101
5098
|
'id': undefined,
|
|
5102
5099
|
'symbol': this.safeString(market, 'symbol'),
|
|
5103
5100
|
'timestamp': undefined,
|
|
5104
5101
|
'datetime': undefined,
|
|
5105
|
-
'lastUpdateTimestamp':
|
|
5102
|
+
'lastUpdateTimestamp': timestamp,
|
|
5106
5103
|
'initialMargin': this.parseNumber(initialMarginString),
|
|
5107
5104
|
'initialMarginPercentage': this.parseNumber(Precise["default"].stringDiv(initialMarginString, notional)),
|
|
5108
5105
|
'maintenanceMargin': this.parseNumber(Precise["default"].stringMul(maintenanceRate, notional)),
|
|
@@ -5111,6 +5108,7 @@ class gate extends gate$1 {
|
|
|
5111
5108
|
'notional': this.parseNumber(notional),
|
|
5112
5109
|
'leverage': this.safeNumber(position, 'leverage'),
|
|
5113
5110
|
'unrealizedPnl': this.parseNumber(unrealisedPnl),
|
|
5111
|
+
'realizedPnl': this.safeNumber(position, 'realised_pnl'),
|
|
5114
5112
|
'contracts': this.parseNumber(Precise["default"].stringAbs(size)),
|
|
5115
5113
|
'contractSize': this.safeValue(market, 'contractSize'),
|
|
5116
5114
|
// 'realisedPnl': position['realised_pnl'],
|
package/dist/cjs/src/gemini.js
CHANGED
|
@@ -1451,9 +1451,7 @@ class gemini extends gemini$1 {
|
|
|
1451
1451
|
* @param {object} [params] extra parameters specific to the gemini api endpoint
|
|
1452
1452
|
* @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
|
|
1453
1453
|
*/
|
|
1454
|
-
|
|
1455
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
1456
|
-
}
|
|
1454
|
+
this.checkRequiredSymbol('fetchMyTrades', symbol);
|
|
1457
1455
|
await this.loadMarkets();
|
|
1458
1456
|
const market = this.market(symbol);
|
|
1459
1457
|
const request = {
|