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