@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.
@@ -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
- queryKey: symmKeys.tpslOrders(accountAddress, chainId)
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
- queryKey: symmKeys.twapOrders(accountAddress, chainId)
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;