@pear-protocol/symmio-client 0.3.16 → 0.3.17

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.
@@ -631,6 +631,7 @@ var symmKeys = {
631
631
  triggerOrders: (params) => ["symm", "triggerOrders", params],
632
632
  triggerConfig: (orderId) => ["symm", "triggerConfig", orderId],
633
633
  markets: (chainId, search, pageSize) => ["symm", "markets", chainId, search, pageSize],
634
+ marketPositioning: (chainId, market) => ["symm", "marketPositioning", chainId, market],
634
635
  hedgerMarketById: (id, chainId) => ["symm", "hedgerMarketById", id, chainId],
635
636
  hedgerMarketBySymbol: (symbol, chainId) => ["symm", "hedgerMarketBySymbol", symbol, chainId],
636
637
  lockedParams: (marketName, leverage, chainId) => ["symm", "lockedParams", marketName, leverage, chainId],
@@ -1703,6 +1704,7 @@ var SymmioSDKError = class extends Error {
1703
1704
  this.code = code;
1704
1705
  this.name = "SymmioSDKError";
1705
1706
  }
1707
+ code;
1706
1708
  };
1707
1709
  function validateAddress(address, name) {
1708
1710
  if (!isAddress(address)) {
@@ -26157,7 +26159,7 @@ function useSymmAccountOverview(params) {
26157
26159
  chainId: params.chainId,
26158
26160
  query: {
26159
26161
  ...params.query,
26160
- enabled: upnlReady && (params.query?.enabled ?? true)
26162
+ enabled: params.query?.enabled ?? true
26161
26163
  }
26162
26164
  });
26163
26165
  const data = useMemo(() => {
@@ -26679,6 +26681,34 @@ function useSymmMarkets(params) {
26679
26681
  enabled: internalEnabled && (params?.query?.enabled ?? true)
26680
26682
  });
26681
26683
  }
26684
+ function normalizeMarket(market) {
26685
+ if (Array.isArray(market)) {
26686
+ const markets = market.map((marketName2) => marketName2.trim()).filter((marketName2) => marketName2.length > 0);
26687
+ return markets.length > 0 ? markets : void 0;
26688
+ }
26689
+ const marketName = market?.trim();
26690
+ return marketName ? marketName : void 0;
26691
+ }
26692
+ function hasMarket(market) {
26693
+ return Array.isArray(market) ? market.length > 0 : market !== void 0;
26694
+ }
26695
+ function useSymmMarketPositioning(params) {
26696
+ const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
26697
+ const chainId = params?.chainId ?? ctxChainId;
26698
+ const market = normalizeMarket(params?.market);
26699
+ const internalEnabled = !!symmCoreClient && hasMarket(market);
26700
+ return useQuery({
26701
+ ...params?.query,
26702
+ queryKey: symmKeys.marketPositioning(chainId, market),
26703
+ queryFn: () => {
26704
+ if (!hasMarket(market)) {
26705
+ throw new Error("Market is required to fetch positioning");
26706
+ }
26707
+ return symmCoreClient.markets.getPositioning({ chainId, market });
26708
+ },
26709
+ enabled: internalEnabled && (params?.query?.enabled ?? true)
26710
+ });
26711
+ }
26682
26712
  function useSymmHedgerMarketById(params) {
26683
26713
  const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
26684
26714
  const { id } = params;
@@ -26784,7 +26814,9 @@ async function fetch24hrTicker(symbol) {
26784
26814
  return {
26785
26815
  lastPrice: parseFloat(data.lastPrice),
26786
26816
  openPrice: parseFloat(data.openPrice),
26787
- priceChangePercent: parseFloat(data.priceChangePercent)
26817
+ priceChangePercent: parseFloat(data.priceChangePercent),
26818
+ volume: parseFloat(data.volume),
26819
+ quoteVolume: parseFloat(data.quoteVolume)
26788
26820
  };
26789
26821
  }
26790
26822
  async function fetch24hrTickers() {
@@ -26798,7 +26830,9 @@ async function fetch24hrTickers() {
26798
26830
  result[item.symbol] = {
26799
26831
  lastPrice: parseFloat(item.lastPrice),
26800
26832
  openPrice: parseFloat(item.openPrice),
26801
- priceChangePercent: parseFloat(item.priceChangePercent)
26833
+ priceChangePercent: parseFloat(item.priceChangePercent),
26834
+ volume: parseFloat(item.volume),
26835
+ quoteVolume: parseFloat(item.quoteVolume)
26802
26836
  };
26803
26837
  }
26804
26838
  return result;
@@ -26834,7 +26868,11 @@ function useSymmTokenSelectionMarkets(params) {
26834
26868
  return;
26835
26869
  }
26836
26870
  const ticker = allTickers[binanceSymbol];
26837
- tickerSnapshots[symbol] = ticker ? { openPrice: ticker.openPrice } : null;
26871
+ tickerSnapshots[symbol] = ticker ? {
26872
+ openPrice: ticker.openPrice,
26873
+ volume: ticker.volume,
26874
+ quoteVolume: ticker.quoteVolume
26875
+ } : null;
26838
26876
  });
26839
26877
  return { tickerSnapshots };
26840
26878
  },
@@ -26844,21 +26882,30 @@ function useSymmTokenSelectionMarkets(params) {
26844
26882
  });
26845
26883
  const markets = useMemo(() => {
26846
26884
  const snapshots = priceQuery.data?.tickerSnapshots ?? {};
26847
- return baseMarkets.map((market) => {
26885
+ return baseMarkets.map((market, index) => {
26848
26886
  const symbol = market.symbol ?? "";
26849
26887
  const markPrice = symbol ? liveMarkPrices[symbol] ?? null : null;
26850
- const prevDayPrice = symbol ? snapshots[symbol]?.openPrice ?? null : null;
26888
+ const ticker = symbol ? snapshots[symbol] ?? null : null;
26889
+ const prevDayPrice = ticker?.openPrice ?? null;
26851
26890
  const priceChange24h = markPrice != null && prevDayPrice != null ? markPrice - prevDayPrice : null;
26852
26891
  const priceChange24hPercent = markPrice != null && prevDayPrice != null && prevDayPrice !== 0 ? (markPrice - prevDayPrice) / prevDayPrice * 100 : null;
26853
26892
  return {
26854
- ...market,
26855
- collateralToken: "USDC",
26856
- markPrice,
26857
- prevDayPrice,
26858
- priceChange24h,
26859
- priceChange24hPercent
26893
+ market: {
26894
+ ...market,
26895
+ collateralToken: "USDC",
26896
+ markPrice,
26897
+ prevDayPrice,
26898
+ priceChange24h,
26899
+ priceChange24hPercent,
26900
+ volume24h: ticker?.volume ?? null,
26901
+ quoteVolume24h: ticker?.quoteVolume ?? null
26902
+ },
26903
+ index
26860
26904
  };
26861
- });
26905
+ }).sort((a, b) => {
26906
+ const volumeDelta = (b.market.quoteVolume24h ?? 0) - (a.market.quoteVolume24h ?? 0);
26907
+ return volumeDelta === 0 ? a.index - b.index : volumeDelta;
26908
+ }).map(({ market }) => market);
26862
26909
  }, [baseMarkets, liveMarkPrices, priceQuery.data]);
26863
26910
  const marketsBySymbol = useMemo(
26864
26911
  () => new Map(
@@ -27863,6 +27910,6 @@ function getSymmErrorMessage(error) {
27863
27910
  return "An unexpected error occurred.";
27864
27911
  }
27865
27912
 
27866
- export { SymmProvider, computeSymmAccountOverview, computeSymmAccountOverviewFromData, computeSymmNetDeposited, computeSymmPositionUpnl, computeSymmPositionsUpnl, getSymmAccountBalanceInfo, getSymmAccountData, getSymmErrorMessage, normalizeSymmUpnlWebSocketMessage, symmKeys, useBinanceMarkPriceStore, useSymmAccountCurrentPnl, useSymmAccountData, useSymmAccountOverview, useSymmAccountSummary, useSymmAccountsApi, useSymmAccountsLength, useSymmAccountsQuery, useSymmAccountsWithPositions, useSymmAllocateCollateralMutation, useSymmApprovalQuery, useSymmApproveMutation, useSymmAuth, useSymmAvailableMargin, useSymmBalances, useSymmCancelClose, useSymmCancelOpenMutation, useSymmCancelTpslMutation, useSymmCancelTwapOrderMutation, useSymmChartCandles, useSymmChartSelection, useSymmClearTriggerConfigMutation, useSymmCloseAllPositionsMutation, useSymmCloseOrder, useSymmClosePositionMutation, useSymmContext, useSymmCoreClient, useSymmCreateAccountMutation, useSymmDeallocateCollateralMutation, useSymmDelegateAccessMutation, useSymmDelegation, useSymmDepositAndAllocateMutation, useSymmDepositMutation, useSymmEditAccountNameMutation, useSymmFunding, useSymmFundingHistory, useSymmFundingPayments, useSymmHedgerMarketById, useSymmHedgerMarketBySymbol, useSymmHedgerMarkets, useSymmInstantTradeEnsureReadyMutation, useSymmInstantTradeExecuteMutation, useSymmInternalTransferCollateralMutation, useSymmLockedParams, useSymmMarkReadNotificationMutation, useSymmMarkets, useSymmNotificationsQuery, useSymmOpenBasketMutation, useSymmOpenOrders, useSymmPendingIds, useSymmPendingInstantOpens, useSymmPerformanceOverlays, useSymmPortfolio, useSymmPositions, useSymmProposeRevokeDelegationMutation, useSymmRevokeDelegationMutation, useSymmSetTpslMutation, useSymmSetTriggerConfigMutation, useSymmSignTermsMutation, useSymmSignatureQuery, useSymmTokenMarkPrice, useSymmTokenSelectionMarkets, useSymmTokenSelectionMetadata, useSymmTpslOrders, useSymmTradeHistory, useSymmTriggerConfigQuery, useSymmTriggerOrders, useSymmTwapOrder, useSymmTwapOrdersQuery, useSymmUnreadCountQuery, useSymmUpdatePositionMutation, useSymmUpnlWebSocket, useSymmWithdraw, useSymmWsStore };
27913
+ export { SymmProvider, computeSymmAccountOverview, computeSymmAccountOverviewFromData, computeSymmNetDeposited, computeSymmPositionUpnl, computeSymmPositionsUpnl, getSymmAccountBalanceInfo, getSymmAccountData, getSymmErrorMessage, normalizeSymmUpnlWebSocketMessage, symmKeys, useBinanceMarkPriceStore, useSymmAccountCurrentPnl, useSymmAccountData, useSymmAccountOverview, useSymmAccountSummary, useSymmAccountsApi, useSymmAccountsLength, useSymmAccountsQuery, useSymmAccountsWithPositions, useSymmAllocateCollateralMutation, useSymmApprovalQuery, useSymmApproveMutation, useSymmAuth, useSymmAvailableMargin, useSymmBalances, useSymmCancelClose, useSymmCancelOpenMutation, useSymmCancelTpslMutation, useSymmCancelTwapOrderMutation, useSymmChartCandles, useSymmChartSelection, useSymmClearTriggerConfigMutation, useSymmCloseAllPositionsMutation, useSymmCloseOrder, useSymmClosePositionMutation, useSymmContext, useSymmCoreClient, useSymmCreateAccountMutation, useSymmDeallocateCollateralMutation, useSymmDelegateAccessMutation, useSymmDelegation, useSymmDepositAndAllocateMutation, useSymmDepositMutation, useSymmEditAccountNameMutation, useSymmFunding, useSymmFundingHistory, useSymmFundingPayments, useSymmHedgerMarketById, useSymmHedgerMarketBySymbol, useSymmHedgerMarkets, useSymmInstantTradeEnsureReadyMutation, useSymmInstantTradeExecuteMutation, useSymmInternalTransferCollateralMutation, useSymmLockedParams, useSymmMarkReadNotificationMutation, useSymmMarketPositioning, useSymmMarkets, useSymmNotificationsQuery, useSymmOpenBasketMutation, useSymmOpenOrders, useSymmPendingIds, useSymmPendingInstantOpens, useSymmPerformanceOverlays, useSymmPortfolio, useSymmPositions, useSymmProposeRevokeDelegationMutation, useSymmRevokeDelegationMutation, useSymmSetTpslMutation, useSymmSetTriggerConfigMutation, useSymmSignTermsMutation, useSymmSignatureQuery, useSymmTokenMarkPrice, useSymmTokenSelectionMarkets, useSymmTokenSelectionMetadata, useSymmTpslOrders, useSymmTradeHistory, useSymmTriggerConfigQuery, useSymmTriggerOrders, useSymmTwapOrder, useSymmTwapOrdersQuery, useSymmUnreadCountQuery, useSymmUpdatePositionMutation, useSymmUpnlWebSocket, useSymmWithdraw, useSymmWsStore };
27867
27914
  //# sourceMappingURL=index.mjs.map
27868
27915
  //# sourceMappingURL=index.mjs.map