@pear-protocol/symmio-client 0.3.20 → 0.3.22

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.
@@ -627,7 +627,7 @@ var symmKeys = {
627
627
  tradeHistory: (params) => ["symm", "tradeHistory", params],
628
628
  tpslOrders: (address, chainId) => ["symm", "tpslOrders", address, chainId],
629
629
  tpslOrdersList: (params) => ["symm", "tpslOrders", params],
630
- twapOrders: (address, chainId) => ["symm", "twapOrders", address, chainId],
630
+ twapOrders: (params) => ["symm", "twapOrders", params],
631
631
  triggerOrders: (params) => ["symm", "triggerOrders", params],
632
632
  triggerConfig: (orderId) => ["symm", "triggerConfig", orderId],
633
633
  markets: (chainId, search, pageSize) => ["symm", "markets", chainId, search, pageSize],
@@ -1193,7 +1193,7 @@ function useSymmAuth(params) {
1193
1193
  const authEntry = useSymmAuthStore(
1194
1194
  (state) => selectAuthStoreEntry(state, activeAccountAddress, chainId, address)
1195
1195
  );
1196
- useSymmAuthStore(
1196
+ const isLoading = useSymmAuthStore(
1197
1197
  (state) => selectAuthStoreStatus(state, activeAccountAddress, chainId, address).isLoading
1198
1198
  );
1199
1199
  const error = useSymmAuthStore(
@@ -1228,7 +1228,8 @@ function useSymmAuth(params) {
1228
1228
  } catch (error2) {
1229
1229
  clearAuthState(resolvedAccountAddress, chainId, address);
1230
1230
  setAuthStoreStatus(resolvedAccountAddress, chainId, address, {
1231
- error: error2 instanceof Error ? error2 : new Error("failed to sign in")
1231
+ error: error2 instanceof Error ? error2 : new Error("failed to sign in"),
1232
+ isLoading: false
1232
1233
  });
1233
1234
  return null;
1234
1235
  }
@@ -1251,6 +1252,7 @@ function useSymmAuth(params) {
1251
1252
  return {
1252
1253
  accessToken: token,
1253
1254
  isAuthenticated: !!token,
1255
+ isLoading,
1254
1256
  error,
1255
1257
  signIn,
1256
1258
  clear: clearAuth
@@ -2553,10 +2555,9 @@ function useSymmCloseOrder(options) {
2553
2555
  if (!symmCoreClient) {
2554
2556
  throw new Error("symm-core client not available");
2555
2557
  }
2556
- const typedRequest = request;
2557
2558
  const authToken = await resolveAuthToken(
2558
- typedRequest.authToken,
2559
- typedRequest.accountAddress
2559
+ request.authToken,
2560
+ request.accountAddress
2560
2561
  );
2561
2562
  if (!authToken) {
2562
2563
  throw new Error("auth token is required to close an order");
@@ -26465,23 +26466,64 @@ function useSymmUpdatePositionMutation(paramsOrOptions, maybeOptions) {
26465
26466
  }
26466
26467
  });
26467
26468
  }
26469
+
26470
+ // src/react/hooks/order-status.ts
26471
+ var ACTIVE_ORDER_STATUS = "active";
26472
+ function normalizeOrderStatus(status) {
26473
+ return status.toLowerCase();
26474
+ }
26475
+ function isMatchingOrderStatus(orderStatus, requestedStatus) {
26476
+ if (!orderStatus) {
26477
+ return false;
26478
+ }
26479
+ const normalizedOrderStatus = normalizeOrderStatus(orderStatus);
26480
+ const normalizedRequestedStatus = normalizeOrderStatus(requestedStatus);
26481
+ return normalizedOrderStatus === normalizedRequestedStatus;
26482
+ }
26483
+ function filterOrdersByStatus(response, status) {
26484
+ const orders = response.data?.orders;
26485
+ if (!orders) {
26486
+ return response;
26487
+ }
26488
+ const filteredOrders = orders.filter((order) => isMatchingOrderStatus(order.status, status));
26489
+ return {
26490
+ ...response,
26491
+ data: {
26492
+ ...response.data,
26493
+ orders: filteredOrders
26494
+ }
26495
+ };
26496
+ }
26497
+
26498
+ // src/react/hooks/use-symm-open-orders.ts
26468
26499
  function useSymmOpenOrders(params) {
26469
26500
  const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
26470
- const { accountAddress, address } = params;
26501
+ const { accountAddress, address, kind, limit, offset } = params;
26502
+ const status = ACTIVE_ORDER_STATUS;
26471
26503
  const resolvedAddress = accountAddress ? void 0 : address;
26472
26504
  const chainId = params.chainId ?? ctxChainId;
26473
26505
  const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
26506
+ const request = {
26507
+ accountAddress,
26508
+ address: resolvedAddress,
26509
+ chainId,
26510
+ status,
26511
+ kind,
26512
+ limit,
26513
+ offset
26514
+ };
26474
26515
  return useQuery({
26475
26516
  ...params.query,
26476
26517
  queryKey: symmKeys.openOrders({
26477
26518
  accountAddress,
26478
26519
  address: resolvedAddress,
26479
- chainId
26480
- }),
26481
- queryFn: () => symmCoreClient.orders.list({
26482
- address: accountAddress ?? resolvedAddress,
26483
- chainId
26520
+ chainId,
26521
+ status,
26522
+ kind,
26523
+ limit,
26524
+ offset
26484
26525
  }),
26526
+ queryFn: async () => filterOrdersByStatus(await symmCoreClient.orders.list(request), status),
26485
26527
  enabled: internalEnabled && (params.query?.enabled ?? true)
26486
26528
  });
26487
26529
  }
@@ -26543,12 +26585,14 @@ function useSymmCancelTpslMutation(options) {
26543
26585
  }
26544
26586
  function useSymmTpslOrders(params) {
26545
26587
  const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
26546
- const { accountAddress, address, positionId, type, status } = params;
26588
+ const { accountAddress, address, positionId, type } = params;
26589
+ const status = params.status ?? ACTIVE_ORDER_STATUS;
26547
26590
  const resolvedAddress = accountAddress ? void 0 : address;
26548
26591
  const chainId = params.chainId ?? ctxChainId;
26549
- const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress || positionId);
26592
+ const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
26550
26593
  const request = {
26551
- address: accountAddress ?? resolvedAddress,
26594
+ accountAddress,
26595
+ address: resolvedAddress,
26552
26596
  positionId,
26553
26597
  type,
26554
26598
  status,
@@ -26564,27 +26608,58 @@ function useSymmTpslOrders(params) {
26564
26608
  status,
26565
26609
  chainId
26566
26610
  }),
26567
- queryFn: () => symmCoreClient.orders.getTpslOrders(request),
26611
+ queryFn: async () => filterOrdersByStatus(await symmCoreClient.orders.getTpslOrders(request), status),
26568
26612
  enabled: internalEnabled && (params.query?.enabled ?? true)
26569
26613
  });
26570
26614
  }
26571
26615
  function useResolvedTwapParams(params) {
26572
26616
  const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
26573
- const { accountAddress, address } = params;
26617
+ const { accountAddress, address, limit, offset } = params;
26618
+ const status = params.status ?? ACTIVE_ORDER_STATUS;
26574
26619
  const resolvedAddress = accountAddress ? void 0 : address;
26575
26620
  const chainId = params.chainId ?? ctxChainId;
26576
- return { symmCoreClient, accountAddress, resolvedAddress, chainId, query: params.query };
26621
+ return {
26622
+ symmCoreClient,
26623
+ accountAddress,
26624
+ resolvedAddress,
26625
+ chainId,
26626
+ status,
26627
+ limit,
26628
+ offset,
26629
+ query: params.query
26630
+ };
26577
26631
  }
26578
26632
  function useSymmTwapOrdersQuery(params) {
26579
- const { symmCoreClient, accountAddress, resolvedAddress, chainId, query } = useResolvedTwapParams(params);
26633
+ const {
26634
+ symmCoreClient,
26635
+ accountAddress,
26636
+ resolvedAddress,
26637
+ chainId,
26638
+ status,
26639
+ limit,
26640
+ offset,
26641
+ query
26642
+ } = useResolvedTwapParams(params);
26580
26643
  const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
26644
+ const request = {
26645
+ accountAddress,
26646
+ address: resolvedAddress,
26647
+ chainId,
26648
+ status,
26649
+ limit,
26650
+ offset
26651
+ };
26581
26652
  return useQuery({
26582
26653
  ...query,
26583
- queryKey: symmKeys.twapOrders(accountAddress ?? resolvedAddress, chainId),
26584
- queryFn: () => symmCoreClient.orders.getTwapOrders({
26585
- address: accountAddress ?? resolvedAddress,
26586
- chainId
26654
+ queryKey: symmKeys.twapOrders({
26655
+ accountAddress,
26656
+ address: resolvedAddress,
26657
+ chainId,
26658
+ status,
26659
+ limit,
26660
+ offset
26587
26661
  }),
26662
+ queryFn: async () => filterOrdersByStatus(await symmCoreClient.orders.getTwapOrders(request), status),
26588
26663
  enabled: internalEnabled && (query?.enabled ?? true)
26589
26664
  });
26590
26665
  }
@@ -26658,12 +26733,14 @@ function useSymmClearTriggerConfigMutation(params, options) {
26658
26733
  }
26659
26734
  function useSymmTriggerOrders(params) {
26660
26735
  const { symmCoreClient, chainId: ctxChainId } = useSymmContext();
26661
- const { accountAddress, address, status, limit, offset } = params;
26736
+ const { accountAddress, address, limit, offset } = params;
26737
+ const status = params.status ?? ACTIVE_ORDER_STATUS;
26662
26738
  const resolvedAddress = accountAddress ? void 0 : address;
26663
26739
  const chainId = params.chainId ?? ctxChainId;
26664
26740
  const internalEnabled = !!symmCoreClient && !!(accountAddress || resolvedAddress);
26665
26741
  const request = {
26666
- address: accountAddress ?? resolvedAddress,
26742
+ accountAddress,
26743
+ address: resolvedAddress,
26667
26744
  chainId,
26668
26745
  status,
26669
26746
  limit,
@@ -26679,7 +26756,7 @@ function useSymmTriggerOrders(params) {
26679
26756
  limit,
26680
26757
  offset
26681
26758
  }),
26682
- queryFn: () => symmCoreClient.orders.listTriggerOrders(request),
26759
+ queryFn: async () => filterOrdersByStatus(await symmCoreClient.orders.listTriggerOrders(request), status),
26683
26760
  enabled: internalEnabled && (params.query?.enabled ?? true)
26684
26761
  });
26685
26762
  }
@@ -26860,6 +26937,11 @@ async function fetch24hrTickers() {
26860
26937
 
26861
26938
  // src/react/hooks/use-symm-token-selection-markets.ts
26862
26939
  var EMPTY_MARKETS = [];
26940
+ function toSortedSymbolsKey(symbols) {
26941
+ const sortedSymbols = Array.from(symbols);
26942
+ sortedSymbols.sort();
26943
+ return sortedSymbols.join(",");
26944
+ }
26863
26945
  function useSymmTokenSelectionMarkets(params) {
26864
26946
  const query = useSymmHedgerMarkets(params);
26865
26947
  const baseMarkets = query.data?.filteredMarkets ?? query.data?.markets ?? EMPTY_MARKETS;
@@ -26872,7 +26954,7 @@ function useSymmTokenSelectionMarkets(params) {
26872
26954
  [baseMarkets]
26873
26955
  );
26874
26956
  const symbolsKey = useMemo(
26875
- () => [...marketSymbols].sort().join(","),
26957
+ () => toSortedSymbolsKey(marketSymbols),
26876
26958
  [marketSymbols]
26877
26959
  );
26878
26960
  const liveMarkPrices = useBinanceMarkPriceStore((state) => state.markPrices);