@pear-protocol/symmio-client 0.3.5 → 0.3.6

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.
@@ -23,9 +23,7 @@ var SYMBOL_OVERRIDES = {
23
23
  // Add overrides here as needed for SYMM markets that don't map 1:1 to Binance
24
24
  // e.g., 'SOME_SYMM_SYMBOL': 'BINANCE_SYMBOL',
25
25
  };
26
- var UNSUPPORTED_SYMBOLS = /* @__PURE__ */ new Set([
27
- // Add symbols here that have no Binance equivalent
28
- ]);
26
+ var UNSUPPORTED_SYMBOLS = /* @__PURE__ */ new Set([]);
29
27
  function resolveBinanceSymbol(symmSymbol) {
30
28
  if (!symmSymbol || !symmSymbol.trim()) {
31
29
  return {
@@ -25996,17 +25994,17 @@ function useSymmHedgerMarkets(params) {
25996
25994
 
25997
25995
  // src/utils/binance-api.ts
25998
25996
  var BINANCE_FAPI_BASE = "https://fapi.binance.com";
25999
- async function fetchKlines(symbol, interval, startTime, endTime, limit = 1500) {
25997
+ async function fetchBinanceKlineEndpoint(endpoint, symbol, interval, startTime, endTime, limit = 1e3) {
26000
25998
  const params = new URLSearchParams({
26001
25999
  symbol,
26002
26000
  interval,
26003
- startTime: String(startTime),
26004
- endTime: String(endTime),
26005
- limit: String(Math.min(limit, 1500))
26001
+ limit: String(Math.min(limit, 1e3))
26006
26002
  });
26007
- const response = await fetch(`${BINANCE_FAPI_BASE}/fapi/v1/klines?${params}`);
26003
+ const response = await fetch(
26004
+ `${BINANCE_FAPI_BASE}/fapi/v1/${endpoint}?${params}`
26005
+ );
26008
26006
  if (!response.ok) {
26009
- throw new Error(`Binance klines failed: ${response.status}`);
26007
+ throw new Error(`Binance ${endpoint} failed: ${response.status}`);
26010
26008
  }
26011
26009
  const data = await response.json();
26012
26010
  return data.map((k) => ({
@@ -26019,9 +26017,21 @@ async function fetchKlines(symbol, interval, startTime, endTime, limit = 1500) {
26019
26017
  closeTime: Number(k[6])
26020
26018
  }));
26021
26019
  }
26020
+ async function fetchMarkPriceKlines(symbol, interval, _startTime, _endTime, _limit = 1e3) {
26021
+ return fetchBinanceKlineEndpoint(
26022
+ "markPriceKlines",
26023
+ symbol,
26024
+ interval,
26025
+ void 0,
26026
+ void 0,
26027
+ 1e3
26028
+ );
26029
+ }
26022
26030
  async function fetch24hrTicker(symbol) {
26023
26031
  const params = new URLSearchParams({ symbol });
26024
- const response = await fetch(`${BINANCE_FAPI_BASE}/fapi/v1/ticker/24hr?${params}`);
26032
+ const response = await fetch(
26033
+ `${BINANCE_FAPI_BASE}/fapi/v1/ticker/24hr?${params}`
26034
+ );
26025
26035
  if (!response.ok) return null;
26026
26036
  const data = await response.json();
26027
26037
  return {
@@ -26746,12 +26756,9 @@ function areIntervalsEqual(currentInterval, nextInterval) {
26746
26756
  async function fetchSymbolKlines(symbol, interval, start, end) {
26747
26757
  const binanceSymbol = toBinanceSymbol(symbol);
26748
26758
  if (!binanceSymbol) return [];
26749
- const klines = await fetchKlines(
26759
+ const klines = await fetchMarkPriceKlines(
26750
26760
  binanceSymbol,
26751
- toBinanceInterval(interval),
26752
- start,
26753
- end
26754
- );
26761
+ toBinanceInterval(interval));
26755
26762
  return klines.map((k) => ({
26756
26763
  t: k.openTime,
26757
26764
  T: k.closeTime,
@@ -26936,7 +26943,7 @@ function useSymmChartCandles(selection) {
26936
26943
  }
26937
26944
  if (longTokens.length === 1 && shortTokens.length === 0 || shortTokens.length === 1 && longTokens.length === 0) {
26938
26945
  const activeSymbol = longSymbol ?? shortSymbol;
26939
- return activeSymbol ? fetchSymbolKlines(activeSymbol, interval, start, end) : [];
26946
+ return activeSymbol ? fetchSymbolKlines(activeSymbol, interval) : [];
26940
26947
  }
26941
26948
  const allSymbols = Array.from(/* @__PURE__ */ new Set([
26942
26949
  ...longTokens.map((token) => token.symbol),
@@ -26945,7 +26952,7 @@ function useSymmChartCandles(selection) {
26945
26952
  const entries = await Promise.all(
26946
26953
  allSymbols.map(async (symbol) => [
26947
26954
  symbol,
26948
- await fetchSymbolKlines(symbol, interval, start, end)
26955
+ await fetchSymbolKlines(symbol, interval)
26949
26956
  ])
26950
26957
  );
26951
26958
  return computeWeightedBasketCandles(
@@ -26961,7 +26968,7 @@ function useSymmChartCandles(selection) {
26961
26968
  setRealtimeInterval(interval);
26962
26969
  const parts = symbol.split(" ");
26963
26970
  const assetSymbol = parts.length >= 2 ? parts.slice(1).join(" ") : symbol;
26964
- return fetchSymbolKlines(assetSymbol, interval, start, end);
26971
+ return fetchSymbolKlines(assetSymbol, interval);
26965
26972
  },
26966
26973
  [setRealtimeInterval]
26967
26974
  );
@@ -26974,7 +26981,7 @@ function useSymmChartCandles(selection) {
26974
26981
  if (!longSymbol && !shortSymbol) return [];
26975
26982
  const symbols = [longSymbol, shortSymbol].filter(Boolean);
26976
26983
  const allKlines = await Promise.all(
26977
- symbols.map((s) => fetchSymbolKlines(s, interval, start, end))
26984
+ symbols.map((s) => fetchSymbolKlines(s, interval))
26978
26985
  );
26979
26986
  if (allKlines.length === 0 || allKlines[0].length === 0) return [];
26980
26987
  if (allKlines.length === 1) {