@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.
- package/README.md +5 -5
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.d.mts +57 -18
- package/dist/react/index.d.ts +57 -18
- package/dist/react/index.js +61 -13
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +61 -14
- package/dist/react/index.mjs.map +1 -1
- package/dist/react/provider.js +1 -0
- package/dist/react/provider.js.map +1 -1
- package/dist/react/provider.mjs +1 -0
- package/dist/react/provider.mjs.map +1 -1
- package/package.json +5 -4
package/dist/react/index.js
CHANGED
|
@@ -633,6 +633,7 @@ var symmKeys = {
|
|
|
633
633
|
triggerOrders: (params) => ["symm", "triggerOrders", params],
|
|
634
634
|
triggerConfig: (orderId) => ["symm", "triggerConfig", orderId],
|
|
635
635
|
markets: (chainId, search, pageSize) => ["symm", "markets", chainId, search, pageSize],
|
|
636
|
+
marketPositioning: (chainId, market) => ["symm", "marketPositioning", chainId, market],
|
|
636
637
|
hedgerMarketById: (id, chainId) => ["symm", "hedgerMarketById", id, chainId],
|
|
637
638
|
hedgerMarketBySymbol: (symbol, chainId) => ["symm", "hedgerMarketBySymbol", symbol, chainId],
|
|
638
639
|
lockedParams: (marketName, leverage, chainId) => ["symm", "lockedParams", marketName, leverage, chainId],
|
|
@@ -1705,6 +1706,7 @@ var SymmioSDKError = class extends Error {
|
|
|
1705
1706
|
this.code = code;
|
|
1706
1707
|
this.name = "SymmioSDKError";
|
|
1707
1708
|
}
|
|
1709
|
+
code;
|
|
1708
1710
|
};
|
|
1709
1711
|
function validateAddress(address, name) {
|
|
1710
1712
|
if (!viem.isAddress(address)) {
|
|
@@ -26159,7 +26161,7 @@ function useSymmAccountOverview(params) {
|
|
|
26159
26161
|
chainId: params.chainId,
|
|
26160
26162
|
query: {
|
|
26161
26163
|
...params.query,
|
|
26162
|
-
enabled:
|
|
26164
|
+
enabled: params.query?.enabled ?? true
|
|
26163
26165
|
}
|
|
26164
26166
|
});
|
|
26165
26167
|
const data = react.useMemo(() => {
|
|
@@ -26681,6 +26683,34 @@ function useSymmMarkets(params) {
|
|
|
26681
26683
|
enabled: internalEnabled && (params?.query?.enabled ?? true)
|
|
26682
26684
|
});
|
|
26683
26685
|
}
|
|
26686
|
+
function normalizeMarket(market) {
|
|
26687
|
+
if (Array.isArray(market)) {
|
|
26688
|
+
const markets = market.map((marketName2) => marketName2.trim()).filter((marketName2) => marketName2.length > 0);
|
|
26689
|
+
return markets.length > 0 ? markets : void 0;
|
|
26690
|
+
}
|
|
26691
|
+
const marketName = market?.trim();
|
|
26692
|
+
return marketName ? marketName : void 0;
|
|
26693
|
+
}
|
|
26694
|
+
function hasMarket(market) {
|
|
26695
|
+
return Array.isArray(market) ? market.length > 0 : market !== void 0;
|
|
26696
|
+
}
|
|
26697
|
+
function useSymmMarketPositioning(params) {
|
|
26698
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
26699
|
+
const chainId = params?.chainId ?? ctxChainId;
|
|
26700
|
+
const market = normalizeMarket(params?.market);
|
|
26701
|
+
const internalEnabled = !!symmCoreClient && hasMarket(market);
|
|
26702
|
+
return reactQuery.useQuery({
|
|
26703
|
+
...params?.query,
|
|
26704
|
+
queryKey: symmKeys.marketPositioning(chainId, market),
|
|
26705
|
+
queryFn: () => {
|
|
26706
|
+
if (!hasMarket(market)) {
|
|
26707
|
+
throw new Error("Market is required to fetch positioning");
|
|
26708
|
+
}
|
|
26709
|
+
return symmCoreClient.markets.getPositioning({ chainId, market });
|
|
26710
|
+
},
|
|
26711
|
+
enabled: internalEnabled && (params?.query?.enabled ?? true)
|
|
26712
|
+
});
|
|
26713
|
+
}
|
|
26684
26714
|
function useSymmHedgerMarketById(params) {
|
|
26685
26715
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
26686
26716
|
const { id } = params;
|
|
@@ -26786,7 +26816,9 @@ async function fetch24hrTicker(symbol) {
|
|
|
26786
26816
|
return {
|
|
26787
26817
|
lastPrice: parseFloat(data.lastPrice),
|
|
26788
26818
|
openPrice: parseFloat(data.openPrice),
|
|
26789
|
-
priceChangePercent: parseFloat(data.priceChangePercent)
|
|
26819
|
+
priceChangePercent: parseFloat(data.priceChangePercent),
|
|
26820
|
+
volume: parseFloat(data.volume),
|
|
26821
|
+
quoteVolume: parseFloat(data.quoteVolume)
|
|
26790
26822
|
};
|
|
26791
26823
|
}
|
|
26792
26824
|
async function fetch24hrTickers() {
|
|
@@ -26800,7 +26832,9 @@ async function fetch24hrTickers() {
|
|
|
26800
26832
|
result[item.symbol] = {
|
|
26801
26833
|
lastPrice: parseFloat(item.lastPrice),
|
|
26802
26834
|
openPrice: parseFloat(item.openPrice),
|
|
26803
|
-
priceChangePercent: parseFloat(item.priceChangePercent)
|
|
26835
|
+
priceChangePercent: parseFloat(item.priceChangePercent),
|
|
26836
|
+
volume: parseFloat(item.volume),
|
|
26837
|
+
quoteVolume: parseFloat(item.quoteVolume)
|
|
26804
26838
|
};
|
|
26805
26839
|
}
|
|
26806
26840
|
return result;
|
|
@@ -26836,7 +26870,11 @@ function useSymmTokenSelectionMarkets(params) {
|
|
|
26836
26870
|
return;
|
|
26837
26871
|
}
|
|
26838
26872
|
const ticker = allTickers[binanceSymbol];
|
|
26839
|
-
tickerSnapshots[symbol] = ticker ? {
|
|
26873
|
+
tickerSnapshots[symbol] = ticker ? {
|
|
26874
|
+
openPrice: ticker.openPrice,
|
|
26875
|
+
volume: ticker.volume,
|
|
26876
|
+
quoteVolume: ticker.quoteVolume
|
|
26877
|
+
} : null;
|
|
26840
26878
|
});
|
|
26841
26879
|
return { tickerSnapshots };
|
|
26842
26880
|
},
|
|
@@ -26846,21 +26884,30 @@ function useSymmTokenSelectionMarkets(params) {
|
|
|
26846
26884
|
});
|
|
26847
26885
|
const markets = react.useMemo(() => {
|
|
26848
26886
|
const snapshots = priceQuery.data?.tickerSnapshots ?? {};
|
|
26849
|
-
return baseMarkets.map((market) => {
|
|
26887
|
+
return baseMarkets.map((market, index) => {
|
|
26850
26888
|
const symbol = market.symbol ?? "";
|
|
26851
26889
|
const markPrice = symbol ? liveMarkPrices[symbol] ?? null : null;
|
|
26852
|
-
const
|
|
26890
|
+
const ticker = symbol ? snapshots[symbol] ?? null : null;
|
|
26891
|
+
const prevDayPrice = ticker?.openPrice ?? null;
|
|
26853
26892
|
const priceChange24h = markPrice != null && prevDayPrice != null ? markPrice - prevDayPrice : null;
|
|
26854
26893
|
const priceChange24hPercent = markPrice != null && prevDayPrice != null && prevDayPrice !== 0 ? (markPrice - prevDayPrice) / prevDayPrice * 100 : null;
|
|
26855
26894
|
return {
|
|
26856
|
-
|
|
26857
|
-
|
|
26858
|
-
|
|
26859
|
-
|
|
26860
|
-
|
|
26861
|
-
|
|
26895
|
+
market: {
|
|
26896
|
+
...market,
|
|
26897
|
+
collateralToken: "USDC",
|
|
26898
|
+
markPrice,
|
|
26899
|
+
prevDayPrice,
|
|
26900
|
+
priceChange24h,
|
|
26901
|
+
priceChange24hPercent,
|
|
26902
|
+
volume24h: ticker?.volume ?? null,
|
|
26903
|
+
quoteVolume24h: ticker?.quoteVolume ?? null
|
|
26904
|
+
},
|
|
26905
|
+
index
|
|
26862
26906
|
};
|
|
26863
|
-
})
|
|
26907
|
+
}).sort((a, b) => {
|
|
26908
|
+
const volumeDelta = (b.market.quoteVolume24h ?? 0) - (a.market.quoteVolume24h ?? 0);
|
|
26909
|
+
return volumeDelta === 0 ? a.index - b.index : volumeDelta;
|
|
26910
|
+
}).map(({ market }) => market);
|
|
26864
26911
|
}, [baseMarkets, liveMarkPrices, priceQuery.data]);
|
|
26865
26912
|
const marketsBySymbol = react.useMemo(
|
|
26866
26913
|
() => new Map(
|
|
@@ -27921,6 +27968,7 @@ exports.useSymmInstantTradeExecuteMutation = useSymmInstantTradeExecuteMutation;
|
|
|
27921
27968
|
exports.useSymmInternalTransferCollateralMutation = useSymmInternalTransferCollateralMutation;
|
|
27922
27969
|
exports.useSymmLockedParams = useSymmLockedParams;
|
|
27923
27970
|
exports.useSymmMarkReadNotificationMutation = useSymmMarkReadNotificationMutation;
|
|
27971
|
+
exports.useSymmMarketPositioning = useSymmMarketPositioning;
|
|
27924
27972
|
exports.useSymmMarkets = useSymmMarkets;
|
|
27925
27973
|
exports.useSymmNotificationsQuery = useSymmNotificationsQuery;
|
|
27926
27974
|
exports.useSymmOpenBasketMutation = useSymmOpenBasketMutation;
|