@pear-protocol/symmio-client 0.2.47 → 0.2.49
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 -13
- package/dist/react/index.d.ts +14 -13
- package/dist/react/index.js +85 -159
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +87 -160
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { createContext, useContext, useMemo, useCallback,
|
|
2
|
+
import { createContext, useContext, useMemo, useCallback, useRef, useEffect } from 'react';
|
|
3
3
|
import { createSymmSDK, isAuthExpiredError, isNetworkError, isInsufficientMarginError, isRateLimitedError, isTimeoutError } from '@pear-protocol/symm-core';
|
|
4
4
|
import { create } from 'zustand';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -705,6 +705,17 @@ async function fetchAccessTokenEntry(walletClient, signerAddress, accountAddress
|
|
|
705
705
|
// src/react/query-keys.ts
|
|
706
706
|
var symmKeys = {
|
|
707
707
|
all: ["symm"],
|
|
708
|
+
balancesRoot: ["symm", "balances"],
|
|
709
|
+
accountSummaryRoot: ["symm", "accountSummary"],
|
|
710
|
+
accountDataRoot: ["symm", "accountData"],
|
|
711
|
+
approvalRoot: ["symm", "approval"],
|
|
712
|
+
positionsRoot: ["symm", "positions"],
|
|
713
|
+
openOrdersRoot: ["symm", "openOrders"],
|
|
714
|
+
tradeHistoryRoot: ["symm", "tradeHistory"],
|
|
715
|
+
portfolioRoot: ["symm", "portfolio"],
|
|
716
|
+
tpslOrdersRoot: ["symm", "tpslOrders"],
|
|
717
|
+
twapOrdersRoot: ["symm", "twapOrders"],
|
|
718
|
+
triggerOrdersRoot: ["symm", "triggerOrders"],
|
|
708
719
|
accounts: (address, chainId) => ["symm", "accounts", address, chainId],
|
|
709
720
|
accountsApi: (address, chainId) => ["symm", "accountsApi", address, chainId],
|
|
710
721
|
accountsLength: (address, chainId) => ["symm", "accountsLength", address, chainId],
|
|
@@ -712,7 +723,7 @@ var symmKeys = {
|
|
|
712
723
|
accountSummary: (address, chainId) => ["symm", "accountSummary", address, chainId],
|
|
713
724
|
accountData: (address, chainId, upnl) => ["symm", "accountData", address, chainId, upnl],
|
|
714
725
|
signature: (address, chainId) => ["symm", "signature", address, chainId],
|
|
715
|
-
auth: (accountAddress, chainId) => ["symm", "auth", accountAddress, chainId],
|
|
726
|
+
auth: (accountAddress, chainId, signerAddress) => ["symm", "auth", accountAddress, chainId, signerAddress],
|
|
716
727
|
approval: (owner, spender, chainId, token) => ["symm", "approval", owner, spender, chainId, token],
|
|
717
728
|
balances: (address, chainId) => ["symm", "balances", address, chainId],
|
|
718
729
|
positions: (params) => ["symm", "positions", params],
|
|
@@ -743,23 +754,25 @@ var symmKeys = {
|
|
|
743
754
|
};
|
|
744
755
|
|
|
745
756
|
// src/react/auth-cache.ts
|
|
746
|
-
function getAuthQueryData(queryClient, accountAddress, chainId) {
|
|
747
|
-
return queryClient.getQueryData(
|
|
757
|
+
function getAuthQueryData(queryClient, accountAddress, chainId, signerAddress) {
|
|
758
|
+
return queryClient.getQueryData(
|
|
759
|
+
symmKeys.auth(accountAddress, chainId, signerAddress)
|
|
760
|
+
) ?? null;
|
|
748
761
|
}
|
|
749
|
-
function setAuthQueryData(queryClient, accountAddress, chainId, entry) {
|
|
750
|
-
queryClient.setQueryData(symmKeys.auth(accountAddress, chainId), entry);
|
|
762
|
+
function setAuthQueryData(queryClient, accountAddress, chainId, signerAddress, entry) {
|
|
763
|
+
queryClient.setQueryData(symmKeys.auth(accountAddress, chainId, signerAddress), entry);
|
|
751
764
|
}
|
|
752
|
-
function clearAuthQueryData(queryClient, accountAddress, chainId) {
|
|
765
|
+
function clearAuthQueryData(queryClient, accountAddress, chainId, signerAddress) {
|
|
753
766
|
queryClient.removeQueries({
|
|
754
|
-
queryKey: symmKeys.auth(accountAddress, chainId),
|
|
767
|
+
queryKey: symmKeys.auth(accountAddress, chainId, signerAddress),
|
|
755
768
|
exact: true
|
|
756
769
|
});
|
|
757
770
|
}
|
|
758
771
|
function clearPersistedAuthState(accountAddress, chainId) {
|
|
759
772
|
clearCachedToken(accountAddress, chainId);
|
|
760
773
|
}
|
|
761
|
-
function getAuthTokenFromRuntimeCache(queryClient, accountAddress, chainId) {
|
|
762
|
-
const inQuery = getAuthQueryData(queryClient, accountAddress, chainId);
|
|
774
|
+
function getAuthTokenFromRuntimeCache(queryClient, accountAddress, chainId, signerAddress) {
|
|
775
|
+
const inQuery = getAuthQueryData(queryClient, accountAddress, chainId, signerAddress) ?? getAuthQueryData(queryClient, accountAddress, chainId);
|
|
763
776
|
if (inQuery && inQuery.expiresAt > Date.now()) {
|
|
764
777
|
return inQuery.token;
|
|
765
778
|
}
|
|
@@ -767,7 +780,7 @@ function getAuthTokenFromRuntimeCache(queryClient, accountAddress, chainId) {
|
|
|
767
780
|
if (!persisted) {
|
|
768
781
|
return null;
|
|
769
782
|
}
|
|
770
|
-
setAuthQueryData(queryClient, accountAddress, chainId, persisted);
|
|
783
|
+
setAuthQueryData(queryClient, accountAddress, chainId, signerAddress, persisted);
|
|
771
784
|
return persisted.token;
|
|
772
785
|
}
|
|
773
786
|
async function resolveAuthTokenEntry({
|
|
@@ -783,13 +796,13 @@ async function resolveAuthTokenEntry({
|
|
|
783
796
|
return null;
|
|
784
797
|
}
|
|
785
798
|
if (!force) {
|
|
786
|
-
const inQuery = getAuthQueryData(queryClient, accountAddress, chainId);
|
|
799
|
+
const inQuery = getAuthQueryData(queryClient, accountAddress, chainId, signerAddress);
|
|
787
800
|
if (inQuery && inQuery.expiresAt > Date.now()) {
|
|
788
801
|
return inQuery;
|
|
789
802
|
}
|
|
790
803
|
const persisted = getCachedTokenEntry(accountAddress, chainId);
|
|
791
804
|
if (persisted) {
|
|
792
|
-
setAuthQueryData(queryClient, accountAddress, chainId, persisted);
|
|
805
|
+
setAuthQueryData(queryClient, accountAddress, chainId, signerAddress, persisted);
|
|
793
806
|
return persisted;
|
|
794
807
|
}
|
|
795
808
|
}
|
|
@@ -800,12 +813,12 @@ async function resolveAuthTokenEntry({
|
|
|
800
813
|
chainId,
|
|
801
814
|
siweDomain
|
|
802
815
|
);
|
|
803
|
-
setAuthQueryData(queryClient, accountAddress, chainId, fresh);
|
|
816
|
+
setAuthQueryData(queryClient, accountAddress, chainId, signerAddress, fresh);
|
|
804
817
|
return fresh;
|
|
805
818
|
}
|
|
806
|
-
function clearAuthState(queryClient, accountAddress, chainId) {
|
|
819
|
+
function clearAuthState(queryClient, accountAddress, chainId, signerAddress) {
|
|
807
820
|
clearPersistedAuthState(accountAddress, chainId);
|
|
808
|
-
clearAuthQueryData(queryClient, accountAddress, chainId);
|
|
821
|
+
clearAuthQueryData(queryClient, accountAddress, chainId, signerAddress);
|
|
809
822
|
}
|
|
810
823
|
|
|
811
824
|
// src/react/hooks/use-symm-auth.ts
|
|
@@ -879,7 +892,7 @@ function useSymmAuth(params) {
|
|
|
879
892
|
]
|
|
880
893
|
);
|
|
881
894
|
const authQuery = useQuery({
|
|
882
|
-
queryKey: symmKeys.auth(activeAccountAddress, chainId),
|
|
895
|
+
queryKey: symmKeys.auth(activeAccountAddress, chainId, address),
|
|
883
896
|
queryFn: async () => {
|
|
884
897
|
const tokenEntry = await resolveAuthTokenEntry({
|
|
885
898
|
queryClient,
|
|
@@ -901,9 +914,9 @@ function useSymmAuth(params) {
|
|
|
901
914
|
});
|
|
902
915
|
const clearAuth = useCallback(() => {
|
|
903
916
|
if (activeAccountAddress) {
|
|
904
|
-
clearAuthState(queryClient, activeAccountAddress, chainId);
|
|
917
|
+
clearAuthState(queryClient, activeAccountAddress, chainId, address);
|
|
905
918
|
}
|
|
906
|
-
}, [activeAccountAddress, chainId, queryClient]);
|
|
919
|
+
}, [activeAccountAddress, address, chainId, queryClient]);
|
|
907
920
|
const token = authQuery.data?.token ?? null;
|
|
908
921
|
return {
|
|
909
922
|
accessToken: token,
|
|
@@ -1668,22 +1681,22 @@ function useSymmRevokeDelegationMutation(params = {}, options) {
|
|
|
1668
1681
|
|
|
1669
1682
|
// src/react/cache.ts
|
|
1670
1683
|
function invalidateBalances(qc) {
|
|
1671
|
-
qc.invalidateQueries({ queryKey:
|
|
1672
|
-
qc.invalidateQueries({ queryKey:
|
|
1673
|
-
qc.invalidateQueries({ queryKey:
|
|
1674
|
-
qc.invalidateQueries({ queryKey:
|
|
1684
|
+
qc.invalidateQueries({ queryKey: symmKeys.balancesRoot });
|
|
1685
|
+
qc.invalidateQueries({ queryKey: symmKeys.accountSummaryRoot });
|
|
1686
|
+
qc.invalidateQueries({ queryKey: symmKeys.accountDataRoot });
|
|
1687
|
+
qc.invalidateQueries({ queryKey: symmKeys.portfolioRoot });
|
|
1675
1688
|
}
|
|
1676
1689
|
function invalidatePositions(qc) {
|
|
1677
|
-
qc.invalidateQueries({ queryKey:
|
|
1678
|
-
qc.invalidateQueries({ queryKey:
|
|
1679
|
-
qc.invalidateQueries({ queryKey:
|
|
1680
|
-
qc.invalidateQueries({ queryKey:
|
|
1690
|
+
qc.invalidateQueries({ queryKey: symmKeys.positionsRoot });
|
|
1691
|
+
qc.invalidateQueries({ queryKey: symmKeys.openOrdersRoot });
|
|
1692
|
+
qc.invalidateQueries({ queryKey: symmKeys.tradeHistoryRoot });
|
|
1693
|
+
qc.invalidateQueries({ queryKey: symmKeys.portfolioRoot });
|
|
1681
1694
|
}
|
|
1682
1695
|
function invalidateOrders(qc) {
|
|
1683
|
-
qc.invalidateQueries({ queryKey:
|
|
1684
|
-
qc.invalidateQueries({ queryKey:
|
|
1685
|
-
qc.invalidateQueries({ queryKey:
|
|
1686
|
-
qc.invalidateQueries({ queryKey:
|
|
1696
|
+
qc.invalidateQueries({ queryKey: symmKeys.openOrdersRoot });
|
|
1697
|
+
qc.invalidateQueries({ queryKey: symmKeys.tpslOrdersRoot });
|
|
1698
|
+
qc.invalidateQueries({ queryKey: symmKeys.twapOrdersRoot });
|
|
1699
|
+
qc.invalidateQueries({ queryKey: symmKeys.triggerOrdersRoot });
|
|
1687
1700
|
}
|
|
1688
1701
|
|
|
1689
1702
|
// src/react/hooks/use-symm-instant-trade.ts
|
|
@@ -1700,12 +1713,13 @@ function useInstantTradeDeps(params) {
|
|
|
1700
1713
|
defaultTarget,
|
|
1701
1714
|
multiAccount,
|
|
1702
1715
|
publicClient: params.publicClient,
|
|
1716
|
+
signerAddress: address,
|
|
1703
1717
|
symmCoreClient,
|
|
1704
1718
|
walletClient: params.walletClient
|
|
1705
1719
|
};
|
|
1706
1720
|
}
|
|
1707
1721
|
async function ensureInstantTradeReady(deps, queryClient, request) {
|
|
1708
|
-
const { chainId, defaultAccountAddress, defaultSelectors, defaultTarget, multiAccount, publicClient, walletClient } = deps;
|
|
1722
|
+
const { chainId, defaultAccountAddress, defaultSelectors, defaultTarget, multiAccount, publicClient, signerAddress, walletClient } = deps;
|
|
1709
1723
|
if (!publicClient || !walletClient) throw new Error("Clients not available");
|
|
1710
1724
|
const accountAddress = request?.accountAddress ?? defaultAccountAddress;
|
|
1711
1725
|
const target = request?.target ?? defaultTarget;
|
|
@@ -1715,7 +1729,12 @@ async function ensureInstantTradeReady(deps, queryClient, request) {
|
|
|
1715
1729
|
if (selectors.length === 0) {
|
|
1716
1730
|
throw new Error("at least one delegation selector is required");
|
|
1717
1731
|
}
|
|
1718
|
-
const accessToken = getAuthTokenFromRuntimeCache(
|
|
1732
|
+
const accessToken = getAuthTokenFromRuntimeCache(
|
|
1733
|
+
queryClient,
|
|
1734
|
+
accountAddress,
|
|
1735
|
+
chainId,
|
|
1736
|
+
signerAddress
|
|
1737
|
+
);
|
|
1719
1738
|
if (!accessToken) {
|
|
1720
1739
|
throw new Error("auth token is required for instant trading");
|
|
1721
1740
|
}
|
|
@@ -2128,7 +2147,12 @@ function useSymmCancelClose(options) {
|
|
|
2128
2147
|
}
|
|
2129
2148
|
const resolvedAccountAddress = accountAddress ?? address;
|
|
2130
2149
|
const resolvedChainId = overrideChainId ?? chainId;
|
|
2131
|
-
const resolvedAuthToken = authToken ?? (resolvedAccountAddress ? getAuthTokenFromRuntimeCache(
|
|
2150
|
+
const resolvedAuthToken = authToken ?? (resolvedAccountAddress ? getAuthTokenFromRuntimeCache(
|
|
2151
|
+
queryClient,
|
|
2152
|
+
resolvedAccountAddress,
|
|
2153
|
+
resolvedChainId,
|
|
2154
|
+
address
|
|
2155
|
+
) : null);
|
|
2132
2156
|
if (!resolvedAuthToken) {
|
|
2133
2157
|
throw new Error("auth token is required to cancel a pending close");
|
|
2134
2158
|
}
|
|
@@ -2159,7 +2183,12 @@ function useSymmCloseOrder(options) {
|
|
|
2159
2183
|
return symmCoreClient.orders.close(request.id, {
|
|
2160
2184
|
kind: request.kind,
|
|
2161
2185
|
type: request.type,
|
|
2162
|
-
authToken: request.authToken ?? (resolvedAccountAddress ? getAuthTokenFromRuntimeCache(
|
|
2186
|
+
authToken: request.authToken ?? (resolvedAccountAddress ? getAuthTokenFromRuntimeCache(
|
|
2187
|
+
queryClient,
|
|
2188
|
+
resolvedAccountAddress,
|
|
2189
|
+
chainId,
|
|
2190
|
+
address
|
|
2191
|
+
) ?? void 0 : void 0)
|
|
2163
2192
|
});
|
|
2164
2193
|
}
|
|
2165
2194
|
});
|
|
@@ -2232,7 +2261,7 @@ function useSymmDepositMutation(params = {}, options) {
|
|
|
2232
2261
|
...withSymmMutationConfig(options?.mutation, {
|
|
2233
2262
|
onSuccess: () => {
|
|
2234
2263
|
invalidateBalances(queryClient);
|
|
2235
|
-
queryClient.invalidateQueries({ queryKey:
|
|
2264
|
+
queryClient.invalidateQueries({ queryKey: symmKeys.approvalRoot });
|
|
2236
2265
|
}
|
|
2237
2266
|
}),
|
|
2238
2267
|
mutationFn: async ({
|
|
@@ -2251,7 +2280,7 @@ function useSymmDepositAndAllocateMutation(params = {}, options) {
|
|
|
2251
2280
|
...withSymmMutationConfig(options?.mutation, {
|
|
2252
2281
|
onSuccess: () => {
|
|
2253
2282
|
invalidateBalances(queryClient);
|
|
2254
|
-
queryClient.invalidateQueries({ queryKey:
|
|
2283
|
+
queryClient.invalidateQueries({ queryKey: symmKeys.approvalRoot });
|
|
2255
2284
|
}
|
|
2256
2285
|
}),
|
|
2257
2286
|
mutationFn: async ({
|
|
@@ -25308,7 +25337,8 @@ function useResolveTradeAuthToken(params = {}) {
|
|
|
25308
25337
|
const inMemoryToken = getAuthTokenFromRuntimeCache(
|
|
25309
25338
|
queryClient,
|
|
25310
25339
|
resolvedAccountAddress,
|
|
25311
|
-
chainId
|
|
25340
|
+
chainId,
|
|
25341
|
+
address
|
|
25312
25342
|
);
|
|
25313
25343
|
if (inMemoryToken) {
|
|
25314
25344
|
logTradeAuth("resolve-auth:store-hit", {
|
|
@@ -25826,9 +25856,10 @@ async function fetch24hrTickers() {
|
|
|
25826
25856
|
}
|
|
25827
25857
|
|
|
25828
25858
|
// src/react/hooks/use-symm-token-selection-markets.ts
|
|
25859
|
+
var EMPTY_MARKETS = [];
|
|
25829
25860
|
function useSymmTokenSelectionMarkets(params) {
|
|
25830
25861
|
const query = useSymmHedgerMarkets(params);
|
|
25831
|
-
const baseMarkets = query.data?.filteredMarkets ?? query.data?.markets ??
|
|
25862
|
+
const baseMarkets = query.data?.filteredMarkets ?? query.data?.markets ?? EMPTY_MARKETS;
|
|
25832
25863
|
const marketSymbols = useMemo(
|
|
25833
25864
|
() => Array.from(
|
|
25834
25865
|
new Set(
|
|
@@ -26085,7 +26116,8 @@ function useSymmPendingIds(params) {
|
|
|
26085
26116
|
function useSymmPendingInstantOpens(params) {
|
|
26086
26117
|
const {
|
|
26087
26118
|
symmCoreClient,
|
|
26088
|
-
chainId: ctxChainId
|
|
26119
|
+
chainId: ctxChainId,
|
|
26120
|
+
address
|
|
26089
26121
|
} = useSymmContext();
|
|
26090
26122
|
const queryClient = useQueryClient();
|
|
26091
26123
|
const { accountAddress, authToken: providedAuthToken } = params;
|
|
@@ -26095,7 +26127,12 @@ function useSymmPendingInstantOpens(params) {
|
|
|
26095
26127
|
...params.query,
|
|
26096
26128
|
queryKey: symmKeys.pendingInstantOpens(accountAddress, chainId),
|
|
26097
26129
|
queryFn: async () => {
|
|
26098
|
-
const authToken = providedAuthToken ?? getAuthTokenFromRuntimeCache(
|
|
26130
|
+
const authToken = providedAuthToken ?? getAuthTokenFromRuntimeCache(
|
|
26131
|
+
queryClient,
|
|
26132
|
+
accountAddress,
|
|
26133
|
+
chainId,
|
|
26134
|
+
address
|
|
26135
|
+
);
|
|
26099
26136
|
if (!authToken) {
|
|
26100
26137
|
throw new Error("failed to acquire auth token for pending instant opens");
|
|
26101
26138
|
}
|
|
@@ -26119,122 +26156,6 @@ function useSymmTwapOrder(params) {
|
|
|
26119
26156
|
enabled: internalEnabled && (params.query?.enabled ?? true)
|
|
26120
26157
|
});
|
|
26121
26158
|
}
|
|
26122
|
-
var useSymmWsStore = create((set) => ({
|
|
26123
|
-
isConnected: false,
|
|
26124
|
-
setConnected: (isConnected) => set({ isConnected })
|
|
26125
|
-
}));
|
|
26126
|
-
|
|
26127
|
-
// src/react/hooks/use-symm-ws.ts
|
|
26128
|
-
function asUnsubscribeFn(value) {
|
|
26129
|
-
return typeof value === "function" ? value : null;
|
|
26130
|
-
}
|
|
26131
|
-
function useSymmWs(params = {}) {
|
|
26132
|
-
const {
|
|
26133
|
-
symmCoreClient: ctxClient,
|
|
26134
|
-
address: ctxAddress,
|
|
26135
|
-
chainId: ctxChainId
|
|
26136
|
-
} = useSymmContext();
|
|
26137
|
-
const queryClient = useQueryClient();
|
|
26138
|
-
const isConnected = useSymmWsStore((state) => state.isConnected);
|
|
26139
|
-
const setConnected = useSymmWsStore((state) => state.setConnected);
|
|
26140
|
-
const symmCoreClient = params.symmCoreClient ?? ctxClient;
|
|
26141
|
-
const accountAddress = params.accountAddress ?? ctxAddress;
|
|
26142
|
-
const chainId = params.chainId ?? ctxChainId;
|
|
26143
|
-
useEffect(() => {
|
|
26144
|
-
if (!symmCoreClient || !accountAddress) {
|
|
26145
|
-
setConnected(false);
|
|
26146
|
-
return;
|
|
26147
|
-
}
|
|
26148
|
-
const ws = symmCoreClient.ws;
|
|
26149
|
-
const addr = accountAddress;
|
|
26150
|
-
const unsubscribers = [];
|
|
26151
|
-
const removeOnConnect = ws.onConnect(() => setConnected(true));
|
|
26152
|
-
const removeOnDisconnect = ws.onDisconnect(() => setConnected(false));
|
|
26153
|
-
unsubscribers.push(removeOnConnect, removeOnDisconnect);
|
|
26154
|
-
const positionsUnsub = asUnsubscribeFn(
|
|
26155
|
-
ws.subscribeToPositions(addr, chainId, () => {
|
|
26156
|
-
queryClient.invalidateQueries({
|
|
26157
|
-
queryKey: ["symm", "positions"]
|
|
26158
|
-
});
|
|
26159
|
-
})
|
|
26160
|
-
);
|
|
26161
|
-
if (positionsUnsub) unsubscribers.push(positionsUnsub);
|
|
26162
|
-
const openOrdersUnsub = asUnsubscribeFn(
|
|
26163
|
-
ws.subscribeToOpenOrders(addr, chainId, () => {
|
|
26164
|
-
queryClient.invalidateQueries({
|
|
26165
|
-
queryKey: ["symm", "openOrders"]
|
|
26166
|
-
});
|
|
26167
|
-
})
|
|
26168
|
-
);
|
|
26169
|
-
if (openOrdersUnsub) unsubscribers.push(openOrdersUnsub);
|
|
26170
|
-
const tradesUnsub = asUnsubscribeFn(
|
|
26171
|
-
ws.subscribeToTrades(addr, chainId, () => {
|
|
26172
|
-
queryClient.invalidateQueries({
|
|
26173
|
-
queryKey: ["symm", "tradeHistory"]
|
|
26174
|
-
});
|
|
26175
|
-
})
|
|
26176
|
-
);
|
|
26177
|
-
if (tradesUnsub) unsubscribers.push(tradesUnsub);
|
|
26178
|
-
const accountSummaryUnsub = asUnsubscribeFn(
|
|
26179
|
-
ws.subscribeToAccountSummary(addr, chainId, () => {
|
|
26180
|
-
queryClient.invalidateQueries({
|
|
26181
|
-
queryKey: symmKeys.balances(accountAddress, chainId)
|
|
26182
|
-
});
|
|
26183
|
-
queryClient.invalidateQueries({
|
|
26184
|
-
queryKey: symmKeys.accountSummary(accountAddress, chainId)
|
|
26185
|
-
});
|
|
26186
|
-
})
|
|
26187
|
-
);
|
|
26188
|
-
if (accountSummaryUnsub) unsubscribers.push(accountSummaryUnsub);
|
|
26189
|
-
const notificationsUnsub = asUnsubscribeFn(
|
|
26190
|
-
ws.subscribeToNotifications(addr, chainId, () => {
|
|
26191
|
-
queryClient.invalidateQueries({
|
|
26192
|
-
queryKey: symmKeys.notifications(accountAddress, chainId)
|
|
26193
|
-
});
|
|
26194
|
-
queryClient.invalidateQueries({
|
|
26195
|
-
queryKey: symmKeys.unreadCount(accountAddress, chainId)
|
|
26196
|
-
});
|
|
26197
|
-
})
|
|
26198
|
-
);
|
|
26199
|
-
if (notificationsUnsub) unsubscribers.push(notificationsUnsub);
|
|
26200
|
-
const tpslUnsub = asUnsubscribeFn(
|
|
26201
|
-
ws.subscribeToTpsl(addr, chainId, () => {
|
|
26202
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "tpslOrders"] });
|
|
26203
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
26204
|
-
})
|
|
26205
|
-
);
|
|
26206
|
-
if (tpslUnsub) unsubscribers.push(tpslUnsub);
|
|
26207
|
-
const twapUnsub = asUnsubscribeFn(
|
|
26208
|
-
ws.subscribeToTwapOrders(addr, chainId, () => {
|
|
26209
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "twapOrders"] });
|
|
26210
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
26211
|
-
})
|
|
26212
|
-
);
|
|
26213
|
-
if (twapUnsub) unsubscribers.push(twapUnsub);
|
|
26214
|
-
const triggerOrdersUnsub = asUnsubscribeFn(
|
|
26215
|
-
ws.subscribeToTriggerOrders(addr, chainId, () => {
|
|
26216
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "triggerOrders"] });
|
|
26217
|
-
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
26218
|
-
})
|
|
26219
|
-
);
|
|
26220
|
-
if (triggerOrdersUnsub) unsubscribers.push(triggerOrdersUnsub);
|
|
26221
|
-
const executionsUnsub = asUnsubscribeFn(
|
|
26222
|
-
ws.subscribeToExecutions(addr, chainId, () => {
|
|
26223
|
-
queryClient.invalidateQueries({
|
|
26224
|
-
queryKey: ["symm", "positions"]
|
|
26225
|
-
});
|
|
26226
|
-
queryClient.invalidateQueries({
|
|
26227
|
-
queryKey: ["symm", "portfolio"]
|
|
26228
|
-
});
|
|
26229
|
-
})
|
|
26230
|
-
);
|
|
26231
|
-
if (executionsUnsub) unsubscribers.push(executionsUnsub);
|
|
26232
|
-
return () => {
|
|
26233
|
-
unsubscribers.forEach((unsubscribe) => unsubscribe());
|
|
26234
|
-
};
|
|
26235
|
-
}, [symmCoreClient, accountAddress, chainId, queryClient, setConnected]);
|
|
26236
|
-
return { isConnected };
|
|
26237
|
-
}
|
|
26238
26159
|
var STABLE_SYMBOLS = /* @__PURE__ */ new Set(["USDC", "USD", "USDT", "USDE", "USDH", "USDT0"]);
|
|
26239
26160
|
function useSymmChartSelection(input) {
|
|
26240
26161
|
const {
|
|
@@ -26464,7 +26385,10 @@ function useSymmTokenSelectionMetadata(selection, options = {}) {
|
|
|
26464
26385
|
);
|
|
26465
26386
|
const isUnsupported = unsupportedSymbols.length > 0;
|
|
26466
26387
|
const unavailableReason = isUnsupported ? `Binance market data is unavailable for ${unsupportedSymbols.join(", ")}.` : null;
|
|
26467
|
-
const symbolsKey =
|
|
26388
|
+
const symbolsKey = useMemo(
|
|
26389
|
+
() => [...selectedSymbols].sort().join(","),
|
|
26390
|
+
[selectedSymbols]
|
|
26391
|
+
);
|
|
26468
26392
|
const liveMarkPrices = useBinanceMarkPriceStore((state) => state.markPrices);
|
|
26469
26393
|
const liveFundingRates = useBinanceMarkPriceStore(
|
|
26470
26394
|
(state) => state.fundingRates
|
|
@@ -26561,7 +26485,6 @@ function useSymmTokenSelectionMetadata(selection, options = {}) {
|
|
|
26561
26485
|
}, [
|
|
26562
26486
|
isUnsupported,
|
|
26563
26487
|
longTokens,
|
|
26564
|
-
query,
|
|
26565
26488
|
query.data,
|
|
26566
26489
|
query.isLoading,
|
|
26567
26490
|
shortTokens,
|
|
@@ -26975,7 +26898,11 @@ function getSymmErrorMessage(error) {
|
|
|
26975
26898
|
if (error instanceof Error) return error.message;
|
|
26976
26899
|
return "An unexpected error occurred.";
|
|
26977
26900
|
}
|
|
26901
|
+
var useSymmWsStore = create((set) => ({
|
|
26902
|
+
isConnected: false,
|
|
26903
|
+
setConnected: (isConnected) => set({ isConnected })
|
|
26904
|
+
}));
|
|
26978
26905
|
|
|
26979
|
-
export { SymmProvider, getSymmErrorMessage, symmKeys, useBinanceMarkPriceStore, useSymmAccountData, 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, useSymmWithdraw,
|
|
26906
|
+
export { SymmProvider, getSymmErrorMessage, symmKeys, useBinanceMarkPriceStore, useSymmAccountData, 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, useSymmWithdraw, useSymmWsStore };
|
|
26980
26907
|
//# sourceMappingURL=index.mjs.map
|
|
26981
26908
|
//# sourceMappingURL=index.mjs.map
|