ccxt 4.5.63 → 4.5.64

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.
Files changed (124) hide show
  1. package/README.md +6 -8
  2. package/dist/ccxt.browser.min.js +4 -4
  3. package/dist/cjs/ccxt.js +6 -12
  4. package/dist/cjs/src/aster.js +2 -2
  5. package/dist/cjs/src/base/Exchange.js +34 -3
  6. package/dist/cjs/src/bitget.js +5 -3
  7. package/dist/cjs/src/bitmex.js +1 -1
  8. package/dist/cjs/src/bitstamp.js +2 -1
  9. package/dist/cjs/src/bitvavo.js +1 -0
  10. package/dist/cjs/src/btcbox.js +1 -1
  11. package/dist/cjs/src/bullish.js +1 -1
  12. package/dist/cjs/src/bybiteu.js +3 -0
  13. package/dist/cjs/src/coinbase.js +3 -2
  14. package/dist/cjs/src/coinbaseinternational.js +1 -1
  15. package/dist/cjs/src/delta.js +23 -1
  16. package/dist/cjs/src/derive.js +1 -1
  17. package/dist/cjs/src/digifinex.js +12 -0
  18. package/dist/cjs/src/dydx.js +2 -2
  19. package/dist/cjs/src/extended.js +1 -1
  20. package/dist/cjs/src/gateeu.js +1 -0
  21. package/dist/cjs/src/grvt.js +1 -1
  22. package/dist/cjs/src/hashkey.js +127 -6
  23. package/dist/cjs/src/hibachi.js +20 -10
  24. package/dist/cjs/src/hyperliquid.js +1 -1
  25. package/dist/cjs/src/kraken.js +2 -0
  26. package/dist/cjs/src/kucoin.js +1 -1
  27. package/dist/cjs/src/kucoineu.js +3 -0
  28. package/dist/cjs/src/lighter.js +6 -4
  29. package/dist/cjs/src/mudrex.js +1328 -0
  30. package/dist/cjs/src/myokx.js +3 -0
  31. package/dist/cjs/src/okxus.js +1 -5
  32. package/dist/cjs/src/onetrading.js +1 -0
  33. package/dist/cjs/src/pacifica.js +1 -1
  34. package/dist/cjs/src/poloniex.js +1 -1
  35. package/dist/cjs/src/pro/bingx.js +4 -2
  36. package/dist/cjs/src/pro/bitget.js +9 -7
  37. package/dist/cjs/src/pro/grvt.js +1 -1
  38. package/dist/cjs/src/pro/hashkey.js +1 -1
  39. package/dist/cjs/src/pro/kraken.js +1 -1
  40. package/dist/cjs/src/pro/mudrex.js +226 -0
  41. package/dist/cjs/src/pro/okxus.js +1 -1
  42. package/js/ccxt.d.ts +8 -14
  43. package/js/ccxt.js +6 -10
  44. package/js/src/abstract/binance.d.ts +3 -0
  45. package/js/src/abstract/binancecoinm.d.ts +3 -0
  46. package/js/src/abstract/binanceus.d.ts +3 -0
  47. package/js/src/abstract/binanceusdm.d.ts +3 -0
  48. package/js/src/abstract/bybit.d.ts +39 -0
  49. package/js/src/abstract/bybiteu.d.ts +39 -0
  50. package/js/src/abstract/coincheck.d.ts +3 -0
  51. package/js/src/abstract/coinsph.d.ts +8 -1
  52. package/js/src/abstract/kucoineu.js +0 -6
  53. package/js/src/abstract/mudrex.d.ts +33 -0
  54. package/js/src/aster.js +2 -2
  55. package/js/src/base/Exchange.d.ts +10 -1
  56. package/js/src/base/Exchange.js +34 -3
  57. package/js/src/bitget.js +5 -3
  58. package/js/src/bitmex.js +1 -1
  59. package/js/src/bitstamp.js +2 -1
  60. package/js/src/bitvavo.js +1 -0
  61. package/js/src/btcbox.js +1 -1
  62. package/js/src/bullish.js +1 -1
  63. package/js/src/bybiteu.js +3 -0
  64. package/js/src/coinbase.js +3 -2
  65. package/js/src/coinbaseinternational.js +1 -1
  66. package/js/src/delta.d.ts +12 -0
  67. package/js/src/delta.js +23 -1
  68. package/js/src/derive.js +1 -1
  69. package/js/src/digifinex.d.ts +12 -0
  70. package/js/src/digifinex.js +12 -0
  71. package/js/src/dydx.d.ts +2 -2
  72. package/js/src/dydx.js +2 -2
  73. package/js/src/extended.js +1 -1
  74. package/js/src/gateeu.js +1 -0
  75. package/js/src/grvt.d.ts +1 -1
  76. package/js/src/grvt.js +1 -1
  77. package/js/src/hashkey.d.ts +40 -3
  78. package/js/src/hashkey.js +127 -6
  79. package/js/src/hibachi.d.ts +9 -5
  80. package/js/src/hibachi.js +20 -10
  81. package/js/src/hyperliquid.js +1 -1
  82. package/js/src/kraken.js +2 -0
  83. package/js/src/kucoin.js +1 -1
  84. package/js/src/kucoineu.js +3 -0
  85. package/js/src/lighter.js +6 -4
  86. package/js/src/mudrex.d.ts +310 -0
  87. package/js/src/mudrex.js +1321 -0
  88. package/js/src/myokx.js +3 -0
  89. package/js/src/okxus.js +1 -5
  90. package/js/src/onetrading.js +1 -0
  91. package/js/src/pacifica.js +1 -1
  92. package/js/src/poloniex.js +1 -1
  93. package/js/src/pro/bingx.js +4 -2
  94. package/js/src/pro/bitget.js +9 -7
  95. package/js/src/pro/grvt.d.ts +1 -1
  96. package/js/src/pro/grvt.js +1 -1
  97. package/js/src/pro/hashkey.d.ts +1 -1
  98. package/js/src/pro/hashkey.js +1 -1
  99. package/js/src/pro/kraken.js +1 -1
  100. package/js/src/pro/mudrex.d.ts +23 -0
  101. package/js/src/pro/mudrex.js +219 -0
  102. package/js/src/pro/okxus.js +1 -1
  103. package/package.json +3 -3
  104. package/dist/cjs/src/abstract/coinmetro.js +0 -11
  105. package/dist/cjs/src/abstract/novadax.js +0 -11
  106. package/dist/cjs/src/ascendex.js +0 -3780
  107. package/dist/cjs/src/coinmetro.js +0 -2030
  108. package/dist/cjs/src/novadax.js +0 -1678
  109. package/dist/cjs/src/pro/ascendex.js +0 -1013
  110. package/js/src/abstract/ascendex.d.ts +0 -80
  111. package/js/src/abstract/coinmetro.d.ts +0 -37
  112. package/js/src/abstract/coinmetro.js +0 -5
  113. package/js/src/abstract/novadax.d.ts +0 -32
  114. package/js/src/abstract/novadax.js +0 -5
  115. package/js/src/ascendex.d.ts +0 -436
  116. package/js/src/ascendex.js +0 -3773
  117. package/js/src/coinmetro.d.ts +0 -245
  118. package/js/src/coinmetro.js +0 -2023
  119. package/js/src/novadax.d.ts +0 -279
  120. package/js/src/novadax.js +0 -1671
  121. package/js/src/pro/ascendex.d.ts +0 -99
  122. package/js/src/pro/ascendex.js +0 -1006
  123. /package/dist/cjs/src/abstract/{ascendex.js → mudrex.js} +0 -0
  124. /package/js/src/abstract/{ascendex.js → mudrex.js} +0 -0
@@ -28,10 +28,10 @@ class hashkey extends hashkey$1["default"] {
28
28
  'CORS': undefined,
29
29
  'spot': true,
30
30
  'margin': false,
31
- 'swap': false,
31
+ 'swap': true,
32
32
  'future': false,
33
33
  'option': false,
34
- 'addMargin': false,
34
+ 'addMargin': true,
35
35
  'borrowCrossMargin': false,
36
36
  'borrowIsolatedMargin': false,
37
37
  'borrowMargin': false,
@@ -146,13 +146,13 @@ class hashkey extends hashkey$1["default"] {
146
146
  'fetchUnderlyingAssets': false,
147
147
  'fetchVolatilityHistory': false,
148
148
  'fetchWithdrawals': true,
149
- 'reduceMargin': false,
149
+ 'reduceMargin': true,
150
150
  'repayCrossMargin': false,
151
151
  'repayIsolatedMargin': false,
152
152
  'sandbox': false,
153
153
  'setLeverage': true,
154
154
  'setMargin': false,
155
- 'setMarginMode': false,
155
+ 'setMarginMode': true,
156
156
  'setPositionMode': false,
157
157
  'transfer': true,
158
158
  'withdraw': true,
@@ -223,10 +223,12 @@ class hashkey extends hashkey$1["default"] {
223
223
  'api/v1/futures/riskLimit': 1,
224
224
  'api/v1/futures/commissionRate': 1,
225
225
  'api/v1/futures/getBestOrder': 1,
226
+ 'api/v1/coinInfo': 1,
226
227
  'api/v1/account/vipInfo': 1,
227
228
  'api/v1/account': 1,
228
229
  'api/v1/account/trades': 5,
229
230
  'api/v1/account/type': 5,
231
+ 'api/v1/account/chainType': 1,
230
232
  'api/v1/account/checkApiKey': 1,
231
233
  'api/v1/account/balanceFlow': 5,
232
234
  'api/v1/spot/subAccount/openOrders': 1,
@@ -247,6 +249,8 @@ class hashkey extends hashkey$1["default"] {
247
249
  'api/v1/spot/batchOrders': 5,
248
250
  'api/v1/futures/leverage': 1,
249
251
  'api/v1/futures/order': 1,
252
+ 'api/v1/futures/marginType': 1,
253
+ 'api/v1/futures/positionMargin': 1,
250
254
  'api/v1/futures/position/trading-stop': 3,
251
255
  'api/v1/futures/batchOrders': 5,
252
256
  'api/v1/account/assetTransfer': 1,
@@ -4053,6 +4057,123 @@ class hashkey extends hashkey$1["default"] {
4053
4057
  //
4054
4058
  return this.parseLeverage(response, market);
4055
4059
  }
4060
+ /**
4061
+ * @method
4062
+ * @name hashkey#setMarginMode
4063
+ * @description set margin mode to 'cross' or 'isolated'
4064
+ * @see https://hashkeyglobal-apidoc.readme.io/reference/change-margin-type
4065
+ * @param {string} marginMode 'cross' or 'isolated'
4066
+ * @param {string} symbol unified market symbol
4067
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4068
+ * @returns {object} response from the exchange
4069
+ */
4070
+ async setMarginMode(marginMode, symbol = undefined, params = {}) {
4071
+ if (symbol === undefined) {
4072
+ throw new errors.ArgumentsRequired(this.id + ' setMarginMode() requires a symbol argument');
4073
+ }
4074
+ await this.loadMarkets();
4075
+ marginMode = marginMode.toUpperCase();
4076
+ if (marginMode === 'CROSSED') {
4077
+ marginMode = 'CROSS';
4078
+ }
4079
+ if ((marginMode !== 'CROSS') && (marginMode !== 'ISOLATED')) {
4080
+ throw new errors.ArgumentsRequired(this.id + ' setMarginMode() marginMode must be either cross or isolated');
4081
+ }
4082
+ const market = this.market(symbol);
4083
+ if (!market['swap']) {
4084
+ throw new errors.BadSymbol(this.id + ' setMarginMode() supports swap markets only');
4085
+ }
4086
+ const request = {
4087
+ 'symbol': market['id'],
4088
+ 'marginType': marginMode,
4089
+ };
4090
+ return await this.privatePostApiV1FuturesMarginType(this.extend(request, params));
4091
+ }
4092
+ /**
4093
+ * @method
4094
+ * @name hashkey#addMargin
4095
+ * @description add margin
4096
+ * @see https://hashkeyglobal-apidoc.readme.io/reference/modify-isolated-position-margin
4097
+ * @param {string} symbol unified market symbol
4098
+ * @param {float} amount amount of margin to add
4099
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4100
+ * @param {string} params.side position side, either 'long' or 'short'
4101
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/?id=margin-structure}
4102
+ */
4103
+ async addMargin(symbol, amount, params = {}) {
4104
+ return await this.modifyMarginHelper(symbol, amount, 'add', params);
4105
+ }
4106
+ /**
4107
+ * @method
4108
+ * @name hashkey#reduceMargin
4109
+ * @description remove margin from a position
4110
+ * @see https://hashkeyglobal-apidoc.readme.io/reference/modify-isolated-position-margin
4111
+ * @param {string} symbol unified market symbol
4112
+ * @param {float} amount the amount of margin to remove
4113
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4114
+ * @param {string} params.side position side, either 'long' or 'short'
4115
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/?id=margin-structure}
4116
+ */
4117
+ async reduceMargin(symbol, amount, params = {}) {
4118
+ return await this.modifyMarginHelper(symbol, amount, 'reduce', params);
4119
+ }
4120
+ async modifyMarginHelper(symbol, amount, type, params = {}) {
4121
+ await this.loadMarkets();
4122
+ const market = this.market(symbol);
4123
+ if (!market['swap']) {
4124
+ throw new errors.BadSymbol(this.id + ' modifyMarginHelper() supports swap markets only');
4125
+ }
4126
+ let side = undefined;
4127
+ [side, params] = this.handleParamString(params, 'side');
4128
+ if (side === undefined) {
4129
+ throw new errors.ArgumentsRequired(this.id + ' ' + type + 'Margin() requires a params["side"] argument, either "long" or "short"');
4130
+ }
4131
+ side = side.toUpperCase();
4132
+ if ((side !== 'LONG') && (side !== 'SHORT')) {
4133
+ throw new errors.ArgumentsRequired(this.id + ' ' + type + 'Margin() params["side"] must be either long or short');
4134
+ }
4135
+ let amountString = this.numberToString(amount);
4136
+ if (type === 'reduce') {
4137
+ amountString = Precise["default"].stringMul(amountString, '-1');
4138
+ }
4139
+ const request = {
4140
+ 'symbol': market['id'],
4141
+ 'side': side,
4142
+ 'amount': amountString,
4143
+ };
4144
+ const response = await this.privatePostApiV1FuturesPositionMargin(this.extend(request, params));
4145
+ //
4146
+ // {
4147
+ // "code": "0000",
4148
+ // "symbol": "BTCUSDT-PERPETUAL",
4149
+ // "margin": "12344.345",
4150
+ // "timestamp": "1726869763318"
4151
+ // }
4152
+ //
4153
+ return this.extend(this.parseMarginModification(response, market), {
4154
+ 'type': type,
4155
+ 'amount': amount,
4156
+ });
4157
+ }
4158
+ parseMarginModification(data, market = undefined) {
4159
+ const marketId = this.safeString(data, 'symbol');
4160
+ market = this.safeMarket(marketId, market, undefined, 'swap');
4161
+ const timestamp = this.safeInteger(data, 'timestamp');
4162
+ const errorCode = this.safeString(data, 'code');
4163
+ const success = errorCode === '0000';
4164
+ return {
4165
+ 'info': data,
4166
+ 'symbol': market['symbol'],
4167
+ 'type': undefined,
4168
+ 'marginMode': 'isolated',
4169
+ 'amount': undefined,
4170
+ 'total': this.safeNumber(data, 'margin'),
4171
+ 'code': market['settle'],
4172
+ 'status': (success) ? 'ok' : 'failed',
4173
+ 'timestamp': timestamp,
4174
+ 'datetime': this.iso8601(timestamp),
4175
+ };
4176
+ }
4056
4177
  /**
4057
4178
  * @method
4058
4179
  * @name hashkey#fetchLeverageTiers
@@ -4172,7 +4293,7 @@ class hashkey extends hashkey$1["default"] {
4172
4293
  * @method
4173
4294
  * @name hashkey#fetchTradingFee
4174
4295
  * @description fetch the trading fees for a market
4175
- * @see https://developers.binance.com/docs/wallet/asset/trade-fee // spot
4296
+ * @see https://hashkeyglobal-apidoc.readme.io/reference/get-vip-information // spot
4176
4297
  * @see https://hashkeyglobal-apidoc.readme.io/reference/get-futures-commission-rate-request-weight // swap
4177
4298
  * @param {string} symbol unified market symbol
4178
4299
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -4207,7 +4328,7 @@ class hashkey extends hashkey$1["default"] {
4207
4328
  * @method
4208
4329
  * @name hashkey#fetchTradingFees
4209
4330
  * @description *for spot markets only* fetch the trading fees for multiple markets
4210
- * @see https://developers.binance.com/docs/wallet/asset/trade-fee
4331
+ * @see https://hashkeyglobal-apidoc.readme.io/reference/get-vip-information
4211
4332
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4212
4333
  * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/?id=fee-structure} indexed by market symbols
4213
4334
  */
@@ -140,25 +140,29 @@ class hibachi extends hibachi$1["default"] {
140
140
  'public': {
141
141
  'get': {
142
142
  'market/exchange-info': 1,
143
- 'market/data/trades': 1,
143
+ 'market/inventory': 1,
144
144
  'market/data/prices': 1,
145
145
  'market/data/stats': 1,
146
+ 'market/data/trades': 1,
146
147
  'market/data/klines': 1,
147
- 'market/data/orderbook': 1,
148
148
  'market/data/open-interest': 1,
149
+ 'market/data/orderbook': 1,
149
150
  'market/data/funding-rates': 1,
150
151
  'exchange/utc-timestamp': 1,
151
152
  },
152
153
  },
153
154
  'private': {
154
155
  'get': {
155
- 'capital/deposit-info': 1,
156
+ 'capital/balance': 1,
156
157
  'capital/history': 1,
157
- 'trade/account/trading_history': 1,
158
+ 'capital/deposit-info': 1,
158
159
  'trade/account/info': 1,
159
- 'trade/order': 1,
160
160
  'trade/account/trades': 1,
161
+ 'trade/account/trading_history': 1, // not in current docs, used by fetchLedger
162
+ 'trade/account/settlements_history': 1,
161
163
  'trade/orders': 1,
164
+ 'trade/order': 1,
165
+ 'trade/orders/history': 1,
162
166
  },
163
167
  'put': {
164
168
  'trade/order': 1,
@@ -171,6 +175,8 @@ class hibachi extends hibachi$1["default"] {
171
175
  'trade/order': 1,
172
176
  'trade/orders': 1,
173
177
  'capital/withdraw': 1,
178
+ 'capital/transfer': 1,
179
+ 'trade/account/leverage': 1,
174
180
  },
175
181
  },
176
182
  },
@@ -605,7 +611,8 @@ class hibachi extends hibachi$1["default"] {
605
611
  /**
606
612
  * @method
607
613
  * @name hibachi#fetchTicker
608
- * @see https://api-doc.hibachi.xyz/#4abb30c4-e5c7-4b0f-9ade-790111dbfa47
614
+ * @see https://api-doc.hibachi.xyz/#bca696ca-b9b2-4072-8864-5d6b8c09807e
615
+ * @see https://api-doc.hibachi.xyz/#0064ca53-a2d0-41b9-8ade-6b2abf4ccb12
609
616
  * @description fetches a price ticker and the related information for the past 24h
610
617
  * @param {string} symbol unified symbol of the market
611
618
  * @param {object} [params] extra parameters specific to the hibachi api endpoint
@@ -750,6 +757,7 @@ class hibachi extends hibachi$1["default"] {
750
757
  * @method
751
758
  * @name hibachi#fetchTradingFees
752
759
  * @description fetch the trading fee
760
+ * @see https://api-doc.hibachi.xyz/#69aafedb-8274-4e21-bbaf-91dace8b8f31
753
761
  * @param {object} [params] extra parameters specific to the exchange API endpoint
754
762
  * @returns {object} a map of market symbols to [fee structures]{@link https://docs.ccxt.com/?id=fee-structure}
755
763
  */
@@ -1261,7 +1269,7 @@ class hibachi extends hibachi$1["default"] {
1261
1269
  * @method
1262
1270
  * @name hibachi#fetchOrderBook
1263
1271
  * @description fetches the state of the open orders on the orderbook
1264
- * @see https://api-doc.hibachi.xyz/#4abb30c4-e5c7-4b0f-9ade-790111dbfa47
1272
+ * @see https://api-doc.hibachi.xyz/#c7a64b0d-9e37-4009-93e5-2aa12e8d7e9b
1265
1273
  * @param {string} symbol unified symbol of the market
1266
1274
  * @param {int} [limit] currently unused
1267
1275
  * @param {object} [params] extra parameters to be passed -- see documentation link above
@@ -1435,8 +1443,9 @@ class hibachi extends hibachi$1["default"] {
1435
1443
  return this.parseOrders(response, market, since, limit);
1436
1444
  }
1437
1445
  /**
1446
+ * @method
1438
1447
  * @name hibachi#fetchOHLCV
1439
- * @see https://api-doc.hibachi.xyz/#4f0eacec-c61e-4d51-afb3-23c51c2c6bac
1448
+ * @see https://api-doc.hibachi.xyz/#4f0eacec-c61e-4d51-afb3-23c51c2c6bac
1440
1449
  * @description fetches historical candlestick data containing the close, high, low, open prices, interval and the volumeNotional
1441
1450
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
1442
1451
  * @param {string} timeframe the length of time each candle represents
@@ -1815,6 +1824,7 @@ class hibachi extends hibachi$1["default"] {
1815
1824
  * @method
1816
1825
  * @name hibachi#fetchDepositAddress
1817
1826
  * @description fetch deposit address for given currency and chain. currently, we have a single EVM address across multiple EVM chains. Note: This method is currently only supported for trustless accounts
1827
+ * @see https://api-doc.hibachi.xyz/#6fa35580-3d45-4b59-854d-c9326db06af5
1818
1828
  * @param {string} code unified currency code
1819
1829
  * @param {object} [params] extra parameters for API
1820
1830
  * @param {string} [params.publicKey] your public key, you can get it from UI after creating API key
@@ -1987,7 +1997,7 @@ class hibachi extends hibachi$1["default"] {
1987
1997
  * @method
1988
1998
  * @name hibachi#fetchTime
1989
1999
  * @description fetches the current integer timestamp in milliseconds from the exchange server
1990
- * @see http://api-doc.hibachi.xyz/#b5c6a3bc-243d-4d35-b6d4-a74c92495434
2000
+ * @see https://api-doc.hibachi.xyz/#3277e546-4cb0-4d30-a832-717af0de9b20
1991
2001
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1992
2002
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
1993
2003
  */
@@ -2085,7 +2095,7 @@ class hibachi extends hibachi$1["default"] {
2085
2095
  * @method
2086
2096
  * @name hibachi#fetchFundingRateHistory
2087
2097
  * @description fetches historical funding rate prices
2088
- * @see https://api-doc.hibachi.xyz/#4abb30c4-e5c7-4b0f-9ade-790111dbfa47
2098
+ * @see https://api-doc.hibachi.xyz/#079586af-0d94-41ea-99bb-7afcd93bf438
2089
2099
  * @param {string} symbol unified symbol of the market to fetch the funding rate history for
2090
2100
  * @param {int} [since] timestamp in ms of the earliest funding rate to fetch
2091
2101
  * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/?id=funding-rate-history-structure} to fetch
@@ -32,7 +32,7 @@ class hyperliquid extends hyperliquid$1["default"] {
32
32
  'spot': true,
33
33
  'margin': false,
34
34
  'swap': true,
35
- 'future': true,
35
+ 'future': false,
36
36
  'option': false,
37
37
  'addMargin': true,
38
38
  'borrowCrossMargin': false,
@@ -265,6 +265,7 @@ class kraken extends kraken$1["default"] {
265
265
  'ZUSD': 'USD',
266
266
  },
267
267
  'options': {
268
+ 'mica': true,
268
269
  'timeDifference': 0, // the difference between system clock and Binance clock
269
270
  'adjustForTimeDifference': false, // controls the adjustment logic upon instantiation
270
271
  'marketsByAltname': {},
@@ -2091,6 +2092,7 @@ class kraken extends kraken$1["default"] {
2091
2092
  'timestamp': timestamp,
2092
2093
  'datetime': this.iso8601(timestamp),
2093
2094
  'lastTradeTimestamp': undefined,
2095
+ 'lastUpdateTimestamp': this.safeTimestamp(order, 'closetm'),
2094
2096
  'status': status,
2095
2097
  'symbol': symbol,
2096
2098
  'type': typeParsed,
@@ -31,7 +31,7 @@ class kucoin extends kucoin$1["default"] {
31
31
  'spot': true,
32
32
  'margin': true,
33
33
  'swap': true,
34
- 'future': false,
34
+ 'future': true,
35
35
  'option': false,
36
36
  'addMargin': true,
37
37
  'borrowCrossMargin': true,
@@ -25,6 +25,9 @@ class kucoineu extends kucoin["default"] {
25
25
  'https://www.kucoin.com/en-eu/docs-new',
26
26
  ],
27
27
  },
28
+ 'options': {
29
+ 'mica': true,
30
+ },
28
31
  });
29
32
  }
30
33
  }
@@ -30,7 +30,7 @@ class lighter extends lighter$1["default"] {
30
30
  'quoteJsonNumbers': false,
31
31
  'has': {
32
32
  'CORS': undefined,
33
- 'spot': false,
33
+ 'spot': true,
34
34
  'margin': false,
35
35
  'swap': true,
36
36
  'future': false,
@@ -1015,10 +1015,12 @@ class lighter extends lighter$1["default"] {
1015
1015
  'nonce': nonce,
1016
1016
  'api_key_index': apiKeyIndex,
1017
1017
  'account_index': accountIndex,
1018
- 'integrator_account_index': this.options['integratorAccountIndex'],
1019
- 'integrator_taker_fee': this.options['integratorTakerFee'],
1020
- 'integrator_maker_fee': this.options['integratorMakerFee'],
1021
1018
  };
1019
+ if (this.safeBool(this.options, 'builderFee', true)) {
1020
+ signRaw['integrator_account_index'] = this.options['integratorAccountIndex'];
1021
+ signRaw['integrator_taker_fee'] = this.options['integratorTakerFee'];
1022
+ signRaw['integrator_maker_fee'] = this.options['integratorMakerFee'];
1023
+ }
1022
1024
  const [txType, txInfo] = this.lighterSignModifyOrder(signer, this.extend(signRaw, params));
1023
1025
  const request = {
1024
1026
  'tx_type': txType,