@pear-protocol/symmio-client 0.2.26 → 0.2.27
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.
- package/dist/react/index.d.mts +14 -1
- package/dist/react/index.d.ts +14 -1
- package/dist/react/index.js +56 -16
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +56 -17
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react/index.mjs
CHANGED
|
@@ -25038,6 +25038,22 @@ async function fetch24hrTicker(symbol) {
|
|
|
25038
25038
|
priceChangePercent: parseFloat(data.priceChangePercent)
|
|
25039
25039
|
};
|
|
25040
25040
|
}
|
|
25041
|
+
async function fetch24hrTickers() {
|
|
25042
|
+
const response = await fetch(`${BINANCE_FAPI_BASE}/fapi/v1/ticker/24hr`);
|
|
25043
|
+
if (!response.ok) {
|
|
25044
|
+
throw new Error(`Binance 24hr tickers failed: ${response.status}`);
|
|
25045
|
+
}
|
|
25046
|
+
const data = await response.json();
|
|
25047
|
+
const result = {};
|
|
25048
|
+
for (const item of data) {
|
|
25049
|
+
result[item.symbol] = {
|
|
25050
|
+
lastPrice: parseFloat(item.lastPrice),
|
|
25051
|
+
prevClosePrice: parseFloat(item.prevClosePrice),
|
|
25052
|
+
priceChangePercent: parseFloat(item.priceChangePercent)
|
|
25053
|
+
};
|
|
25054
|
+
}
|
|
25055
|
+
return result;
|
|
25056
|
+
}
|
|
25041
25057
|
|
|
25042
25058
|
// src/utils/binance-symbol-map.ts
|
|
25043
25059
|
var SYMBOL_OVERRIDES = {
|
|
@@ -25359,15 +25375,6 @@ var useBinanceMarkPriceStore = create((set) => ({
|
|
|
25359
25375
|
}));
|
|
25360
25376
|
|
|
25361
25377
|
// src/react/hooks/use-symm-token-selection-markets.ts
|
|
25362
|
-
async function fetchTickerSnapshot(symbol) {
|
|
25363
|
-
const resolution = resolveBinanceSymbol(symbol);
|
|
25364
|
-
if (!resolution.binanceSymbol) return null;
|
|
25365
|
-
const ticker = await fetch24hrTicker(resolution.binanceSymbol);
|
|
25366
|
-
if (!ticker) return null;
|
|
25367
|
-
return {
|
|
25368
|
-
prevClosePrice: ticker.prevClosePrice
|
|
25369
|
-
};
|
|
25370
|
-
}
|
|
25371
25378
|
function useSymmTokenSelectionMarkets(params) {
|
|
25372
25379
|
const query = useSymmHedgerMarkets(params);
|
|
25373
25380
|
const baseMarkets = query.data?.filteredMarkets ?? query.data?.markets ?? [];
|
|
@@ -25399,12 +25406,17 @@ function useSymmTokenSelectionMarkets(params) {
|
|
|
25399
25406
|
const priceQuery = useQuery({
|
|
25400
25407
|
queryKey: ["symm", "token-selection-markets-price", symbolsKey],
|
|
25401
25408
|
queryFn: async () => {
|
|
25409
|
+
const allTickers = await fetch24hrTickers();
|
|
25402
25410
|
const tickerSnapshots = {};
|
|
25403
|
-
|
|
25404
|
-
|
|
25405
|
-
|
|
25406
|
-
|
|
25407
|
-
|
|
25411
|
+
marketSymbols.forEach((symbol) => {
|
|
25412
|
+
const binanceSymbol = resolveBinanceSymbol(symbol).binanceSymbol;
|
|
25413
|
+
if (!binanceSymbol) {
|
|
25414
|
+
tickerSnapshots[symbol] = null;
|
|
25415
|
+
return;
|
|
25416
|
+
}
|
|
25417
|
+
const ticker = allTickers[binanceSymbol];
|
|
25418
|
+
tickerSnapshots[symbol] = ticker ? { prevClosePrice: ticker.prevClosePrice } : null;
|
|
25419
|
+
});
|
|
25408
25420
|
return { tickerSnapshots };
|
|
25409
25421
|
},
|
|
25410
25422
|
enabled: query.isSuccess && marketSymbols.length > 0,
|
|
@@ -25463,6 +25475,33 @@ function useSymmTokenSelectionMarkets(params) {
|
|
|
25463
25475
|
isPriceLoading: priceQuery.isLoading
|
|
25464
25476
|
};
|
|
25465
25477
|
}
|
|
25478
|
+
function useSymmTokenMarkPrice(symbol) {
|
|
25479
|
+
const normalizedSymbol = symbol?.trim().toUpperCase() || null;
|
|
25480
|
+
const resolution = resolveBinanceSymbol(normalizedSymbol ?? "");
|
|
25481
|
+
const liveMarkPrices = useBinanceMarkPriceStore((state) => state.markPrices);
|
|
25482
|
+
const subscribeSymbol = useBinanceMarkPriceStore((state) => state.subscribeSymbol);
|
|
25483
|
+
const unsubscribeSymbol = useBinanceMarkPriceStore((state) => state.unsubscribeSymbol);
|
|
25484
|
+
useEffect(() => {
|
|
25485
|
+
if (!normalizedSymbol || !resolution.binanceSymbol || !resolution.supported) {
|
|
25486
|
+
return;
|
|
25487
|
+
}
|
|
25488
|
+
subscribeSymbol(normalizedSymbol, resolution.binanceSymbol);
|
|
25489
|
+
return () => {
|
|
25490
|
+
unsubscribeSymbol(normalizedSymbol, resolution.binanceSymbol);
|
|
25491
|
+
};
|
|
25492
|
+
}, [normalizedSymbol, resolution.binanceSymbol, resolution.supported, subscribeSymbol, unsubscribeSymbol]);
|
|
25493
|
+
const markPrice = useMemo(() => {
|
|
25494
|
+
if (!normalizedSymbol) return null;
|
|
25495
|
+
return liveMarkPrices[normalizedSymbol] ?? null;
|
|
25496
|
+
}, [liveMarkPrices, normalizedSymbol]);
|
|
25497
|
+
return {
|
|
25498
|
+
symbol: normalizedSymbol,
|
|
25499
|
+
binanceSymbol: resolution.binanceSymbol,
|
|
25500
|
+
markPrice,
|
|
25501
|
+
isSupported: resolution.supported,
|
|
25502
|
+
reason: resolution.reason
|
|
25503
|
+
};
|
|
25504
|
+
}
|
|
25466
25505
|
function useSymmFunding(params) {
|
|
25467
25506
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25468
25507
|
const chainId = params?.chainId ?? ctxChainId;
|
|
@@ -25971,7 +26010,7 @@ function computeNetFundingSum({
|
|
|
25971
26010
|
}
|
|
25972
26011
|
|
|
25973
26012
|
// src/react/hooks/use-symm-token-selection-metadata.ts
|
|
25974
|
-
async function
|
|
26013
|
+
async function fetchTickerSnapshot(symbol) {
|
|
25975
26014
|
const resolution = resolveBinanceSymbol(symbol);
|
|
25976
26015
|
if (!resolution.binanceSymbol) return null;
|
|
25977
26016
|
const ticker = await fetch24hrTicker(resolution.binanceSymbol);
|
|
@@ -26027,7 +26066,7 @@ function useSymmTokenSelectionMetadata(selection, options = {}) {
|
|
|
26027
26066
|
const results = await Promise.all(
|
|
26028
26067
|
allSymbols.map(async ({ symbol }) => ({
|
|
26029
26068
|
symbol,
|
|
26030
|
-
ticker: await
|
|
26069
|
+
ticker: await fetchTickerSnapshot(symbol)
|
|
26031
26070
|
}))
|
|
26032
26071
|
);
|
|
26033
26072
|
const tickerSnapshots = {};
|
|
@@ -26500,6 +26539,6 @@ function getSymmErrorMessage(error) {
|
|
|
26500
26539
|
return "An unexpected error occurred.";
|
|
26501
26540
|
}
|
|
26502
26541
|
|
|
26503
|
-
export { SymmProvider, getSymmErrorMessage, symmKeys, useBinanceMarkPriceStore, useSymmAccountData, useSymmAccountSummary, useSymmAccountsApi, useSymmAccountsLength, useSymmAccountsQuery, useSymmAccountsWithPositions, useSymmAllocateCollateralMutation, useSymmApprovalQuery, useSymmApproveMutation, useSymmAuth, useSymmAuthStore, useSymmAvailableMargin, useSymmBalances, useSymmCancelClose, useSymmCancelOpenMutation, useSymmCancelTpslMutation, useSymmCancelTwapOrderMutation, useSymmChartCandles, useSymmChartSelection, useSymmClearTriggerConfigMutation, useSymmCloseAllPositionsMutation, useSymmCloseOrder, useSymmClosePositionMutation, useSymmContext, useSymmCoreClient, useSymmCreateAccountMutation, useSymmDeallocateCollateralMutation, useSymmDelegation, useSymmDepositAndAllocateMutation, useSymmDepositMutation, useSymmEditAccountNameMutation, useSymmFunding, useSymmFundingHistory, useSymmFundingPayments, useSymmHedgerMarketById, useSymmHedgerMarketBySymbol, useSymmHedgerMarkets, useSymmInstantTradeEnsureReadyMutation, useSymmInstantTradeExecuteMutation, useSymmInternalTransferCollateralMutation, useSymmLockedParams, useSymmMarkReadNotificationMutation, useSymmMarkets, useSymmNotificationsQuery, useSymmOpenBasketMutation, useSymmOpenOrders, useSymmPendingIds, useSymmPendingInstantOpens, useSymmPerformanceOverlays, useSymmPortfolio, useSymmPositions, useSymmSetTpslMutation, useSymmSetTriggerConfigMutation, useSymmSignTermsMutation, useSymmSignatureQuery, useSymmTokenSelectionMarkets, useSymmTokenSelectionMetadata, useSymmTpslOrders, useSymmTradeHistory, useSymmTriggerConfigQuery, useSymmTriggerOrders, useSymmTwapOrder, useSymmTwapOrdersQuery, useSymmUnreadCountQuery, useSymmUpdatePositionMutation, useSymmWithdraw, useSymmWs, useSymmWsStore };
|
|
26542
|
+
export { SymmProvider, getSymmErrorMessage, symmKeys, useBinanceMarkPriceStore, useSymmAccountData, useSymmAccountSummary, useSymmAccountsApi, useSymmAccountsLength, useSymmAccountsQuery, useSymmAccountsWithPositions, useSymmAllocateCollateralMutation, useSymmApprovalQuery, useSymmApproveMutation, useSymmAuth, useSymmAuthStore, useSymmAvailableMargin, useSymmBalances, useSymmCancelClose, useSymmCancelOpenMutation, useSymmCancelTpslMutation, useSymmCancelTwapOrderMutation, useSymmChartCandles, useSymmChartSelection, useSymmClearTriggerConfigMutation, useSymmCloseAllPositionsMutation, useSymmCloseOrder, useSymmClosePositionMutation, useSymmContext, useSymmCoreClient, useSymmCreateAccountMutation, useSymmDeallocateCollateralMutation, useSymmDelegation, useSymmDepositAndAllocateMutation, useSymmDepositMutation, useSymmEditAccountNameMutation, useSymmFunding, useSymmFundingHistory, useSymmFundingPayments, useSymmHedgerMarketById, useSymmHedgerMarketBySymbol, useSymmHedgerMarkets, useSymmInstantTradeEnsureReadyMutation, useSymmInstantTradeExecuteMutation, useSymmInternalTransferCollateralMutation, useSymmLockedParams, useSymmMarkReadNotificationMutation, useSymmMarkets, useSymmNotificationsQuery, useSymmOpenBasketMutation, useSymmOpenOrders, useSymmPendingIds, useSymmPendingInstantOpens, useSymmPerformanceOverlays, useSymmPortfolio, useSymmPositions, useSymmSetTpslMutation, useSymmSetTriggerConfigMutation, useSymmSignTermsMutation, useSymmSignatureQuery, useSymmTokenMarkPrice, useSymmTokenSelectionMarkets, useSymmTokenSelectionMetadata, useSymmTpslOrders, useSymmTradeHistory, useSymmTriggerConfigQuery, useSymmTriggerOrders, useSymmTwapOrder, useSymmTwapOrdersQuery, useSymmUnreadCountQuery, useSymmUpdatePositionMutation, useSymmWithdraw, useSymmWs, useSymmWsStore };
|
|
26504
26543
|
//# sourceMappingURL=index.mjs.map
|
|
26505
26544
|
//# sourceMappingURL=index.mjs.map
|