ccxt 4.4.24 → 4.4.26

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 (74) hide show
  1. package/README.md +6 -6
  2. package/dist/ccxt.browser.min.js +4 -4
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/alpaca.js +257 -11
  5. package/dist/cjs/src/base/Exchange.js +14 -1
  6. package/dist/cjs/src/binance.js +2 -3
  7. package/dist/cjs/src/bingx.js +7 -1
  8. package/dist/cjs/src/bitget.js +2 -2
  9. package/dist/cjs/src/bitmart.js +3 -3
  10. package/dist/cjs/src/bitmex.js +8 -7
  11. package/dist/cjs/src/bybit.js +3 -14
  12. package/dist/cjs/src/cex.js +40 -0
  13. package/dist/cjs/src/coinex.js +48 -29
  14. package/dist/cjs/src/digifinex.js +2 -2
  15. package/dist/cjs/src/exmo.js +1 -0
  16. package/dist/cjs/src/gate.js +3 -3
  17. package/dist/cjs/src/hitbtc.js +6 -12
  18. package/dist/cjs/src/htx.js +18 -19
  19. package/dist/cjs/src/hyperliquid.js +14 -4
  20. package/dist/cjs/src/kucoin.js +2 -2
  21. package/dist/cjs/src/okx.js +3 -2
  22. package/dist/cjs/src/phemex.js +4 -2
  23. package/dist/cjs/src/pro/exmo.js +216 -3
  24. package/dist/cjs/src/whitebit.js +2 -2
  25. package/dist/cjs/src/woofipro.js +1 -1
  26. package/dist/cjs/src/xt.js +44 -28
  27. package/js/ccxt.d.ts +1 -1
  28. package/js/ccxt.js +1 -1
  29. package/js/src/abstract/alpaca.d.ts +1 -0
  30. package/js/src/abstract/bingx.d.ts +1 -0
  31. package/js/src/abstract/okx.d.ts +1 -0
  32. package/js/src/abstract/phemex.d.ts +1 -0
  33. package/js/src/alpaca.d.ts +6 -1
  34. package/js/src/alpaca.js +258 -12
  35. package/js/src/base/Exchange.d.ts +7 -6
  36. package/js/src/base/Exchange.js +14 -1
  37. package/js/src/base/types.d.ts +3 -3
  38. package/js/src/binance.d.ts +3 -14
  39. package/js/src/binance.js +2 -3
  40. package/js/src/bingx.js +7 -1
  41. package/js/src/bitget.d.ts +3 -13
  42. package/js/src/bitget.js +2 -2
  43. package/js/src/bitmart.d.ts +3 -13
  44. package/js/src/bitmart.js +3 -3
  45. package/js/src/bitmex.js +8 -7
  46. package/js/src/bybit.d.ts +3 -14
  47. package/js/src/bybit.js +3 -14
  48. package/js/src/cex.d.ts +2 -0
  49. package/js/src/cex.js +40 -0
  50. package/js/src/coinex.d.ts +3 -15
  51. package/js/src/coinex.js +48 -29
  52. package/js/src/digifinex.d.ts +3 -13
  53. package/js/src/digifinex.js +2 -2
  54. package/js/src/exmo.js +1 -0
  55. package/js/src/gate.d.ts +3 -13
  56. package/js/src/gate.js +3 -3
  57. package/js/src/hitbtc.d.ts +0 -1
  58. package/js/src/hitbtc.js +6 -12
  59. package/js/src/htx.d.ts +3 -14
  60. package/js/src/htx.js +18 -19
  61. package/js/src/hyperliquid.js +14 -4
  62. package/js/src/kucoin.d.ts +3 -13
  63. package/js/src/kucoin.js +2 -2
  64. package/js/src/okx.d.ts +3 -13
  65. package/js/src/okx.js +3 -2
  66. package/js/src/phemex.js +4 -2
  67. package/js/src/pro/exmo.d.ts +5 -1
  68. package/js/src/pro/exmo.js +216 -3
  69. package/js/src/whitebit.d.ts +3 -13
  70. package/js/src/whitebit.js +2 -2
  71. package/js/src/woo.d.ts +1 -1
  72. package/js/src/woofipro.js +1 -1
  73. package/js/src/xt.js +44 -28
  74. package/package.json +1 -1
@@ -17,7 +17,7 @@ class exmo extends exmo$1 {
17
17
  'watchTickers': true,
18
18
  'watchTrades': true,
19
19
  'watchMyTrades': true,
20
- 'watchOrders': false,
20
+ 'watchOrders': true,
21
21
  'watchOrderBook': true,
22
22
  'watchOHLCV': false,
23
23
  },
@@ -570,6 +570,219 @@ class exmo extends exmo$1 {
570
570
  this.handleDelta(bookside, deltas[i]);
571
571
  }
572
572
  }
573
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
574
+ /**
575
+ * @method
576
+ * @name exmo#watchOrders
577
+ * @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#85f7bc03-b1c9-4cd2-bd22-8fd422272825
578
+ * @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#95e4ed18-1791-4e6d-83ad-cbfe9be1051c
579
+ * @description watches information on multiple orders made by the user
580
+ * @param {string} symbol unified market symbol of the market orders were made in
581
+ * @param {int} [since] the earliest time in ms to fetch orders for
582
+ * @param {int} [limit] the maximum number of order structures to retrieve
583
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
584
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
585
+ */
586
+ await this.loadMarkets();
587
+ await this.authenticate(params);
588
+ const [type, query] = this.handleMarketTypeAndParams('watchOrders', undefined, params);
589
+ const url = this.urls['api']['ws'][type];
590
+ let messageHash = undefined;
591
+ if (symbol === undefined) {
592
+ messageHash = 'orders:' + type;
593
+ }
594
+ else {
595
+ const market = this.market(symbol);
596
+ symbol = market['symbol'];
597
+ messageHash = 'orders:' + market['symbol'];
598
+ }
599
+ const message = {
600
+ 'method': 'subscribe',
601
+ 'topics': [
602
+ type + '/orders',
603
+ ],
604
+ 'id': this.requestId(),
605
+ };
606
+ const request = this.deepExtend(message, query);
607
+ const orders = await this.watch(url, messageHash, request, messageHash, request);
608
+ return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
609
+ }
610
+ handleOrders(client, message) {
611
+ //
612
+ // spot
613
+ // {
614
+ // "ts": 1574427585174,
615
+ // "event": "snapshot",
616
+ // "topic": "spot/orders",
617
+ // "data": [
618
+ // {
619
+ // "order_id": "14",
620
+ // "client_id":"100500",
621
+ // "created": "1574427585",
622
+ // "pair": "BTC_USD",
623
+ // "price": "7750",
624
+ // "quantity": "0.1",
625
+ // "amount": "775",
626
+ // "original_quantity": "0.1",
627
+ // "original_amount": "775",
628
+ // "type": "sell",
629
+ // "status": "open"
630
+ // }
631
+ // ]
632
+ // }
633
+ //
634
+ // margin
635
+ // {
636
+ // "ts":1624371281773,
637
+ // "event":"snapshot",
638
+ // "topic":"margin/orders",
639
+ // "data":[
640
+ // {
641
+ // "order_id":"692844278081168665",
642
+ // "created":"1624371250919761600",
643
+ // "type":"limit_buy",
644
+ // "previous_type":"limit_buy",
645
+ // "pair":"BTC_USD",
646
+ // "leverage":"2",
647
+ // "price":"10000",
648
+ // "stop_price":"0",
649
+ // "distance":"0",
650
+ // "trigger_price":"10000",
651
+ // "init_quantity":"0.1",
652
+ // "quantity":"0.1",
653
+ // "funding_currency":"USD",
654
+ // "funding_quantity":"1000",
655
+ // "funding_rate":"0",
656
+ // "client_id":"111111",
657
+ // "expire":0,
658
+ // "src":1,
659
+ // "comment":"comment1",
660
+ // "updated":1624371250938136600,
661
+ // "status":"active"
662
+ // }
663
+ // ]
664
+ // }
665
+ //
666
+ const topic = this.safeString(message, 'topic');
667
+ const parts = topic.split('/');
668
+ const type = this.safeString(parts, 0);
669
+ const messageHash = 'orders:' + type;
670
+ const event = this.safeString(message, 'event');
671
+ if (this.orders === undefined) {
672
+ const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
673
+ this.orders = new Cache.ArrayCacheBySymbolById(limit);
674
+ }
675
+ const cachedOrders = this.orders;
676
+ let rawOrders = [];
677
+ if (event === 'snapshot') {
678
+ rawOrders = this.safeValue(message, 'data', []);
679
+ }
680
+ else if (event === 'update') {
681
+ const rawOrder = this.safeDict(message, 'data', {});
682
+ rawOrders.push(rawOrder);
683
+ }
684
+ const symbols = {};
685
+ for (let j = 0; j < rawOrders.length; j++) {
686
+ const order = this.parseWsOrder(rawOrders[j]);
687
+ cachedOrders.append(order);
688
+ symbols[order['symbol']] = true;
689
+ }
690
+ const symbolKeys = Object.keys(symbols);
691
+ for (let i = 0; i < symbolKeys.length; i++) {
692
+ const symbol = symbolKeys[i];
693
+ const symbolSpecificMessageHash = 'orders:' + symbol;
694
+ client.resolve(cachedOrders, symbolSpecificMessageHash);
695
+ }
696
+ client.resolve(cachedOrders, messageHash);
697
+ }
698
+ parseWsOrder(order, market = undefined) {
699
+ //
700
+ // {
701
+ // order_id: '43226756791',
702
+ // client_id: 0,
703
+ // created: '1730371416',
704
+ // type: 'market_buy',
705
+ // pair: 'TRX_USD',
706
+ // quantity: '0',
707
+ // original_quantity: '30',
708
+ // status: 'cancelled',
709
+ // last_trade_id: '726480870',
710
+ // last_trade_price: '0.17',
711
+ // last_trade_quantity: '30'
712
+ // }
713
+ //
714
+ const id = this.safeString(order, 'order_id');
715
+ const timestamp = this.safeTimestamp(order, 'created');
716
+ const orderType = this.safeString(order, 'type');
717
+ const side = this.parseSide(orderType);
718
+ const marketId = this.safeString(order, 'pair');
719
+ market = this.safeMarket(marketId, market);
720
+ const symbol = market['symbol'];
721
+ let amount = this.safeString(order, 'quantity');
722
+ if (amount === undefined) {
723
+ const amountField = (side === 'buy') ? 'in_amount' : 'out_amount';
724
+ amount = this.safeString(order, amountField);
725
+ }
726
+ const price = this.safeString(order, 'price');
727
+ const clientOrderId = this.omitZero(this.safeString(order, 'client_id'));
728
+ const triggerPrice = this.omitZero(this.safeString(order, 'stop_price'));
729
+ let type = undefined;
730
+ if ((orderType !== 'buy') && (orderType !== 'sell')) {
731
+ type = orderType;
732
+ }
733
+ let trades = undefined;
734
+ if ('last_trade_id' in order) {
735
+ const trade = this.parseWsTrade(order, market);
736
+ trades = [trade];
737
+ }
738
+ return this.safeOrder({
739
+ 'id': id,
740
+ 'clientOrderId': clientOrderId,
741
+ 'datetime': this.iso8601(timestamp),
742
+ 'timestamp': timestamp,
743
+ 'lastTradeTimestamp': undefined,
744
+ 'status': this.parseStatus(this.safeString(order, 'status')),
745
+ 'symbol': symbol,
746
+ 'type': type,
747
+ 'timeInForce': undefined,
748
+ 'postOnly': undefined,
749
+ 'side': side,
750
+ 'price': price,
751
+ 'stopPrice': triggerPrice,
752
+ 'triggerPrice': triggerPrice,
753
+ 'cost': undefined,
754
+ 'amount': this.safeString(order, 'original_quantity'),
755
+ 'filled': undefined,
756
+ 'remaining': this.safeString(order, 'quantity'),
757
+ 'average': undefined,
758
+ 'trades': trades,
759
+ 'fee': undefined,
760
+ 'info': order,
761
+ }, market);
762
+ }
763
+ parseWsTrade(trade, market = undefined) {
764
+ const id = this.safeString(trade, 'order_id');
765
+ const orderType = this.safeString(trade, 'type');
766
+ const side = this.parseSide(orderType);
767
+ const marketId = this.safeString(trade, 'pair');
768
+ market = this.safeMarket(marketId, market);
769
+ const symbol = market['symbol'];
770
+ let type = undefined;
771
+ if ((orderType !== 'buy') && (orderType !== 'sell')) {
772
+ type = orderType;
773
+ }
774
+ return this.safeTrade({
775
+ 'id': this.safeString(trade, 'last_trade_id'),
776
+ 'symbol': symbol,
777
+ 'order': id,
778
+ 'type': type,
779
+ 'side': side,
780
+ 'price': this.safeString(trade, 'last_trade_price'),
781
+ 'amount': this.safeString(trade, 'last_trade_quantity'),
782
+ 'cost': undefined,
783
+ 'fee': undefined,
784
+ }, market);
785
+ }
573
786
  handleMessage(client, message) {
574
787
  //
575
788
  // {
@@ -610,8 +823,8 @@ class exmo extends exmo$1 {
610
823
  'spot/trades': this.handleTrades,
611
824
  'margin/trades': this.handleTrades,
612
825
  'spot/order_book_updates': this.handleOrderBook,
613
- // 'spot/orders': this.handleOrders,
614
- // 'margin/orders': this.handleOrders,
826
+ 'spot/orders': this.handleOrders,
827
+ 'margin/orders': this.handleOrders,
615
828
  'spot/user_trades': this.handleMyTrades,
616
829
  'margin/user_trades': this.handleMyTrades,
617
830
  };
@@ -2357,15 +2357,15 @@ class whitebit extends whitebit$1 {
2357
2357
  const symbol = this.safeSymbol(marketId, market, '_');
2358
2358
  const timestamp = this.safeTimestamp(info, 'modifyDate');
2359
2359
  return {
2360
+ 'info': info,
2360
2361
  'symbol': symbol,
2361
- 'marginMode': 'cross',
2362
2362
  'currency': 'USDT',
2363
2363
  'interest': this.safeNumber(info, 'unrealizedFunding'),
2364
2364
  'interestRate': 0.00098,
2365
2365
  'amountBorrowed': this.safeNumber(info, 'amount'),
2366
+ 'marginMode': 'cross',
2366
2367
  'timestamp': timestamp,
2367
2368
  'datetime': this.iso8601(timestamp),
2368
- 'info': info,
2369
2369
  };
2370
2370
  }
2371
2371
  async fetchFundingRate(symbol, params = {}) {
@@ -126,7 +126,7 @@ class woofipro extends woofipro$1 {
126
126
  '1y': '1y',
127
127
  },
128
128
  'urls': {
129
- 'logo': 'https://github.com/ccxt/ccxt/assets/43336371/b1e7b348-a0fc-4605-8b7f-91176958fd69',
129
+ 'logo': 'https://github.com/user-attachments/assets/9ba21b8a-a9c7-4770-b7f1-ce3bcbde68c1',
130
130
  'api': {
131
131
  'public': 'https://api-evm.orderly.org',
132
132
  'private': 'https://api-evm.orderly.org',
@@ -1744,6 +1744,10 @@ class xt extends xt$1 {
1744
1744
  market = this.safeMarket(marketId, market, '_', marketType);
1745
1745
  const symbol = market['symbol'];
1746
1746
  const timestamp = this.safeInteger(ticker, 't');
1747
+ let percentage = this.safeString2(ticker, 'cr', 'r');
1748
+ if (percentage !== undefined) {
1749
+ percentage = Precise["default"].stringMul(percentage, '100');
1750
+ }
1747
1751
  return this.safeTicker({
1748
1752
  'symbol': symbol,
1749
1753
  'timestamp': timestamp,
@@ -1760,7 +1764,7 @@ class xt extends xt$1 {
1760
1764
  'last': this.safeString(ticker, 'c'),
1761
1765
  'previousClose': undefined,
1762
1766
  'change': this.safeNumber(ticker, 'cv'),
1763
- 'percentage': this.safeNumber2(ticker, 'cr', 'r'),
1767
+ 'percentage': this.parseNumber(percentage),
1764
1768
  'average': undefined,
1765
1769
  'baseVolume': undefined,
1766
1770
  'quoteVolume': this.safeNumber2(ticker, 'a', 'v'),
@@ -1966,6 +1970,17 @@ class xt extends xt$1 {
1966
1970
  // "b": true
1967
1971
  // }
1968
1972
  //
1973
+ // spot: watchTrades
1974
+ //
1975
+ // {
1976
+ // s: 'btc_usdt',
1977
+ // i: '228825383103928709',
1978
+ // t: 1684258222702,
1979
+ // p: '27003.65',
1980
+ // q: '0.000796',
1981
+ // b: true
1982
+ // }
1983
+ //
1969
1984
  // spot: watchMyTrades
1970
1985
  //
1971
1986
  // {
@@ -1978,17 +1993,6 @@ class xt extends xt$1 {
1978
1993
  // "v": "90000" // volume trade amount
1979
1994
  // }
1980
1995
  //
1981
- // spot: watchTrades
1982
- //
1983
- // {
1984
- // s: 'btc_usdt',
1985
- // i: '228825383103928709',
1986
- // t: 1684258222702,
1987
- // p: '27003.65',
1988
- // q: '0.000796',
1989
- // b: true
1990
- // }
1991
- //
1992
1996
  // swap and future: fetchTrades
1993
1997
  //
1994
1998
  // {
@@ -2068,22 +2072,34 @@ class xt extends xt$1 {
2068
2072
  marketType = hasSpotKeys ? 'spot' : 'contract';
2069
2073
  }
2070
2074
  market = this.safeMarket(marketId, market, '_', marketType);
2071
- const bidOrAsk = this.safeString(trade, 'm');
2072
- let side = this.safeStringLower(trade, 'orderSide');
2073
- if (bidOrAsk !== undefined) {
2074
- side = (bidOrAsk === 'BID') ? 'buy' : 'sell';
2075
- }
2076
- const buyerMaker = this.safeValue(trade, 'b');
2077
- if (buyerMaker !== undefined) {
2078
- side = 'buy';
2079
- }
2080
- let takerOrMaker = this.safeStringLower(trade, 'takerMaker');
2081
- if (buyerMaker !== undefined) {
2082
- takerOrMaker = buyerMaker ? 'maker' : 'taker';
2083
- }
2084
- const isMaker = this.safeBool(trade, 'isMaker');
2085
- if (isMaker !== undefined) {
2086
- takerOrMaker = isMaker ? 'maker' : 'taker';
2075
+ let side = undefined;
2076
+ let takerOrMaker = undefined;
2077
+ const isBuyerMaker = this.safeBool(trade, 'b');
2078
+ if (isBuyerMaker !== undefined) {
2079
+ side = isBuyerMaker ? 'sell' : 'buy';
2080
+ takerOrMaker = 'taker'; // public trades always taker
2081
+ }
2082
+ else {
2083
+ const takerMaker = this.safeStringLower(trade, 'takerMaker');
2084
+ if (takerMaker !== undefined) {
2085
+ takerOrMaker = takerMaker;
2086
+ }
2087
+ else {
2088
+ const isMaker = this.safeBool(trade, 'isMaker');
2089
+ if (isMaker !== undefined) {
2090
+ takerOrMaker = isMaker ? 'maker' : 'taker';
2091
+ }
2092
+ }
2093
+ const orderSide = this.safeStringLower(trade, 'orderSide');
2094
+ if (orderSide !== undefined) {
2095
+ side = orderSide;
2096
+ }
2097
+ else {
2098
+ const bidOrAsk = this.safeString(trade, 'm');
2099
+ if (bidOrAsk !== undefined) {
2100
+ side = (bidOrAsk === 'BID') ? 'buy' : 'sell';
2101
+ }
2102
+ }
2087
2103
  }
2088
2104
  const timestamp = this.safeIntegerN(trade, ['t', 'time', 'timestamp']);
2089
2105
  const quantity = this.safeString2(trade, 'q', '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, MarketMarginModes, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, 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.4.23";
7
+ declare const version = "4.4.25";
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, ManualInteractionNeeded, 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.4.24';
41
+ const version = '4.4.26';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -19,6 +19,7 @@ interface Exchange {
19
19
  traderPrivateGetV2AssetsSymbolOrAssetId(params?: {}): Promise<implicitReturnType>;
20
20
  traderPrivateGetV2CorporateActionsAnnouncementsId(params?: {}): Promise<implicitReturnType>;
21
21
  traderPrivateGetV2CorporateActionsAnnouncements(params?: {}): Promise<implicitReturnType>;
22
+ traderPrivateGetV2Wallets(params?: {}): Promise<implicitReturnType>;
22
23
  traderPrivatePostV2Orders(params?: {}): Promise<implicitReturnType>;
23
24
  traderPrivatePostV2Watchlists(params?: {}): Promise<implicitReturnType>;
24
25
  traderPrivatePostV2WatchlistsWatchlistId(params?: {}): Promise<implicitReturnType>;
@@ -35,6 +35,7 @@ interface Exchange {
35
35
  swapV1PrivateGetMarketMarkPriceKlines(params?: {}): Promise<implicitReturnType>;
36
36
  swapV1PrivateGetTradeBatchCancelReplace(params?: {}): Promise<implicitReturnType>;
37
37
  swapV1PrivateGetTradeFullOrder(params?: {}): Promise<implicitReturnType>;
38
+ swapV1PrivateGetPositionMarginHistory(params?: {}): Promise<implicitReturnType>;
38
39
  swapV1PrivatePostTradeCancelReplace(params?: {}): Promise<implicitReturnType>;
39
40
  swapV1PrivatePostPositionSideDual(params?: {}): Promise<implicitReturnType>;
40
41
  swapV1PrivatePostTradeClosePosition(params?: {}): Promise<implicitReturnType>;
@@ -188,6 +188,7 @@ interface Exchange {
188
188
  privateGetFinanceStakingDefiOrdersHistory(params?: {}): Promise<implicitReturnType>;
189
189
  privateGetFinanceStakingDefiEthBalance(params?: {}): Promise<implicitReturnType>;
190
190
  privateGetFinanceStakingDefiEthPurchaseRedeemHistory(params?: {}): Promise<implicitReturnType>;
191
+ privateGetFinanceStakingDefiEthProductInfo(params?: {}): Promise<implicitReturnType>;
191
192
  privateGetCopytradingCurrentSubpositions(params?: {}): Promise<implicitReturnType>;
192
193
  privateGetCopytradingSubpositionsHistory(params?: {}): Promise<implicitReturnType>;
193
194
  privateGetCopytradingInstruments(params?: {}): Promise<implicitReturnType>;
@@ -23,6 +23,7 @@ interface Exchange {
23
23
  v1GetExchangePublicProducts(params?: {}): Promise<implicitReturnType>;
24
24
  v1GetApiDataPublicDataFundingRateHistory(params?: {}): Promise<implicitReturnType>;
25
25
  v2GetPublicProducts(params?: {}): Promise<implicitReturnType>;
26
+ v2GetPublicProductsPlus(params?: {}): Promise<implicitReturnType>;
26
27
  v2GetMdV2Orderbook(params?: {}): Promise<implicitReturnType>;
27
28
  v2GetMdV2Trade(params?: {}): Promise<implicitReturnType>;
28
29
  v2GetMdV2Ticker24hr(params?: {}): Promise<implicitReturnType>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/alpaca.js';
2
- import type { Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Trade, int } from './base/types.js';
2
+ import type { Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Trade, int, Strings, Ticker, Tickers, Currency, DepositAddress } from './base/types.js';
3
3
  /**
4
4
  * @class alpaca
5
5
  * @augments Exchange
@@ -13,6 +13,8 @@ export default class alpaca extends Exchange {
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
14
14
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
15
15
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
16
+ fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
17
+ fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
16
18
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
17
19
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
18
20
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
@@ -23,7 +25,10 @@ export default class alpaca extends Exchange {
23
25
  parseOrder(order: Dict, market?: Market): Order;
24
26
  parseOrderStatus(status: Str): string;
25
27
  parseTimeInForce(timeInForce: Str): string;
28
+ fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
26
29
  parseTrade(trade: Dict, market?: Market): Trade;
30
+ fetchDepositAddress(code: string, params?: {}): Promise<DepositAddress>;
31
+ parseDepositAddress(depositAddress: any, currency?: Currency): DepositAddress;
27
32
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
28
33
  url: string;
29
34
  method: string;