ccxt 4.4.93 → 4.4.94

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.
@@ -3498,8 +3498,7 @@ export default class Exchange {
3498
3498
  }
3499
3499
  safeTicker(ticker, market = undefined) {
3500
3500
  let open = this.omitZero(this.safeString(ticker, 'open'));
3501
- let close = this.omitZero(this.safeString(ticker, 'close'));
3502
- let last = this.omitZero(this.safeString(ticker, 'last'));
3501
+ let close = this.omitZero(this.safeString2(ticker, 'close', 'last'));
3503
3502
  let change = this.omitZero(this.safeString(ticker, 'change'));
3504
3503
  let percentage = this.omitZero(this.safeString(ticker, 'percentage'));
3505
3504
  let average = this.omitZero(this.safeString(ticker, 'average'));
@@ -3509,17 +3508,55 @@ export default class Exchange {
3509
3508
  if (vwap === undefined) {
3510
3509
  vwap = Precise.stringDiv(this.omitZero(quoteVolume), baseVolume);
3511
3510
  }
3512
- if ((last !== undefined) && (close === undefined)) {
3513
- close = last;
3511
+ // calculate open
3512
+ if (change !== undefined) {
3513
+ if (close === undefined && average !== undefined) {
3514
+ close = Precise.stringAdd(average, Precise.stringDiv(change, '2'));
3515
+ }
3516
+ if (open === undefined && close !== undefined) {
3517
+ open = Precise.stringSub(close, change);
3518
+ }
3514
3519
  }
3515
- else if ((last === undefined) && (close !== undefined)) {
3516
- last = close;
3520
+ else if (percentage !== undefined) {
3521
+ if (close === undefined && average !== undefined) {
3522
+ const openAddClose = Precise.stringMul(average, '2');
3523
+ // openAddClose = open * (1 + (100 + percentage)/100)
3524
+ const denominator = Precise.stringAdd('2', Precise.stringDiv(percentage, '100'));
3525
+ const calcOpen = (open !== undefined) ? open : Precise.stringDiv(openAddClose, denominator);
3526
+ close = Precise.stringMul(calcOpen, Precise.stringAdd('1', Precise.stringDiv(percentage, '100')));
3527
+ }
3528
+ if (open === undefined && close !== undefined) {
3529
+ open = Precise.stringDiv(close, Precise.stringAdd('1', Precise.stringDiv(percentage, '100')));
3530
+ }
3517
3531
  }
3518
- if ((last !== undefined) && (open !== undefined)) {
3519
- if (change === undefined) {
3520
- change = Precise.stringSub(last, open);
3532
+ // change
3533
+ if (change === undefined) {
3534
+ if (close !== undefined && open !== undefined) {
3535
+ change = Precise.stringSub(close, open);
3521
3536
  }
3522
- if (average === undefined) {
3537
+ else if (close !== undefined && percentage !== undefined) {
3538
+ change = Precise.stringMul(Precise.stringDiv(percentage, '100'), Precise.stringDiv(close, '100'));
3539
+ }
3540
+ else if (open !== undefined && percentage !== undefined) {
3541
+ change = Precise.stringMul(open, Precise.stringDiv(percentage, '100'));
3542
+ }
3543
+ }
3544
+ // calculate things according to "open" (similar can be done with "close")
3545
+ if (open !== undefined) {
3546
+ // percentage (using change)
3547
+ if (percentage === undefined && change !== undefined) {
3548
+ percentage = Precise.stringMul(Precise.stringDiv(change, open), '100');
3549
+ }
3550
+ // close (using change)
3551
+ if (close === undefined && change !== undefined) {
3552
+ close = Precise.stringAdd(open, change);
3553
+ }
3554
+ // close (using average)
3555
+ if (close === undefined && average !== undefined) {
3556
+ close = Precise.stringMul(average, '2');
3557
+ }
3558
+ // average
3559
+ if (average === undefined && close !== undefined) {
3523
3560
  let precision = 18;
3524
3561
  if (market !== undefined && this.isTickPrecision()) {
3525
3562
  const marketPrecision = this.safeDict(market, 'precision');
@@ -3528,20 +3565,12 @@ export default class Exchange {
3528
3565
  precision = this.precisionFromString(precisionPrice);
3529
3566
  }
3530
3567
  }
3531
- average = Precise.stringDiv(Precise.stringAdd(last, open), '2', precision);
3568
+ average = Precise.stringDiv(Precise.stringAdd(open, close), '2', precision);
3532
3569
  }
3533
3570
  }
3534
- if ((percentage === undefined) && (change !== undefined) && (open !== undefined) && Precise.stringGt(open, '0')) {
3535
- percentage = Precise.stringMul(Precise.stringDiv(change, open), '100');
3536
- }
3537
- if ((change === undefined) && (percentage !== undefined) && (open !== undefined)) {
3538
- change = Precise.stringDiv(Precise.stringMul(percentage, open), '100');
3539
- }
3540
- if ((open === undefined) && (last !== undefined) && (change !== undefined)) {
3541
- open = Precise.stringSub(last, change);
3542
- }
3543
3571
  // timestamp and symbol operations don't belong in safeTicker
3544
3572
  // they should be done in the derived classes
3573
+ const closeParsed = this.parseNumber(this.omitZero(close));
3545
3574
  return this.extend(ticker, {
3546
3575
  'bid': this.parseNumber(this.omitZero(this.safeString(ticker, 'bid'))),
3547
3576
  'bidVolume': this.safeNumber(ticker, 'bidVolume'),
@@ -3550,8 +3579,8 @@ export default class Exchange {
3550
3579
  'high': this.parseNumber(this.omitZero(this.safeString(ticker, 'high'))),
3551
3580
  'low': this.parseNumber(this.omitZero(this.safeString(ticker, 'low'))),
3552
3581
  'open': this.parseNumber(this.omitZero(open)),
3553
- 'close': this.parseNumber(this.omitZero(close)),
3554
- 'last': this.parseNumber(this.omitZero(last)),
3582
+ 'close': closeParsed,
3583
+ 'last': closeParsed,
3555
3584
  'change': this.parseNumber(change),
3556
3585
  'percentage': this.parseNumber(percentage),
3557
3586
  'average': this.parseNumber(average),
package/js/src/bybit.js CHANGED
@@ -3914,7 +3914,7 @@ export default class bybit extends Exchange {
3914
3914
  const isTakeProfit = takeProfitPrice !== undefined;
3915
3915
  const orderRequest = this.createOrderRequest(symbol, type, side, amount, price, params, enableUnifiedAccount);
3916
3916
  let defaultMethod = undefined;
3917
- if (isTrailingAmountOrder || isStopLoss || isTakeProfit) {
3917
+ if ((isTrailingAmountOrder || isStopLoss || isTakeProfit) && !market['spot']) {
3918
3918
  defaultMethod = 'privatePostV5PositionTradingStop';
3919
3919
  }
3920
3920
  else {
@@ -3995,7 +3995,7 @@ export default class bybit extends Exchange {
3995
3995
  const isLimit = lowerCaseType === 'limit';
3996
3996
  const isBuy = side === 'buy';
3997
3997
  let defaultMethod = undefined;
3998
- if (isTrailingAmountOrder || isStopLossTriggerOrder || isTakeProfitTriggerOrder) {
3998
+ if ((isTrailingAmountOrder || isStopLossTriggerOrder || isTakeProfitTriggerOrder) && !market['spot']) {
3999
3999
  defaultMethod = 'privatePostV5PositionTradingStop';
4000
4000
  }
4001
4001
  else {
@@ -6,7 +6,7 @@
6
6
 
7
7
  // ----------------------------------------------------------------------------
8
8
  import Exchange from './abstract/coinbase.js';
9
- import { ExchangeError, ArgumentsRequired, AuthenticationError, BadRequest, InvalidOrder, NotSupported, OrderNotFound, RateLimitExceeded, InvalidNonce, PermissionDenied } from './base/errors.js';
9
+ import { ExchangeError, ArgumentsRequired, AuthenticationError, BadRequest, InvalidOrder, NotSupported, OrderNotFound, RateLimitExceeded, InvalidNonce, PermissionDenied, InsufficientFunds } from './base/errors.js';
10
10
  import { Precise } from './base/Precise.js';
11
11
  import { TICK_SIZE } from './base/functions/number.js';
12
12
  import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
@@ -325,12 +325,14 @@ export default class coinbase extends Exchange {
325
325
  'rate_limit_exceeded': RateLimitExceeded,
326
326
  'internal_server_error': ExchangeError,
327
327
  'UNSUPPORTED_ORDER_CONFIGURATION': BadRequest,
328
- 'INSUFFICIENT_FUND': BadRequest,
328
+ 'INSUFFICIENT_FUND': InsufficientFunds,
329
329
  'PERMISSION_DENIED': PermissionDenied,
330
330
  'INVALID_ARGUMENT': BadRequest,
331
331
  'PREVIEW_STOP_PRICE_ABOVE_LAST_TRADE_PRICE': InvalidOrder,
332
+ 'PREVIEW_INSUFFICIENT_FUND': InsufficientFunds,
332
333
  },
333
334
  'broad': {
335
+ 'Insufficient balance in source account': InsufficientFunds,
334
336
  'request timestamp expired': InvalidNonce,
335
337
  'order with this orderID was not found': OrderNotFound, // {"error":"unknown","error_details":"order with this orderID was not found","message":"order with this orderID was not found"}
336
338
  },
@@ -213,6 +213,7 @@ export default class coinmetro extends Exchange {
213
213
  'options': {
214
214
  'currenciesByIdForParseMarket': undefined,
215
215
  'currencyIdsListForParseMarket': ['QRDO'],
216
+ 'skippedMarkets': ['VXVUSDT'], // broken markets which do not have enough info in API
216
217
  },
217
218
  'features': {
218
219
  'spot': {
@@ -438,10 +439,13 @@ export default class coinmetro extends Exchange {
438
439
  * @returns {object[]} an array of objects representing market data
439
440
  */
440
441
  async fetchMarkets(params = {}) {
441
- const response = await this.publicGetMarkets(params);
442
+ const promises = [];
443
+ promises.push(this.publicGetMarkets(params));
442
444
  if (this.safeValue(this.options, 'currenciesByIdForParseMarket') === undefined) {
443
- await this.fetchCurrencies();
445
+ promises.push(this.fetchCurrencies());
444
446
  }
447
+ const responses = await Promise.all(promises);
448
+ const response = responses[0];
445
449
  //
446
450
  // [
447
451
  // {
@@ -457,7 +461,16 @@ export default class coinmetro extends Exchange {
457
461
  // ...
458
462
  // ]
459
463
  //
460
- return this.parseMarkets(response);
464
+ const skippedMarkets = this.safeList(this.options, 'skippedMarkets', []);
465
+ const result = [];
466
+ for (let i = 0; i < response.length; i++) {
467
+ const market = this.parseMarket(response[i]);
468
+ if (this.inArray(market['id'], skippedMarkets)) {
469
+ continue;
470
+ }
471
+ result.push(market);
472
+ }
473
+ return result;
461
474
  }
462
475
  parseMarket(market) {
463
476
  const id = this.safeString(market, 'pair');
package/js/src/htx.js CHANGED
@@ -7110,13 +7110,19 @@ export default class htx extends Exchange {
7110
7110
  let paginate = false;
7111
7111
  [paginate, params] = this.handleOptionAndParams(params, 'fetchFundingRateHistory', 'paginate');
7112
7112
  if (paginate) {
7113
- return await this.fetchPaginatedCallCursor('fetchFundingRateHistory', symbol, since, limit, params, 'page_index', 'current_page', 1, 50);
7113
+ return await this.fetchPaginatedCallCursor('fetchFundingRateHistory', symbol, since, limit, params, 'current_page', 'page_index', 1, 50);
7114
7114
  }
7115
7115
  await this.loadMarkets();
7116
7116
  const market = this.market(symbol);
7117
7117
  const request = {
7118
7118
  'contract_code': market['id'],
7119
7119
  };
7120
+ if (limit !== undefined) {
7121
+ request['page_size'] = limit;
7122
+ }
7123
+ else {
7124
+ request['page_size'] = 50; // max
7125
+ }
7120
7126
  let response = undefined;
7121
7127
  if (market['inverse']) {
7122
7128
  response = await this.contractPublicGetSwapApiV1SwapHistoricalFundingRate(this.extend(request, params));
@@ -65,6 +65,7 @@ export default class hyperliquid extends Exchange {
65
65
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
66
66
  * @param {string} [params.type] wallet type, ['spot', 'swap'], defaults to swap
67
67
  * @param {string} [params.marginMode] 'cross' or 'isolated', for margin trading, uses this.options.defaultMarginMode if not passed, defaults to undefined/None/null
68
+ * @param {string} [params.subAccountAddress] sub account user address
68
69
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
69
70
  */
70
71
  fetchBalance(params?: {}): Promise<Balances>;
@@ -131,6 +132,7 @@ export default class hyperliquid extends Exchange {
131
132
  * @param {int} [params.until] timestamp in ms of the latest trade
132
133
  * @param {string} [params.address] wallet address that made trades
133
134
  * @param {string} [params.user] wallet address that made trades
135
+ * @param {string} [params.subAccountAddress] sub account user address
134
136
  * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
135
137
  */
136
138
  fetchTrades(symbol: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -173,6 +175,13 @@ export default class hyperliquid extends Exchange {
173
175
  s: string;
174
176
  v: any;
175
177
  };
178
+ buildApproveBuilderFeeSig(message: any): {
179
+ r: string;
180
+ s: string;
181
+ v: any;
182
+ };
183
+ approveBuilderFee(builder: string, maxFeeRate: string): Promise<any>;
184
+ handleBuilderFeeApproval(): Promise<boolean>;
176
185
  /**
177
186
  * @method
178
187
  * @name hyperliquid#createOrder
@@ -191,6 +200,7 @@ export default class hyperliquid extends Exchange {
191
200
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
192
201
  * @param {string} [params.slippage] the slippage for market order
193
202
  * @param {string} [params.vaultAddress] the vault address for order
203
+ * @param {string} [params.subAccountAddress] sub account user address
194
204
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
195
205
  */
196
206
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
@@ -217,6 +227,7 @@ export default class hyperliquid extends Exchange {
217
227
  * @param {object} [params] extra parameters specific to the exchange API endpoint
218
228
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
219
229
  * @param {string} [params.vaultAddress] the vault address for order
230
+ * @param {string} [params.subAccountAddress] sub account user address
220
231
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
221
232
  */
222
233
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<import("./base/types.js").Dictionary<any>>;
@@ -231,6 +242,7 @@ export default class hyperliquid extends Exchange {
231
242
  * @param {object} [params] extra parameters specific to the exchange API endpoint
232
243
  * @param {string|string[]} [params.clientOrderId] client order ids, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
233
244
  * @param {string} [params.vaultAddress] the vault address
245
+ * @param {string} [params.subAccountAddress] sub account user address
234
246
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
235
247
  */
236
248
  cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<any[]>;
@@ -243,6 +255,7 @@ export default class hyperliquid extends Exchange {
243
255
  * @param {CancellationRequest[]} orders each order should contain the parameters required by cancelOrder namely id and symbol, example [{"id": "a", "symbol": "BTC/USDT"}, {"id": "b", "symbol": "ETH/USDT"}]
244
256
  * @param {object} [params] extra parameters specific to the exchange API endpoint
245
257
  * @param {string} [params.vaultAddress] the vault address
258
+ * @param {string} [params.subAccountAddress] sub account user address
246
259
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
247
260
  */
248
261
  cancelOrdersForSymbols(orders: CancellationRequest[], params?: {}): Promise<any>;
@@ -253,6 +266,7 @@ export default class hyperliquid extends Exchange {
253
266
  * @param {number} timeout time in milliseconds, 0 represents cancel the timer
254
267
  * @param {object} [params] extra parameters specific to the exchange API endpoint
255
268
  * @param {string} [params.vaultAddress] the vault address
269
+ * @param {string} [params.subAccountAddress] sub account user address
256
270
  * @returns {object} the api result
257
271
  */
258
272
  cancelAllOrdersAfter(timeout: Int, params?: {}): Promise<any>;
@@ -275,6 +289,7 @@ export default class hyperliquid extends Exchange {
275
289
  * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
276
290
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
277
291
  * @param {string} [params.vaultAddress] the vault address for order
292
+ * @param {string} [params.subAccountAddress] sub account user address
278
293
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
279
294
  */
280
295
  editOrder(id: string, symbol: string, type: string, side: string, amount?: Num, price?: Num, params?: {}): Promise<Order>;
@@ -323,6 +338,7 @@ export default class hyperliquid extends Exchange {
323
338
  * @param {object} [params] extra parameters specific to the exchange API endpoint
324
339
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
325
340
  * @param {string} [params.method] 'openOrders' or 'frontendOpenOrders' default is 'frontendOpenOrders'
341
+ * @param {string} [params.subAccountAddress] sub account user address
326
342
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
327
343
  */
328
344
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
@@ -371,6 +387,7 @@ export default class hyperliquid extends Exchange {
371
387
  * @param {int} [limit] the maximum number of open orders structures to retrieve
372
388
  * @param {object} [params] extra parameters specific to the exchange API endpoint
373
389
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
390
+ * @param {string} [params.subAccountAddress] sub account user address
374
391
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
375
392
  */
376
393
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
@@ -383,6 +400,7 @@ export default class hyperliquid extends Exchange {
383
400
  * @param {string} symbol unified symbol of the market the order was made in
384
401
  * @param {object} [params] extra parameters specific to the exchange API endpoint
385
402
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
403
+ * @param {string} [params.subAccountAddress] sub account user address
386
404
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
387
405
  */
388
406
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -400,6 +418,7 @@ export default class hyperliquid extends Exchange {
400
418
  * @param {int} [limit] the maximum number of trades structures to retrieve
401
419
  * @param {object} [params] extra parameters specific to the exchange API endpoint
402
420
  * @param {int} [params.until] timestamp in ms of the latest trade
421
+ * @param {string} [params.subAccountAddress] sub account user address
403
422
  * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
404
423
  */
405
424
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -423,6 +442,7 @@ export default class hyperliquid extends Exchange {
423
442
  * @param {string[]} [symbols] list of unified market symbols
424
443
  * @param {object} [params] extra parameters specific to the exchange API endpoint
425
444
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
445
+ * @param {string} [params.subAccountAddress] sub account user address
426
446
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
427
447
  */
428
448
  fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
@@ -435,6 +455,8 @@ export default class hyperliquid extends Exchange {
435
455
  * @param {string} symbol unified market symbol of the market the position is held in, default is undefined
436
456
  * @param {object} [params] extra parameters specific to the exchange API endpoint
437
457
  * @param {string} [params.leverage] the rate of leverage, is required if setting trade mode (symbol)
458
+ * @param {string} [params.vaultAddress] the vault address
459
+ * @param {string} [params.subAccountAddress] sub account user address
438
460
  * @returns {object} response from the exchange
439
461
  */
440
462
  setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
@@ -457,6 +479,8 @@ export default class hyperliquid extends Exchange {
457
479
  * @param {string} symbol unified market symbol
458
480
  * @param {float} amount amount of margin to add
459
481
  * @param {object} [params] extra parameters specific to the exchange API endpoint
482
+ * @param {string} [params.vaultAddress] the vault address
483
+ * @param {string} [params.subAccountAddress] sub account user address
460
484
  * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
461
485
  */
462
486
  addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
@@ -468,6 +492,8 @@ export default class hyperliquid extends Exchange {
468
492
  * @param {string} symbol unified market symbol
469
493
  * @param {float} amount the amount of margin to remove
470
494
  * @param {object} [params] extra parameters specific to the exchange API endpoint
495
+ * @param {string} [params.vaultAddress] the vault address
496
+ * @param {string} [params.subAccountAddress] sub account user address
471
497
  * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=reduce-margin-structure}
472
498
  */
473
499
  reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
@@ -511,6 +537,7 @@ export default class hyperliquid extends Exchange {
511
537
  * @param {string} symbol unified market symbol
512
538
  * @param {object} [params] extra parameters specific to the exchange API endpoint
513
539
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
540
+ * @param {string} [params.subAccountAddress] sub account user address
514
541
  * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
515
542
  */
516
543
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
@@ -524,6 +551,7 @@ export default class hyperliquid extends Exchange {
524
551
  * @param {int} [limit] max number of ledger entries to return
525
552
  * @param {object} [params] extra parameters specific to the exchange API endpoint
526
553
  * @param {int} [params.until] timestamp in ms of the latest ledger entry
554
+ * @param {string} [params.subAccountAddress] sub account user address
527
555
  * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
528
556
  */
529
557
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
@@ -538,6 +566,7 @@ export default class hyperliquid extends Exchange {
538
566
  * @param {int} [limit] the maximum number of deposits structures to retrieve
539
567
  * @param {object} [params] extra parameters specific to the exchange API endpoint
540
568
  * @param {int} [params.until] the latest time in ms to fetch withdrawals for
569
+ * @param {string} [params.subAccountAddress] sub account user address
541
570
  * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
542
571
  */
543
572
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
@@ -550,6 +579,7 @@ export default class hyperliquid extends Exchange {
550
579
  * @param {int} [limit] the maximum number of withdrawals structures to retrieve
551
580
  * @param {object} [params] extra parameters specific to the exchange API endpoint
552
581
  * @param {int} [params.until] the latest time in ms to fetch withdrawals for
582
+ * @param {string} [params.subAccountAddress] sub account user address
553
583
  * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
554
584
  */
555
585
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
@@ -580,6 +610,7 @@ export default class hyperliquid extends Exchange {
580
610
  * @param {int} [since] the earliest time in ms to fetch funding history for
581
611
  * @param {int} [limit] the maximum number of funding history structures to retrieve
582
612
  * @param {object} [params] extra parameters specific to the exchange API endpoint
613
+ * @param {string} [params.subAccountAddress] sub account user address
583
614
  * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
584
615
  */
585
616
  fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").FundingHistory[]>;