ccxt 4.4.43 → 4.4.44

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 (78) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +15 -15
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/binance.js +55 -43
  5. package/dist/cjs/src/bingx.js +5 -0
  6. package/dist/cjs/src/bitfinex.js +6 -2
  7. package/dist/cjs/src/bitget.js +3 -1
  8. package/dist/cjs/src/bitmart.js +4 -7
  9. package/dist/cjs/src/bitmex.js +3 -5
  10. package/dist/cjs/src/bitstamp.js +5 -0
  11. package/dist/cjs/src/bybit.js +7 -22
  12. package/dist/cjs/src/coinbase.js +13 -9
  13. package/dist/cjs/src/coinbaseinternational.js +13 -9
  14. package/dist/cjs/src/coincatch.js +2 -2
  15. package/dist/cjs/src/coinex.js +5 -5
  16. package/dist/cjs/src/cryptocom.js +3 -1
  17. package/dist/cjs/src/defx.js +2 -2
  18. package/dist/cjs/src/delta.js +1 -1
  19. package/dist/cjs/src/gate.js +7 -2
  20. package/dist/cjs/src/gemini.js +5 -0
  21. package/dist/cjs/src/hashkey.js +9 -9
  22. package/dist/cjs/src/htx.js +105 -2
  23. package/dist/cjs/src/hyperliquid.js +5 -0
  24. package/dist/cjs/src/kraken.js +9 -2
  25. package/dist/cjs/src/krakenfutures.js +5 -0
  26. package/dist/cjs/src/kucoin.js +9 -7
  27. package/dist/cjs/src/kucoinfutures.js +5 -5
  28. package/dist/cjs/src/mexc.js +16 -10
  29. package/dist/cjs/src/ndax.js +1 -1
  30. package/dist/cjs/src/oceanex.js +1 -1
  31. package/dist/cjs/src/okx.js +4 -5
  32. package/dist/cjs/src/pro/bitcoincom.js +4 -1
  33. package/dist/cjs/src/pro/bitopro.js +1 -1
  34. package/dist/cjs/src/whitebit.js +4 -2
  35. package/dist/cjs/src/woo.js +5 -3
  36. package/dist/cjs/src/woofipro.js +5 -2
  37. package/js/ccxt.d.ts +1 -1
  38. package/js/ccxt.js +1 -1
  39. package/js/src/abstract/binance.d.ts +1 -0
  40. package/js/src/abstract/binancecoinm.d.ts +1 -0
  41. package/js/src/abstract/binanceus.d.ts +1 -0
  42. package/js/src/abstract/binanceusdm.d.ts +1 -0
  43. package/js/src/binance.d.ts +33 -32
  44. package/js/src/binance.js +55 -43
  45. package/js/src/bingx.js +5 -0
  46. package/js/src/bitfinex.js +6 -2
  47. package/js/src/bitget.js +3 -1
  48. package/js/src/bitmart.js +4 -7
  49. package/js/src/bitmex.js +3 -5
  50. package/js/src/bitstamp.js +5 -0
  51. package/js/src/bybit.js +7 -22
  52. package/js/src/coinbase.js +13 -9
  53. package/js/src/coinbaseinternational.js +13 -9
  54. package/js/src/coincatch.js +2 -2
  55. package/js/src/coinex.js +5 -5
  56. package/js/src/cryptocom.js +3 -1
  57. package/js/src/defx.js +2 -2
  58. package/js/src/delta.js +1 -1
  59. package/js/src/gate.js +7 -2
  60. package/js/src/gemini.js +5 -0
  61. package/js/src/hashkey.js +9 -9
  62. package/js/src/htx.d.ts +13 -1
  63. package/js/src/htx.js +105 -2
  64. package/js/src/hyperliquid.js +5 -0
  65. package/js/src/kraken.js +9 -2
  66. package/js/src/krakenfutures.js +5 -0
  67. package/js/src/kucoin.js +9 -7
  68. package/js/src/kucoinfutures.js +5 -5
  69. package/js/src/mexc.js +16 -10
  70. package/js/src/ndax.js +1 -1
  71. package/js/src/oceanex.js +1 -1
  72. package/js/src/okx.js +4 -5
  73. package/js/src/pro/bitcoincom.js +4 -1
  74. package/js/src/pro/bitopro.js +1 -1
  75. package/js/src/whitebit.js +4 -2
  76. package/js/src/woo.js +5 -3
  77. package/js/src/woofipro.js +5 -2
  78. package/package.json +1 -1
package/dist/cjs/ccxt.js CHANGED
@@ -202,7 +202,7 @@ var xt$1 = require('./src/pro/xt.js');
202
202
 
203
203
  //-----------------------------------------------------------------------------
204
204
  // this is updated by vss.js when building
205
- const version = '4.4.43';
205
+ const version = '4.4.44';
206
206
  Exchange["default"].ccxtVersion = version;
207
207
  const exchanges = {
208
208
  'ace': ace,
@@ -225,6 +225,7 @@ class binance extends binance$1 {
225
225
  'private': 'https://api.binance.com/api/v3',
226
226
  'v1': 'https://api.binance.com/api/v1',
227
227
  'papi': 'https://papi.binance.com/papi/v1',
228
+ 'papiV2': 'https://papi.binance.com/papi/v2',
228
229
  },
229
230
  'www': 'https://www.binance.com',
230
231
  'referral': {
@@ -1167,6 +1168,11 @@ class binance extends binance$1 {
1167
1168
  'listenKey': 0.2,
1168
1169
  },
1169
1170
  },
1171
+ 'papiV2': {
1172
+ 'get': {
1173
+ 'um/account': 1,
1174
+ },
1175
+ },
1170
1176
  },
1171
1177
  'fees': {
1172
1178
  'trading': {
@@ -1559,7 +1565,6 @@ class binance extends binance$1 {
1559
1565
  },
1560
1566
  },
1561
1567
  'features': {
1562
- // https://developers.binance.com/docs/binance-spot-api-docs/rest-api#:~:text=quoteOrderQty
1563
1568
  'spot': {
1564
1569
  'sandbox': true,
1565
1570
  'createOrder': {
@@ -1577,12 +1582,13 @@ class binance extends binance$1 {
1577
1582
  'GTD': false,
1578
1583
  },
1579
1584
  'hedged': true,
1585
+ 'leverage': false,
1586
+ 'marketBuyRequiresPrice': false,
1587
+ 'marketBuyByCost': true,
1580
1588
  // exchange-supported features
1581
1589
  'selfTradePrevention': true,
1582
1590
  'trailing': true,
1583
- 'twap': false,
1584
- 'iceberg': true,
1585
- 'oco': false,
1591
+ 'iceberg': true, // todo implementation
1586
1592
  },
1587
1593
  'createOrders': undefined,
1588
1594
  'fetchMyTrades': {
@@ -1647,9 +1653,10 @@ class binance extends binance$1 {
1647
1653
  // exchange-supported features
1648
1654
  'selfTradePrevention': true,
1649
1655
  'trailing': true,
1650
- 'twap': false,
1651
1656
  'iceberg': false,
1652
- 'oco': false,
1657
+ 'leverage': false,
1658
+ 'marketBuyRequiresPrice': false,
1659
+ 'marketBuyByCost': true,
1653
1660
  },
1654
1661
  'createOrders': {
1655
1662
  'max': 5,
@@ -2826,7 +2833,7 @@ class binance extends binance$1 {
2826
2833
  * @method
2827
2834
  * @name binance#fetchTime
2828
2835
  * @description fetches the current integer timestamp in milliseconds from the exchange server
2829
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#check-server-time // spot
2836
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#check-server-time // spot
2830
2837
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Check-Server-Time // swap
2831
2838
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Check-Server-time // future
2832
2839
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -3074,7 +3081,7 @@ class binance extends binance$1 {
3074
3081
  * @method
3075
3082
  * @name binance#fetchMarkets
3076
3083
  * @description retrieves data on all markets for binance
3077
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#exchange-information // spot
3084
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#exchange-information // spot
3078
3085
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Exchange-Information // swap
3079
3086
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Exchange-Information // future
3080
3087
  * @see https://developers.binance.com/docs/derivatives/option/market-data/Exchange-Information // option
@@ -3684,7 +3691,7 @@ class binance extends binance$1 {
3684
3691
  * @method
3685
3692
  * @name binance#fetchBalance
3686
3693
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
3687
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#account-information-user_data // spot
3694
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#account-information-user_data // spot
3688
3695
  * @see https://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Account-Details // cross margin
3689
3696
  * @see https://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Account-Info // isolated margin
3690
3697
  * @see https://developers.binance.com/docs/wallet/asset/funding-wallet // funding
@@ -3958,7 +3965,7 @@ class binance extends binance$1 {
3958
3965
  * @method
3959
3966
  * @name binance#fetchOrderBook
3960
3967
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
3961
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#order-book // spot
3968
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#order-book // spot
3962
3969
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Order-Book // swap
3963
3970
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Order-Book // future
3964
3971
  * @see https://developers.binance.com/docs/derivatives/option/market-data/Order-Book // option
@@ -4224,8 +4231,8 @@ class binance extends binance$1 {
4224
4231
  * @method
4225
4232
  * @name binance#fetchTicker
4226
4233
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
4227
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#24hr-ticker-price-change-statistics // spot
4228
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#rolling-window-price-change-statistics // spot
4234
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#24hr-ticker-price-change-statistics // spot
4235
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#rolling-window-price-change-statistics // spot
4229
4236
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics // swap
4230
4237
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/24hr-Ticker-Price-Change-Statistics // future
4231
4238
  * @see https://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics // option
@@ -4270,7 +4277,7 @@ class binance extends binance$1 {
4270
4277
  * @method
4271
4278
  * @name binance#fetchBidsAsks
4272
4279
  * @description fetches the bid and ask price and volume for multiple markets
4273
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#symbol-order-book-ticker // spot
4280
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#symbol-order-book-ticker // spot
4274
4281
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker // swap
4275
4282
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Symbol-Order-Book-Ticker // future
4276
4283
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
@@ -4309,7 +4316,7 @@ class binance extends binance$1 {
4309
4316
  * @method
4310
4317
  * @name binance#fetchLastPrices
4311
4318
  * @description fetches the last price for multiple markets
4312
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#symbol-price-ticker // spot
4319
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#symbol-price-ticker // spot
4313
4320
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Price-Ticker // swap
4314
4321
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Symbol-Price-Ticker // future
4315
4322
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the last prices
@@ -4414,7 +4421,7 @@ class binance extends binance$1 {
4414
4421
  * @method
4415
4422
  * @name binance#fetchTickers
4416
4423
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
4417
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#24hr-ticker-price-change-statistics // spot
4424
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#24hr-ticker-price-change-statistics // spot
4418
4425
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics // swap
4419
4426
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/24hr-Ticker-Price-Change-Statistics // future
4420
4427
  * @see https://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics // option
@@ -4588,7 +4595,7 @@ class binance extends binance$1 {
4588
4595
  * @method
4589
4596
  * @name binance#fetchOHLCV
4590
4597
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
4591
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#klinecandlestick-data
4598
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#klinecandlestick-data
4592
4599
  * @see https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data
4593
4600
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data
4594
4601
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data
@@ -4998,15 +5005,15 @@ class binance extends binance$1 {
4998
5005
  * @name binance#fetchTrades
4999
5006
  * @description get the list of most recent trades for a particular symbol
5000
5007
  * Default fetchTradesMethod
5001
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#compressedaggregate-trades-list // publicGetAggTrades (spot)
5008
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#compressedaggregate-trades-list // publicGetAggTrades (spot)
5002
5009
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List // fapiPublicGetAggTrades (swap)
5003
5010
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Compressed-Aggregate-Trades-List // dapiPublicGetAggTrades (future)
5004
5011
  * @see https://developers.binance.com/docs/derivatives/option/market-data/Recent-Trades-List // eapiPublicGetTrades (option)
5005
5012
  * Other fetchTradesMethod
5006
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#recent-trades-list // publicGetTrades (spot)
5013
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#recent-trades-list // publicGetTrades (spot)
5007
5014
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Recent-Trades-List // fapiPublicGetTrades (swap)
5008
5015
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Recent-Trades-List // dapiPublicGetTrades (future)
5009
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#old-trade-lookup // publicGetHistoricalTrades (spot)
5016
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#old-trade-lookup // publicGetHistoricalTrades (spot)
5010
5017
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Old-Trades-Lookup // fapiPublicGetHistoricalTrades (swap)
5011
5018
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Old-Trades-Lookup // dapiPublicGetHistoricalTrades (future)
5012
5019
  * @see https://developers.binance.com/docs/derivatives/option/market-data/Old-Trades-Lookup // eapiPublicGetHistoricalTrades (option)
@@ -5142,7 +5149,7 @@ class binance extends binance$1 {
5142
5149
  * @name binance#editSpotOrder
5143
5150
  * @ignore
5144
5151
  * @description edit a trade order
5145
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#cancel-an-existing-order-and-send-a-new-order-trade
5152
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#cancel-an-existing-order-and-send-a-new-order-trade
5146
5153
  * @param {string} id cancel order id
5147
5154
  * @param {string} symbol unified symbol of the market to create an order in
5148
5155
  * @param {string} type 'market' or 'limit' or 'STOP_LOSS' or 'STOP_LOSS_LIMIT' or 'TAKE_PROFIT' or 'TAKE_PROFIT_LIMIT' or 'STOP'
@@ -5420,7 +5427,7 @@ class binance extends binance$1 {
5420
5427
  * @method
5421
5428
  * @name binance#editOrder
5422
5429
  * @description edit a trade order
5423
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#cancel-an-existing-order-and-send-a-new-order-trade
5430
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#cancel-an-existing-order-and-send-a-new-order-trade
5424
5431
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Order
5425
5432
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Modify-Order
5426
5433
  * @param {string} id cancel order id
@@ -6111,13 +6118,13 @@ class binance extends binance$1 {
6111
6118
  * @method
6112
6119
  * @name binance#createOrder
6113
6120
  * @description create a trade order
6114
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#new-order-trade
6115
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#test-new-order-trade
6121
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#new-order-trade
6122
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#test-new-order-trade
6116
6123
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Order
6117
6124
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/New-Order
6118
6125
  * @see https://developers.binance.com/docs/derivatives/option/trade/New-Order
6119
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#sor
6120
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#test-new-order-using-sor-trade
6126
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#sor
6127
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#test-new-order-using-sor-trade
6121
6128
  * @see https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Order
6122
6129
  * @see https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order
6123
6130
  * @see https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order
@@ -6142,6 +6149,7 @@ class binance extends binance$1 {
6142
6149
  * @param {string} [params.stopLossOrTakeProfit] 'stopLoss' or 'takeProfit', required for spot trailing orders
6143
6150
  * @param {string} [params.positionSide] *swap and portfolio margin only* "BOTH" for one-way mode, "LONG" for buy side of hedged mode, "SHORT" for sell side of hedged mode
6144
6151
  * @param {bool} [params.hedged] *swap and portfolio margin only* true for hedged mode, false for one way mode, default is false
6152
+ * @param {float} [params.cost] *spot market buy only* the quote quantity that can be used as an alternative for the amount
6145
6153
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
6146
6154
  */
6147
6155
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
@@ -6548,7 +6556,7 @@ class binance extends binance$1 {
6548
6556
  * @method
6549
6557
  * @name binance#createMarketOrderWithCost
6550
6558
  * @description create a market order by providing the symbol, side and cost
6551
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#new-order-trade
6559
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#new-order-trade
6552
6560
  * @param {string} symbol unified symbol of the market to create an order in
6553
6561
  * @param {string} side 'buy' or 'sell'
6554
6562
  * @param {float} cost how much you want to trade in units of the quote currency
@@ -6561,14 +6569,16 @@ class binance extends binance$1 {
6561
6569
  if (!market['spot']) {
6562
6570
  throw new errors.NotSupported(this.id + ' createMarketOrderWithCost() supports spot orders only');
6563
6571
  }
6564
- params['cost'] = cost;
6565
- return await this.createOrder(symbol, 'market', side, cost, undefined, params);
6572
+ const req = {
6573
+ 'cost': cost,
6574
+ };
6575
+ return await this.createOrder(symbol, 'market', side, 0, undefined, this.extend(req, params));
6566
6576
  }
6567
6577
  /**
6568
6578
  * @method
6569
6579
  * @name binance#createMarketBuyOrderWithCost
6570
6580
  * @description create a market buy order by providing the symbol and cost
6571
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#new-order-trade
6581
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#new-order-trade
6572
6582
  * @param {string} symbol unified symbol of the market to create an order in
6573
6583
  * @param {float} cost how much you want to trade in units of the quote currency
6574
6584
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -6580,14 +6590,16 @@ class binance extends binance$1 {
6580
6590
  if (!market['spot']) {
6581
6591
  throw new errors.NotSupported(this.id + ' createMarketBuyOrderWithCost() supports spot orders only');
6582
6592
  }
6583
- params['cost'] = cost;
6584
- return await this.createOrder(symbol, 'market', 'buy', cost, undefined, params);
6593
+ const req = {
6594
+ 'cost': cost,
6595
+ };
6596
+ return await this.createOrder(symbol, 'market', 'buy', 0, undefined, this.extend(req, params));
6585
6597
  }
6586
6598
  /**
6587
6599
  * @method
6588
6600
  * @name binance#createMarketSellOrderWithCost
6589
6601
  * @description create a market sell order by providing the symbol and cost
6590
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#new-order-trade
6602
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#new-order-trade
6591
6603
  * @param {string} symbol unified symbol of the market to create an order in
6592
6604
  * @param {float} cost how much you want to trade in units of the quote currency
6593
6605
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -6606,7 +6618,7 @@ class binance extends binance$1 {
6606
6618
  * @method
6607
6619
  * @name binance#fetchOrder
6608
6620
  * @description fetches information on an order made by the user
6609
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#query-order-user_data
6621
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#query-order-user_data
6610
6622
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Order
6611
6623
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Query-Order
6612
6624
  * @see https://developers.binance.com/docs/derivatives/option/trade/Query-Single-Order
@@ -6688,7 +6700,7 @@ class binance extends binance$1 {
6688
6700
  * @method
6689
6701
  * @name binance#fetchOrders
6690
6702
  * @description fetches information on multiple orders made by the user
6691
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#all-orders-user_data
6703
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#all-orders-user_data
6692
6704
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders
6693
6705
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/All-Orders
6694
6706
  * @see https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History
@@ -6967,7 +6979,7 @@ class binance extends binance$1 {
6967
6979
  * @method
6968
6980
  * @name binance#fetchOpenOrders
6969
6981
  * @description fetch all unfilled currently open orders
6970
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#current-open-orders-user_data
6982
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#current-open-orders-user_data
6971
6983
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Open-Orders
6972
6984
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Current-All-Open-Orders
6973
6985
  * @see https://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders
@@ -7289,7 +7301,7 @@ class binance extends binance$1 {
7289
7301
  * @method
7290
7302
  * @name binance#fetchClosedOrders
7291
7303
  * @description fetches information on multiple closed orders made by the user
7292
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#all-orders-user_data
7304
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#all-orders-user_data
7293
7305
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders
7294
7306
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/All-Orders
7295
7307
  * @see https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History
@@ -7319,7 +7331,7 @@ class binance extends binance$1 {
7319
7331
  * @method
7320
7332
  * @name binance#fetchCanceledOrders
7321
7333
  * @description fetches information on multiple canceled orders made by the user
7322
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#all-orders-user_data
7334
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#all-orders-user_data
7323
7335
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders
7324
7336
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/All-Orders
7325
7337
  * @see https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History
@@ -7349,7 +7361,7 @@ class binance extends binance$1 {
7349
7361
  * @method
7350
7362
  * @name binance#fetchCanceledAndClosedOrders
7351
7363
  * @description fetches information on multiple canceled orders made by the user
7352
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#all-orders-user_data
7364
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#all-orders-user_data
7353
7365
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders
7354
7366
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/All-Orders
7355
7367
  * @see https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History
@@ -7382,7 +7394,7 @@ class binance extends binance$1 {
7382
7394
  * @method
7383
7395
  * @name binance#cancelOrder
7384
7396
  * @description cancels an open order
7385
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#cancel-order-trade
7397
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#cancel-order-trade
7386
7398
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Order
7387
7399
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Cancel-Order
7388
7400
  * @see https://developers.binance.com/docs/derivatives/option/trade/Cancel-Option-Order
@@ -7488,7 +7500,7 @@ class binance extends binance$1 {
7488
7500
  * @method
7489
7501
  * @name binance#cancelAllOrders
7490
7502
  * @description cancel all open orders in a market
7491
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#cancel-all-open-orders-on-a-symbol-trade
7503
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#cancel-all-open-orders-on-a-symbol-trade
7492
7504
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Open-Orders
7493
7505
  * @see https://developers.binance.com/docs/derivatives/option/trade/Cancel-all-Option-orders-on-specific-symbol
7494
7506
  * @see https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-All-Open-Orders
@@ -7736,7 +7748,7 @@ class binance extends binance$1 {
7736
7748
  * @method
7737
7749
  * @name binance#fetchOrderTrades
7738
7750
  * @description fetch all the trades made from a single order
7739
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#account-trade-list-user_data
7751
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#account-trade-list-user_data
7740
7752
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Account-Trade-List
7741
7753
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Account-Trade-List
7742
7754
  * @see https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Trade-List
@@ -7767,7 +7779,7 @@ class binance extends binance$1 {
7767
7779
  * @method
7768
7780
  * @name binance#fetchMyTrades
7769
7781
  * @description fetch all trades made by the user
7770
- * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api#account-trade-list-user_data
7782
+ * @see https://developers.binance.com/docs/binance-spot-api-docs/rest-api/public-api-endpoints#account-trade-list-user_data
7771
7783
  * @see https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Account-Trade-List
7772
7784
  * @see https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Account-Trade-List
7773
7785
  * @see https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Trade-List
@@ -11833,7 +11845,7 @@ class binance extends binance$1 {
11833
11845
  throw new errors.AuthenticationError(this.id + ' userDataStream endpoint requires `apiKey` credential');
11834
11846
  }
11835
11847
  }
11836
- else if ((api === 'private') || (api === 'eapiPrivate') || (api === 'sapi' && path !== 'system/status') || (api === 'sapiV2') || (api === 'sapiV3') || (api === 'sapiV4') || (api === 'dapiPrivate') || (api === 'dapiPrivateV2') || (api === 'fapiPrivate') || (api === 'fapiPrivateV2') || (api === 'fapiPrivateV3') || (api === 'papi' && path !== 'ping')) {
11848
+ else if ((api === 'private') || (api === 'eapiPrivate') || (api === 'sapi' && path !== 'system/status') || (api === 'sapiV2') || (api === 'sapiV3') || (api === 'sapiV4') || (api === 'dapiPrivate') || (api === 'dapiPrivateV2') || (api === 'fapiPrivate') || (api === 'fapiPrivateV2') || (api === 'fapiPrivateV3') || (api === 'papi' && path !== 'ping') || (api === 'papiV2')) {
11837
11849
  this.checkRequiredCredentials();
11838
11850
  if (method === 'POST' && ((path === 'order') || (path === 'sor/order'))) {
11839
11851
  // inject in implicit API calls
@@ -560,6 +560,11 @@ class bingx extends bingx$1 {
560
560
  },
561
561
  'hedged': true,
562
562
  'trailing': true,
563
+ 'leverage': false,
564
+ 'marketBuyRequiresPrice': false,
565
+ 'marketBuyByCost': true,
566
+ 'selfTradePrevention': false,
567
+ 'iceberg': false,
563
568
  },
564
569
  'createOrders': {
565
570
  'max': 5,
@@ -420,8 +420,12 @@ class bitfinex extends bitfinex$1 {
420
420
  'GTD': false,
421
421
  },
422
422
  'hedged': false,
423
- 'trailing': true, // todo: unify
424
- // todo: leverage unify
423
+ 'trailing': true,
424
+ 'leverage': true,
425
+ 'marketBuyRequiresPrice': false,
426
+ 'marketBuyByCost': true,
427
+ 'selfTradePrevention': false,
428
+ 'iceberg': false,
425
429
  },
426
430
  'createOrders': {
427
431
  'max': 75,
@@ -7041,8 +7041,10 @@ class bitget extends bitget$1 {
7041
7041
  // },
7042
7042
  // ]
7043
7043
  // }
7044
+ symbols = this.marketSymbols(symbols);
7044
7045
  const data = this.safeList(response, 'data', []);
7045
- return this.parseFundingRates(data, market);
7046
+ const result = this.parseFundingRates(data, market);
7047
+ return this.filterByArray(result, 'symbol', symbols);
7046
7048
  }
7047
7049
  parseFundingRate(contract, market = undefined) {
7048
7050
  //
@@ -707,14 +707,11 @@ class bitmart extends bitmart$1 {
707
707
  },
708
708
  'hedged': false,
709
709
  'trailing': false,
710
- 'marketBuyRequiresPrice': true,
710
+ 'marketBuyRequiresPrice': false,
711
711
  'marketBuyByCost': true,
712
- // exchange-supported features
713
- // 'leverage': true,
714
- // 'selfTradePrevention': false,
715
- // 'twap': false,
716
- // 'iceberg': false,
717
- // 'oco': false,
712
+ 'leverage': true,
713
+ 'selfTradePrevention': false,
714
+ 'iceberg': false,
718
715
  },
719
716
  'createOrders': {
720
717
  'max': 10,
@@ -299,11 +299,9 @@ class bitmex extends bitmex$1 {
299
299
  'trailing': true,
300
300
  'marketBuyRequiresPrice': false,
301
301
  'marketBuyByCost': false,
302
- // exchange-supported features
303
- // 'selfTradePrevention': true,
304
- // 'twap': false,
305
- // 'iceberg': false,
306
- // 'oco': false,
302
+ 'leverage': false,
303
+ 'selfTradePrevention': false,
304
+ 'iceberg': true, // todo
307
305
  },
308
306
  'createOrders': undefined,
309
307
  'fetchMyTrades': {
@@ -512,6 +512,11 @@ class bitstamp extends bitstamp$1 {
512
512
  },
513
513
  'hedged': false,
514
514
  'trailing': false,
515
+ 'leverage': false,
516
+ 'marketBuyByCost': false,
517
+ 'marketBuyRequiresPrice': false,
518
+ 'selfTradePrevention': false,
519
+ 'iceberg': false,
515
520
  },
516
521
  'createOrders': undefined,
517
522
  'fetchMyTrades': {
@@ -1107,12 +1107,12 @@ class bybit extends bybit$1 {
1107
1107
  'GTD': false,
1108
1108
  },
1109
1109
  'hedged': true,
1110
- // exchange-supported features
1111
1110
  'selfTradePrevention': true,
1112
1111
  'trailing': true,
1113
- 'twap': false,
1114
1112
  'iceberg': false,
1115
- 'oco': false,
1113
+ 'leverage': false,
1114
+ 'marketBuyRequiresPrice': false,
1115
+ 'marketBuyByCost': true,
1116
1116
  },
1117
1117
  'createOrders': {
1118
1118
  'max': 10,
@@ -1151,29 +1151,13 @@ class bybit extends bybit$1 {
1151
1151
  'spot': {
1152
1152
  'extends': 'default',
1153
1153
  'createOrder': {
1154
- 'marginMode': false,
1155
- 'triggerPrice': true,
1156
1154
  'triggerPriceType': undefined,
1157
1155
  'triggerDirection': false,
1158
- 'stopLossPrice': true,
1159
- 'takeProfitPrice': true,
1160
1156
  'attachedStopLossTakeProfit': {
1161
1157
  'triggerPriceType': undefined,
1162
1158
  'limitPrice': true,
1163
1159
  },
1164
- 'timeInForce': {
1165
- 'IOC': true,
1166
- 'FOK': true,
1167
- 'PO': true,
1168
- 'GTD': false,
1169
- },
1170
- 'hedged': true,
1171
- // exchange-supported features
1172
- 'selfTradePrevention': true,
1173
- 'trailing': true,
1174
- 'twap': false,
1175
- 'iceberg': false,
1176
- 'oco': false,
1160
+ 'marketBuyRequiresPrice': true,
1177
1161
  },
1178
1162
  },
1179
1163
  'swap': {
@@ -2098,6 +2082,7 @@ class bybit extends bybit$1 {
2098
2082
  'quoteId': quoteId,
2099
2083
  'settleId': settleId,
2100
2084
  'type': 'option',
2085
+ 'subType': 'linear',
2101
2086
  'spot': false,
2102
2087
  'margin': false,
2103
2088
  'swap': false,
@@ -2105,8 +2090,8 @@ class bybit extends bybit$1 {
2105
2090
  'option': true,
2106
2091
  'active': isActive,
2107
2092
  'contract': true,
2108
- 'linear': undefined,
2109
- 'inverse': undefined,
2093
+ 'linear': true,
2094
+ 'inverse': false,
2110
2095
  'taker': this.safeNumber(market, 'takerFee', this.parseNumber('0.0006')),
2111
2096
  'maker': this.safeNumber(market, 'makerFee', this.parseNumber('0.0001')),
2112
2097
  'contractSize': this.parseNumber('1'),
@@ -375,7 +375,7 @@ class coinbase extends coinbase$1 {
375
375
  'user_native_currency': 'USD', // needed to get fees for v3
376
376
  },
377
377
  'features': {
378
- 'spot': {
378
+ 'default': {
379
379
  'sandbox': false,
380
380
  'createOrder': {
381
381
  'marginMode': true,
@@ -393,6 +393,11 @@ class coinbase extends coinbase$1 {
393
393
  },
394
394
  'hedged': false,
395
395
  'trailing': false,
396
+ 'leverage': true,
397
+ 'marketBuyByCost': true,
398
+ 'marketBuyRequiresPrice': true,
399
+ 'selfTradePrevention': false,
400
+ 'iceberg': false,
396
401
  },
397
402
  'createOrders': undefined,
398
403
  'fetchMyTrades': {
@@ -433,21 +438,20 @@ class coinbase extends coinbase$1 {
433
438
  'limit': 350,
434
439
  },
435
440
  },
441
+ 'spot': {
442
+ 'extends': 'default',
443
+ },
436
444
  'swap': {
437
445
  'linear': {
438
- 'extends': 'spot',
439
- },
440
- 'inverse': {
441
- 'extends': 'spot',
446
+ 'extends': 'default',
442
447
  },
448
+ 'inverse': undefined,
443
449
  },
444
450
  'future': {
445
451
  'linear': {
446
- 'extends': 'spot',
447
- },
448
- 'inverse': {
449
- 'extends': 'spot',
452
+ 'extends': 'default',
450
453
  },
454
+ 'inverse': undefined,
451
455
  },
452
456
  },
453
457
  });
@@ -256,7 +256,7 @@ class coinbaseinternational extends coinbaseinternational$1 {
256
256
  },
257
257
  },
258
258
  'features': {
259
- 'spot': {
259
+ 'default': {
260
260
  'sandbox': true,
261
261
  'createOrder': {
262
262
  'marginMode': false,
@@ -275,6 +275,11 @@ class coinbaseinternational extends coinbaseinternational$1 {
275
275
  },
276
276
  'hedged': false,
277
277
  'trailing': false,
278
+ 'leverage': false,
279
+ 'marketBuyByCost': false,
280
+ 'marketBuyRequiresPrice': true,
281
+ 'selfTradePrevention': true,
282
+ 'iceberg': false,
278
283
  },
279
284
  'createOrders': undefined,
280
285
  'fetchMyTrades': {
@@ -300,21 +305,20 @@ class coinbaseinternational extends coinbaseinternational$1 {
300
305
  'limit': 300,
301
306
  },
302
307
  },
308
+ 'spot': {
309
+ 'extends': 'default',
310
+ },
303
311
  'swap': {
304
312
  'linear': {
305
- 'extends': 'spot',
313
+ 'extends': 'default',
306
314
  },
307
315
  'inverse': {
308
- 'extends': 'spot',
316
+ 'extends': 'default',
309
317
  },
310
318
  },
311
319
  'future': {
312
- 'linear': {
313
- 'extends': 'spot',
314
- },
315
- 'inverse': {
316
- 'extends': 'spot',
317
- },
320
+ 'linear': undefined,
321
+ 'inverse': undefined,
318
322
  },
319
323
  },
320
324
  });