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