@pear-protocol/symmio-client 0.1.11 → 0.2.1
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 +295 -4
- package/dist/react/index.d.ts +295 -4
- package/dist/react/index.js +476 -9
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +461 -10
- package/dist/react/index.mjs.map +1 -1
- package/package.json +7 -3
package/dist/react/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { createContext, useContext, useState, useRef, useMemo, useEffect, useCallback } from 'react';
|
|
2
3
|
import { useAccount, usePublicClient, useWalletClient } from 'wagmi';
|
|
3
4
|
import { createSymmSDK, isAuthExpiredError, isNetworkError, isInsufficientMarginError, isRateLimitedError, isTimeoutError } from '@pear-protocol/symm-core';
|
|
@@ -5,8 +6,6 @@ import { encodeFunctionData, isAddress } from 'viem';
|
|
|
5
6
|
import { jsx } from 'react/jsx-runtime';
|
|
6
7
|
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
|
|
7
8
|
|
|
8
|
-
// src/react/provider.tsx
|
|
9
|
-
|
|
10
9
|
// src/constants/addresses.ts
|
|
11
10
|
var MULTI_ACCOUNT_ADDRESS = {
|
|
12
11
|
[42161 /* ARBITRUM */]: "0x6273242a7E88b3De90822b31648C212215caaFE4",
|
|
@@ -24523,6 +24522,9 @@ var ALL_TRADING_SELECTORS = [
|
|
|
24523
24522
|
var symmKeys = {
|
|
24524
24523
|
all: ["symm"],
|
|
24525
24524
|
accounts: (address, chainId) => ["symm", "accounts", address, chainId],
|
|
24525
|
+
accountsApi: (address, chainId) => ["symm", "accountsApi", address, chainId],
|
|
24526
|
+
accountsLength: (address, chainId) => ["symm", "accountsLength", address, chainId],
|
|
24527
|
+
accountsWithPositions: (address, chainId) => ["symm", "accountsWithPositions", address, chainId],
|
|
24526
24528
|
accountSummary: (address, chainId) => ["symm", "accountSummary", address, chainId],
|
|
24527
24529
|
accountData: (address, chainId) => ["symm", "accountData", address, chainId],
|
|
24528
24530
|
signature: (address, chainId) => ["symm", "signature", address, chainId],
|
|
@@ -24532,14 +24534,25 @@ var symmKeys = {
|
|
|
24532
24534
|
openOrders: (address, chainId) => ["symm", "openOrders", address, chainId],
|
|
24533
24535
|
tradeHistory: (address, chainId) => ["symm", "tradeHistory", address, chainId],
|
|
24534
24536
|
tpslOrders: (address, chainId) => ["symm", "tpslOrders", address, chainId],
|
|
24537
|
+
tpslOrdersList: (params) => ["symm", "tpslOrders", params],
|
|
24535
24538
|
twapOrders: (address, chainId) => ["symm", "twapOrders", address, chainId],
|
|
24539
|
+
triggerOrders: (params) => ["symm", "triggerOrders", params],
|
|
24540
|
+
triggerConfig: (orderId) => ["symm", "triggerConfig", orderId],
|
|
24536
24541
|
markets: (chainId, search) => ["symm", "markets", chainId, search],
|
|
24542
|
+
hedgerMarketById: (id, chainId) => ["symm", "hedgerMarketById", id, chainId],
|
|
24543
|
+
hedgerMarketBySymbol: (symbol, chainId) => ["symm", "hedgerMarketBySymbol", symbol, chainId],
|
|
24544
|
+
lockedParams: (marketName, leverage, chainId) => ["symm", "lockedParams", marketName, leverage, chainId],
|
|
24537
24545
|
hedgerMarkets: (request) => ["symm", "hedgerMarkets", request],
|
|
24538
24546
|
fundingRates: (chainId) => ["symm", "fundingRates", chainId],
|
|
24547
|
+
fundingPayments: (params) => ["symm", "fundingPayments", params],
|
|
24548
|
+
fundingHistory: (params) => ["symm", "fundingHistory", params],
|
|
24539
24549
|
portfolio: (address, chainId) => ["symm", "portfolio", address, chainId],
|
|
24540
24550
|
notifications: (address, chainId) => ["symm", "notifications", address, chainId],
|
|
24541
24551
|
unreadCount: (address, chainId) => ["symm", "unreadCount", address, chainId],
|
|
24542
24552
|
availableMargin: (address, chainId) => ["symm", "availableMargin", address, chainId],
|
|
24553
|
+
pendingIds: (address, chainId) => ["symm", "pendingIds", address, chainId],
|
|
24554
|
+
pendingInstantOpens: (accountAddress, chainId) => ["symm", "pendingInstantOpens", accountAddress, chainId],
|
|
24555
|
+
twapOrder: (orderId) => ["symm", "twapOrder", orderId],
|
|
24543
24556
|
delegation: (account, target, selectors, chainId) => ["symm", "delegation", account, target, selectors, chainId],
|
|
24544
24557
|
chartMetadata: (symbolsKey, positionKey) => ["symm", "chartMetadata", symbolsKey, positionKey]
|
|
24545
24558
|
};
|
|
@@ -24601,6 +24614,7 @@ function invalidateOrders(qc) {
|
|
|
24601
24614
|
qc.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
24602
24615
|
qc.invalidateQueries({ queryKey: ["symm", "tpslOrders"] });
|
|
24603
24616
|
qc.invalidateQueries({ queryKey: ["symm", "twapOrders"] });
|
|
24617
|
+
qc.invalidateQueries({ queryKey: ["symm", "triggerOrders"] });
|
|
24604
24618
|
}
|
|
24605
24619
|
|
|
24606
24620
|
// src/react/hooks/use-symm-instant-trade.ts
|
|
@@ -24733,6 +24747,72 @@ function useSymmAccounts(userAddress, options) {
|
|
|
24733
24747
|
editName
|
|
24734
24748
|
};
|
|
24735
24749
|
}
|
|
24750
|
+
function useSymmAccountsApi(params) {
|
|
24751
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24752
|
+
const { userAddress } = params;
|
|
24753
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
24754
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24755
|
+
const query = useQuery({
|
|
24756
|
+
...params.query,
|
|
24757
|
+
queryKey: symmKeys.accountsApi(userAddress, chainId),
|
|
24758
|
+
queryFn: () => symmCoreClient.accounts.list({
|
|
24759
|
+
userAddress,
|
|
24760
|
+
chainId
|
|
24761
|
+
}),
|
|
24762
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
24763
|
+
staleTime: params.query?.staleTime ?? 1e4
|
|
24764
|
+
});
|
|
24765
|
+
return {
|
|
24766
|
+
accounts: query.data?.data?.accounts ?? [],
|
|
24767
|
+
total: query.data?.data?.total ?? 0,
|
|
24768
|
+
isLoading: query.isLoading,
|
|
24769
|
+
refetch: query.refetch
|
|
24770
|
+
};
|
|
24771
|
+
}
|
|
24772
|
+
function useSymmAccountsLength(params) {
|
|
24773
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24774
|
+
const { userAddress } = params;
|
|
24775
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
24776
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24777
|
+
const query = useQuery({
|
|
24778
|
+
...params.query,
|
|
24779
|
+
queryKey: symmKeys.accountsLength(userAddress, chainId),
|
|
24780
|
+
queryFn: () => symmCoreClient.accounts.getLength({
|
|
24781
|
+
userAddress,
|
|
24782
|
+
chainId
|
|
24783
|
+
}),
|
|
24784
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
24785
|
+
staleTime: params.query?.staleTime ?? 1e4
|
|
24786
|
+
});
|
|
24787
|
+
return {
|
|
24788
|
+
chains: query.data?.data?.chains ?? [],
|
|
24789
|
+
total: query.data?.data?.total ?? 0,
|
|
24790
|
+
isLoading: query.isLoading,
|
|
24791
|
+
refetch: query.refetch
|
|
24792
|
+
};
|
|
24793
|
+
}
|
|
24794
|
+
function useSymmAccountsWithPositions(params) {
|
|
24795
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24796
|
+
const { userAddress } = params;
|
|
24797
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
24798
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24799
|
+
const query = useQuery({
|
|
24800
|
+
...params.query,
|
|
24801
|
+
queryKey: symmKeys.accountsWithPositions(userAddress, chainId),
|
|
24802
|
+
queryFn: () => symmCoreClient.accounts.getWithPositions({
|
|
24803
|
+
userAddress,
|
|
24804
|
+
chainId
|
|
24805
|
+
}),
|
|
24806
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
24807
|
+
staleTime: params.query?.staleTime ?? 1e4
|
|
24808
|
+
});
|
|
24809
|
+
return {
|
|
24810
|
+
accounts: query.data?.data?.accounts ?? [],
|
|
24811
|
+
total: query.data?.data?.total ?? 0,
|
|
24812
|
+
isLoading: query.isLoading,
|
|
24813
|
+
refetch: query.refetch
|
|
24814
|
+
};
|
|
24815
|
+
}
|
|
24736
24816
|
function useSymmApproval(params) {
|
|
24737
24817
|
const { symmioClient, chainId } = useSymmContext();
|
|
24738
24818
|
const queryClient = useQueryClient();
|
|
@@ -24779,6 +24859,57 @@ function useSymmApproval(params) {
|
|
|
24779
24859
|
approve: approve2
|
|
24780
24860
|
};
|
|
24781
24861
|
}
|
|
24862
|
+
function useSymmCancelClose() {
|
|
24863
|
+
const { symmCoreClient, authToken: ctxAuthToken, refreshAuth, chainId } = useSymmContext();
|
|
24864
|
+
const queryClient = useQueryClient();
|
|
24865
|
+
const cancelClose = useMutation({
|
|
24866
|
+
mutationFn: async ({
|
|
24867
|
+
quoteId,
|
|
24868
|
+
authToken,
|
|
24869
|
+
accountAddress,
|
|
24870
|
+
overrideChainId
|
|
24871
|
+
}) => {
|
|
24872
|
+
if (!symmCoreClient) {
|
|
24873
|
+
throw new Error("symm-core client not available");
|
|
24874
|
+
}
|
|
24875
|
+
const resolvedAuthToken = authToken ?? ctxAuthToken ?? (accountAddress ? await refreshAuth(accountAddress) : null);
|
|
24876
|
+
if (!resolvedAuthToken) {
|
|
24877
|
+
throw new Error("auth token is required to cancel a pending close");
|
|
24878
|
+
}
|
|
24879
|
+
return symmCoreClient.orders.cancelClose({
|
|
24880
|
+
quoteId,
|
|
24881
|
+
authToken: resolvedAuthToken,
|
|
24882
|
+
chainId: overrideChainId ?? chainId
|
|
24883
|
+
});
|
|
24884
|
+
},
|
|
24885
|
+
onSuccess: () => {
|
|
24886
|
+
invalidateOrders(queryClient);
|
|
24887
|
+
invalidatePositions(queryClient);
|
|
24888
|
+
}
|
|
24889
|
+
});
|
|
24890
|
+
return { cancelClose };
|
|
24891
|
+
}
|
|
24892
|
+
function useSymmCloseOrder() {
|
|
24893
|
+
const { symmCoreClient, authToken: ctxAuthToken } = useSymmContext();
|
|
24894
|
+
const queryClient = useQueryClient();
|
|
24895
|
+
const closeOrder = useMutation({
|
|
24896
|
+
mutationFn: async (request) => {
|
|
24897
|
+
if (!symmCoreClient) {
|
|
24898
|
+
throw new Error("symm-core client not available");
|
|
24899
|
+
}
|
|
24900
|
+
return symmCoreClient.orders.close(request.id, {
|
|
24901
|
+
kind: request.kind,
|
|
24902
|
+
type: request.type,
|
|
24903
|
+
authToken: request.authToken ?? ctxAuthToken ?? void 0
|
|
24904
|
+
});
|
|
24905
|
+
},
|
|
24906
|
+
onSuccess: () => {
|
|
24907
|
+
invalidateOrders(queryClient);
|
|
24908
|
+
invalidatePositions(queryClient);
|
|
24909
|
+
}
|
|
24910
|
+
});
|
|
24911
|
+
return { closeOrder };
|
|
24912
|
+
}
|
|
24782
24913
|
function useSymmDeposit() {
|
|
24783
24914
|
const { symmioClient } = useSymmContext();
|
|
24784
24915
|
const queryClient = useQueryClient();
|
|
@@ -25138,6 +25269,40 @@ function useSymmTpsl() {
|
|
|
25138
25269
|
});
|
|
25139
25270
|
return { setTpsl, cancelTpsl };
|
|
25140
25271
|
}
|
|
25272
|
+
function useSymmTpslOrders(params) {
|
|
25273
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25274
|
+
const { accountAddress, mainAddress, positionId, type, status } = params;
|
|
25275
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25276
|
+
const internalEnabled = !!symmCoreClient && !!(accountAddress || mainAddress || positionId);
|
|
25277
|
+
const request = {
|
|
25278
|
+
address: accountAddress,
|
|
25279
|
+
mainAddress,
|
|
25280
|
+
positionId,
|
|
25281
|
+
type,
|
|
25282
|
+
status,
|
|
25283
|
+
chainId
|
|
25284
|
+
};
|
|
25285
|
+
const query = useQuery({
|
|
25286
|
+
...params.query,
|
|
25287
|
+
queryKey: symmKeys.tpslOrdersList({
|
|
25288
|
+
accountAddress,
|
|
25289
|
+
mainAddress,
|
|
25290
|
+
positionId,
|
|
25291
|
+
type,
|
|
25292
|
+
status,
|
|
25293
|
+
chainId
|
|
25294
|
+
}),
|
|
25295
|
+
queryFn: () => symmCoreClient.orders.getTpslOrders(request),
|
|
25296
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25297
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25298
|
+
});
|
|
25299
|
+
return {
|
|
25300
|
+
tpslOrders: query.data?.data?.tpslOrders ?? [],
|
|
25301
|
+
total: query.data?.data?.total ?? 0,
|
|
25302
|
+
isLoading: query.isLoading,
|
|
25303
|
+
refetch: query.refetch
|
|
25304
|
+
};
|
|
25305
|
+
}
|
|
25141
25306
|
function useSymmTwap(params) {
|
|
25142
25307
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25143
25308
|
const queryClient = useQueryClient();
|
|
@@ -25170,6 +25335,90 @@ function useSymmTwap(params) {
|
|
|
25170
25335
|
cancelTwap
|
|
25171
25336
|
};
|
|
25172
25337
|
}
|
|
25338
|
+
function useSymmTriggerConfig(params) {
|
|
25339
|
+
const { symmCoreClient } = useSymmContext();
|
|
25340
|
+
const queryClient = useQueryClient();
|
|
25341
|
+
const { orderId } = params;
|
|
25342
|
+
const internalEnabled = !!symmCoreClient && !!orderId;
|
|
25343
|
+
const query = useQuery({
|
|
25344
|
+
...params.query,
|
|
25345
|
+
queryKey: symmKeys.triggerConfig(orderId),
|
|
25346
|
+
queryFn: () => symmCoreClient.orders.getTriggerConfig(orderId),
|
|
25347
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25348
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25349
|
+
});
|
|
25350
|
+
const setTriggerConfig = useMutation({
|
|
25351
|
+
mutationFn: async (request) => {
|
|
25352
|
+
if (!symmCoreClient || !orderId) {
|
|
25353
|
+
throw new Error("symm-core client or orderId not available");
|
|
25354
|
+
}
|
|
25355
|
+
return symmCoreClient.orders.setTriggerConfig(orderId, request);
|
|
25356
|
+
},
|
|
25357
|
+
onSuccess: () => {
|
|
25358
|
+
queryClient.invalidateQueries({
|
|
25359
|
+
queryKey: symmKeys.triggerConfig(orderId)
|
|
25360
|
+
});
|
|
25361
|
+
invalidateOrders(queryClient);
|
|
25362
|
+
}
|
|
25363
|
+
});
|
|
25364
|
+
const clearTriggerConfig = useMutation({
|
|
25365
|
+
mutationFn: async () => {
|
|
25366
|
+
if (!symmCoreClient || !orderId) {
|
|
25367
|
+
throw new Error("symm-core client or orderId not available");
|
|
25368
|
+
}
|
|
25369
|
+
return symmCoreClient.orders.clearTriggerConfig(orderId);
|
|
25370
|
+
},
|
|
25371
|
+
onSuccess: () => {
|
|
25372
|
+
queryClient.invalidateQueries({
|
|
25373
|
+
queryKey: symmKeys.triggerConfig(orderId)
|
|
25374
|
+
});
|
|
25375
|
+
invalidateOrders(queryClient);
|
|
25376
|
+
}
|
|
25377
|
+
});
|
|
25378
|
+
return {
|
|
25379
|
+
triggerConfig: query.data?.data?.triggerConfig ?? null,
|
|
25380
|
+
isLoading: query.isLoading,
|
|
25381
|
+
refetch: query.refetch,
|
|
25382
|
+
setTriggerConfig,
|
|
25383
|
+
clearTriggerConfig
|
|
25384
|
+
};
|
|
25385
|
+
}
|
|
25386
|
+
function useSymmTriggerOrders(params) {
|
|
25387
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25388
|
+
const { accountAddress, mainAddress, status, limit, offset } = params;
|
|
25389
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25390
|
+
const internalEnabled = !!symmCoreClient && !!(accountAddress || mainAddress);
|
|
25391
|
+
const request = {
|
|
25392
|
+
address: accountAddress,
|
|
25393
|
+
mainAddress,
|
|
25394
|
+
chainId,
|
|
25395
|
+
status,
|
|
25396
|
+
limit,
|
|
25397
|
+
offset
|
|
25398
|
+
};
|
|
25399
|
+
const query = useQuery({
|
|
25400
|
+
...params.query,
|
|
25401
|
+
queryKey: symmKeys.triggerOrders({
|
|
25402
|
+
accountAddress,
|
|
25403
|
+
mainAddress,
|
|
25404
|
+
chainId,
|
|
25405
|
+
status,
|
|
25406
|
+
limit,
|
|
25407
|
+
offset
|
|
25408
|
+
}),
|
|
25409
|
+
queryFn: () => symmCoreClient.orders.listTriggerOrders(request),
|
|
25410
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25411
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25412
|
+
});
|
|
25413
|
+
return {
|
|
25414
|
+
orders: query.data?.data?.orders ?? [],
|
|
25415
|
+
total: query.data?.data?.total ?? 0,
|
|
25416
|
+
limit: query.data?.data?.limit ?? limit ?? 0,
|
|
25417
|
+
offset: query.data?.data?.offset ?? offset ?? 0,
|
|
25418
|
+
isLoading: query.isLoading,
|
|
25419
|
+
refetch: query.refetch
|
|
25420
|
+
};
|
|
25421
|
+
}
|
|
25173
25422
|
function useSymmMarkets(params) {
|
|
25174
25423
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25175
25424
|
const chainId = params?.chainId ?? ctxChainId;
|
|
@@ -25193,6 +25442,66 @@ function useSymmMarkets(params) {
|
|
|
25193
25442
|
refetch: query.refetch
|
|
25194
25443
|
};
|
|
25195
25444
|
}
|
|
25445
|
+
function useSymmHedgerMarketById(params) {
|
|
25446
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25447
|
+
const { id } = params;
|
|
25448
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25449
|
+
const internalEnabled = !!symmCoreClient && id != null;
|
|
25450
|
+
const query = useQuery({
|
|
25451
|
+
...params.query,
|
|
25452
|
+
queryKey: symmKeys.hedgerMarketById(id, chainId),
|
|
25453
|
+
queryFn: () => symmCoreClient.markets.getById(id, chainId),
|
|
25454
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25455
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25456
|
+
});
|
|
25457
|
+
return {
|
|
25458
|
+
market: query.data?.data?.markets?.[0] ?? null,
|
|
25459
|
+
markets: query.data?.data?.markets ?? [],
|
|
25460
|
+
isLoading: query.isLoading,
|
|
25461
|
+
refetch: query.refetch
|
|
25462
|
+
};
|
|
25463
|
+
}
|
|
25464
|
+
function useSymmHedgerMarketBySymbol(params) {
|
|
25465
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25466
|
+
const { symbol } = params;
|
|
25467
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25468
|
+
const internalEnabled = !!symmCoreClient && !!symbol;
|
|
25469
|
+
const query = useQuery({
|
|
25470
|
+
...params.query,
|
|
25471
|
+
queryKey: symmKeys.hedgerMarketBySymbol(symbol, chainId),
|
|
25472
|
+
queryFn: () => symmCoreClient.markets.getBySymbol(symbol, chainId),
|
|
25473
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25474
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25475
|
+
});
|
|
25476
|
+
return {
|
|
25477
|
+
market: query.data?.data?.markets?.[0] ?? null,
|
|
25478
|
+
markets: query.data?.data?.markets ?? [],
|
|
25479
|
+
isLoading: query.isLoading,
|
|
25480
|
+
refetch: query.refetch
|
|
25481
|
+
};
|
|
25482
|
+
}
|
|
25483
|
+
function useSymmLockedParams(params) {
|
|
25484
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25485
|
+
const { marketName, leverage } = params;
|
|
25486
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25487
|
+
const internalEnabled = !!symmCoreClient && !!marketName && leverage != null;
|
|
25488
|
+
const query = useQuery({
|
|
25489
|
+
...params.query,
|
|
25490
|
+
queryKey: symmKeys.lockedParams(marketName, leverage, chainId),
|
|
25491
|
+
queryFn: () => symmCoreClient.markets.getLockedParams({
|
|
25492
|
+
marketName,
|
|
25493
|
+
leverage,
|
|
25494
|
+
chainId
|
|
25495
|
+
}),
|
|
25496
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25497
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25498
|
+
});
|
|
25499
|
+
return {
|
|
25500
|
+
lockedParams: query.data?.data ?? null,
|
|
25501
|
+
isLoading: query.isLoading,
|
|
25502
|
+
refetch: query.refetch
|
|
25503
|
+
};
|
|
25504
|
+
}
|
|
25196
25505
|
var EMPTY_MARKETS = [];
|
|
25197
25506
|
var EMPTY_SYMBOLS = [];
|
|
25198
25507
|
var EMPTY_MAP_BY_ID = /* @__PURE__ */ new Map();
|
|
@@ -25249,6 +25558,72 @@ function useSymmFunding(params) {
|
|
|
25249
25558
|
isLoading: query.isLoading
|
|
25250
25559
|
};
|
|
25251
25560
|
}
|
|
25561
|
+
function useSymmFundingHistory(params) {
|
|
25562
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25563
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25564
|
+
const {
|
|
25565
|
+
period,
|
|
25566
|
+
longSymbols,
|
|
25567
|
+
shortSymbols,
|
|
25568
|
+
interval,
|
|
25569
|
+
weightMode,
|
|
25570
|
+
includeContributions
|
|
25571
|
+
} = params;
|
|
25572
|
+
const internalEnabled = !!symmCoreClient;
|
|
25573
|
+
const request = {
|
|
25574
|
+
chainId,
|
|
25575
|
+
period,
|
|
25576
|
+
longSymbols,
|
|
25577
|
+
shortSymbols,
|
|
25578
|
+
interval,
|
|
25579
|
+
weightMode,
|
|
25580
|
+
includeContributions
|
|
25581
|
+
};
|
|
25582
|
+
const query = useQuery({
|
|
25583
|
+
...params.query,
|
|
25584
|
+
queryKey: symmKeys.fundingHistory(request),
|
|
25585
|
+
queryFn: () => symmCoreClient.funding.getHistory(request),
|
|
25586
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25587
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25588
|
+
});
|
|
25589
|
+
return {
|
|
25590
|
+
history: query.data?.data ?? null,
|
|
25591
|
+
isLoading: query.isLoading,
|
|
25592
|
+
refetch: query.refetch
|
|
25593
|
+
};
|
|
25594
|
+
}
|
|
25595
|
+
function useSymmFundingPayments(params) {
|
|
25596
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25597
|
+
const { address, positionId, limit, offset } = params;
|
|
25598
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25599
|
+
const internalEnabled = !!symmCoreClient && !!(address || positionId);
|
|
25600
|
+
const request = {
|
|
25601
|
+
address,
|
|
25602
|
+
positionId,
|
|
25603
|
+
chainId,
|
|
25604
|
+
limit,
|
|
25605
|
+
offset
|
|
25606
|
+
};
|
|
25607
|
+
const query = useQuery({
|
|
25608
|
+
...params.query,
|
|
25609
|
+
queryKey: symmKeys.fundingPayments({
|
|
25610
|
+
address,
|
|
25611
|
+
positionId,
|
|
25612
|
+
chainId,
|
|
25613
|
+
limit,
|
|
25614
|
+
offset
|
|
25615
|
+
}),
|
|
25616
|
+
queryFn: () => symmCoreClient.funding.getPayments(request),
|
|
25617
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25618
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25619
|
+
});
|
|
25620
|
+
return {
|
|
25621
|
+
payments: query.data?.data?.payments ?? [],
|
|
25622
|
+
total: query.data?.data?.total ?? 0,
|
|
25623
|
+
isLoading: query.isLoading,
|
|
25624
|
+
refetch: query.refetch
|
|
25625
|
+
};
|
|
25626
|
+
}
|
|
25252
25627
|
function useSymmPortfolio(params) {
|
|
25253
25628
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25254
25629
|
const { accountAddress, mainAddress } = params;
|
|
@@ -25298,11 +25673,12 @@ function useSymmNotifications(params) {
|
|
|
25298
25673
|
staleTime: params.query?.staleTime ?? 1e4
|
|
25299
25674
|
});
|
|
25300
25675
|
const markRead = useMutation({
|
|
25301
|
-
mutationFn: async ({ id }) => {
|
|
25676
|
+
mutationFn: async ({ id, timestamp }) => {
|
|
25302
25677
|
if (!symmCoreClient || !userAddress)
|
|
25303
25678
|
throw new Error("symm-core client not available");
|
|
25304
25679
|
return symmCoreClient.notifications.markRead({
|
|
25305
25680
|
id,
|
|
25681
|
+
timestamp,
|
|
25306
25682
|
userAddress,
|
|
25307
25683
|
chainId
|
|
25308
25684
|
});
|
|
@@ -25324,6 +25700,78 @@ function useSymmNotifications(params) {
|
|
|
25324
25700
|
refetch: notificationsQuery.refetch
|
|
25325
25701
|
};
|
|
25326
25702
|
}
|
|
25703
|
+
function useSymmPendingIds(params) {
|
|
25704
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25705
|
+
const { accountAddress } = params;
|
|
25706
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25707
|
+
const internalEnabled = !!symmCoreClient && !!accountAddress;
|
|
25708
|
+
const query = useQuery({
|
|
25709
|
+
...params.query,
|
|
25710
|
+
queryKey: symmKeys.pendingIds(accountAddress, chainId),
|
|
25711
|
+
queryFn: () => symmCoreClient.positions.getPendingIds({
|
|
25712
|
+
address: accountAddress,
|
|
25713
|
+
chainId
|
|
25714
|
+
}),
|
|
25715
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25716
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25717
|
+
});
|
|
25718
|
+
return {
|
|
25719
|
+
pendingIds: query.data?.data?.pendingIds ?? [],
|
|
25720
|
+
isLoading: query.isLoading,
|
|
25721
|
+
refetch: query.refetch
|
|
25722
|
+
};
|
|
25723
|
+
}
|
|
25724
|
+
function useSymmPendingInstantOpens(params) {
|
|
25725
|
+
const {
|
|
25726
|
+
symmCoreClient,
|
|
25727
|
+
chainId: ctxChainId,
|
|
25728
|
+
authToken: ctxAuthToken,
|
|
25729
|
+
refreshAuth
|
|
25730
|
+
} = useSymmContext();
|
|
25731
|
+
const { accountAddress, authToken: providedAuthToken } = params;
|
|
25732
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25733
|
+
const internalEnabled = !!symmCoreClient && !!accountAddress;
|
|
25734
|
+
const query = useQuery({
|
|
25735
|
+
...params.query,
|
|
25736
|
+
queryKey: symmKeys.pendingInstantOpens(accountAddress, chainId),
|
|
25737
|
+
queryFn: async () => {
|
|
25738
|
+
const authToken = providedAuthToken ?? ctxAuthToken ?? await refreshAuth(accountAddress);
|
|
25739
|
+
if (!authToken) {
|
|
25740
|
+
throw new Error("failed to acquire auth token for pending instant opens");
|
|
25741
|
+
}
|
|
25742
|
+
return symmCoreClient.positions.getPendingInstantOpens({
|
|
25743
|
+
accountAddress,
|
|
25744
|
+
chainId,
|
|
25745
|
+
authToken
|
|
25746
|
+
});
|
|
25747
|
+
},
|
|
25748
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25749
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25750
|
+
});
|
|
25751
|
+
return {
|
|
25752
|
+
pendingOpens: query.data?.data?.pendingOpens ?? [],
|
|
25753
|
+
total: query.data?.data?.total ?? 0,
|
|
25754
|
+
isLoading: query.isLoading,
|
|
25755
|
+
refetch: query.refetch
|
|
25756
|
+
};
|
|
25757
|
+
}
|
|
25758
|
+
function useSymmTwapOrder(params) {
|
|
25759
|
+
const { symmCoreClient } = useSymmContext();
|
|
25760
|
+
const { orderId } = params;
|
|
25761
|
+
const internalEnabled = !!symmCoreClient && !!orderId;
|
|
25762
|
+
const query = useQuery({
|
|
25763
|
+
...params.query,
|
|
25764
|
+
queryKey: symmKeys.twapOrder(orderId),
|
|
25765
|
+
queryFn: () => symmCoreClient.orders.getTwapOrder(orderId),
|
|
25766
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25767
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25768
|
+
});
|
|
25769
|
+
return {
|
|
25770
|
+
order: query.data?.data ?? null,
|
|
25771
|
+
isLoading: query.isLoading,
|
|
25772
|
+
refetch: query.refetch
|
|
25773
|
+
};
|
|
25774
|
+
}
|
|
25327
25775
|
function asUnsubscribeFn(value) {
|
|
25328
25776
|
return typeof value === "function" ? value : null;
|
|
25329
25777
|
}
|
|
@@ -25381,17 +25829,20 @@ function useSymmWs(params) {
|
|
|
25381
25829
|
}));
|
|
25382
25830
|
if (notificationsUnsub) unsubscribers.push(notificationsUnsub);
|
|
25383
25831
|
const tpslUnsub = asUnsubscribeFn(ws.subscribeToTpsl(addr, chainId, () => {
|
|
25384
|
-
queryClient.invalidateQueries({
|
|
25385
|
-
|
|
25386
|
-
});
|
|
25832
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "tpslOrders"] });
|
|
25833
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
25387
25834
|
}));
|
|
25388
25835
|
if (tpslUnsub) unsubscribers.push(tpslUnsub);
|
|
25389
25836
|
const twapUnsub = asUnsubscribeFn(ws.subscribeToTwapOrders(addr, chainId, () => {
|
|
25390
|
-
queryClient.invalidateQueries({
|
|
25391
|
-
|
|
25392
|
-
});
|
|
25837
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "twapOrders"] });
|
|
25838
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
25393
25839
|
}));
|
|
25394
25840
|
if (twapUnsub) unsubscribers.push(twapUnsub);
|
|
25841
|
+
const triggerOrdersUnsub = asUnsubscribeFn(ws.subscribeToTriggerOrders(addr, chainId, () => {
|
|
25842
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "triggerOrders"] });
|
|
25843
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
25844
|
+
}));
|
|
25845
|
+
if (triggerOrdersUnsub) unsubscribers.push(triggerOrdersUnsub);
|
|
25395
25846
|
const executionsUnsub = asUnsubscribeFn(ws.subscribeToExecutions(addr, chainId, () => {
|
|
25396
25847
|
queryClient.invalidateQueries({
|
|
25397
25848
|
queryKey: symmKeys.positions(accountAddress, chainId)
|
|
@@ -26431,6 +26882,6 @@ function getSymmErrorMessage(error) {
|
|
|
26431
26882
|
return "An unexpected error occurred.";
|
|
26432
26883
|
}
|
|
26433
26884
|
|
|
26434
|
-
export { SymmProvider, getSymmErrorMessage, symmKeys, useSymmAccountData, useSymmAccountSummary, useSymmAccounts, useSymmApproval, useSymmAuth, useSymmAvailableMargin, useSymmBalances, useSymmChartCandles, useSymmChartSelection, useSymmCollateral, useSymmContext, useSymmCoreClient, useSymmDelegation, useSymmDeposit, useSymmFunding, useSymmHedgerMarkets, useSymmInstantTrade, useSymmMarkets, useSymmNotifications, useSymmOpenOrders, useSymmPerformanceOverlays, useSymmPortfolio, useSymmPositions, useSymmSignature, useSymmTokenSelectionMetadata, useSymmTpsl, useSymmTrade, useSymmTradeHistory, useSymmTwap, useSymmWithdraw, useSymmWs, useSymmioClient };
|
|
26885
|
+
export { SymmProvider, getSymmErrorMessage, symmKeys, useSymmAccountData, useSymmAccountSummary, useSymmAccounts, useSymmAccountsApi, useSymmAccountsLength, useSymmAccountsWithPositions, useSymmApproval, useSymmAuth, useSymmAvailableMargin, useSymmBalances, useSymmCancelClose, useSymmChartCandles, useSymmChartSelection, useSymmCloseOrder, useSymmCollateral, useSymmContext, useSymmCoreClient, useSymmDelegation, useSymmDeposit, useSymmFunding, useSymmFundingHistory, useSymmFundingPayments, useSymmHedgerMarketById, useSymmHedgerMarketBySymbol, useSymmHedgerMarkets, useSymmInstantTrade, useSymmLockedParams, useSymmMarkets, useSymmNotifications, useSymmOpenOrders, useSymmPendingIds, useSymmPendingInstantOpens, useSymmPerformanceOverlays, useSymmPortfolio, useSymmPositions, useSymmSignature, useSymmTokenSelectionMetadata, useSymmTpsl, useSymmTpslOrders, useSymmTrade, useSymmTradeHistory, useSymmTriggerConfig, useSymmTriggerOrders, useSymmTwap, useSymmTwapOrder, useSymmWithdraw, useSymmWs, useSymmioClient };
|
|
26435
26886
|
//# sourceMappingURL=index.mjs.map
|
|
26436
26887
|
//# sourceMappingURL=index.mjs.map
|