ccxt 4.5.39 → 4.5.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 +6 -5
- package/dist/ccxt.browser.min.js +18 -18
- package/dist/cjs/ccxt.js +6 -1
- package/dist/cjs/src/abstract/lighter.js +11 -0
- package/dist/cjs/src/ascendex.js +73 -1
- package/dist/cjs/src/base/Exchange.js +211 -22
- package/dist/cjs/src/base/functions/generic.js +1 -0
- package/dist/cjs/src/base/functions/io.js +160 -0
- package/dist/cjs/src/base/functions.js +6 -0
- package/dist/cjs/src/base/ws/Client.js +1 -0
- package/dist/cjs/src/base/ws/WsClient.js +1 -0
- package/dist/cjs/src/binance.js +143 -0
- package/dist/cjs/src/bingx.js +150 -123
- package/dist/cjs/src/bitmart.js +20 -6
- package/dist/cjs/src/bitmex.js +436 -0
- package/dist/cjs/src/blofin.js +86 -1
- package/dist/cjs/src/bybit.js +135 -0
- package/dist/cjs/src/coinspot.js +7 -2
- package/dist/cjs/src/delta.js +367 -0
- package/dist/cjs/src/gate.js +11 -4
- package/dist/cjs/src/gemini.js +76 -1
- package/dist/cjs/src/htx.js +266 -3
- package/dist/cjs/src/hyperliquid.js +20 -7
- package/dist/cjs/src/independentreserve.js +7 -7
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +96 -5
- package/dist/cjs/src/kucoin.js +3 -3
- package/dist/cjs/src/kucoinfutures.js +121 -0
- package/dist/cjs/src/lighter.js +2931 -0
- package/dist/cjs/src/mexc.js +9 -2
- package/dist/cjs/src/phemex.js +359 -0
- package/dist/cjs/src/poloniex.js +5 -0
- package/dist/cjs/src/pro/binance.js +2 -2
- package/dist/cjs/src/pro/bingx.js +248 -35
- package/dist/cjs/src/pro/bitget.js +49 -90
- package/dist/cjs/src/pro/bitmart.js +68 -0
- package/dist/cjs/src/pro/blofin.js +52 -1
- package/dist/cjs/src/pro/coinbaseinternational.js +5 -2
- package/dist/cjs/src/pro/defx.js +1 -1
- package/dist/cjs/src/pro/kucoinfutures.js +1 -1
- package/dist/cjs/src/pro/lighter.js +787 -0
- package/dist/cjs/src/pro/mexc.js +73 -1
- package/dist/cjs/src/pro/okx.js +7 -4
- package/dist/cjs/src/pro/paradex.js +138 -1
- package/dist/cjs/src/pro/woo.js +43 -0
- package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/fragments.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/index.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/interface.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/typed.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -0
- package/dist/cjs/src/whitebit.js +118 -16
- package/dist/cjs/src/woo.js +103 -3
- package/js/ccxt.d.ts +9 -3
- package/js/ccxt.js +6 -2
- package/js/src/abstract/gemini.d.ts +27 -0
- package/js/src/abstract/lighter.d.ts +53 -0
- package/js/src/abstract/lighter.js +5 -0
- package/js/src/ascendex.d.ts +12 -1
- package/js/src/ascendex.js +73 -1
- package/js/src/base/Exchange.d.ts +29 -14
- package/js/src/base/Exchange.js +216 -23
- package/js/src/base/functions/generic.js +1 -0
- package/js/src/base/functions/io.d.ts +32 -0
- package/js/src/base/functions/io.js +131 -0
- package/js/src/base/functions.d.ts +1 -0
- package/js/src/base/functions.js +1 -0
- package/js/src/base/types.d.ts +9 -0
- package/js/src/binance.d.ts +27 -1
- package/js/src/binance.js +143 -0
- package/js/src/bingx.d.ts +113 -108
- package/js/src/bingx.js +150 -123
- package/js/src/bitmart.js +20 -6
- package/js/src/bitmex.d.ts +50 -1
- package/js/src/bitmex.js +436 -0
- package/js/src/blofin.d.ts +12 -1
- package/js/src/blofin.js +86 -1
- package/js/src/bybit.d.ts +12 -1
- package/js/src/bybit.js +135 -0
- package/js/src/coinspot.js +7 -2
- package/js/src/delta.d.ts +12 -1
- package/js/src/delta.js +367 -0
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +11 -4
- package/js/src/gemini.d.ts +11 -0
- package/js/src/gemini.js +76 -1
- package/js/src/htx.d.ts +15 -1
- package/js/src/htx.js +266 -3
- package/js/src/hyperliquid.js +20 -7
- package/js/src/independentreserve.js +7 -7
- package/js/src/kraken.js +1 -1
- package/js/src/krakenfutures.d.ts +1 -1
- package/js/src/krakenfutures.js +96 -5
- package/js/src/kucoin.d.ts +3 -3
- package/js/src/kucoin.js +3 -3
- package/js/src/kucoinfutures.d.ts +12 -1
- package/js/src/kucoinfutures.js +121 -0
- package/js/src/lighter.d.ts +424 -0
- package/js/src/lighter.js +2924 -0
- package/js/src/mexc.js +9 -2
- package/js/src/phemex.d.ts +16 -1
- package/js/src/phemex.js +359 -0
- package/js/src/poloniex.js +5 -0
- package/js/src/pro/binance.js +2 -2
- package/js/src/pro/bingx.d.ts +50 -34
- package/js/src/pro/bingx.js +249 -36
- package/js/src/pro/bitget.d.ts +6 -6
- package/js/src/pro/bitget.js +49 -90
- package/js/src/pro/bitmart.d.ts +22 -1
- package/js/src/pro/bitmart.js +69 -1
- package/js/src/pro/blofin.d.ts +12 -1
- package/js/src/pro/blofin.js +52 -1
- package/js/src/pro/coinbaseinternational.d.ts +2 -2
- package/js/src/pro/coinbaseinternational.js +6 -3
- package/js/src/pro/defx.js +1 -1
- package/js/src/pro/kucoinfutures.js +1 -1
- package/js/src/pro/lighter.d.ts +161 -0
- package/js/src/pro/lighter.js +780 -0
- package/js/src/pro/mexc.d.ts +22 -1
- package/js/src/pro/mexc.js +73 -1
- package/js/src/pro/okx.d.ts +4 -4
- package/js/src/pro/okx.js +7 -4
- package/js/src/pro/paradex.d.ts +23 -1
- package/js/src/pro/paradex.js +138 -1
- package/js/src/pro/woo.d.ts +12 -1
- package/js/src/pro/woo.js +43 -0
- package/js/src/whitebit.d.ts +2 -1
- package/js/src/whitebit.js +118 -16
- package/js/src/woo.d.ts +12 -1
- package/js/src/woo.js +103 -3
- package/package.json +1 -1
package/js/src/mexc.js
CHANGED
|
@@ -4402,7 +4402,15 @@ export default class mexc extends Exchange {
|
|
|
4402
4402
|
// "timestamp": 1643240373359
|
|
4403
4403
|
// }
|
|
4404
4404
|
//
|
|
4405
|
-
|
|
4405
|
+
// watchFundingRate
|
|
4406
|
+
//
|
|
4407
|
+
// {
|
|
4408
|
+
// "symbol": "BTC_USDT",
|
|
4409
|
+
// "rate": -0.000021,
|
|
4410
|
+
// "nextSettleTime": 1771084800000
|
|
4411
|
+
// }
|
|
4412
|
+
//
|
|
4413
|
+
const nextFundingRate = this.safeNumber2(contract, 'fundingRate', 'rate');
|
|
4406
4414
|
const nextFundingTimestamp = this.safeInteger(contract, 'nextSettleTime');
|
|
4407
4415
|
const marketId = this.safeString(contract, 'symbol');
|
|
4408
4416
|
const symbol = this.safeSymbol(marketId, market, undefined, 'contract');
|
|
@@ -4702,7 +4710,6 @@ export default class mexc extends Exchange {
|
|
|
4702
4710
|
const address = this.safeString(depositAddress, 'address');
|
|
4703
4711
|
const currencyId = this.safeString(depositAddress, 'coin');
|
|
4704
4712
|
const networkId = this.safeString(depositAddress, 'netWork');
|
|
4705
|
-
this.checkAddress(address);
|
|
4706
4713
|
return {
|
|
4707
4714
|
'info': depositAddress,
|
|
4708
4715
|
'currency': this.safeCurrencyCode(currencyId, currency),
|
package/js/src/phemex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/phemex.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, FundingHistory, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, MarginModification, Currencies, Dict, LeverageTier, LeverageTiers, int, FundingRate, DepositAddress, Conversion, Position, Dictionary } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Balances, Currency, FundingHistory, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, MarginModification, Currencies, Dict, LeverageTier, LeverageTiers, int, FundingRate, DepositAddress, Conversion, Position, Dictionary, ADL } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class phemex
|
|
5
5
|
* @augments Exchange
|
|
@@ -493,5 +493,20 @@ export default class phemex extends Exchange {
|
|
|
493
493
|
*/
|
|
494
494
|
fetchConvertTradeHistory(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Conversion[]>;
|
|
495
495
|
parseConversion(conversion: Dict, fromCurrency?: Currency, toCurrency?: Currency): Conversion;
|
|
496
|
+
/**
|
|
497
|
+
* @method
|
|
498
|
+
* @name phemex#fetchPositionADLRank
|
|
499
|
+
* @description fetches the auto deleveraging rank and risk percentage for a list of symbols
|
|
500
|
+
* @see https://phemex-docs.github.io/#query-account-positions
|
|
501
|
+
* @see https://phemex-docs.github.io/#query-trading-account-and-positions
|
|
502
|
+
* @see https://phemex-docs.github.io/#query-account-positions-with-unrealized-pnl
|
|
503
|
+
* @param {string[]} [symbols] list of unified market symbols
|
|
504
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
505
|
+
* @param {string} [params.code] the currency code to fetch ranks for, USD, BTC or USDT, USDT is the default
|
|
506
|
+
* @param {string} [params.method] *USDT contracts only* 'privateGetGAccountsAccountPositions' or 'privateGetGAccountsAccountPositions' default is 'privateGetGAccountsAccountPositions'
|
|
507
|
+
* @returns {object} an array of [auto de leverage structures]{@link https://docs.ccxt.com/?id=auto-de-leverage-structure}
|
|
508
|
+
*/
|
|
509
|
+
fetchPositionsADLRank(symbols?: Strings, params?: {}): Promise<ADL[]>;
|
|
510
|
+
parseADLRank(info: Dict, market?: Market): ADL;
|
|
496
511
|
handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
|
|
497
512
|
}
|
package/js/src/phemex.js
CHANGED
|
@@ -28,6 +28,9 @@ export default class phemex extends Exchange {
|
|
|
28
28
|
'future': false,
|
|
29
29
|
'option': false,
|
|
30
30
|
'addMargin': false,
|
|
31
|
+
'borrowCrossMargin': false,
|
|
32
|
+
'borrowIsolatedMargin': false,
|
|
33
|
+
'borrowMargin': false,
|
|
31
34
|
'cancelAllOrders': true,
|
|
32
35
|
'cancelOrder': true,
|
|
33
36
|
'closePosition': false,
|
|
@@ -38,9 +41,14 @@ export default class phemex extends Exchange {
|
|
|
38
41
|
'createStopMarketOrder': true,
|
|
39
42
|
'createStopOrder': true,
|
|
40
43
|
'editOrder': true,
|
|
44
|
+
'fetchAllGreeks': false,
|
|
41
45
|
'fetchBalance': true,
|
|
46
|
+
'fetchBorrowInterest': false,
|
|
47
|
+
'fetchBorrowRate': false,
|
|
42
48
|
'fetchBorrowRateHistories': false,
|
|
43
49
|
'fetchBorrowRateHistory': false,
|
|
50
|
+
'fetchBorrowRates': false,
|
|
51
|
+
'fetchBorrowRatesPerSymbol': false,
|
|
44
52
|
'fetchClosedOrders': true,
|
|
45
53
|
'fetchConvertQuote': true,
|
|
46
54
|
'fetchConvertTrade': false,
|
|
@@ -57,6 +65,7 @@ export default class phemex extends Exchange {
|
|
|
57
65
|
'fetchFundingRateHistories': false,
|
|
58
66
|
'fetchFundingRateHistory': true,
|
|
59
67
|
'fetchFundingRates': false,
|
|
68
|
+
'fetchGreeks': false,
|
|
60
69
|
'fetchIndexOHLCV': false,
|
|
61
70
|
'fetchIsolatedBorrowRate': false,
|
|
62
71
|
'fetchIsolatedBorrowRates': false,
|
|
@@ -69,10 +78,14 @@ export default class phemex extends Exchange {
|
|
|
69
78
|
'fetchOHLCV': true,
|
|
70
79
|
'fetchOpenInterest': true,
|
|
71
80
|
'fetchOpenOrders': true,
|
|
81
|
+
'fetchOption': false,
|
|
82
|
+
'fetchOptionChain': false,
|
|
72
83
|
'fetchOrder': true,
|
|
73
84
|
'fetchOrderBook': true,
|
|
74
85
|
'fetchOrders': true,
|
|
86
|
+
'fetchPositionADLRank': true,
|
|
75
87
|
'fetchPositions': true,
|
|
88
|
+
'fetchPositionsADLRank': true,
|
|
76
89
|
'fetchPositionsRisk': false,
|
|
77
90
|
'fetchPremiumIndexOHLCV': false,
|
|
78
91
|
'fetchTicker': true,
|
|
@@ -81,8 +94,11 @@ export default class phemex extends Exchange {
|
|
|
81
94
|
'fetchTradingFee': false,
|
|
82
95
|
'fetchTradingFees': false,
|
|
83
96
|
'fetchTransfers': true,
|
|
97
|
+
'fetchVolatilityHistory': false,
|
|
84
98
|
'fetchWithdrawals': true,
|
|
85
99
|
'reduceMargin': false,
|
|
100
|
+
'repayCrossMargin': false,
|
|
101
|
+
'repayIsolatedMargin': false,
|
|
86
102
|
'sandbox': true,
|
|
87
103
|
'setLeverage': true,
|
|
88
104
|
'setMargin': true,
|
|
@@ -5322,6 +5338,349 @@ export default class phemex extends Exchange {
|
|
|
5322
5338
|
'fee': undefined,
|
|
5323
5339
|
};
|
|
5324
5340
|
}
|
|
5341
|
+
/**
|
|
5342
|
+
* @method
|
|
5343
|
+
* @name phemex#fetchPositionADLRank
|
|
5344
|
+
* @description fetches the auto deleveraging rank and risk percentage for a list of symbols
|
|
5345
|
+
* @see https://phemex-docs.github.io/#query-account-positions
|
|
5346
|
+
* @see https://phemex-docs.github.io/#query-trading-account-and-positions
|
|
5347
|
+
* @see https://phemex-docs.github.io/#query-account-positions-with-unrealized-pnl
|
|
5348
|
+
* @param {string[]} [symbols] list of unified market symbols
|
|
5349
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
5350
|
+
* @param {string} [params.code] the currency code to fetch ranks for, USD, BTC or USDT, USDT is the default
|
|
5351
|
+
* @param {string} [params.method] *USDT contracts only* 'privateGetGAccountsAccountPositions' or 'privateGetGAccountsAccountPositions' default is 'privateGetGAccountsAccountPositions'
|
|
5352
|
+
* @returns {object} an array of [auto de leverage structures]{@link https://docs.ccxt.com/?id=auto-de-leverage-structure}
|
|
5353
|
+
*/
|
|
5354
|
+
async fetchPositionsADLRank(symbols = undefined, params = {}) {
|
|
5355
|
+
await this.loadMarkets();
|
|
5356
|
+
symbols = this.marketSymbols(symbols, undefined, true, true, true);
|
|
5357
|
+
let subType = undefined;
|
|
5358
|
+
let code = this.safeString2(params, 'currency', 'code', 'USDT');
|
|
5359
|
+
params = this.omit(params, ['currency', 'code']);
|
|
5360
|
+
let settle = undefined;
|
|
5361
|
+
let market = undefined;
|
|
5362
|
+
const firstSymbol = this.safeString(symbols, 0);
|
|
5363
|
+
if (firstSymbol !== undefined) {
|
|
5364
|
+
market = this.market(firstSymbol);
|
|
5365
|
+
settle = market['settle'];
|
|
5366
|
+
code = market['settle'];
|
|
5367
|
+
}
|
|
5368
|
+
else {
|
|
5369
|
+
[settle, params] = this.handleOptionAndParams(params, 'fetchPositionsADLRank', 'settle', code);
|
|
5370
|
+
}
|
|
5371
|
+
[subType, params] = this.handleSubTypeAndParams('fetchPositionsADLRank', market, params);
|
|
5372
|
+
const isUSDTSettled = settle === 'USDT';
|
|
5373
|
+
if (isUSDTSettled) {
|
|
5374
|
+
code = 'USDT';
|
|
5375
|
+
}
|
|
5376
|
+
else if (settle === 'BTC') {
|
|
5377
|
+
code = 'BTC';
|
|
5378
|
+
}
|
|
5379
|
+
else if (code === undefined) {
|
|
5380
|
+
code = (subType === 'linear') ? 'USD' : 'BTC';
|
|
5381
|
+
}
|
|
5382
|
+
const currency = this.currency(code);
|
|
5383
|
+
const request = {
|
|
5384
|
+
'currency': currency['id'],
|
|
5385
|
+
};
|
|
5386
|
+
let response = undefined;
|
|
5387
|
+
if (isUSDTSettled) {
|
|
5388
|
+
let method = undefined;
|
|
5389
|
+
[method, params] = this.handleOptionAndParams(params, 'fetchPositionsADLRank', 'method', 'privateGetGAccountsAccountPositions');
|
|
5390
|
+
if (method === 'privateGetGAccountsAccountPositions') {
|
|
5391
|
+
response = await this.privateGetGAccountsAccountPositions(this.extend(request, params));
|
|
5392
|
+
}
|
|
5393
|
+
else {
|
|
5394
|
+
response = await this.privateGetGAccountsPositions(this.extend(request, params));
|
|
5395
|
+
}
|
|
5396
|
+
//
|
|
5397
|
+
// {
|
|
5398
|
+
// "code": 0,
|
|
5399
|
+
// "msg": "",
|
|
5400
|
+
// "data": {
|
|
5401
|
+
// "account": {
|
|
5402
|
+
// "userID": 940666,
|
|
5403
|
+
// "accountId": 9406660003,
|
|
5404
|
+
// "currency": "USDT",
|
|
5405
|
+
// "accountBalanceRv": "439.96184445932",
|
|
5406
|
+
// "totalUsedBalanceRv": "89.22502732",
|
|
5407
|
+
// "bonusBalanceRv": "0",
|
|
5408
|
+
// "status": 0,
|
|
5409
|
+
// "userMode": 1
|
|
5410
|
+
// },
|
|
5411
|
+
// "positions": [
|
|
5412
|
+
// {
|
|
5413
|
+
// "userID": 940666,
|
|
5414
|
+
// "accountID": 9406660003,
|
|
5415
|
+
// "symbol": "BTCUSDT",
|
|
5416
|
+
// "currency": "USDT",
|
|
5417
|
+
// "side": "Buy",
|
|
5418
|
+
// "positionStatus": "Normal",
|
|
5419
|
+
// "crossMargin": true,
|
|
5420
|
+
// "leverageRr": "-10",
|
|
5421
|
+
// "initMarginReqRr": "0.1",
|
|
5422
|
+
// "maintMarginReqRr": "0.005",
|
|
5423
|
+
// "riskLimitRv": "20000000",
|
|
5424
|
+
// "size": "0.01",
|
|
5425
|
+
// "valueRv": "887.531",
|
|
5426
|
+
// "avgEntryPriceRp": "88753.1",
|
|
5427
|
+
// "avgEntryPrice": "88753.1",
|
|
5428
|
+
// "posCostRv": "89.22502732",
|
|
5429
|
+
// "assignedPosBalanceRv": "89.29802732",
|
|
5430
|
+
// "bankruptCommRv": "0.529812426",
|
|
5431
|
+
// "bankruptPriceRp": "44783.79",
|
|
5432
|
+
// "positionMarginRv": "88.695214894",
|
|
5433
|
+
// "liquidationPriceRp": "45009",
|
|
5434
|
+
// "deleveragePercentileRr": "0",
|
|
5435
|
+
// "buyValueToCostRr": "0.10114",
|
|
5436
|
+
// "sellValueToCostRr": "0.10126",
|
|
5437
|
+
// "markPriceRp": "88747.2",
|
|
5438
|
+
// "estimatedOrdLossRv": "0",
|
|
5439
|
+
// "usedBalanceRv": "89.22502732",
|
|
5440
|
+
// "cumClosedPnlRv": "425.97796",
|
|
5441
|
+
// "cumFundingFeeRv": "54.892930099379",
|
|
5442
|
+
// "cumTransactFeeRv": "1.288782144",
|
|
5443
|
+
// "transactTimeNs": 1767176685241254818,
|
|
5444
|
+
// "takerFeeRateRr": "-1",
|
|
5445
|
+
// "makerFeeRateRr": "-1",
|
|
5446
|
+
// "term": 6,
|
|
5447
|
+
// "lastTermEndTimeNs": 1759835547751667598,
|
|
5448
|
+
// "lastFundingTimeNs": 1759824000000000000,
|
|
5449
|
+
// "curTermRealisedPnlRv": "-0.5325186",
|
|
5450
|
+
// "execSeq": 47732822790,
|
|
5451
|
+
// "posSide": "Long",
|
|
5452
|
+
// "posMode": "Hedged",
|
|
5453
|
+
// "buyLeavesValueRv": "0",
|
|
5454
|
+
// "buyLeavesQtyRq": "0",
|
|
5455
|
+
// "sellLeavesValueRv": "0",
|
|
5456
|
+
// "sellLeavesQtyRq": "0"
|
|
5457
|
+
// },
|
|
5458
|
+
// ]
|
|
5459
|
+
// }
|
|
5460
|
+
// }
|
|
5461
|
+
//
|
|
5462
|
+
}
|
|
5463
|
+
else {
|
|
5464
|
+
response = await this.privateGetAccountsAccountPositions(this.extend(request, params));
|
|
5465
|
+
//
|
|
5466
|
+
// {
|
|
5467
|
+
// "code": 0,
|
|
5468
|
+
// "msg": "",
|
|
5469
|
+
// "data": {
|
|
5470
|
+
// "account": {
|
|
5471
|
+
// "userID": 940666,
|
|
5472
|
+
// "accountId": 9406660001,
|
|
5473
|
+
// "currency": "BTC",
|
|
5474
|
+
// "accountBalanceEv": 50050270,
|
|
5475
|
+
// "totalUsedBalanceEv": 58,
|
|
5476
|
+
// "bonusBalanceEv": 0
|
|
5477
|
+
// },
|
|
5478
|
+
// "positions": [
|
|
5479
|
+
// {
|
|
5480
|
+
// "userID": 940666,
|
|
5481
|
+
// "accountID": 9406660001,
|
|
5482
|
+
// "symbol": "BTCUSD",
|
|
5483
|
+
// "currency": "BTC",
|
|
5484
|
+
// "side": "Buy",
|
|
5485
|
+
// "positionStatus": "Normal",
|
|
5486
|
+
// "crossMargin": false,
|
|
5487
|
+
// "leverageEr": -2000000000,
|
|
5488
|
+
// "leverage": -20.00000000,
|
|
5489
|
+
// "initMarginReqEr": 5000000,
|
|
5490
|
+
// "initMarginReq": 0.05000000,
|
|
5491
|
+
// "maintMarginReqEr": 500000,
|
|
5492
|
+
// "maintMarginReq": 0.00500000,
|
|
5493
|
+
// "riskLimitEv": 150000000000,
|
|
5494
|
+
// "riskLimit": 1500.00000000,
|
|
5495
|
+
// "size": 1,
|
|
5496
|
+
// "value": 0.00001128,
|
|
5497
|
+
// "valueEv": 1128,
|
|
5498
|
+
// "avgEntryPriceEp": 886524823,
|
|
5499
|
+
// "avgEntryPrice": 88652.48230000,
|
|
5500
|
+
// "posCostEv": 58,
|
|
5501
|
+
// "posCost": 5.8E-7,
|
|
5502
|
+
// "assignedPosBalanceEv": 58,
|
|
5503
|
+
// "assignedPosBalance": 5.8E-7,
|
|
5504
|
+
// "bankruptCommEv": 1,
|
|
5505
|
+
// "bankruptComm": 1E-8,
|
|
5506
|
+
// "bankruptPriceEp": 100000,
|
|
5507
|
+
// "bankruptPrice": 10.00000000,
|
|
5508
|
+
// "positionMarginEv": 57,
|
|
5509
|
+
// "positionMargin": 5.7E-7,
|
|
5510
|
+
// "liquidationPriceEp": 100000,
|
|
5511
|
+
// "liquidationPrice": 10.00000000,
|
|
5512
|
+
// "deleveragePercentileEr": 0,
|
|
5513
|
+
// "deleveragePercentile": 0E-8,
|
|
5514
|
+
// "buyValueToCostEr": 5123000,
|
|
5515
|
+
// "buyValueToCost": 0.05123000,
|
|
5516
|
+
// "sellValueToCostEr": 5117000,
|
|
5517
|
+
// "sellValueToCost": 0.05117000,
|
|
5518
|
+
// "markPriceEp": 886028000,
|
|
5519
|
+
// "markPrice": 88602.80000000,
|
|
5520
|
+
// "estimatedOrdLossEv": 0,
|
|
5521
|
+
// "estimatedOrdLoss": 0E-8,
|
|
5522
|
+
// "usedBalanceEv": 58,
|
|
5523
|
+
// "usedBalance": 5.8E-7,
|
|
5524
|
+
// "cumClosedPnlEv": 127,
|
|
5525
|
+
// "cumFundingFeeEv": -146,
|
|
5526
|
+
// "cumTransactFeeEv": 3,
|
|
5527
|
+
// "transactTimeNs": 1767177964554892106,
|
|
5528
|
+
// "takerFeeRateEr": 60000,
|
|
5529
|
+
// "makerFeeRateEr": 10000,
|
|
5530
|
+
// "term": 2,
|
|
5531
|
+
// "lastTermEndTimeNs": 1716225275381802994,
|
|
5532
|
+
// "lastFundingTimeNs": 1767168000000000000,
|
|
5533
|
+
// "curTermRealisedPnlEv": -1,
|
|
5534
|
+
// "execSeq": 1104909332,
|
|
5535
|
+
// "freeQty": -1,
|
|
5536
|
+
// "freeCostEv": 0,
|
|
5537
|
+
// "buyLeavesValueEv": 0,
|
|
5538
|
+
// "sellLeavesValueEv": 0,
|
|
5539
|
+
// "buyLeavesQty": 0,
|
|
5540
|
+
// "sellLeavesQty": 0
|
|
5541
|
+
// }
|
|
5542
|
+
// ]
|
|
5543
|
+
// }
|
|
5544
|
+
// }
|
|
5545
|
+
//
|
|
5546
|
+
}
|
|
5547
|
+
const data = this.safeValue(response, 'data', {});
|
|
5548
|
+
const ranks = this.safeValue(data, 'positions', []);
|
|
5549
|
+
const result = [];
|
|
5550
|
+
for (let i = 0; i < ranks.length; i++) {
|
|
5551
|
+
const rank = ranks[i];
|
|
5552
|
+
result.push(this.parseADLRank(rank));
|
|
5553
|
+
}
|
|
5554
|
+
return this.filterByArrayADLRanks(result, 'symbol', symbols, false);
|
|
5555
|
+
}
|
|
5556
|
+
parseADLRank(info, market = undefined) {
|
|
5557
|
+
//
|
|
5558
|
+
// fetchPositionADLRank: linear
|
|
5559
|
+
//
|
|
5560
|
+
// {
|
|
5561
|
+
// "userID": 940666,
|
|
5562
|
+
// "accountID": 9406660003,
|
|
5563
|
+
// "symbol": "BTCUSDT",
|
|
5564
|
+
// "currency": "USDT",
|
|
5565
|
+
// "side": "Buy",
|
|
5566
|
+
// "positionStatus": "Normal",
|
|
5567
|
+
// "crossMargin": true,
|
|
5568
|
+
// "leverageRr": "-10",
|
|
5569
|
+
// "initMarginReqRr": "0.1",
|
|
5570
|
+
// "maintMarginReqRr": "0.005",
|
|
5571
|
+
// "riskLimitRv": "20000000",
|
|
5572
|
+
// "size": "0.01",
|
|
5573
|
+
// "valueRv": "887.531",
|
|
5574
|
+
// "avgEntryPriceRp": "88753.1",
|
|
5575
|
+
// "avgEntryPrice": "88753.1",
|
|
5576
|
+
// "posCostRv": "89.22502732",
|
|
5577
|
+
// "assignedPosBalanceRv": "89.29802732",
|
|
5578
|
+
// "bankruptCommRv": "0.529812426",
|
|
5579
|
+
// "bankruptPriceRp": "44783.79",
|
|
5580
|
+
// "positionMarginRv": "88.695214894",
|
|
5581
|
+
// "liquidationPriceRp": "45009",
|
|
5582
|
+
// "deleveragePercentileRr": "0",
|
|
5583
|
+
// "buyValueToCostRr": "0.10114",
|
|
5584
|
+
// "sellValueToCostRr": "0.10126",
|
|
5585
|
+
// "markPriceRp": "88747.2",
|
|
5586
|
+
// "estimatedOrdLossRv": "0",
|
|
5587
|
+
// "usedBalanceRv": "89.22502732",
|
|
5588
|
+
// "cumClosedPnlRv": "425.97796",
|
|
5589
|
+
// "cumFundingFeeRv": "54.892930099379",
|
|
5590
|
+
// "cumTransactFeeRv": "1.288782144",
|
|
5591
|
+
// "transactTimeNs": 1767176685241254818,
|
|
5592
|
+
// "takerFeeRateRr": "-1",
|
|
5593
|
+
// "makerFeeRateRr": "-1",
|
|
5594
|
+
// "term": 6,
|
|
5595
|
+
// "lastTermEndTimeNs": 1759835547751667598,
|
|
5596
|
+
// "lastFundingTimeNs": 1759824000000000000,
|
|
5597
|
+
// "curTermRealisedPnlRv": "-0.5325186",
|
|
5598
|
+
// "execSeq": 47732822790,
|
|
5599
|
+
// "posSide": "Long",
|
|
5600
|
+
// "posMode": "Hedged",
|
|
5601
|
+
// "buyLeavesValueRv": "0",
|
|
5602
|
+
// "buyLeavesQtyRq": "0",
|
|
5603
|
+
// "sellLeavesValueRv": "0",
|
|
5604
|
+
// "sellLeavesQtyRq": "0"
|
|
5605
|
+
// }
|
|
5606
|
+
//
|
|
5607
|
+
// fetchPositionADLRank: inverse
|
|
5608
|
+
//
|
|
5609
|
+
// {
|
|
5610
|
+
// "userID": 940666,
|
|
5611
|
+
// "accountID": 9406660001,
|
|
5612
|
+
// "symbol": "BTCUSD",
|
|
5613
|
+
// "currency": "BTC",
|
|
5614
|
+
// "side": "Buy",
|
|
5615
|
+
// "positionStatus": "Normal",
|
|
5616
|
+
// "crossMargin": false,
|
|
5617
|
+
// "leverageEr": -2000000000,
|
|
5618
|
+
// "leverage": -20.00000000,
|
|
5619
|
+
// "initMarginReqEr": 5000000,
|
|
5620
|
+
// "initMarginReq": 0.05000000,
|
|
5621
|
+
// "maintMarginReqEr": 500000,
|
|
5622
|
+
// "maintMarginReq": 0.00500000,
|
|
5623
|
+
// "riskLimitEv": 150000000000,
|
|
5624
|
+
// "riskLimit": 1500.00000000,
|
|
5625
|
+
// "size": 1,
|
|
5626
|
+
// "value": 0.00001128,
|
|
5627
|
+
// "valueEv": 1128,
|
|
5628
|
+
// "avgEntryPriceEp": 886524823,
|
|
5629
|
+
// "avgEntryPrice": 88652.48230000,
|
|
5630
|
+
// "posCostEv": 58,
|
|
5631
|
+
// "posCost": 5.8E-7,
|
|
5632
|
+
// "assignedPosBalanceEv": 58,
|
|
5633
|
+
// "assignedPosBalance": 5.8E-7,
|
|
5634
|
+
// "bankruptCommEv": 1,
|
|
5635
|
+
// "bankruptComm": 1E-8,
|
|
5636
|
+
// "bankruptPriceEp": 100000,
|
|
5637
|
+
// "bankruptPrice": 10.00000000,
|
|
5638
|
+
// "positionMarginEv": 57,
|
|
5639
|
+
// "positionMargin": 5.7E-7,
|
|
5640
|
+
// "liquidationPriceEp": 100000,
|
|
5641
|
+
// "liquidationPrice": 10.00000000,
|
|
5642
|
+
// "deleveragePercentileEr": 0,
|
|
5643
|
+
// "deleveragePercentile": 0E-8,
|
|
5644
|
+
// "buyValueToCostEr": 5123000,
|
|
5645
|
+
// "buyValueToCost": 0.05123000,
|
|
5646
|
+
// "sellValueToCostEr": 5117000,
|
|
5647
|
+
// "sellValueToCost": 0.05117000,
|
|
5648
|
+
// "markPriceEp": 886028000,
|
|
5649
|
+
// "markPrice": 88602.80000000,
|
|
5650
|
+
// "estimatedOrdLossEv": 0,
|
|
5651
|
+
// "estimatedOrdLoss": 0E-8,
|
|
5652
|
+
// "usedBalanceEv": 58,
|
|
5653
|
+
// "usedBalance": 5.8E-7,
|
|
5654
|
+
// "cumClosedPnlEv": 127,
|
|
5655
|
+
// "cumFundingFeeEv": -146,
|
|
5656
|
+
// "cumTransactFeeEv": 3,
|
|
5657
|
+
// "transactTimeNs": 1767177964554892106,
|
|
5658
|
+
// "takerFeeRateEr": 60000,
|
|
5659
|
+
// "makerFeeRateEr": 10000,
|
|
5660
|
+
// "term": 2,
|
|
5661
|
+
// "lastTermEndTimeNs": 1716225275381802994,
|
|
5662
|
+
// "lastFundingTimeNs": 1767168000000000000,
|
|
5663
|
+
// "curTermRealisedPnlEv": -1,
|
|
5664
|
+
// "execSeq": 1104909332,
|
|
5665
|
+
// "freeQty": -1,
|
|
5666
|
+
// "freeCostEv": 0,
|
|
5667
|
+
// "buyLeavesValueEv": 0,
|
|
5668
|
+
// "sellLeavesValueEv": 0,
|
|
5669
|
+
// "buyLeavesQty": 0,
|
|
5670
|
+
// "sellLeavesQty": 0
|
|
5671
|
+
// }
|
|
5672
|
+
//
|
|
5673
|
+
const marketId = this.safeString(info, 'symbol');
|
|
5674
|
+
return {
|
|
5675
|
+
'info': info,
|
|
5676
|
+
'symbol': this.safeSymbol(marketId, market, undefined, 'contract'),
|
|
5677
|
+
'rank': undefined,
|
|
5678
|
+
'rating': undefined,
|
|
5679
|
+
'percentage': this.safeNumber2(info, 'deleveragePercentileRr', 'deleveragePercentileEr'),
|
|
5680
|
+
'timestamp': undefined,
|
|
5681
|
+
'datetime': undefined,
|
|
5682
|
+
};
|
|
5683
|
+
}
|
|
5325
5684
|
handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
5326
5685
|
if (response === undefined) {
|
|
5327
5686
|
return undefined; // fallback to default error handler
|
package/js/src/poloniex.js
CHANGED
|
@@ -39,6 +39,7 @@ export default class poloniex extends Exchange {
|
|
|
39
39
|
'createStopOrder': true,
|
|
40
40
|
'createTriggerOrder': true,
|
|
41
41
|
'editOrder': true,
|
|
42
|
+
'fetchAllGreeks': false,
|
|
42
43
|
'fetchBalance': true,
|
|
43
44
|
'fetchClosedOrder': false,
|
|
44
45
|
'fetchClosedOrders': true,
|
|
@@ -56,6 +57,7 @@ export default class poloniex extends Exchange {
|
|
|
56
57
|
'fetchFundingRate': false,
|
|
57
58
|
'fetchFundingRateHistory': false,
|
|
58
59
|
'fetchFundingRates': undefined,
|
|
60
|
+
'fetchGreeks': false,
|
|
59
61
|
'fetchLedger': undefined,
|
|
60
62
|
'fetchLeverage': true,
|
|
61
63
|
'fetchLiquidations': undefined,
|
|
@@ -66,6 +68,8 @@ export default class poloniex extends Exchange {
|
|
|
66
68
|
'fetchOpenInterestHistory': false,
|
|
67
69
|
'fetchOpenOrder': false,
|
|
68
70
|
'fetchOpenOrders': true,
|
|
71
|
+
'fetchOption': false,
|
|
72
|
+
'fetchOptionChain': false,
|
|
69
73
|
'fetchOrder': true,
|
|
70
74
|
'fetchOrderBook': true,
|
|
71
75
|
'fetchOrderBooks': false,
|
|
@@ -82,6 +86,7 @@ export default class poloniex extends Exchange {
|
|
|
82
86
|
'fetchTransactions': 'emulated',
|
|
83
87
|
'fetchTransfer': false,
|
|
84
88
|
'fetchTransfers': false,
|
|
89
|
+
'fetchVolatilityHistory': false,
|
|
85
90
|
'fetchWithdrawals': true,
|
|
86
91
|
'reduceMargin': true,
|
|
87
92
|
'sandbox': true,
|
package/js/src/pro/binance.js
CHANGED
|
@@ -151,7 +151,7 @@ export default class binance extends binanceRest {
|
|
|
151
151
|
'name': 'ticker', // ticker or miniTicker or ticker_<window_size>
|
|
152
152
|
},
|
|
153
153
|
'watchTickers': {
|
|
154
|
-
'name': '
|
|
154
|
+
'name': 'miniTicker', // miniTicker or ticker_<window_size>
|
|
155
155
|
},
|
|
156
156
|
'watchOHLCV': {
|
|
157
157
|
'name': 'kline', // or indexPriceKline or markPriceKline (coin-m futures)
|
|
@@ -1862,7 +1862,7 @@ export default class binance extends binanceRest {
|
|
|
1862
1862
|
*/
|
|
1863
1863
|
async watchTickers(symbols = undefined, params = {}) {
|
|
1864
1864
|
let channelName = undefined;
|
|
1865
|
-
[channelName, params] = this.handleOptionAndParams(params, 'watchTickers', 'name', '
|
|
1865
|
+
[channelName, params] = this.handleOptionAndParams(params, 'watchTickers', 'name', 'miniTicker');
|
|
1866
1866
|
if (channelName === 'bookTicker') {
|
|
1867
1867
|
throw new BadRequest(this.id + ' deprecation notice - to subscribe for bids-asks, use watch_bids_asks() method instead');
|
|
1868
1868
|
}
|