ccxt 4.5.61 → 4.5.62

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/js/ccxt.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, NestedDictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarketMarginModes, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio, OrderBooks, OpenInterests, ConstructorArgs, ADL } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
7
- declare const version = "4.5.60";
7
+ declare const version = "4.5.61";
8
8
  import aftermath from './src/aftermath.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import apex from './src/apex.js';
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
38
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.5.60';
41
+ const version = '4.5.61';
42
42
  //-----------------------------------------------------------------------------
43
43
  import aftermath from './src/aftermath.js';
44
44
  import alpaca from './src/alpaca.js';
@@ -49,7 +49,7 @@ let SignMode = undefined;
49
49
  */
50
50
  export default class Exchange {
51
51
  // this is updated by vss.js when building
52
- static { this.ccxtVersion = '4.5.60'; }
52
+ static { this.ccxtVersion = '4.5.61'; }
53
53
  constructor(userConfig = {}) {
54
54
  this.isSandboxModeEnabled = false;
55
55
  this.api = undefined;
package/js/src/bingx.js CHANGED
@@ -6651,7 +6651,6 @@ export default class bingx extends Exchange {
6651
6651
  };
6652
6652
  let response = undefined;
6653
6653
  let commission = {};
6654
- const data = this.safeDict(response, 'data', {});
6655
6654
  if (market['spot']) {
6656
6655
  response = await this.spotV1PrivateGetUserCommissionRate(this.extend(request, params));
6657
6656
  //
@@ -6665,7 +6664,7 @@ export default class bingx extends Exchange {
6665
6664
  // }
6666
6665
  // }
6667
6666
  //
6668
- commission = data;
6667
+ commission = this.safeDict(response, 'data', {});
6669
6668
  }
6670
6669
  else {
6671
6670
  if (market['inverse']) {
@@ -6681,7 +6680,7 @@ export default class bingx extends Exchange {
6681
6680
  // }
6682
6681
  // }
6683
6682
  //
6684
- commission = data;
6683
+ commission = this.safeDict(response, 'data', {});
6685
6684
  }
6686
6685
  else {
6687
6686
  response = await this.swapV2PrivateGetUserCommissionRate(params);
@@ -6697,6 +6696,7 @@ export default class bingx extends Exchange {
6697
6696
  // }
6698
6697
  // }
6699
6698
  //
6699
+ const data = this.safeDict(response, 'data', {});
6700
6700
  commission = this.safeDict(data, 'commission', {});
6701
6701
  }
6702
6702
  }
package/js/src/bitmex.js CHANGED
@@ -851,7 +851,7 @@ export default class bitmex extends Exchange {
851
851
  }
852
852
  expiryDatetime = this.safeString2(market, 'expiry', 'closingTimestamp');
853
853
  expiry = this.parse8601(expiryDatetime);
854
- if (expiry !== undefined) {
854
+ if (expiry !== undefined && future) {
855
855
  symbol = symbol + '-' + this.yymmdd(expiry);
856
856
  }
857
857
  }
package/js/src/bitvavo.js CHANGED
@@ -154,7 +154,7 @@ export default class bitvavo extends Exchange {
154
154
  '1d': '1d',
155
155
  },
156
156
  'urls': {
157
- 'logo': 'https://github.com/user-attachments/assets/d213155c-8c71-4701-9bd5-45351febc2a8',
157
+ 'logo': 'https://github.com/user-attachments/assets/35d690b1-5710-47f6-86e9-d638ce38685a',
158
158
  'api': {
159
159
  'public': 'https://api.bitvavo.com',
160
160
  'private': 'https://api.bitvavo.com',
package/js/src/btcturk.js CHANGED
@@ -126,7 +126,7 @@ export default class btcturk extends Exchange {
126
126
  '1y': '1 y',
127
127
  },
128
128
  'urls': {
129
- 'logo': 'https://github.com/user-attachments/assets/10e0a238-9f60-4b06-9dda-edfc7602f1d6',
129
+ 'logo': 'https://github.com/user-attachments/assets/710711ff-1278-4e7a-9b03-b5503dd85b59',
130
130
  'api': {
131
131
  'public': 'https://api.btcturk.com/api/v2',
132
132
  'private': 'https://api.btcturk.com/api/v1',
@@ -172,8 +172,8 @@ export default class extended extends Exchange {
172
172
  'rest': 'https://api.starknet.sepolia.{hostname}',
173
173
  },
174
174
  'www': 'https://app.extended.exchange',
175
- 'doc': 'https://api.docs.{hostname}',
176
- 'fees': 'https://docs.{hostname}/extended-resources/trading/trading-fees-and-rebates',
175
+ 'doc': 'https://api.docs.extended.exchange',
176
+ 'fees': 'https://docs.extended.exchange/extended-resources/trading/trading-fees-and-rebates',
177
177
  'referral': '',
178
178
  },
179
179
  'api': {
package/js/src/gate.js CHANGED
@@ -25,7 +25,7 @@ export default class gate extends Exchange {
25
25
  'certified': true,
26
26
  'pro': true,
27
27
  'urls': {
28
- 'logo': 'https://github.com/user-attachments/assets/64f988c5-07b6-4652-b5c1-679a6bf67c85',
28
+ 'logo': 'https://github.com/user-attachments/assets/b4fd9d41-eaed-46fe-8a7b-b2677edface0',
29
29
  'doc': 'https://www.gate.com/docs/developers/apiv4/en',
30
30
  'www': 'https://gate.com',
31
31
  'api': {
@@ -122,6 +122,7 @@ export default class htx extends htxRest {
122
122
  * @name htx#watchMyTrades
123
123
  * @description watches information on multiple trades made by the user
124
124
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
125
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a35275ff
125
126
  * @param {string} symbol unified market symbol of the market trades were made in
126
127
  * @param {int} [since] the earliest time in ms to fetch trades for
127
128
  * @param {int} [limit] the maximum number of trade structures to retrieve
@@ -130,11 +131,13 @@ export default class htx extends htxRest {
130
131
  */
131
132
  watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
132
133
  getOrderChannelAndMessageHash(type: any, subType: any, market?: any, params?: {}): string[];
134
+ getV5LinearChannelAndMessageHash(topic: any, market?: any, params?: {}): any[];
133
135
  /**
134
136
  * @method
135
137
  * @name htx#watchOrders
136
138
  * @description watches information on multiple orders made by the user
137
139
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
140
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a208afe7
138
141
  * @param {string} symbol unified market symbol of the market orders were made in
139
142
  * @param {int} [since] the earliest time in ms to fetch orders for
140
143
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -148,11 +151,10 @@ export default class htx extends htxRest {
148
151
  /**
149
152
  * @method
150
153
  * @name htx#watchPositions
151
- * @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7de1c-77b5-11ed-9966-0242ac110003
152
- * @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7df0f-77b5-11ed-9966-0242ac110003
154
+ * @description watch all open positions. Note: huobi has one channel for each marginMode and type
153
155
  * @see https://www.huobi.com/en-in/opend/newApiPages/?id=28c34a7d-77ae-11ed-9966-0242ac110003
154
156
  * @see https://www.huobi.com/en-in/opend/newApiPages/?id=5d5156b5-77b6-11ed-9966-0242ac110003
155
- * @description watch all open positions. Note: huobi has one channel for each marginMode and type
157
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a35d6034
156
158
  * @param {string[]} [symbols] list of unified market symbols
157
159
  * @param {int} [since] timestamp in ms of the earliest position to fetch
158
160
  * @param {int} [limit] the maximum number of positions to fetch
@@ -166,9 +168,8 @@ export default class htx extends htxRest {
166
168
  * @name htx#watchBalance
167
169
  * @description watch balance and get the amount of funds available for trading or funds locked in orders
168
170
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
169
- * @see https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
170
- * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb7dcca-77b5-11ed-9966-0242ac110003
171
171
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c34995-77ae-11ed-9966-0242ac110003
172
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a6c94551
172
173
  * @param {object} [params] extra parameters specific to the exchange API endpoint
173
174
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
174
175
  */
@@ -185,7 +186,7 @@ export default class htx extends htxRest {
185
186
  handleMessage(client: Client, message: any): void;
186
187
  handleMyTrade(client: Client, message: any, extendParams?: {}): void;
187
188
  parseWsTrade(trade: any, market?: any): Trade;
188
- getUrlByMarketType(type: any, isLinear?: boolean, isPrivate?: boolean, isFeed?: boolean): string;
189
+ getUrlByMarketType(type: any, isLinear?: boolean, isPrivate?: boolean, isFeed?: boolean, isV5?: boolean): string;
189
190
  subscribePublic(url: any, symbol: any, messageHash: any, method?: any, params?: {}): Promise<any>;
190
191
  unsubscribePublic(market: Market, subMessageHash: string, topic: string, params?: {}): Promise<any>;
191
192
  subscribePrivate(channel: any, messageHash: any, type: any, subtype: any, params?: {}, subscriptionParams?: {}): Promise<any>;