ccxt 4.3.79 → 4.3.80

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/dist/cjs/ccxt.js CHANGED
@@ -194,7 +194,7 @@ var xt$1 = require('./src/pro/xt.js');
194
194
 
195
195
  //-----------------------------------------------------------------------------
196
196
  // this is updated by vss.js when building
197
- const version = '4.3.79';
197
+ const version = '4.3.80';
198
198
  Exchange["default"].ccxtVersion = version;
199
199
  const exchanges = {
200
200
  'ace': ace,
@@ -1775,55 +1775,43 @@ class Exchange {
1775
1775
  let httpsProxy = undefined;
1776
1776
  let socksProxy = undefined;
1777
1777
  // httpProxy
1778
- if (this.valueIsDefined(this.httpProxy)) {
1778
+ const isHttpProxyDefined = this.valueIsDefined(this.httpProxy);
1779
+ const isHttp_proxy_defined = this.valueIsDefined(this.http_proxy);
1780
+ if (isHttpProxyDefined || isHttp_proxy_defined) {
1779
1781
  usedProxies.push('httpProxy');
1780
- httpProxy = this.httpProxy;
1782
+ httpProxy = isHttpProxyDefined ? this.httpProxy : this.http_proxy;
1781
1783
  }
1782
- if (this.valueIsDefined(this.http_proxy)) {
1783
- usedProxies.push('http_proxy');
1784
- httpProxy = this.http_proxy;
1785
- }
1786
- if (this.httpProxyCallback !== undefined) {
1784
+ const ishttpProxyCallbackDefined = this.valueIsDefined(this.httpProxyCallback);
1785
+ const ishttp_proxy_callback_defined = this.valueIsDefined(this.http_proxy_callback);
1786
+ if (ishttpProxyCallbackDefined || ishttp_proxy_callback_defined) {
1787
1787
  usedProxies.push('httpProxyCallback');
1788
- httpProxy = this.httpProxyCallback(url, method, headers, body);
1789
- }
1790
- if (this.http_proxy_callback !== undefined) {
1791
- usedProxies.push('http_proxy_callback');
1792
- httpProxy = this.http_proxy_callback(url, method, headers, body);
1788
+ httpProxy = ishttpProxyCallbackDefined ? this.httpProxyCallback(url, method, headers, body) : this.http_proxy_callback(url, method, headers, body);
1793
1789
  }
1794
1790
  // httpsProxy
1795
- if (this.valueIsDefined(this.httpsProxy)) {
1791
+ const isHttpsProxyDefined = this.valueIsDefined(this.httpsProxy);
1792
+ const isHttps_proxy_defined = this.valueIsDefined(this.https_proxy);
1793
+ if (isHttpsProxyDefined || isHttps_proxy_defined) {
1796
1794
  usedProxies.push('httpsProxy');
1797
- httpsProxy = this.httpsProxy;
1798
- }
1799
- if (this.valueIsDefined(this.https_proxy)) {
1800
- usedProxies.push('https_proxy');
1801
- httpsProxy = this.https_proxy;
1795
+ httpsProxy = isHttpsProxyDefined ? this.httpsProxy : this.https_proxy;
1802
1796
  }
1803
- if (this.httpsProxyCallback !== undefined) {
1797
+ const ishttpsProxyCallbackDefined = this.valueIsDefined(this.httpsProxyCallback);
1798
+ const ishttps_proxy_callback_defined = this.valueIsDefined(this.https_proxy_callback);
1799
+ if (ishttpsProxyCallbackDefined || ishttps_proxy_callback_defined) {
1804
1800
  usedProxies.push('httpsProxyCallback');
1805
- httpsProxy = this.httpsProxyCallback(url, method, headers, body);
1806
- }
1807
- if (this.https_proxy_callback !== undefined) {
1808
- usedProxies.push('https_proxy_callback');
1809
- httpsProxy = this.https_proxy_callback(url, method, headers, body);
1801
+ httpsProxy = ishttpsProxyCallbackDefined ? this.httpsProxyCallback(url, method, headers, body) : this.https_proxy_callback(url, method, headers, body);
1810
1802
  }
1811
1803
  // socksProxy
1812
- if (this.valueIsDefined(this.socksProxy)) {
1804
+ const isSocksProxyDefined = this.valueIsDefined(this.socksProxy);
1805
+ const isSocks_proxy_defined = this.valueIsDefined(this.socks_proxy);
1806
+ if (isSocksProxyDefined || isSocks_proxy_defined) {
1813
1807
  usedProxies.push('socksProxy');
1814
- socksProxy = this.socksProxy;
1815
- }
1816
- if (this.valueIsDefined(this.socks_proxy)) {
1817
- usedProxies.push('socks_proxy');
1818
- socksProxy = this.socks_proxy;
1808
+ socksProxy = isSocksProxyDefined ? this.socksProxy : this.socks_proxy;
1819
1809
  }
1820
- if (this.socksProxyCallback !== undefined) {
1810
+ const issocksProxyCallbackDefined = this.valueIsDefined(this.socksProxyCallback);
1811
+ const issocks_proxy_callback_defined = this.valueIsDefined(this.socks_proxy_callback);
1812
+ if (issocksProxyCallbackDefined || issocks_proxy_callback_defined) {
1821
1813
  usedProxies.push('socksProxyCallback');
1822
- socksProxy = this.socksProxyCallback(url, method, headers, body);
1823
- }
1824
- if (this.socks_proxy_callback !== undefined) {
1825
- usedProxies.push('socks_proxy_callback');
1826
- socksProxy = this.socks_proxy_callback(url, method, headers, body);
1814
+ socksProxy = issocksProxyCallbackDefined ? this.socksProxyCallback(url, method, headers, body) : this.socks_proxy_callback(url, method, headers, body);
1827
1815
  }
1828
1816
  // check
1829
1817
  const length = usedProxies.length;
@@ -51,7 +51,7 @@ class binance extends binance$1 {
51
51
  'createMarketSellOrderWithCost': true,
52
52
  'createOrder': true,
53
53
  'createOrders': true,
54
- 'createOrderWithTakeProfitAndStopLoss': true,
54
+ 'createOrderWithTakeProfitAndStopLoss': false,
55
55
  'createPostOnlyOrder': true,
56
56
  'createReduceOnlyOrder': true,
57
57
  'createStopLimitOrder': true,
@@ -2461,8 +2461,6 @@ class bitmart extends bitmart$1 {
2461
2461
  * @see https://developer-pro.bitmart.com/en/spot/#place-margin-order
2462
2462
  * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2463
2463
  * @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2464
- * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2465
- * @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2466
2464
  * @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
2467
2465
  * @param {string} symbol unified symbol of the market to create an order in
2468
2466
  * @param {string} type 'market', 'limit' or 'trailing' for swap markets only
@@ -2609,6 +2607,7 @@ class bitmart extends bitmart$1 {
2609
2607
  * @description create a trade order
2610
2608
  * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2611
2609
  * @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2610
+ * @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
2612
2611
  * @param {string} symbol unified symbol of the market to create an order in
2613
2612
  * @param {string} type 'market', 'limit' or 'trailing'
2614
2613
  * @param {string} side 'buy' or 'sell'
@@ -2668,7 +2667,9 @@ class bitmart extends bitmart$1 {
2668
2667
  request['activation_price_type'] = this.safeInteger(params, 'activation_price_type', 1);
2669
2668
  }
2670
2669
  if (isTriggerOrder) {
2671
- request['executive_price'] = this.priceToPrecision(symbol, price);
2670
+ if (isLimitOrder || price !== undefined) {
2671
+ request['executive_price'] = this.priceToPrecision(symbol, price);
2672
+ }
2672
2673
  request['trigger_price'] = this.priceToPrecision(symbol, triggerPrice);
2673
2674
  request['price_type'] = this.safeInteger(params, 'price_type', 1);
2674
2675
  if (side === 'buy') {
@@ -5889,10 +5889,12 @@ class bybit extends bybit$1 {
5889
5889
  * @name bybit#fetchLedger
5890
5890
  * @description fetch the history of changes, actions done by the user or operations that altered balance of the user
5891
5891
  * @see https://bybit-exchange.github.io/docs/v5/account/transaction-log
5892
+ * @see https://bybit-exchange.github.io/docs/v5/account/contract-transaction-log
5892
5893
  * @param {string} code unified currency code, default is undefined
5893
5894
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
5894
5895
  * @param {int} [limit] max number of ledger entrys to return, default is undefined
5895
5896
  * @param {object} [params] extra parameters specific to the exchange API endpoint
5897
+ * @param {string} [params.subType] if inverse will use v5/account/contract-transaction-log
5896
5898
  * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
5897
5899
  */
5898
5900
  await this.loadMarkets();
@@ -5936,9 +5938,16 @@ class bybit extends bybit$1 {
5936
5938
  if (limit !== undefined) {
5937
5939
  request['limit'] = limit;
5938
5940
  }
5941
+ let subType = undefined;
5942
+ [subType, params] = this.handleSubTypeAndParams('fetchLedger', undefined, params);
5939
5943
  let response = undefined;
5940
5944
  if (enableUnified[1]) {
5941
- response = await this.privateGetV5AccountTransactionLog(this.extend(request, params));
5945
+ if (subType === 'inverse') {
5946
+ response = await this.privateGetV5AccountContractTransactionLog(this.extend(request, params));
5947
+ }
5948
+ else {
5949
+ response = await this.privateGetV5AccountTransactionLog(this.extend(request, params));
5950
+ }
5942
5951
  }
5943
5952
  else {
5944
5953
  response = await this.privateGetV2PrivateWalletFundRecords(this.extend(request, params));
@@ -1105,8 +1105,10 @@ class poloniex extends poloniex$1 {
1105
1105
  market = this.safeMarket(marketId, market, '_');
1106
1106
  const symbol = market['symbol'];
1107
1107
  let resultingTrades = this.safeValue(order, 'resultingTrades');
1108
- if (!Array.isArray(resultingTrades)) {
1109
- resultingTrades = this.safeValue(resultingTrades, this.safeString(market, 'id', marketId));
1108
+ if (resultingTrades !== undefined) {
1109
+ if (!Array.isArray(resultingTrades)) {
1110
+ resultingTrades = this.safeValue(resultingTrades, this.safeString(market, 'id', marketId));
1111
+ }
1110
1112
  }
1111
1113
  const price = this.safeString2(order, 'price', 'rate');
1112
1114
  const amount = this.safeString(order, 'quantity');
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, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, 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 } from './src/base/errors.js';
7
- declare const version = "4.3.78";
7
+ declare const version = "4.3.79";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.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, 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 } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.3.79';
41
+ const version = '4.3.80';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -1758,55 +1758,43 @@ export default class Exchange {
1758
1758
  let httpsProxy = undefined;
1759
1759
  let socksProxy = undefined;
1760
1760
  // httpProxy
1761
- if (this.valueIsDefined(this.httpProxy)) {
1761
+ const isHttpProxyDefined = this.valueIsDefined(this.httpProxy);
1762
+ const isHttp_proxy_defined = this.valueIsDefined(this.http_proxy);
1763
+ if (isHttpProxyDefined || isHttp_proxy_defined) {
1762
1764
  usedProxies.push('httpProxy');
1763
- httpProxy = this.httpProxy;
1765
+ httpProxy = isHttpProxyDefined ? this.httpProxy : this.http_proxy;
1764
1766
  }
1765
- if (this.valueIsDefined(this.http_proxy)) {
1766
- usedProxies.push('http_proxy');
1767
- httpProxy = this.http_proxy;
1768
- }
1769
- if (this.httpProxyCallback !== undefined) {
1767
+ const ishttpProxyCallbackDefined = this.valueIsDefined(this.httpProxyCallback);
1768
+ const ishttp_proxy_callback_defined = this.valueIsDefined(this.http_proxy_callback);
1769
+ if (ishttpProxyCallbackDefined || ishttp_proxy_callback_defined) {
1770
1770
  usedProxies.push('httpProxyCallback');
1771
- httpProxy = this.httpProxyCallback(url, method, headers, body);
1772
- }
1773
- if (this.http_proxy_callback !== undefined) {
1774
- usedProxies.push('http_proxy_callback');
1775
- httpProxy = this.http_proxy_callback(url, method, headers, body);
1771
+ httpProxy = ishttpProxyCallbackDefined ? this.httpProxyCallback(url, method, headers, body) : this.http_proxy_callback(url, method, headers, body);
1776
1772
  }
1777
1773
  // httpsProxy
1778
- if (this.valueIsDefined(this.httpsProxy)) {
1774
+ const isHttpsProxyDefined = this.valueIsDefined(this.httpsProxy);
1775
+ const isHttps_proxy_defined = this.valueIsDefined(this.https_proxy);
1776
+ if (isHttpsProxyDefined || isHttps_proxy_defined) {
1779
1777
  usedProxies.push('httpsProxy');
1780
- httpsProxy = this.httpsProxy;
1781
- }
1782
- if (this.valueIsDefined(this.https_proxy)) {
1783
- usedProxies.push('https_proxy');
1784
- httpsProxy = this.https_proxy;
1778
+ httpsProxy = isHttpsProxyDefined ? this.httpsProxy : this.https_proxy;
1785
1779
  }
1786
- if (this.httpsProxyCallback !== undefined) {
1780
+ const ishttpsProxyCallbackDefined = this.valueIsDefined(this.httpsProxyCallback);
1781
+ const ishttps_proxy_callback_defined = this.valueIsDefined(this.https_proxy_callback);
1782
+ if (ishttpsProxyCallbackDefined || ishttps_proxy_callback_defined) {
1787
1783
  usedProxies.push('httpsProxyCallback');
1788
- httpsProxy = this.httpsProxyCallback(url, method, headers, body);
1789
- }
1790
- if (this.https_proxy_callback !== undefined) {
1791
- usedProxies.push('https_proxy_callback');
1792
- httpsProxy = this.https_proxy_callback(url, method, headers, body);
1784
+ httpsProxy = ishttpsProxyCallbackDefined ? this.httpsProxyCallback(url, method, headers, body) : this.https_proxy_callback(url, method, headers, body);
1793
1785
  }
1794
1786
  // socksProxy
1795
- if (this.valueIsDefined(this.socksProxy)) {
1787
+ const isSocksProxyDefined = this.valueIsDefined(this.socksProxy);
1788
+ const isSocks_proxy_defined = this.valueIsDefined(this.socks_proxy);
1789
+ if (isSocksProxyDefined || isSocks_proxy_defined) {
1796
1790
  usedProxies.push('socksProxy');
1797
- socksProxy = this.socksProxy;
1798
- }
1799
- if (this.valueIsDefined(this.socks_proxy)) {
1800
- usedProxies.push('socks_proxy');
1801
- socksProxy = this.socks_proxy;
1791
+ socksProxy = isSocksProxyDefined ? this.socksProxy : this.socks_proxy;
1802
1792
  }
1803
- if (this.socksProxyCallback !== undefined) {
1793
+ const issocksProxyCallbackDefined = this.valueIsDefined(this.socksProxyCallback);
1794
+ const issocks_proxy_callback_defined = this.valueIsDefined(this.socks_proxy_callback);
1795
+ if (issocksProxyCallbackDefined || issocks_proxy_callback_defined) {
1804
1796
  usedProxies.push('socksProxyCallback');
1805
- socksProxy = this.socksProxyCallback(url, method, headers, body);
1806
- }
1807
- if (this.socks_proxy_callback !== undefined) {
1808
- usedProxies.push('socks_proxy_callback');
1809
- socksProxy = this.socks_proxy_callback(url, method, headers, body);
1797
+ socksProxy = issocksProxyCallbackDefined ? this.socksProxyCallback(url, method, headers, body) : this.socks_proxy_callback(url, method, headers, body);
1810
1798
  }
1811
1799
  // check
1812
1800
  const length = usedProxies.length;
package/js/src/binance.js CHANGED
@@ -54,7 +54,7 @@ export default class binance extends Exchange {
54
54
  'createMarketSellOrderWithCost': true,
55
55
  'createOrder': true,
56
56
  'createOrders': true,
57
- 'createOrderWithTakeProfitAndStopLoss': true,
57
+ 'createOrderWithTakeProfitAndStopLoss': false,
58
58
  'createPostOnlyOrder': true,
59
59
  'createReduceOnlyOrder': true,
60
60
  'createStopLimitOrder': true,
package/js/src/bitmart.js CHANGED
@@ -2464,8 +2464,6 @@ export default class bitmart extends Exchange {
2464
2464
  * @see https://developer-pro.bitmart.com/en/spot/#place-margin-order
2465
2465
  * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2466
2466
  * @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2467
- * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2468
- * @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2469
2467
  * @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
2470
2468
  * @param {string} symbol unified symbol of the market to create an order in
2471
2469
  * @param {string} type 'market', 'limit' or 'trailing' for swap markets only
@@ -2612,6 +2610,7 @@ export default class bitmart extends Exchange {
2612
2610
  * @description create a trade order
2613
2611
  * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2614
2612
  * @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2613
+ * @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
2615
2614
  * @param {string} symbol unified symbol of the market to create an order in
2616
2615
  * @param {string} type 'market', 'limit' or 'trailing'
2617
2616
  * @param {string} side 'buy' or 'sell'
@@ -2671,7 +2670,9 @@ export default class bitmart extends Exchange {
2671
2670
  request['activation_price_type'] = this.safeInteger(params, 'activation_price_type', 1);
2672
2671
  }
2673
2672
  if (isTriggerOrder) {
2674
- request['executive_price'] = this.priceToPrecision(symbol, price);
2673
+ if (isLimitOrder || price !== undefined) {
2674
+ request['executive_price'] = this.priceToPrecision(symbol, price);
2675
+ }
2675
2676
  request['trigger_price'] = this.priceToPrecision(symbol, triggerPrice);
2676
2677
  request['price_type'] = this.safeInteger(params, 'price_type', 1);
2677
2678
  if (side === 'buy') {
package/js/src/bybit.js CHANGED
@@ -5892,10 +5892,12 @@ export default class bybit extends Exchange {
5892
5892
  * @name bybit#fetchLedger
5893
5893
  * @description fetch the history of changes, actions done by the user or operations that altered balance of the user
5894
5894
  * @see https://bybit-exchange.github.io/docs/v5/account/transaction-log
5895
+ * @see https://bybit-exchange.github.io/docs/v5/account/contract-transaction-log
5895
5896
  * @param {string} code unified currency code, default is undefined
5896
5897
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
5897
5898
  * @param {int} [limit] max number of ledger entrys to return, default is undefined
5898
5899
  * @param {object} [params] extra parameters specific to the exchange API endpoint
5900
+ * @param {string} [params.subType] if inverse will use v5/account/contract-transaction-log
5899
5901
  * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
5900
5902
  */
5901
5903
  await this.loadMarkets();
@@ -5939,9 +5941,16 @@ export default class bybit extends Exchange {
5939
5941
  if (limit !== undefined) {
5940
5942
  request['limit'] = limit;
5941
5943
  }
5944
+ let subType = undefined;
5945
+ [subType, params] = this.handleSubTypeAndParams('fetchLedger', undefined, params);
5942
5946
  let response = undefined;
5943
5947
  if (enableUnified[1]) {
5944
- response = await this.privateGetV5AccountTransactionLog(this.extend(request, params));
5948
+ if (subType === 'inverse') {
5949
+ response = await this.privateGetV5AccountContractTransactionLog(this.extend(request, params));
5950
+ }
5951
+ else {
5952
+ response = await this.privateGetV5AccountTransactionLog(this.extend(request, params));
5953
+ }
5945
5954
  }
5946
5955
  else {
5947
5956
  response = await this.privateGetV2PrivateWalletFundRecords(this.extend(request, params));
@@ -1108,8 +1108,10 @@ export default class poloniex extends Exchange {
1108
1108
  market = this.safeMarket(marketId, market, '_');
1109
1109
  const symbol = market['symbol'];
1110
1110
  let resultingTrades = this.safeValue(order, 'resultingTrades');
1111
- if (!Array.isArray(resultingTrades)) {
1112
- resultingTrades = this.safeValue(resultingTrades, this.safeString(market, 'id', marketId));
1111
+ if (resultingTrades !== undefined) {
1112
+ if (!Array.isArray(resultingTrades)) {
1113
+ resultingTrades = this.safeValue(resultingTrades, this.safeString(market, 'id', marketId));
1114
+ }
1113
1115
  }
1114
1116
  const price = this.safeString2(order, 'price', 'rate');
1115
1117
  const amount = this.safeString(order, 'quantity');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.3.79",
3
+ "version": "4.3.80",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",