ccxt 4.3.29 → 4.3.31

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 (139) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +6 -0
  5. package/dist/cjs/src/binance.js +14 -1
  6. package/dist/cjs/src/bingx.js +1 -1
  7. package/dist/cjs/src/bitfinex2.js +100 -58
  8. package/dist/cjs/src/bitmart.js +3 -3
  9. package/dist/cjs/src/bitmex.js +1 -1
  10. package/dist/cjs/src/coinbase.js +1 -1
  11. package/dist/cjs/src/coinex.js +376 -403
  12. package/dist/cjs/src/gate.js +3 -3
  13. package/dist/cjs/src/hyperliquid.js +1 -1
  14. package/dist/cjs/src/kraken.js +2 -7
  15. package/dist/cjs/src/mexc.js +5 -5
  16. package/dist/cjs/src/poloniexfutures.js +8 -3
  17. package/dist/cjs/src/pro/bingx.js +1 -1
  18. package/dist/cjs/src/whitebit.js +54 -4
  19. package/js/ccxt.d.ts +1 -1
  20. package/js/ccxt.js +1 -1
  21. package/js/src/abstract/binance.d.ts +2 -0
  22. package/js/src/abstract/binancecoinm.d.ts +2 -0
  23. package/js/src/abstract/binanceus.d.ts +2 -0
  24. package/js/src/abstract/binanceusdm.d.ts +2 -0
  25. package/js/src/ace.d.ts +3 -3
  26. package/js/src/alpaca.d.ts +5 -5
  27. package/js/src/ascendex.d.ts +12 -23
  28. package/js/src/base/Exchange.d.ts +36 -36
  29. package/js/src/base/Exchange.js +6 -0
  30. package/js/src/base/functions/type.d.ts +9 -9
  31. package/js/src/base/types.d.ts +2 -0
  32. package/js/src/bigone.d.ts +4 -4
  33. package/js/src/binance.d.ts +20 -23
  34. package/js/src/binance.js +14 -1
  35. package/js/src/bingx.d.ts +8 -19
  36. package/js/src/bingx.js +1 -1
  37. package/js/src/bit2c.d.ts +2 -2
  38. package/js/src/bitbank.d.ts +4 -4
  39. package/js/src/bitbns.d.ts +3 -3
  40. package/js/src/bitfinex.d.ts +4 -4
  41. package/js/src/bitfinex2.d.ts +8 -8
  42. package/js/src/bitfinex2.js +100 -58
  43. package/js/src/bitflyer.d.ts +4 -4
  44. package/js/src/bitget.d.ts +14 -25
  45. package/js/src/bithumb.d.ts +4 -4
  46. package/js/src/bitmart.d.ts +8 -8
  47. package/js/src/bitmart.js +3 -3
  48. package/js/src/bitmex.d.ts +10 -21
  49. package/js/src/bitmex.js +1 -1
  50. package/js/src/bitopro.d.ts +4 -4
  51. package/js/src/bitrue.d.ts +5 -16
  52. package/js/src/bitso.d.ts +8 -8
  53. package/js/src/bitstamp.d.ts +11 -13
  54. package/js/src/bitteam.d.ts +4 -4
  55. package/js/src/bitvavo.d.ts +8 -19
  56. package/js/src/bl3p.d.ts +1 -1
  57. package/js/src/blockchaincom.d.ts +4 -6
  58. package/js/src/blofin.d.ts +11 -11
  59. package/js/src/btcalpha.d.ts +4 -4
  60. package/js/src/btcbox.d.ts +3 -3
  61. package/js/src/btcmarkets.d.ts +4 -4
  62. package/js/src/btcturk.d.ts +3 -3
  63. package/js/src/bybit.d.ts +19 -33
  64. package/js/src/cex.d.ts +3 -3
  65. package/js/src/coinbase.d.ts +11 -13
  66. package/js/src/coinbase.js +1 -1
  67. package/js/src/coinbaseexchange.d.ts +6 -6
  68. package/js/src/coinbaseinternational.d.ts +10 -10
  69. package/js/src/coincheck.d.ts +3 -3
  70. package/js/src/coinex.d.ts +18 -19
  71. package/js/src/coinex.js +376 -403
  72. package/js/src/coinlist.d.ts +6 -6
  73. package/js/src/coinmate.d.ts +5 -5
  74. package/js/src/coinmetro.d.ts +5 -11
  75. package/js/src/coinone.d.ts +4 -4
  76. package/js/src/coinsph.d.ts +5 -5
  77. package/js/src/coinspot.d.ts +1 -1
  78. package/js/src/cryptocom.d.ts +10 -21
  79. package/js/src/currencycom.d.ts +6 -22
  80. package/js/src/delta.d.ts +8 -8
  81. package/js/src/deribit.d.ts +6 -6
  82. package/js/src/digifinex.d.ts +16 -16
  83. package/js/src/exmo.d.ts +6 -6
  84. package/js/src/gate.d.ts +17 -28
  85. package/js/src/gate.js +3 -3
  86. package/js/src/gemini.d.ts +4 -4
  87. package/js/src/hitbtc.d.ts +8 -8
  88. package/js/src/hollaex.d.ts +6 -17
  89. package/js/src/htx.d.ts +15 -15
  90. package/js/src/huobijp.d.ts +5 -5
  91. package/js/src/hyperliquid.d.ts +4 -4
  92. package/js/src/hyperliquid.js +1 -1
  93. package/js/src/idex.d.ts +4 -4
  94. package/js/src/independentreserve.d.ts +3 -3
  95. package/js/src/indodax.d.ts +5 -7
  96. package/js/src/kraken.d.ts +7 -7
  97. package/js/src/kraken.js +2 -7
  98. package/js/src/krakenfutures.d.ts +9 -9
  99. package/js/src/kucoin.d.ts +11 -22
  100. package/js/src/kucoinfutures.d.ts +6 -6
  101. package/js/src/kuna.d.ts +7 -7
  102. package/js/src/latoken.d.ts +5 -5
  103. package/js/src/lbank.d.ts +10 -10
  104. package/js/src/luno.d.ts +3 -3
  105. package/js/src/lykke.d.ts +4 -4
  106. package/js/src/mercado.d.ts +4 -4
  107. package/js/src/mexc.d.ts +12 -12
  108. package/js/src/mexc.js +5 -5
  109. package/js/src/ndax.d.ts +6 -6
  110. package/js/src/novadax.d.ts +4 -4
  111. package/js/src/oceanex.d.ts +4 -4
  112. package/js/src/okcoin.d.ts +6 -6
  113. package/js/src/okx.d.ts +18 -24
  114. package/js/src/onetrading.d.ts +7 -7
  115. package/js/src/p2b.d.ts +3 -3
  116. package/js/src/paymium.d.ts +3 -3
  117. package/js/src/phemex.d.ts +11 -11
  118. package/js/src/poloniex.d.ts +6 -6
  119. package/js/src/poloniexfutures.d.ts +4 -4
  120. package/js/src/poloniexfutures.js +8 -3
  121. package/js/src/pro/bingx.js +1 -1
  122. package/js/src/pro/coinbase.d.ts +2 -2
  123. package/js/src/pro/phemex.d.ts +3 -45
  124. package/js/src/probit.d.ts +5 -5
  125. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  126. package/js/src/timex.d.ts +6 -6
  127. package/js/src/tokocrypto.d.ts +4 -4
  128. package/js/src/tradeogre.d.ts +3 -3
  129. package/js/src/upbit.d.ts +5 -5
  130. package/js/src/wavesexchange.d.ts +4 -4
  131. package/js/src/wazirx.d.ts +4 -4
  132. package/js/src/whitebit.d.ts +13 -11
  133. package/js/src/whitebit.js +54 -4
  134. package/js/src/woo.d.ts +8 -8
  135. package/js/src/woofipro.d.ts +10 -10
  136. package/js/src/yobit.d.ts +3 -3
  137. package/js/src/zaif.d.ts +3 -3
  138. package/js/src/zonda.d.ts +6 -6
  139. package/package.json +3 -1
@@ -3,7 +3,7 @@ import { // eslint-disable-line object-curly-newline
3
3
  ExchangeError, AuthenticationError, DDoSProtection, RequestTimeout, ExchangeNotAvailable, RateLimitExceeded } from "./errors.js";
4
4
  import WsClient from './ws/WsClient.js';
5
5
  import { OrderBook as WsOrderBook, IndexedOrderBook, CountedOrderBook } from './ws/OrderBook.js';
6
- import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Option, OptionChain, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account, Strings, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CancellationRequest, IsolatedBorrowRate, IsolatedBorrowRates, CrossBorrowRates, CrossBorrowRate, Dict, TransferEntries, FundingRates } from './types.js';
6
+ import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Option, OptionChain, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account, Strings, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CancellationRequest, IsolatedBorrowRate, IsolatedBorrowRates, CrossBorrowRates, CrossBorrowRate, Dict, TransferEntries, FundingRates, LeverageTiers } from './types.js';
7
7
  export type { Market, Trade, Fee, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, CrossBorrowRate, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Option, OptionChain, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account, Strings, Conversion } from './types.js';
8
8
  import { ArrayCache, ArrayCacheByTimestamp } from './ws/Cache.js';
9
9
  import { OrderBook as Ob } from './ws/OrderBook.js';
@@ -250,7 +250,7 @@ export default class Exchange {
250
250
  binaryToBase58: (data: Uint8Array) => string;
251
251
  base58ToBinary: (str: string) => Uint8Array;
252
252
  base64ToBinary: (str: string) => Uint8Array;
253
- safeTimestamp2: (o: any, k1: IndexType, k2: IndexType, $default?: any) => number;
253
+ safeTimestamp2: (o: any, k1: IndexType, k2: IndexType, $default?: number) => number;
254
254
  rawencode: (object: object) => string;
255
255
  keysort: (x: Dictionary<any>, out?: Dictionary<any>) => Dictionary<any>;
256
256
  inArray: (needle: any, haystack: any[]) => boolean;
@@ -695,37 +695,37 @@ export default class Exchange {
695
695
  watchOrdersForSymbols(symbols: string[], since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
696
696
  watchOHLCVForSymbols(symbolsAndTimeframes: string[][], since?: Int, limit?: Int, params?: {}): Promise<Dictionary<Dictionary<OHLCV[]>>>;
697
697
  watchOrderBookForSymbols(symbols: string[], limit?: Int, params?: {}): Promise<OrderBook>;
698
- fetchDepositAddresses(codes?: string[], params?: {}): Promise<{}>;
698
+ fetchDepositAddresses(codes?: Strings, params?: {}): Promise<{}>;
699
699
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
700
700
  fetchMarginMode(symbol: string, params?: {}): Promise<MarginMode>;
701
- fetchMarginModes(symbols?: string[], params?: {}): Promise<MarginModes>;
701
+ fetchMarginModes(symbols?: Strings, params?: {}): Promise<MarginModes>;
702
702
  fetchRestOrderBookSafe(symbol: any, limit?: any, params?: {}): Promise<OrderBook>;
703
703
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
704
704
  fetchTime(params?: {}): Promise<Int>;
705
- fetchTradingLimits(symbols?: string[], params?: {}): Promise<{}>;
705
+ fetchTradingLimits(symbols?: Strings, params?: {}): Promise<{}>;
706
706
  parseMarket(market: any): Market;
707
707
  parseMarkets(markets: any): Market[];
708
708
  parseTicker(ticker: Dict, market?: Market): Ticker;
709
709
  parseDepositAddress(depositAddress: any, currency?: Currency): object;
710
- parseTrade(trade: object, market?: Market): Trade;
711
- parseTransaction(transaction: any, currency?: Currency): Transaction;
710
+ parseTrade(trade: Dict, market?: Market): Trade;
711
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
712
712
  parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
713
713
  parseAccount(account: any): Account;
714
- parseLedgerEntry(item: any, currency?: Currency): object;
715
- parseOrder(order: any, market?: Market): Order;
714
+ parseLedgerEntry(item: Dict, currency?: Currency): object;
715
+ parseOrder(order: Dict, market?: Market): Order;
716
716
  fetchCrossBorrowRates(params?: {}): Promise<CrossBorrowRates>;
717
717
  fetchIsolatedBorrowRates(params?: {}): Promise<IsolatedBorrowRates>;
718
- parseMarketLeverageTiers(info: any, market?: Market): object;
719
- fetchLeverageTiers(symbols?: string[], params?: {}): Promise<Dictionary<LeverageTier[]>>;
720
- parsePosition(position: any, market?: Market): Position;
718
+ parseMarketLeverageTiers(info: any, market?: Market): LeverageTier[];
719
+ fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<LeverageTiers>;
720
+ parsePosition(position: Dict, market?: Market): Position;
721
721
  parseFundingRateHistory(info: any, market?: Market): FundingRateHistory;
722
- parseBorrowInterest(info: any, market?: Market): BorrowInterest;
722
+ parseBorrowInterest(info: Dict, market?: Market): BorrowInterest;
723
723
  parseIsolatedBorrowRate(info: any, market?: Market): IsolatedBorrowRate;
724
724
  parseWsTrade(trade: any, market?: Market): Trade;
725
725
  parseWsOrder(order: any, market?: Market): Order;
726
726
  parseWsOrderTrade(trade: any, market?: Market): Trade;
727
727
  parseWsOHLCV(ohlcv: any, market?: Market): OHLCV;
728
- fetchFundingRates(symbols?: string[], params?: {}): Promise<{}>;
728
+ fetchFundingRates(symbols?: Strings, params?: {}): Promise<{}>;
729
729
  watchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
730
730
  watchFundingRates(symbols: string[], params?: {}): Promise<FundingRates>;
731
731
  watchFundingRatesForSymbols(symbols: string[], params?: {}): Promise<{}>;
@@ -734,7 +734,7 @@ export default class Exchange {
734
734
  createDepositAddress(code: string, params?: {}): Promise<DepositAddressResponse>;
735
735
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<{}>;
736
736
  fetchLeverage(symbol: string, params?: {}): Promise<Leverage>;
737
- fetchLeverages(symbols?: string[], params?: {}): Promise<Leverages>;
737
+ fetchLeverages(symbols?: Strings, params?: {}): Promise<Leverages>;
738
738
  setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<{}>;
739
739
  addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
740
740
  reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
@@ -831,8 +831,8 @@ export default class Exchange {
831
831
  safeNumber2(dictionary: object, key1: IndexType, key2: IndexType, d?: any): number;
832
832
  parseOrderBook(orderbook: object, symbol: string, timestamp?: Int, bidsKey?: string, asksKey?: string, priceKey?: IndexType, amountKey?: IndexType, countOrIdKey?: IndexType): OrderBook;
833
833
  parseOHLCVs(ohlcvs: object[], market?: any, timeframe?: string, since?: Int, limit?: Int): OHLCV[];
834
- parseLeverageTiers(response: any, symbols?: string[], marketIdKey?: any): {};
835
- loadTradingLimits(symbols?: string[], reload?: boolean, params?: {}): Promise<Dictionary<any>>;
834
+ parseLeverageTiers(response: any, symbols?: string[], marketIdKey?: any): LeverageTiers;
835
+ loadTradingLimits(symbols?: Strings, reload?: boolean, params?: {}): Promise<Dictionary<any>>;
836
836
  safePosition(position: any): Position;
837
837
  parsePositions(positions: any[], symbols?: string[], params?: {}): Position[];
838
838
  parseAccounts(accounts: any[], params?: {}): Account[];
@@ -866,13 +866,13 @@ export default class Exchange {
866
866
  fetchPosition(symbol: string, params?: {}): Promise<Position>;
867
867
  fetchPositionWs(symbol: string, params?: {}): Promise<Position[]>;
868
868
  watchPosition(symbol?: Str, params?: {}): Promise<Position>;
869
- watchPositions(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
870
- watchPositionForSymbols(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
869
+ watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
870
+ watchPositionForSymbols(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
871
871
  fetchPositionsForSymbol(symbol: string, params?: {}): Promise<Position[]>;
872
872
  fetchPositionsForSymbolWs(symbol: string, params?: {}): Promise<Position[]>;
873
- fetchPositions(symbols?: string[], params?: {}): Promise<Position[]>;
874
- fetchPositionsWs(symbols?: string[], params?: {}): Promise<Position[]>;
875
- fetchPositionsRisk(symbols?: string[], params?: {}): Promise<Position[]>;
873
+ fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
874
+ fetchPositionsWs(symbols?: Strings, params?: {}): Promise<Position[]>;
875
+ fetchPositionsRisk(symbols?: Strings, params?: {}): Promise<Position[]>;
876
876
  fetchBidsAsks(symbols?: Strings, params?: {}): Promise<Tickers>;
877
877
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<BorrowInterest[]>;
878
878
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
@@ -892,8 +892,8 @@ export default class Exchange {
892
892
  fetchTotalBalance(params?: {}): Promise<Balance>;
893
893
  fetchStatus(params?: {}): Promise<any>;
894
894
  fetchTransactionFee(code: string, params?: {}): Promise<{}>;
895
- fetchTransactionFees(codes?: string[], params?: {}): Promise<{}>;
896
- fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<Dictionary<DepositWithdrawFeeNetwork>>;
895
+ fetchTransactionFees(codes?: Strings, params?: {}): Promise<{}>;
896
+ fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<Dictionary<DepositWithdrawFeeNetwork>>;
897
897
  fetchDepositWithdrawFee(code: string, params?: {}): Promise<DepositWithdrawFeeNetwork>;
898
898
  getSupportedMapping(key: any, mapping?: {}): any;
899
899
  fetchCrossBorrowRate(code: string, params?: {}): Promise<CrossBorrowRate>;
@@ -912,11 +912,11 @@ export default class Exchange {
912
912
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
913
913
  fetchTickerWs(symbol: string, params?: {}): Promise<Ticker>;
914
914
  watchTicker(symbol: string, params?: {}): Promise<Ticker>;
915
- fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
916
- fetchTickersWs(symbols?: string[], params?: {}): Promise<Tickers>;
917
- fetchOrderBooks(symbols?: string[], limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
915
+ fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
916
+ fetchTickersWs(symbols?: Strings, params?: {}): Promise<Tickers>;
917
+ fetchOrderBooks(symbols?: Strings, limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
918
918
  watchBidsAsks(symbols?: Strings, params?: {}): Promise<Tickers>;
919
- watchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
919
+ watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
920
920
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
921
921
  fetchOrderWs(id: string, symbol?: Str, params?: {}): Promise<Order>;
922
922
  fetchOrderStatus(id: string, symbol?: Str, params?: {}): Promise<string>;
@@ -1006,13 +1006,13 @@ export default class Exchange {
1006
1006
  isTickPrecision(): boolean;
1007
1007
  isDecimalPrecision(): boolean;
1008
1008
  isSignificantPrecision(): boolean;
1009
- safeNumber(obj: object, key: IndexType, defaultNumber?: Num): Num;
1009
+ safeNumber(obj: any, key: IndexType, defaultNumber?: Num): Num;
1010
1010
  safeNumberN(obj: object, arr: IndexType[], defaultNumber?: Num): Num;
1011
1011
  parsePrecision(precision?: string): string;
1012
1012
  integerPrecisionToAmount(precision: Str): string;
1013
1013
  loadTimeDifference(params?: {}): Promise<any>;
1014
1014
  implodeHostname(url: string): string;
1015
- fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<any>;
1015
+ fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<LeverageTier[]>;
1016
1016
  createPostOnlyOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
1017
1017
  createPostOnlyOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
1018
1018
  createReduceOnlyOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
@@ -1029,7 +1029,7 @@ export default class Exchange {
1029
1029
  filterBySymbolsSinceLimit(array: any, symbols?: string[], since?: Int, limit?: Int, tail?: boolean): any;
1030
1030
  parseLastPrices(pricesData: any, symbols?: string[], params?: {}): LastPrices;
1031
1031
  parseTickers(tickers: any, symbols?: Strings, params?: {}): Tickers;
1032
- parseDepositAddresses(addresses: any, codes?: string[], indexed?: boolean, params?: {}): Dictionary<any>;
1032
+ parseDepositAddresses(addresses: any, codes?: Strings, indexed?: boolean, params?: {}): Dictionary<any>;
1033
1033
  parseBorrowInterests(response: any, market?: Market): any[];
1034
1034
  parseIsolatedBorrowRates(info: any): IsolatedBorrowRates;
1035
1035
  parseFundingRateHistories(response: any, market?: any, since?: Int, limit?: Int): FundingRateHistory[];
@@ -1040,7 +1040,7 @@ export default class Exchange {
1040
1040
  isTriggerOrder(params: any): any[];
1041
1041
  isPostOnly(isMarketOrder: boolean, exchangeSpecificParam: any, params?: {}): boolean;
1042
1042
  handlePostOnly(isMarketOrder: boolean, exchangeSpecificPostOnlyOption: boolean, params?: any): any[];
1043
- fetchLastPrices(symbols?: string[], params?: {}): Promise<LastPrices>;
1043
+ fetchLastPrices(symbols?: Strings, params?: {}): Promise<LastPrices>;
1044
1044
  fetchTradingFees(params?: {}): Promise<TradingFees>;
1045
1045
  fetchTradingFeesWs(params?: {}): Promise<TradingFees>;
1046
1046
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
@@ -1055,13 +1055,13 @@ export default class Exchange {
1055
1055
  convertTypeToAccount(account: any): any;
1056
1056
  checkRequiredArgument(methodName: string, argument: any, argumentName: any, options?: any[]): void;
1057
1057
  checkRequiredMarginArgument(methodName: string, symbol: Str, marginMode: string): void;
1058
- parseDepositWithdrawFees(response: any, codes?: string[], currencyIdKey?: any): any;
1058
+ parseDepositWithdrawFees(response: any, codes?: Strings, currencyIdKey?: any): any;
1059
1059
  parseDepositWithdrawFee(fee: any, currency?: Currency): any;
1060
1060
  depositWithdrawFee(info: any): any;
1061
1061
  assignDefaultDepositWithdrawFees(fee: any, currency?: any): any;
1062
1062
  parseIncome(info: any, market?: Market): object;
1063
1063
  parseIncomes(incomes: any, market?: any, since?: Int, limit?: Int): FundingHistory[];
1064
- getMarketFromSymbols(symbols?: string[]): MarketInterface;
1064
+ getMarketFromSymbols(symbols?: Strings): MarketInterface;
1065
1065
  parseWsOHLCVs(ohlcvs: object[], market?: any, timeframe?: string, since?: Int, limit?: Int): any[];
1066
1066
  fetchTransactions(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
1067
1067
  filterByArrayPositions(objects: any, key: IndexType, values?: any, indexed?: boolean): Position[];
@@ -1078,12 +1078,12 @@ export default class Exchange {
1078
1078
  handleUntilOption(key: string, request: any, params: any, multiplier?: number): any[];
1079
1079
  safeOpenInterest(interest: any, market?: Market): OpenInterest;
1080
1080
  parseLiquidation(liquidation: any, market?: Market): Liquidation;
1081
- parseLiquidations(liquidations: any, market?: any, since?: Int, limit?: Int): Liquidation[];
1081
+ parseLiquidations(liquidations: Dict[], market?: Market, since?: Int, limit?: Int): Liquidation[];
1082
1082
  parseGreeks(greeks: Dict, market?: Market): Greeks;
1083
1083
  parseOption(chain: Dict, currency?: Currency, market?: Market): Option;
1084
1084
  parseOptionChain(response: object[], currencyKey?: Str, symbolKey?: Str): OptionChain;
1085
1085
  parseMarginModes(response: object[], symbols?: string[], symbolKey?: Str, marketType?: MarketType): MarginModes;
1086
- parseMarginMode(marginMode: any, market?: Market): MarginMode;
1086
+ parseMarginMode(marginMode: Dict, market?: Market): MarginMode;
1087
1087
  parseLeverages(response: object[], symbols?: string[], symbolKey?: Str, marketType?: MarketType): Leverages;
1088
1088
  parseLeverage(leverage: Dict, market?: Market): Leverage;
1089
1089
  parseConversions(conversions: any[], code?: Str, fromCurrencyKey?: Str, toCurrencyKey?: Str, since?: Int, limit?: Int, params?: {}): Conversion[];
@@ -6113,6 +6113,9 @@ export default class Exchange {
6113
6113
  }
6114
6114
  parseMarginModes(response, symbols = undefined, symbolKey = undefined, marketType = undefined) {
6115
6115
  const marginModeStructures = {};
6116
+ if (marketType === undefined) {
6117
+ marketType = 'swap'; // default to swap
6118
+ }
6116
6119
  for (let i = 0; i < response.length; i++) {
6117
6120
  const info = response[i];
6118
6121
  const marketId = this.safeString(info, symbolKey);
@@ -6128,6 +6131,9 @@ export default class Exchange {
6128
6131
  }
6129
6132
  parseLeverages(response, symbols = undefined, symbolKey = undefined, marketType = undefined) {
6130
6133
  const leverageStructures = {};
6134
+ if (marketType === undefined) {
6135
+ marketType = 'swap'; // default to swap
6136
+ }
6131
6137
  for (let i = 0; i < response.length; i++) {
6132
6138
  const info = response[i];
6133
6139
  const marketId = this.safeString(info, symbolKey);
@@ -1,4 +1,4 @@
1
- import { implicitReturnType, Int, Str, IndexType } from '../types.js';
1
+ import { implicitReturnType, Int, Str, IndexType, Num } from '../types.js';
2
2
  declare const isNumber: (number: unknown) => boolean;
3
3
  declare const isInteger: (number: unknown) => boolean;
4
4
  declare const isArray: (arg: any) => arg is any[];
@@ -7,26 +7,26 @@ declare const isString: (s: any) => boolean;
7
7
  declare const isObject: (o: any) => boolean;
8
8
  declare const isDictionary: (o: any) => boolean;
9
9
  declare const isStringCoercible: (x: any) => any;
10
- declare const prop: (o: any, k: any) => any;
11
- declare const asFloat: (x: any) => number;
12
- declare const asInteger: (x: any) => number;
13
- declare const safeFloat: (o: implicitReturnType, k: IndexType, $default?: number) => number;
10
+ declare const prop: (o: any, k: IndexType) => any;
11
+ declare const asFloat: (x: any) => number | typeof NaN;
12
+ declare const asInteger: (x: any) => number | typeof NaN;
13
+ declare const safeFloat: (o: implicitReturnType, k: IndexType, $default?: number) => Num;
14
14
  declare const safeInteger: (o: implicitReturnType, k: IndexType, $default?: number) => Int;
15
15
  declare const safeIntegerProduct: (o: implicitReturnType, k: IndexType, $factor: number, $default?: number) => Int;
16
- declare const safeTimestamp: (o: implicitReturnType, k: IndexType, $default?: number) => number;
16
+ declare const safeTimestamp: (o: implicitReturnType, k: IndexType, $default?: number) => Int;
17
17
  declare const safeValue: (o: implicitReturnType, k: IndexType, $default?: any) => any;
18
18
  declare const safeString: (o: implicitReturnType, k: IndexType, $default?: string) => Str;
19
19
  declare const safeStringLower: (o: implicitReturnType, k: IndexType, $default?: string) => Str;
20
20
  declare const safeStringUpper: (o: implicitReturnType, k: IndexType, $default?: string) => Str;
21
- declare const safeFloat2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: number) => number;
21
+ declare const safeFloat2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: number) => Num;
22
22
  declare const safeInteger2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: number) => Int;
23
23
  declare const safeIntegerProduct2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $factor: number, $default?: number) => Int;
24
- declare const safeTimestamp2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: any) => Int;
24
+ declare const safeTimestamp2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: Int) => Int;
25
25
  declare const safeValue2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: any) => any;
26
26
  declare const safeString2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: string) => Str;
27
27
  declare const safeStringLower2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: string) => Str;
28
28
  declare const safeStringUpper2: (o: implicitReturnType, k1: IndexType, k2: IndexType, $default?: string) => Str;
29
- declare const safeFloatN: (o: implicitReturnType, k: (IndexType)[], $default?: number) => number;
29
+ declare const safeFloatN: (o: implicitReturnType, k: (IndexType)[], $default?: number) => Num;
30
30
  declare const safeIntegerN: (o: implicitReturnType, k: (IndexType)[], $default?: number) => Int;
31
31
  declare const safeIntegerProductN: (o: implicitReturnType, k: (IndexType)[], $factor: number, $default?: number) => Int;
32
32
  declare const safeTimestampN: (o: implicitReturnType, k: (IndexType)[], $default?: number) => Int;
@@ -524,6 +524,8 @@ export interface CrossBorrowRates extends Dictionary<CrossBorrowRates> {
524
524
  }
525
525
  export interface TransferEntries extends Dictionary<TransferEntry> {
526
526
  }
527
+ export interface LeverageTiers extends Dictionary<LeverageTier[]> {
528
+ }
527
529
  /** [ timestamp, open, high, low, close, volume ] */
528
530
  export declare type OHLCV = [Num, Num, Num, Num, Num, Num];
529
531
  /** [ timestamp, open, high, low, close, volume, count ] */
@@ -15,14 +15,14 @@ export default class bigone extends Exchange {
15
15
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
16
16
  parseContractBidsAsks(bidsAsks: any): any[];
17
17
  parseContractOrderBook(orderbook: object, symbol: string, limit?: Int): OrderBook;
18
- parseTrade(trade: any, market?: Market): Trade;
18
+ parseTrade(trade: Dict, market?: Market): Trade;
19
19
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
20
20
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
21
21
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
22
22
  parseBalance(response: any): Balances;
23
23
  fetchBalance(params?: {}): Promise<Balances>;
24
24
  parseType(type: string): string;
25
- parseOrder(order: any, market?: Market): Order;
25
+ parseOrder(order: Dict, market?: Market): Order;
26
26
  createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
27
27
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
28
28
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -30,7 +30,7 @@ export default class bigone extends Exchange {
30
30
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
31
31
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
32
32
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
33
- parseOrderStatus(status: any): string;
33
+ parseOrderStatus(status: Str): string;
34
34
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
35
35
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
36
36
  nonce(): any;
@@ -48,7 +48,7 @@ export default class bigone extends Exchange {
48
48
  info: any;
49
49
  }>;
50
50
  parseTransactionStatus(status: any): string;
51
- parseTransaction(transaction: any, currency?: Currency): Transaction;
51
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
52
52
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
53
53
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
54
54
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/binance.js';
2
- import type { TransferEntry, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Market, Greeks, Strings, Currency, MarketInterface, MarginMode, MarginModes, Leverage, Leverages, Num, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRates, IsolatedBorrowRate, Dict, TransferEntries } from './base/types.js';
2
+ import type { TransferEntry, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Market, Greeks, Strings, Currency, MarketInterface, MarginMode, MarginModes, Leverage, Leverages, Num, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRates, IsolatedBorrowRate, Dict, TransferEntries, LeverageTier, LeverageTiers } from './base/types.js';
3
3
  /**
4
4
  * @class binance
5
5
  * @augments Exchange
@@ -45,18 +45,15 @@ export default class binance extends Exchange {
45
45
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
46
46
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
47
47
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
48
- parseTrade(trade: any, market?: Market): Trade;
48
+ parseTrade(trade: Dict, market?: Market): Trade;
49
49
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
50
50
  editSpotOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
51
51
  editSpotOrderRequest(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): any;
52
- editContractOrderRequest(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): {
53
- symbol: string;
54
- side: string;
55
- };
52
+ editContractOrderRequest(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Dict;
56
53
  editContractOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
57
54
  editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
58
- parseOrderStatus(status: any): string;
59
- parseOrder(order: any, market?: Market): Order;
55
+ parseOrderStatus(status: Str): string;
56
+ parseOrder(order: Dict, market?: Market): Order;
60
57
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
61
58
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
62
59
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): any;
@@ -97,7 +94,7 @@ export default class binance extends Exchange {
97
94
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
98
95
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
99
96
  parseTransactionStatusByType(status: any, type?: any): string;
100
- parseTransaction(transaction: any, currency?: Currency): Transaction;
97
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
101
98
  parseTransferStatus(status: Str): Str;
102
99
  parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
103
100
  parseIncome(income: any, market?: Market): {
@@ -118,15 +115,15 @@ export default class binance extends Exchange {
118
115
  network: any;
119
116
  info: any;
120
117
  }>;
121
- fetchTransactionFees(codes?: string[], params?: {}): Promise<{
122
- withdraw: {};
118
+ fetchTransactionFees(codes?: Strings, params?: {}): Promise<{
119
+ withdraw: Dict;
123
120
  deposit: {};
124
121
  info: any;
125
122
  }>;
126
123
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
127
124
  parseDepositWithdrawFee(fee: any, currency?: Currency): any;
128
125
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
129
- parseTradingFee(fee: any, market?: Market): TradingFeeInterface;
126
+ parseTradingFee(fee: Dict, market?: Market): TradingFeeInterface;
130
127
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
131
128
  fetchTradingFees(params?: {}): Promise<TradingFees>;
132
129
  futuresTransfer(code: string, amount: any, type: any, params?: {}): Promise<TransferEntry>;
@@ -225,11 +222,11 @@ export default class binance extends Exchange {
225
222
  takeProfitPrice: any;
226
223
  };
227
224
  loadLeverageBrackets(reload?: boolean, params?: {}): Promise<any>;
228
- fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<{}>;
229
- parseMarketLeverageTiers(info: any, market?: Market): any[];
225
+ fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<LeverageTiers>;
226
+ parseMarketLeverageTiers(info: any, market?: Market): LeverageTier[];
230
227
  fetchPosition(symbol: string, params?: {}): Promise<import("./base/types.js").Position>;
231
228
  fetchOptionPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
232
- parsePosition(position: any, market?: Market): import("./base/types.js").Position;
229
+ parsePosition(position: Dict, market?: Market): import("./base/types.js").Position;
233
230
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
234
231
  fetchAccountPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
235
232
  fetchPositionsRisk(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
@@ -237,7 +234,7 @@ export default class binance extends Exchange {
237
234
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
238
235
  setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
239
236
  setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
240
- fetchLeverages(symbols?: string[], params?: {}): Promise<Leverages>;
237
+ fetchLeverages(symbols?: Strings, params?: {}): Promise<Leverages>;
241
238
  parseLeverage(leverage: Dict, market?: Market): Leverage;
242
239
  fetchSettlementHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
243
240
  fetchMySettlementHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
@@ -251,7 +248,7 @@ export default class binance extends Exchange {
251
248
  parseSettlements(settlements: any, market: any): any[];
252
249
  fetchLedgerEntry(id: string, code?: Str, params?: {}): Promise<any>;
253
250
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
254
- parseLedgerEntry(item: any, currency?: Currency): {
251
+ parseLedgerEntry(item: Dict, currency?: Currency): {
255
252
  id: string;
256
253
  direction: any;
257
254
  account: any;
@@ -266,7 +263,7 @@ export default class binance extends Exchange {
266
263
  after: any;
267
264
  status: any;
268
265
  fee: any;
269
- info: any;
266
+ info: Dict;
270
267
  };
271
268
  parseLedgerEntryType(type: any): string;
272
269
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
@@ -317,7 +314,7 @@ export default class binance extends Exchange {
317
314
  redeemGiftCode(giftcardCode: any, params?: {}): Promise<any>;
318
315
  verifyGiftCode(id: string, params?: {}): Promise<any>;
319
316
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
320
- parseBorrowInterest(info: any, market?: Market): {
317
+ parseBorrowInterest(info: Dict, market?: Market): {
321
318
  account: string;
322
319
  symbol: string;
323
320
  marginMode: string;
@@ -327,7 +324,7 @@ export default class binance extends Exchange {
327
324
  amountBorrowed: number;
328
325
  timestamp: number;
329
326
  datetime: string;
330
- info: any;
327
+ info: Dict;
331
328
  };
332
329
  repayCrossMargin(code: string, amount: any, params?: {}): Promise<{
333
330
  id: number;
@@ -381,13 +378,13 @@ export default class binance extends Exchange {
381
378
  parseLiquidation(liquidation: any, market?: Market): Liquidation;
382
379
  fetchGreeks(symbol: string, params?: {}): Promise<Greeks>;
383
380
  parseGreeks(greeks: Dict, market?: Market): Greeks;
384
- fetchTradingLimits(symbols?: Strings, params?: {}): Promise<{}>;
381
+ fetchTradingLimits(symbols?: Strings, params?: {}): Promise<Dict>;
385
382
  fetchPositionMode(symbol?: Str, params?: {}): Promise<{
386
383
  info: any;
387
384
  hedged: boolean;
388
385
  }>;
389
- fetchMarginModes(symbols?: string[], params?: {}): Promise<MarginModes>;
390
- parseMarginMode(marginMode: any, market?: any): MarginMode;
386
+ fetchMarginModes(symbols?: Strings, params?: {}): Promise<MarginModes>;
387
+ parseMarginMode(marginMode: Dict, market?: any): MarginMode;
391
388
  fetchOption(symbol: string, params?: {}): Promise<Option>;
392
389
  parseOption(chain: Dict, currency?: Currency, market?: Market): Option;
393
390
  fetchMarginAdjustmentHistory(symbol?: Str, type?: Str, since?: Num, limit?: Num, params?: {}): Promise<MarginModification[]>;
package/js/src/binance.js CHANGED
@@ -845,6 +845,7 @@ export default class binance extends Exchange {
845
845
  'order/asyn/id': 10,
846
846
  'trade/asyn': 1000,
847
847
  'trade/asyn/id': 10,
848
+ 'feeBurn': 1,
848
849
  },
849
850
  'post': {
850
851
  'batchOrders': 5,
@@ -859,6 +860,7 @@ export default class binance extends Exchange {
859
860
  // broker endpoints
860
861
  'apiReferral/customization': 1,
861
862
  'apiReferral/userCustomization': 1,
863
+ 'feeBurn': 1,
862
864
  },
863
865
  'put': {
864
866
  'listenKey': 1,
@@ -5986,6 +5988,17 @@ export default class binance extends Exchange {
5986
5988
  }
5987
5989
  }
5988
5990
  }
5991
+ else {
5992
+ postOnly = this.isPostOnly(isMarketOrder, initialUppercaseType === 'LIMIT_MAKER', params);
5993
+ if (postOnly) {
5994
+ if (!market['contract']) {
5995
+ uppercaseType = 'LIMIT_MAKER'; // only this endpoint accepts GTXhttps://binance-docs.github.io/apidocs/pm/en/#new-margin-order-trade
5996
+ }
5997
+ else {
5998
+ request['timeInForce'] = 'GTX';
5999
+ }
6000
+ }
6001
+ }
5989
6002
  // handle newOrderRespType response type
5990
6003
  if (((marketType === 'spot') || (marketType === 'margin')) && !isPortfolioMargin) {
5991
6004
  request['newOrderRespType'] = this.safeString(this.options['newOrderRespType'], type, 'FULL'); // 'ACK' for order id, 'RESULT' for full order or 'FULL' for order with fills
@@ -6119,7 +6132,7 @@ export default class binance extends Exchange {
6119
6132
  request['stopPrice'] = this.priceToPrecision(symbol, stopPrice);
6120
6133
  }
6121
6134
  }
6122
- if (timeInForceIsRequired && (this.safeString(params, 'timeInForce') === undefined)) {
6135
+ if (timeInForceIsRequired && (this.safeString(params, 'timeInForce') === undefined) && (this.safeString(request, 'timeInForce') === undefined)) {
6123
6136
  request['timeInForce'] = this.options['defaultTimeInForce']; // 'GTC' = Good To Cancel (default), 'IOC' = Immediate Or Cancel
6124
6137
  }
6125
6138
  if (!isPortfolioMargin && market['contract'] && postOnly) {
package/js/src/bingx.d.ts CHANGED
@@ -15,7 +15,7 @@ export default class bingx extends Exchange {
15
15
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
16
16
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
17
17
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
18
- parseTrade(trade: any, market?: Market): Trade;
18
+ parseTrade(trade: Dict, market?: Market): Trade;
19
19
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
20
20
  fetchFundingRate(symbol: string, params?: {}): Promise<{
21
21
  info: any;
@@ -65,7 +65,7 @@ export default class bingx extends Exchange {
65
65
  fetchBalance(params?: {}): Promise<Balances>;
66
66
  parseBalance(response: any): Balances;
67
67
  fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
68
- parsePosition(position: any, market?: Market): Position;
68
+ parsePosition(position: Dict, market?: Market): Position;
69
69
  createMarketOrderWithCost(symbol: string, side: OrderSide, cost: number, params?: {}): Promise<Order>;
70
70
  createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
71
71
  createMarketSellOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
@@ -73,9 +73,9 @@ export default class bingx extends Exchange {
73
73
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
74
74
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
75
75
  parseOrderSide(side: any): string;
76
- parseOrderType(type: any): string;
77
- parseOrder(order: any, market?: Market): Order;
78
- parseOrderStatus(status: any): string;
76
+ parseOrderType(type: Str): string;
77
+ parseOrder(order: Dict, market?: Market): Order;
78
+ parseOrderStatus(status: Str): string;
79
79
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
80
80
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
81
81
  cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<any>;
@@ -98,7 +98,7 @@ export default class bingx extends Exchange {
98
98
  };
99
99
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
100
100
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
101
- parseTransaction(transaction: any, currency?: Currency): Transaction;
101
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
102
102
  parseTransactionStatus(status: string): string;
103
103
  setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
104
104
  addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
@@ -109,18 +109,7 @@ export default class bingx extends Exchange {
109
109
  parseLeverage(leverage: Dict, market?: Market): Leverage;
110
110
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
111
111
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
112
- parseDepositWithdrawFee(fee: any, currency?: Currency): {
113
- info: any;
114
- withdraw: {
115
- fee: any;
116
- percentage: any;
117
- };
118
- deposit: {
119
- fee: any;
120
- percentage: any;
121
- };
122
- networks: {};
123
- };
112
+ parseDepositWithdrawFee(fee: any, currency?: Currency): Dict;
124
113
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
125
114
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
126
115
  parseParams(params: any): import("./base/types.js").Dictionary<any>;
@@ -135,7 +124,7 @@ export default class bingx extends Exchange {
135
124
  setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
136
125
  editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
137
126
  fetchMarginMode(symbol: string, params?: {}): Promise<MarginMode>;
138
- parseMarginMode(marginMode: any, market?: any): MarginMode;
127
+ parseMarginMode(marginMode: Dict, market?: any): MarginMode;
139
128
  sign(path: any, section?: string, method?: string, params?: {}, headers?: any, body?: any): {
140
129
  url: string;
141
130
  method: string;
package/js/src/bingx.js CHANGED
@@ -2544,7 +2544,7 @@ export default class bingx extends Exchange {
2544
2544
  'stopLossPrice': stopLossPrice,
2545
2545
  'takeProfitPrice': takeProfitPrice,
2546
2546
  'average': this.safeString2(order, 'avgPrice', 'ap'),
2547
- 'cost': undefined,
2547
+ 'cost': this.safeString(order, 'cummulativeQuoteQty'),
2548
2548
  'amount': this.safeStringN(order, ['origQty', 'q', 'quantity']),
2549
2549
  'filled': this.safeString2(order, 'executedQty', 'z'),
2550
2550
  'remaining': undefined,
package/js/src/bit2c.d.ts CHANGED
@@ -17,10 +17,10 @@ export default class bit2c extends Exchange {
17
17
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
18
18
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
19
19
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
20
- parseOrder(order: any, market?: Market): Order;
20
+ parseOrder(order: Dict, market?: Market): Order;
21
21
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
22
22
  removeCommaFromValue(str: any): string;
23
- parseTrade(trade: any, market?: Market): Trade;
23
+ parseTrade(trade: Dict, market?: Market): Trade;
24
24
  isFiat(code: any): boolean;
25
25
  fetchDepositAddress(code: string, params?: {}): Promise<{
26
26
  currency: string;
@@ -11,15 +11,15 @@ export default class bitbank extends Exchange {
11
11
  parseTicker(ticker: Dict, market?: Market): Ticker;
12
12
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
14
- parseTrade(trade: any, market?: Market): Trade;
14
+ parseTrade(trade: Dict, market?: Market): Trade;
15
15
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
16
16
  fetchTradingFees(params?: {}): Promise<TradingFees>;
17
17
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
18
18
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
19
19
  parseBalance(response: any): Balances;
20
20
  fetchBalance(params?: {}): Promise<Balances>;
21
- parseOrderStatus(status: any): string;
22
- parseOrder(order: any, market?: Market): Order;
21
+ parseOrderStatus(status: Str): string;
22
+ parseOrder(order: Dict, market?: Market): Order;
23
23
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
24
24
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
25
25
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -33,7 +33,7 @@ export default class bitbank extends Exchange {
33
33
  info: any;
34
34
  }>;
35
35
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
36
- parseTransaction(transaction: any, currency?: Currency): Transaction;
36
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
37
37
  nonce(): number;
38
38
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
39
39
  url: string;