@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.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
var react = require('react');
|
|
@@ -7,8 +8,6 @@ var viem = require('viem');
|
|
|
7
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
9
|
var reactQuery = require('@tanstack/react-query');
|
|
9
10
|
|
|
10
|
-
// src/react/provider.tsx
|
|
11
|
-
|
|
12
11
|
// src/constants/addresses.ts
|
|
13
12
|
var MULTI_ACCOUNT_ADDRESS = {
|
|
14
13
|
[42161 /* ARBITRUM */]: "0x6273242a7E88b3De90822b31648C212215caaFE4",
|
|
@@ -24525,6 +24524,9 @@ var ALL_TRADING_SELECTORS = [
|
|
|
24525
24524
|
var symmKeys = {
|
|
24526
24525
|
all: ["symm"],
|
|
24527
24526
|
accounts: (address, chainId) => ["symm", "accounts", address, chainId],
|
|
24527
|
+
accountsApi: (address, chainId) => ["symm", "accountsApi", address, chainId],
|
|
24528
|
+
accountsLength: (address, chainId) => ["symm", "accountsLength", address, chainId],
|
|
24529
|
+
accountsWithPositions: (address, chainId) => ["symm", "accountsWithPositions", address, chainId],
|
|
24528
24530
|
accountSummary: (address, chainId) => ["symm", "accountSummary", address, chainId],
|
|
24529
24531
|
accountData: (address, chainId) => ["symm", "accountData", address, chainId],
|
|
24530
24532
|
signature: (address, chainId) => ["symm", "signature", address, chainId],
|
|
@@ -24534,14 +24536,25 @@ var symmKeys = {
|
|
|
24534
24536
|
openOrders: (address, chainId) => ["symm", "openOrders", address, chainId],
|
|
24535
24537
|
tradeHistory: (address, chainId) => ["symm", "tradeHistory", address, chainId],
|
|
24536
24538
|
tpslOrders: (address, chainId) => ["symm", "tpslOrders", address, chainId],
|
|
24539
|
+
tpslOrdersList: (params) => ["symm", "tpslOrders", params],
|
|
24537
24540
|
twapOrders: (address, chainId) => ["symm", "twapOrders", address, chainId],
|
|
24541
|
+
triggerOrders: (params) => ["symm", "triggerOrders", params],
|
|
24542
|
+
triggerConfig: (orderId) => ["symm", "triggerConfig", orderId],
|
|
24538
24543
|
markets: (chainId, search) => ["symm", "markets", chainId, search],
|
|
24544
|
+
hedgerMarketById: (id, chainId) => ["symm", "hedgerMarketById", id, chainId],
|
|
24545
|
+
hedgerMarketBySymbol: (symbol, chainId) => ["symm", "hedgerMarketBySymbol", symbol, chainId],
|
|
24546
|
+
lockedParams: (marketName, leverage, chainId) => ["symm", "lockedParams", marketName, leverage, chainId],
|
|
24539
24547
|
hedgerMarkets: (request) => ["symm", "hedgerMarkets", request],
|
|
24540
24548
|
fundingRates: (chainId) => ["symm", "fundingRates", chainId],
|
|
24549
|
+
fundingPayments: (params) => ["symm", "fundingPayments", params],
|
|
24550
|
+
fundingHistory: (params) => ["symm", "fundingHistory", params],
|
|
24541
24551
|
portfolio: (address, chainId) => ["symm", "portfolio", address, chainId],
|
|
24542
24552
|
notifications: (address, chainId) => ["symm", "notifications", address, chainId],
|
|
24543
24553
|
unreadCount: (address, chainId) => ["symm", "unreadCount", address, chainId],
|
|
24544
24554
|
availableMargin: (address, chainId) => ["symm", "availableMargin", address, chainId],
|
|
24555
|
+
pendingIds: (address, chainId) => ["symm", "pendingIds", address, chainId],
|
|
24556
|
+
pendingInstantOpens: (accountAddress, chainId) => ["symm", "pendingInstantOpens", accountAddress, chainId],
|
|
24557
|
+
twapOrder: (orderId) => ["symm", "twapOrder", orderId],
|
|
24545
24558
|
delegation: (account, target, selectors, chainId) => ["symm", "delegation", account, target, selectors, chainId],
|
|
24546
24559
|
chartMetadata: (symbolsKey, positionKey) => ["symm", "chartMetadata", symbolsKey, positionKey]
|
|
24547
24560
|
};
|
|
@@ -24603,6 +24616,7 @@ function invalidateOrders(qc) {
|
|
|
24603
24616
|
qc.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
24604
24617
|
qc.invalidateQueries({ queryKey: ["symm", "tpslOrders"] });
|
|
24605
24618
|
qc.invalidateQueries({ queryKey: ["symm", "twapOrders"] });
|
|
24619
|
+
qc.invalidateQueries({ queryKey: ["symm", "triggerOrders"] });
|
|
24606
24620
|
}
|
|
24607
24621
|
|
|
24608
24622
|
// src/react/hooks/use-symm-instant-trade.ts
|
|
@@ -24735,6 +24749,72 @@ function useSymmAccounts(userAddress, options) {
|
|
|
24735
24749
|
editName
|
|
24736
24750
|
};
|
|
24737
24751
|
}
|
|
24752
|
+
function useSymmAccountsApi(params) {
|
|
24753
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24754
|
+
const { userAddress } = params;
|
|
24755
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
24756
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24757
|
+
const query = reactQuery.useQuery({
|
|
24758
|
+
...params.query,
|
|
24759
|
+
queryKey: symmKeys.accountsApi(userAddress, chainId),
|
|
24760
|
+
queryFn: () => symmCoreClient.accounts.list({
|
|
24761
|
+
userAddress,
|
|
24762
|
+
chainId
|
|
24763
|
+
}),
|
|
24764
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
24765
|
+
staleTime: params.query?.staleTime ?? 1e4
|
|
24766
|
+
});
|
|
24767
|
+
return {
|
|
24768
|
+
accounts: query.data?.data?.accounts ?? [],
|
|
24769
|
+
total: query.data?.data?.total ?? 0,
|
|
24770
|
+
isLoading: query.isLoading,
|
|
24771
|
+
refetch: query.refetch
|
|
24772
|
+
};
|
|
24773
|
+
}
|
|
24774
|
+
function useSymmAccountsLength(params) {
|
|
24775
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24776
|
+
const { userAddress } = params;
|
|
24777
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
24778
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24779
|
+
const query = reactQuery.useQuery({
|
|
24780
|
+
...params.query,
|
|
24781
|
+
queryKey: symmKeys.accountsLength(userAddress, chainId),
|
|
24782
|
+
queryFn: () => symmCoreClient.accounts.getLength({
|
|
24783
|
+
userAddress,
|
|
24784
|
+
chainId
|
|
24785
|
+
}),
|
|
24786
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
24787
|
+
staleTime: params.query?.staleTime ?? 1e4
|
|
24788
|
+
});
|
|
24789
|
+
return {
|
|
24790
|
+
chains: query.data?.data?.chains ?? [],
|
|
24791
|
+
total: query.data?.data?.total ?? 0,
|
|
24792
|
+
isLoading: query.isLoading,
|
|
24793
|
+
refetch: query.refetch
|
|
24794
|
+
};
|
|
24795
|
+
}
|
|
24796
|
+
function useSymmAccountsWithPositions(params) {
|
|
24797
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
24798
|
+
const { userAddress } = params;
|
|
24799
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
24800
|
+
const internalEnabled = !!symmCoreClient && !!userAddress;
|
|
24801
|
+
const query = reactQuery.useQuery({
|
|
24802
|
+
...params.query,
|
|
24803
|
+
queryKey: symmKeys.accountsWithPositions(userAddress, chainId),
|
|
24804
|
+
queryFn: () => symmCoreClient.accounts.getWithPositions({
|
|
24805
|
+
userAddress,
|
|
24806
|
+
chainId
|
|
24807
|
+
}),
|
|
24808
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
24809
|
+
staleTime: params.query?.staleTime ?? 1e4
|
|
24810
|
+
});
|
|
24811
|
+
return {
|
|
24812
|
+
accounts: query.data?.data?.accounts ?? [],
|
|
24813
|
+
total: query.data?.data?.total ?? 0,
|
|
24814
|
+
isLoading: query.isLoading,
|
|
24815
|
+
refetch: query.refetch
|
|
24816
|
+
};
|
|
24817
|
+
}
|
|
24738
24818
|
function useSymmApproval(params) {
|
|
24739
24819
|
const { symmioClient, chainId } = useSymmContext();
|
|
24740
24820
|
const queryClient = reactQuery.useQueryClient();
|
|
@@ -24781,6 +24861,57 @@ function useSymmApproval(params) {
|
|
|
24781
24861
|
approve: approve2
|
|
24782
24862
|
};
|
|
24783
24863
|
}
|
|
24864
|
+
function useSymmCancelClose() {
|
|
24865
|
+
const { symmCoreClient, authToken: ctxAuthToken, refreshAuth, chainId } = useSymmContext();
|
|
24866
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24867
|
+
const cancelClose = reactQuery.useMutation({
|
|
24868
|
+
mutationFn: async ({
|
|
24869
|
+
quoteId,
|
|
24870
|
+
authToken,
|
|
24871
|
+
accountAddress,
|
|
24872
|
+
overrideChainId
|
|
24873
|
+
}) => {
|
|
24874
|
+
if (!symmCoreClient) {
|
|
24875
|
+
throw new Error("symm-core client not available");
|
|
24876
|
+
}
|
|
24877
|
+
const resolvedAuthToken = authToken ?? ctxAuthToken ?? (accountAddress ? await refreshAuth(accountAddress) : null);
|
|
24878
|
+
if (!resolvedAuthToken) {
|
|
24879
|
+
throw new Error("auth token is required to cancel a pending close");
|
|
24880
|
+
}
|
|
24881
|
+
return symmCoreClient.orders.cancelClose({
|
|
24882
|
+
quoteId,
|
|
24883
|
+
authToken: resolvedAuthToken,
|
|
24884
|
+
chainId: overrideChainId ?? chainId
|
|
24885
|
+
});
|
|
24886
|
+
},
|
|
24887
|
+
onSuccess: () => {
|
|
24888
|
+
invalidateOrders(queryClient);
|
|
24889
|
+
invalidatePositions(queryClient);
|
|
24890
|
+
}
|
|
24891
|
+
});
|
|
24892
|
+
return { cancelClose };
|
|
24893
|
+
}
|
|
24894
|
+
function useSymmCloseOrder() {
|
|
24895
|
+
const { symmCoreClient, authToken: ctxAuthToken } = useSymmContext();
|
|
24896
|
+
const queryClient = reactQuery.useQueryClient();
|
|
24897
|
+
const closeOrder = reactQuery.useMutation({
|
|
24898
|
+
mutationFn: async (request) => {
|
|
24899
|
+
if (!symmCoreClient) {
|
|
24900
|
+
throw new Error("symm-core client not available");
|
|
24901
|
+
}
|
|
24902
|
+
return symmCoreClient.orders.close(request.id, {
|
|
24903
|
+
kind: request.kind,
|
|
24904
|
+
type: request.type,
|
|
24905
|
+
authToken: request.authToken ?? ctxAuthToken ?? void 0
|
|
24906
|
+
});
|
|
24907
|
+
},
|
|
24908
|
+
onSuccess: () => {
|
|
24909
|
+
invalidateOrders(queryClient);
|
|
24910
|
+
invalidatePositions(queryClient);
|
|
24911
|
+
}
|
|
24912
|
+
});
|
|
24913
|
+
return { closeOrder };
|
|
24914
|
+
}
|
|
24784
24915
|
function useSymmDeposit() {
|
|
24785
24916
|
const { symmioClient } = useSymmContext();
|
|
24786
24917
|
const queryClient = reactQuery.useQueryClient();
|
|
@@ -25140,6 +25271,40 @@ function useSymmTpsl() {
|
|
|
25140
25271
|
});
|
|
25141
25272
|
return { setTpsl, cancelTpsl };
|
|
25142
25273
|
}
|
|
25274
|
+
function useSymmTpslOrders(params) {
|
|
25275
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25276
|
+
const { accountAddress, mainAddress, positionId, type, status } = params;
|
|
25277
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25278
|
+
const internalEnabled = !!symmCoreClient && !!(accountAddress || mainAddress || positionId);
|
|
25279
|
+
const request = {
|
|
25280
|
+
address: accountAddress,
|
|
25281
|
+
mainAddress,
|
|
25282
|
+
positionId,
|
|
25283
|
+
type,
|
|
25284
|
+
status,
|
|
25285
|
+
chainId
|
|
25286
|
+
};
|
|
25287
|
+
const query = reactQuery.useQuery({
|
|
25288
|
+
...params.query,
|
|
25289
|
+
queryKey: symmKeys.tpslOrdersList({
|
|
25290
|
+
accountAddress,
|
|
25291
|
+
mainAddress,
|
|
25292
|
+
positionId,
|
|
25293
|
+
type,
|
|
25294
|
+
status,
|
|
25295
|
+
chainId
|
|
25296
|
+
}),
|
|
25297
|
+
queryFn: () => symmCoreClient.orders.getTpslOrders(request),
|
|
25298
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25299
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25300
|
+
});
|
|
25301
|
+
return {
|
|
25302
|
+
tpslOrders: query.data?.data?.tpslOrders ?? [],
|
|
25303
|
+
total: query.data?.data?.total ?? 0,
|
|
25304
|
+
isLoading: query.isLoading,
|
|
25305
|
+
refetch: query.refetch
|
|
25306
|
+
};
|
|
25307
|
+
}
|
|
25143
25308
|
function useSymmTwap(params) {
|
|
25144
25309
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25145
25310
|
const queryClient = reactQuery.useQueryClient();
|
|
@@ -25172,6 +25337,90 @@ function useSymmTwap(params) {
|
|
|
25172
25337
|
cancelTwap
|
|
25173
25338
|
};
|
|
25174
25339
|
}
|
|
25340
|
+
function useSymmTriggerConfig(params) {
|
|
25341
|
+
const { symmCoreClient } = useSymmContext();
|
|
25342
|
+
const queryClient = reactQuery.useQueryClient();
|
|
25343
|
+
const { orderId } = params;
|
|
25344
|
+
const internalEnabled = !!symmCoreClient && !!orderId;
|
|
25345
|
+
const query = reactQuery.useQuery({
|
|
25346
|
+
...params.query,
|
|
25347
|
+
queryKey: symmKeys.triggerConfig(orderId),
|
|
25348
|
+
queryFn: () => symmCoreClient.orders.getTriggerConfig(orderId),
|
|
25349
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25350
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25351
|
+
});
|
|
25352
|
+
const setTriggerConfig = reactQuery.useMutation({
|
|
25353
|
+
mutationFn: async (request) => {
|
|
25354
|
+
if (!symmCoreClient || !orderId) {
|
|
25355
|
+
throw new Error("symm-core client or orderId not available");
|
|
25356
|
+
}
|
|
25357
|
+
return symmCoreClient.orders.setTriggerConfig(orderId, request);
|
|
25358
|
+
},
|
|
25359
|
+
onSuccess: () => {
|
|
25360
|
+
queryClient.invalidateQueries({
|
|
25361
|
+
queryKey: symmKeys.triggerConfig(orderId)
|
|
25362
|
+
});
|
|
25363
|
+
invalidateOrders(queryClient);
|
|
25364
|
+
}
|
|
25365
|
+
});
|
|
25366
|
+
const clearTriggerConfig = reactQuery.useMutation({
|
|
25367
|
+
mutationFn: async () => {
|
|
25368
|
+
if (!symmCoreClient || !orderId) {
|
|
25369
|
+
throw new Error("symm-core client or orderId not available");
|
|
25370
|
+
}
|
|
25371
|
+
return symmCoreClient.orders.clearTriggerConfig(orderId);
|
|
25372
|
+
},
|
|
25373
|
+
onSuccess: () => {
|
|
25374
|
+
queryClient.invalidateQueries({
|
|
25375
|
+
queryKey: symmKeys.triggerConfig(orderId)
|
|
25376
|
+
});
|
|
25377
|
+
invalidateOrders(queryClient);
|
|
25378
|
+
}
|
|
25379
|
+
});
|
|
25380
|
+
return {
|
|
25381
|
+
triggerConfig: query.data?.data?.triggerConfig ?? null,
|
|
25382
|
+
isLoading: query.isLoading,
|
|
25383
|
+
refetch: query.refetch,
|
|
25384
|
+
setTriggerConfig,
|
|
25385
|
+
clearTriggerConfig
|
|
25386
|
+
};
|
|
25387
|
+
}
|
|
25388
|
+
function useSymmTriggerOrders(params) {
|
|
25389
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25390
|
+
const { accountAddress, mainAddress, status, limit, offset } = params;
|
|
25391
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25392
|
+
const internalEnabled = !!symmCoreClient && !!(accountAddress || mainAddress);
|
|
25393
|
+
const request = {
|
|
25394
|
+
address: accountAddress,
|
|
25395
|
+
mainAddress,
|
|
25396
|
+
chainId,
|
|
25397
|
+
status,
|
|
25398
|
+
limit,
|
|
25399
|
+
offset
|
|
25400
|
+
};
|
|
25401
|
+
const query = reactQuery.useQuery({
|
|
25402
|
+
...params.query,
|
|
25403
|
+
queryKey: symmKeys.triggerOrders({
|
|
25404
|
+
accountAddress,
|
|
25405
|
+
mainAddress,
|
|
25406
|
+
chainId,
|
|
25407
|
+
status,
|
|
25408
|
+
limit,
|
|
25409
|
+
offset
|
|
25410
|
+
}),
|
|
25411
|
+
queryFn: () => symmCoreClient.orders.listTriggerOrders(request),
|
|
25412
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25413
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25414
|
+
});
|
|
25415
|
+
return {
|
|
25416
|
+
orders: query.data?.data?.orders ?? [],
|
|
25417
|
+
total: query.data?.data?.total ?? 0,
|
|
25418
|
+
limit: query.data?.data?.limit ?? limit ?? 0,
|
|
25419
|
+
offset: query.data?.data?.offset ?? offset ?? 0,
|
|
25420
|
+
isLoading: query.isLoading,
|
|
25421
|
+
refetch: query.refetch
|
|
25422
|
+
};
|
|
25423
|
+
}
|
|
25175
25424
|
function useSymmMarkets(params) {
|
|
25176
25425
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25177
25426
|
const chainId = params?.chainId ?? ctxChainId;
|
|
@@ -25195,6 +25444,66 @@ function useSymmMarkets(params) {
|
|
|
25195
25444
|
refetch: query.refetch
|
|
25196
25445
|
};
|
|
25197
25446
|
}
|
|
25447
|
+
function useSymmHedgerMarketById(params) {
|
|
25448
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25449
|
+
const { id } = params;
|
|
25450
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25451
|
+
const internalEnabled = !!symmCoreClient && id != null;
|
|
25452
|
+
const query = reactQuery.useQuery({
|
|
25453
|
+
...params.query,
|
|
25454
|
+
queryKey: symmKeys.hedgerMarketById(id, chainId),
|
|
25455
|
+
queryFn: () => symmCoreClient.markets.getById(id, chainId),
|
|
25456
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25457
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25458
|
+
});
|
|
25459
|
+
return {
|
|
25460
|
+
market: query.data?.data?.markets?.[0] ?? null,
|
|
25461
|
+
markets: query.data?.data?.markets ?? [],
|
|
25462
|
+
isLoading: query.isLoading,
|
|
25463
|
+
refetch: query.refetch
|
|
25464
|
+
};
|
|
25465
|
+
}
|
|
25466
|
+
function useSymmHedgerMarketBySymbol(params) {
|
|
25467
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25468
|
+
const { symbol } = params;
|
|
25469
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25470
|
+
const internalEnabled = !!symmCoreClient && !!symbol;
|
|
25471
|
+
const query = reactQuery.useQuery({
|
|
25472
|
+
...params.query,
|
|
25473
|
+
queryKey: symmKeys.hedgerMarketBySymbol(symbol, chainId),
|
|
25474
|
+
queryFn: () => symmCoreClient.markets.getBySymbol(symbol, chainId),
|
|
25475
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25476
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25477
|
+
});
|
|
25478
|
+
return {
|
|
25479
|
+
market: query.data?.data?.markets?.[0] ?? null,
|
|
25480
|
+
markets: query.data?.data?.markets ?? [],
|
|
25481
|
+
isLoading: query.isLoading,
|
|
25482
|
+
refetch: query.refetch
|
|
25483
|
+
};
|
|
25484
|
+
}
|
|
25485
|
+
function useSymmLockedParams(params) {
|
|
25486
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25487
|
+
const { marketName, leverage } = params;
|
|
25488
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25489
|
+
const internalEnabled = !!symmCoreClient && !!marketName && leverage != null;
|
|
25490
|
+
const query = reactQuery.useQuery({
|
|
25491
|
+
...params.query,
|
|
25492
|
+
queryKey: symmKeys.lockedParams(marketName, leverage, chainId),
|
|
25493
|
+
queryFn: () => symmCoreClient.markets.getLockedParams({
|
|
25494
|
+
marketName,
|
|
25495
|
+
leverage,
|
|
25496
|
+
chainId
|
|
25497
|
+
}),
|
|
25498
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25499
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25500
|
+
});
|
|
25501
|
+
return {
|
|
25502
|
+
lockedParams: query.data?.data ?? null,
|
|
25503
|
+
isLoading: query.isLoading,
|
|
25504
|
+
refetch: query.refetch
|
|
25505
|
+
};
|
|
25506
|
+
}
|
|
25198
25507
|
var EMPTY_MARKETS = [];
|
|
25199
25508
|
var EMPTY_SYMBOLS = [];
|
|
25200
25509
|
var EMPTY_MAP_BY_ID = /* @__PURE__ */ new Map();
|
|
@@ -25251,6 +25560,72 @@ function useSymmFunding(params) {
|
|
|
25251
25560
|
isLoading: query.isLoading
|
|
25252
25561
|
};
|
|
25253
25562
|
}
|
|
25563
|
+
function useSymmFundingHistory(params) {
|
|
25564
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25565
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25566
|
+
const {
|
|
25567
|
+
period,
|
|
25568
|
+
longSymbols,
|
|
25569
|
+
shortSymbols,
|
|
25570
|
+
interval,
|
|
25571
|
+
weightMode,
|
|
25572
|
+
includeContributions
|
|
25573
|
+
} = params;
|
|
25574
|
+
const internalEnabled = !!symmCoreClient;
|
|
25575
|
+
const request = {
|
|
25576
|
+
chainId,
|
|
25577
|
+
period,
|
|
25578
|
+
longSymbols,
|
|
25579
|
+
shortSymbols,
|
|
25580
|
+
interval,
|
|
25581
|
+
weightMode,
|
|
25582
|
+
includeContributions
|
|
25583
|
+
};
|
|
25584
|
+
const query = reactQuery.useQuery({
|
|
25585
|
+
...params.query,
|
|
25586
|
+
queryKey: symmKeys.fundingHistory(request),
|
|
25587
|
+
queryFn: () => symmCoreClient.funding.getHistory(request),
|
|
25588
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25589
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25590
|
+
});
|
|
25591
|
+
return {
|
|
25592
|
+
history: query.data?.data ?? null,
|
|
25593
|
+
isLoading: query.isLoading,
|
|
25594
|
+
refetch: query.refetch
|
|
25595
|
+
};
|
|
25596
|
+
}
|
|
25597
|
+
function useSymmFundingPayments(params) {
|
|
25598
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25599
|
+
const { address, positionId, limit, offset } = params;
|
|
25600
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25601
|
+
const internalEnabled = !!symmCoreClient && !!(address || positionId);
|
|
25602
|
+
const request = {
|
|
25603
|
+
address,
|
|
25604
|
+
positionId,
|
|
25605
|
+
chainId,
|
|
25606
|
+
limit,
|
|
25607
|
+
offset
|
|
25608
|
+
};
|
|
25609
|
+
const query = reactQuery.useQuery({
|
|
25610
|
+
...params.query,
|
|
25611
|
+
queryKey: symmKeys.fundingPayments({
|
|
25612
|
+
address,
|
|
25613
|
+
positionId,
|
|
25614
|
+
chainId,
|
|
25615
|
+
limit,
|
|
25616
|
+
offset
|
|
25617
|
+
}),
|
|
25618
|
+
queryFn: () => symmCoreClient.funding.getPayments(request),
|
|
25619
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25620
|
+
staleTime: params.query?.staleTime ?? 3e4
|
|
25621
|
+
});
|
|
25622
|
+
return {
|
|
25623
|
+
payments: query.data?.data?.payments ?? [],
|
|
25624
|
+
total: query.data?.data?.total ?? 0,
|
|
25625
|
+
isLoading: query.isLoading,
|
|
25626
|
+
refetch: query.refetch
|
|
25627
|
+
};
|
|
25628
|
+
}
|
|
25254
25629
|
function useSymmPortfolio(params) {
|
|
25255
25630
|
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25256
25631
|
const { accountAddress, mainAddress } = params;
|
|
@@ -25300,11 +25675,12 @@ function useSymmNotifications(params) {
|
|
|
25300
25675
|
staleTime: params.query?.staleTime ?? 1e4
|
|
25301
25676
|
});
|
|
25302
25677
|
const markRead = reactQuery.useMutation({
|
|
25303
|
-
mutationFn: async ({ id }) => {
|
|
25678
|
+
mutationFn: async ({ id, timestamp }) => {
|
|
25304
25679
|
if (!symmCoreClient || !userAddress)
|
|
25305
25680
|
throw new Error("symm-core client not available");
|
|
25306
25681
|
return symmCoreClient.notifications.markRead({
|
|
25307
25682
|
id,
|
|
25683
|
+
timestamp,
|
|
25308
25684
|
userAddress,
|
|
25309
25685
|
chainId
|
|
25310
25686
|
});
|
|
@@ -25326,6 +25702,78 @@ function useSymmNotifications(params) {
|
|
|
25326
25702
|
refetch: notificationsQuery.refetch
|
|
25327
25703
|
};
|
|
25328
25704
|
}
|
|
25705
|
+
function useSymmPendingIds(params) {
|
|
25706
|
+
const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
|
|
25707
|
+
const { accountAddress } = params;
|
|
25708
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25709
|
+
const internalEnabled = !!symmCoreClient && !!accountAddress;
|
|
25710
|
+
const query = reactQuery.useQuery({
|
|
25711
|
+
...params.query,
|
|
25712
|
+
queryKey: symmKeys.pendingIds(accountAddress, chainId),
|
|
25713
|
+
queryFn: () => symmCoreClient.positions.getPendingIds({
|
|
25714
|
+
address: accountAddress,
|
|
25715
|
+
chainId
|
|
25716
|
+
}),
|
|
25717
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25718
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25719
|
+
});
|
|
25720
|
+
return {
|
|
25721
|
+
pendingIds: query.data?.data?.pendingIds ?? [],
|
|
25722
|
+
isLoading: query.isLoading,
|
|
25723
|
+
refetch: query.refetch
|
|
25724
|
+
};
|
|
25725
|
+
}
|
|
25726
|
+
function useSymmPendingInstantOpens(params) {
|
|
25727
|
+
const {
|
|
25728
|
+
symmCoreClient,
|
|
25729
|
+
chainId: ctxChainId,
|
|
25730
|
+
authToken: ctxAuthToken,
|
|
25731
|
+
refreshAuth
|
|
25732
|
+
} = useSymmContext();
|
|
25733
|
+
const { accountAddress, authToken: providedAuthToken } = params;
|
|
25734
|
+
const chainId = params.chainId ?? ctxChainId;
|
|
25735
|
+
const internalEnabled = !!symmCoreClient && !!accountAddress;
|
|
25736
|
+
const query = reactQuery.useQuery({
|
|
25737
|
+
...params.query,
|
|
25738
|
+
queryKey: symmKeys.pendingInstantOpens(accountAddress, chainId),
|
|
25739
|
+
queryFn: async () => {
|
|
25740
|
+
const authToken = providedAuthToken ?? ctxAuthToken ?? await refreshAuth(accountAddress);
|
|
25741
|
+
if (!authToken) {
|
|
25742
|
+
throw new Error("failed to acquire auth token for pending instant opens");
|
|
25743
|
+
}
|
|
25744
|
+
return symmCoreClient.positions.getPendingInstantOpens({
|
|
25745
|
+
accountAddress,
|
|
25746
|
+
chainId,
|
|
25747
|
+
authToken
|
|
25748
|
+
});
|
|
25749
|
+
},
|
|
25750
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25751
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25752
|
+
});
|
|
25753
|
+
return {
|
|
25754
|
+
pendingOpens: query.data?.data?.pendingOpens ?? [],
|
|
25755
|
+
total: query.data?.data?.total ?? 0,
|
|
25756
|
+
isLoading: query.isLoading,
|
|
25757
|
+
refetch: query.refetch
|
|
25758
|
+
};
|
|
25759
|
+
}
|
|
25760
|
+
function useSymmTwapOrder(params) {
|
|
25761
|
+
const { symmCoreClient } = useSymmContext();
|
|
25762
|
+
const { orderId } = params;
|
|
25763
|
+
const internalEnabled = !!symmCoreClient && !!orderId;
|
|
25764
|
+
const query = reactQuery.useQuery({
|
|
25765
|
+
...params.query,
|
|
25766
|
+
queryKey: symmKeys.twapOrder(orderId),
|
|
25767
|
+
queryFn: () => symmCoreClient.orders.getTwapOrder(orderId),
|
|
25768
|
+
enabled: internalEnabled && (params.query?.enabled ?? true),
|
|
25769
|
+
staleTime: params.query?.staleTime ?? 5e3
|
|
25770
|
+
});
|
|
25771
|
+
return {
|
|
25772
|
+
order: query.data?.data ?? null,
|
|
25773
|
+
isLoading: query.isLoading,
|
|
25774
|
+
refetch: query.refetch
|
|
25775
|
+
};
|
|
25776
|
+
}
|
|
25329
25777
|
function asUnsubscribeFn(value) {
|
|
25330
25778
|
return typeof value === "function" ? value : null;
|
|
25331
25779
|
}
|
|
@@ -25383,17 +25831,20 @@ function useSymmWs(params) {
|
|
|
25383
25831
|
}));
|
|
25384
25832
|
if (notificationsUnsub) unsubscribers.push(notificationsUnsub);
|
|
25385
25833
|
const tpslUnsub = asUnsubscribeFn(ws.subscribeToTpsl(addr, chainId, () => {
|
|
25386
|
-
queryClient.invalidateQueries({
|
|
25387
|
-
|
|
25388
|
-
});
|
|
25834
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "tpslOrders"] });
|
|
25835
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
25389
25836
|
}));
|
|
25390
25837
|
if (tpslUnsub) unsubscribers.push(tpslUnsub);
|
|
25391
25838
|
const twapUnsub = asUnsubscribeFn(ws.subscribeToTwapOrders(addr, chainId, () => {
|
|
25392
|
-
queryClient.invalidateQueries({
|
|
25393
|
-
|
|
25394
|
-
});
|
|
25839
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "twapOrders"] });
|
|
25840
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
25395
25841
|
}));
|
|
25396
25842
|
if (twapUnsub) unsubscribers.push(twapUnsub);
|
|
25843
|
+
const triggerOrdersUnsub = asUnsubscribeFn(ws.subscribeToTriggerOrders(addr, chainId, () => {
|
|
25844
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "triggerOrders"] });
|
|
25845
|
+
queryClient.invalidateQueries({ queryKey: ["symm", "openOrders"] });
|
|
25846
|
+
}));
|
|
25847
|
+
if (triggerOrdersUnsub) unsubscribers.push(triggerOrdersUnsub);
|
|
25397
25848
|
const executionsUnsub = asUnsubscribeFn(ws.subscribeToExecutions(addr, chainId, () => {
|
|
25398
25849
|
queryClient.invalidateQueries({
|
|
25399
25850
|
queryKey: symmKeys.positions(accountAddress, chainId)
|
|
@@ -26439,32 +26890,48 @@ exports.symmKeys = symmKeys;
|
|
|
26439
26890
|
exports.useSymmAccountData = useSymmAccountData;
|
|
26440
26891
|
exports.useSymmAccountSummary = useSymmAccountSummary;
|
|
26441
26892
|
exports.useSymmAccounts = useSymmAccounts;
|
|
26893
|
+
exports.useSymmAccountsApi = useSymmAccountsApi;
|
|
26894
|
+
exports.useSymmAccountsLength = useSymmAccountsLength;
|
|
26895
|
+
exports.useSymmAccountsWithPositions = useSymmAccountsWithPositions;
|
|
26442
26896
|
exports.useSymmApproval = useSymmApproval;
|
|
26443
26897
|
exports.useSymmAuth = useSymmAuth;
|
|
26444
26898
|
exports.useSymmAvailableMargin = useSymmAvailableMargin;
|
|
26445
26899
|
exports.useSymmBalances = useSymmBalances;
|
|
26900
|
+
exports.useSymmCancelClose = useSymmCancelClose;
|
|
26446
26901
|
exports.useSymmChartCandles = useSymmChartCandles;
|
|
26447
26902
|
exports.useSymmChartSelection = useSymmChartSelection;
|
|
26903
|
+
exports.useSymmCloseOrder = useSymmCloseOrder;
|
|
26448
26904
|
exports.useSymmCollateral = useSymmCollateral;
|
|
26449
26905
|
exports.useSymmContext = useSymmContext;
|
|
26450
26906
|
exports.useSymmCoreClient = useSymmCoreClient;
|
|
26451
26907
|
exports.useSymmDelegation = useSymmDelegation;
|
|
26452
26908
|
exports.useSymmDeposit = useSymmDeposit;
|
|
26453
26909
|
exports.useSymmFunding = useSymmFunding;
|
|
26910
|
+
exports.useSymmFundingHistory = useSymmFundingHistory;
|
|
26911
|
+
exports.useSymmFundingPayments = useSymmFundingPayments;
|
|
26912
|
+
exports.useSymmHedgerMarketById = useSymmHedgerMarketById;
|
|
26913
|
+
exports.useSymmHedgerMarketBySymbol = useSymmHedgerMarketBySymbol;
|
|
26454
26914
|
exports.useSymmHedgerMarkets = useSymmHedgerMarkets;
|
|
26455
26915
|
exports.useSymmInstantTrade = useSymmInstantTrade;
|
|
26916
|
+
exports.useSymmLockedParams = useSymmLockedParams;
|
|
26456
26917
|
exports.useSymmMarkets = useSymmMarkets;
|
|
26457
26918
|
exports.useSymmNotifications = useSymmNotifications;
|
|
26458
26919
|
exports.useSymmOpenOrders = useSymmOpenOrders;
|
|
26920
|
+
exports.useSymmPendingIds = useSymmPendingIds;
|
|
26921
|
+
exports.useSymmPendingInstantOpens = useSymmPendingInstantOpens;
|
|
26459
26922
|
exports.useSymmPerformanceOverlays = useSymmPerformanceOverlays;
|
|
26460
26923
|
exports.useSymmPortfolio = useSymmPortfolio;
|
|
26461
26924
|
exports.useSymmPositions = useSymmPositions;
|
|
26462
26925
|
exports.useSymmSignature = useSymmSignature;
|
|
26463
26926
|
exports.useSymmTokenSelectionMetadata = useSymmTokenSelectionMetadata;
|
|
26464
26927
|
exports.useSymmTpsl = useSymmTpsl;
|
|
26928
|
+
exports.useSymmTpslOrders = useSymmTpslOrders;
|
|
26465
26929
|
exports.useSymmTrade = useSymmTrade;
|
|
26466
26930
|
exports.useSymmTradeHistory = useSymmTradeHistory;
|
|
26931
|
+
exports.useSymmTriggerConfig = useSymmTriggerConfig;
|
|
26932
|
+
exports.useSymmTriggerOrders = useSymmTriggerOrders;
|
|
26467
26933
|
exports.useSymmTwap = useSymmTwap;
|
|
26934
|
+
exports.useSymmTwapOrder = useSymmTwapOrder;
|
|
26468
26935
|
exports.useSymmWithdraw = useSymmWithdraw;
|
|
26469
26936
|
exports.useSymmWs = useSymmWs;
|
|
26470
26937
|
exports.useSymmioClient = useSymmioClient;
|