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