@pear-protocol/symmio-client 0.3.1 → 0.3.2

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.
@@ -548,12 +548,6 @@ var useSymmWsStore = create((set) => ({
548
548
  function asUnsubscribeFn(value) {
549
549
  return typeof value === "function" ? value : null;
550
550
  }
551
- function logSymmWs(event, details) {
552
- if (typeof window === "undefined") {
553
- return;
554
- }
555
- console.debug("[symm-ws]", event, details ?? {});
556
- }
557
551
  function useSymmWs(params = {}) {
558
552
  const ctx = useContext(SymmContext);
559
553
  const queryClient = useQueryClient();
@@ -564,11 +558,6 @@ function useSymmWs(params = {}) {
564
558
  const chainId = params.chainId ?? ctx?.chainId ?? 42161;
565
559
  useEffect(() => {
566
560
  if (!symmCoreClient || !accountAddress) {
567
- logSymmWs("setup:skip", {
568
- hasClient: !!symmCoreClient,
569
- accountAddress,
570
- chainId
571
- });
572
561
  setConnected(false);
573
562
  return;
574
563
  }
@@ -576,52 +565,21 @@ function useSymmWs(params = {}) {
576
565
  const addr = accountAddress;
577
566
  const unsubscribers = [];
578
567
  let cancelled = false;
579
- logSymmWs("setup:start", {
580
- accountAddress: addr,
581
- chainId,
582
- alreadyConnected: typeof ws.isConnected === "function" ? ws.isConnected() : void 0
583
- });
584
568
  const removeOnConnect = ws.onConnect(() => {
585
- logSymmWs("connection:connected", {
586
- accountAddress: addr,
587
- chainId
588
- });
589
569
  setConnected(true);
590
570
  });
591
571
  const removeOnDisconnect = ws.onDisconnect(() => {
592
- logSymmWs("connection:disconnected", {
593
- accountAddress: addr,
594
- chainId
595
- });
596
572
  setConnected(false);
597
573
  });
598
- const removeOnError = asUnsubscribeFn(
599
- ws.onError?.((error) => {
600
- logSymmWs("connection:error", {
601
- accountAddress: addr,
602
- chainId,
603
- error: error instanceof Error ? error.message : String(error)
604
- });
605
- })
606
- );
607
- const removeOnWelcome = asUnsubscribeFn(
608
- ws.onWelcome?.((message) => {
609
- logSymmWs("connection:welcome", {
610
- accountAddress: addr,
611
- chainId,
612
- message
613
- });
614
- })
615
- );
574
+ const removeOnError = asUnsubscribeFn(ws.onError?.(() => {
575
+ }));
576
+ const removeOnWelcome = asUnsubscribeFn(ws.onWelcome?.(() => {
577
+ }));
616
578
  unsubscribers.push(removeOnConnect, removeOnDisconnect);
617
579
  if (removeOnError) unsubscribers.push(removeOnError);
618
580
  if (removeOnWelcome) unsubscribers.push(removeOnWelcome);
619
581
  const positionsUnsub = asUnsubscribeFn(
620
582
  ws.subscribeToPositions(addr, chainId, () => {
621
- logSymmWs("message:positions", {
622
- accountAddress: addr,
623
- chainId
624
- });
625
583
  queryClient.invalidateQueries({
626
584
  queryKey: symmKeys.positionsRoot
627
585
  });
@@ -630,10 +588,6 @@ function useSymmWs(params = {}) {
630
588
  if (positionsUnsub) unsubscribers.push(positionsUnsub);
631
589
  const openOrdersUnsub = asUnsubscribeFn(
632
590
  ws.subscribeToOpenOrders(addr, chainId, () => {
633
- logSymmWs("message:open-orders", {
634
- accountAddress: addr,
635
- chainId
636
- });
637
591
  queryClient.invalidateQueries({
638
592
  queryKey: symmKeys.openOrdersRoot
639
593
  });
@@ -642,10 +596,6 @@ function useSymmWs(params = {}) {
642
596
  if (openOrdersUnsub) unsubscribers.push(openOrdersUnsub);
643
597
  const tradesUnsub = asUnsubscribeFn(
644
598
  ws.subscribeToTrades(addr, chainId, () => {
645
- logSymmWs("message:trades", {
646
- accountAddress: addr,
647
- chainId
648
- });
649
599
  queryClient.invalidateQueries({
650
600
  queryKey: symmKeys.tradeHistoryRoot
651
601
  });
@@ -654,10 +604,6 @@ function useSymmWs(params = {}) {
654
604
  if (tradesUnsub) unsubscribers.push(tradesUnsub);
655
605
  const accountSummaryUnsub = asUnsubscribeFn(
656
606
  ws.subscribeToAccountSummary(addr, chainId, () => {
657
- logSymmWs("message:account-summary", {
658
- accountAddress: addr,
659
- chainId
660
- });
661
607
  queryClient.invalidateQueries({
662
608
  queryKey: symmKeys.balances(accountAddress, chainId)
663
609
  });
@@ -669,10 +615,6 @@ function useSymmWs(params = {}) {
669
615
  if (accountSummaryUnsub) unsubscribers.push(accountSummaryUnsub);
670
616
  const notificationsUnsub = asUnsubscribeFn(
671
617
  ws.subscribeToNotifications(addr, chainId, () => {
672
- logSymmWs("message:notifications", {
673
- accountAddress: addr,
674
- chainId
675
- });
676
618
  queryClient.invalidateQueries({
677
619
  queryKey: symmKeys.notifications({ accountAddress, chainId })
678
620
  });
@@ -684,10 +626,6 @@ function useSymmWs(params = {}) {
684
626
  if (notificationsUnsub) unsubscribers.push(notificationsUnsub);
685
627
  const tpslUnsub = asUnsubscribeFn(
686
628
  ws.subscribeToTpsl(addr, chainId, () => {
687
- logSymmWs("message:tpsl", {
688
- accountAddress: addr,
689
- chainId
690
- });
691
629
  queryClient.invalidateQueries({ queryKey: symmKeys.tpslOrdersRoot });
692
630
  queryClient.invalidateQueries({ queryKey: symmKeys.openOrdersRoot });
693
631
  })
@@ -695,10 +633,6 @@ function useSymmWs(params = {}) {
695
633
  if (tpslUnsub) unsubscribers.push(tpslUnsub);
696
634
  const twapUnsub = asUnsubscribeFn(
697
635
  ws.subscribeToTwapOrders(addr, chainId, () => {
698
- logSymmWs("message:twap-orders", {
699
- accountAddress: addr,
700
- chainId
701
- });
702
636
  queryClient.invalidateQueries({ queryKey: symmKeys.twapOrdersRoot });
703
637
  queryClient.invalidateQueries({ queryKey: symmKeys.openOrdersRoot });
704
638
  })
@@ -706,10 +640,6 @@ function useSymmWs(params = {}) {
706
640
  if (twapUnsub) unsubscribers.push(twapUnsub);
707
641
  const triggerOrdersUnsub = asUnsubscribeFn(
708
642
  ws.subscribeToTriggerOrders(addr, chainId, () => {
709
- logSymmWs("message:trigger-orders", {
710
- accountAddress: addr,
711
- chainId
712
- });
713
643
  queryClient.invalidateQueries({ queryKey: symmKeys.triggerOrdersRoot });
714
644
  queryClient.invalidateQueries({ queryKey: symmKeys.openOrdersRoot });
715
645
  })
@@ -717,10 +647,6 @@ function useSymmWs(params = {}) {
717
647
  if (triggerOrdersUnsub) unsubscribers.push(triggerOrdersUnsub);
718
648
  const executionsUnsub = asUnsubscribeFn(
719
649
  ws.subscribeToExecutions(addr, chainId, () => {
720
- logSymmWs("message:executions", {
721
- accountAddress: addr,
722
- chainId
723
- });
724
650
  queryClient.invalidateQueries({
725
651
  queryKey: symmKeys.positionsRoot
726
652
  });
@@ -734,27 +660,14 @@ function useSymmWs(params = {}) {
734
660
  if (cancelled) {
735
661
  return;
736
662
  }
737
- logSymmWs("connection:connect-called", {
738
- accountAddress: addr,
739
- chainId
740
- });
741
- }).catch((error) => {
663
+ }).catch(() => {
742
664
  if (cancelled) {
743
665
  return;
744
666
  }
745
- logSymmWs("connection:connect-failed", {
746
- accountAddress: addr,
747
- chainId,
748
- error: error instanceof Error ? error.message : String(error)
749
- });
750
667
  setConnected(false);
751
668
  });
752
669
  return () => {
753
670
  cancelled = true;
754
- logSymmWs("cleanup:start", {
755
- accountAddress: addr,
756
- chainId
757
- });
758
671
  unsubscribers.forEach((unsubscribe) => unsubscribe());
759
672
  ws.disconnect();
760
673
  setConnected(false);
@@ -1050,12 +963,6 @@ function clearAuthState(queryClient, accountAddress, chainId, signerAddress) {
1050
963
  }
1051
964
 
1052
965
  // src/react/hooks/use-symm-auth.ts
1053
- function logSymmAuth(event, details) {
1054
- if (typeof window === "undefined") {
1055
- return;
1056
- }
1057
- console.log("[symm-auth]", event, details ?? {});
1058
- }
1059
966
  function useSymmAuth(params) {
1060
967
  const context = useSymmContext();
1061
968
  const queryClient = useQueryClient();
@@ -1069,20 +976,10 @@ function useSymmAuth(params) {
1069
976
  async (accountAddress, options) => {
1070
977
  const resolvedAccountAddress = accountAddress ?? activeAccountAddress;
1071
978
  if (!resolvedAccountAddress) {
1072
- logSymmAuth("refresh:skip-no-active-account", {
1073
- signerAddress: address,
1074
- chainId
1075
- });
1076
979
  return null;
1077
980
  }
1078
981
  if (!walletClient || !address) return null;
1079
982
  try {
1080
- logSymmAuth("refresh:fetch-start", {
1081
- signerAddress: address,
1082
- accountAddress: resolvedAccountAddress,
1083
- chainId,
1084
- force: options?.force ?? false
1085
- });
1086
983
  const tokenEntry = await resolveAuthTokenEntry({
1087
984
  queryClient,
1088
985
  walletClient,
@@ -1093,20 +990,9 @@ function useSymmAuth(params) {
1093
990
  force: options?.force
1094
991
  });
1095
992
  const token2 = tokenEntry?.token ?? null;
1096
- logSymmAuth("refresh:fetch-success", {
1097
- signerAddress: address,
1098
- accountAddress: resolvedAccountAddress,
1099
- chainId
1100
- });
1101
993
  return token2;
1102
994
  } catch (error) {
1103
995
  clearPersistedAuthState(resolvedAccountAddress, chainId);
1104
- logSymmAuth("refresh:fetch-failed", {
1105
- signerAddress: address,
1106
- accountAddress: resolvedAccountAddress,
1107
- chainId,
1108
- error: error instanceof Error ? error.message : String(error)
1109
- });
1110
996
  return null;
1111
997
  }
1112
998
  },
@@ -2354,9 +2240,53 @@ function useSymmApproveMutation(params, options) {
2354
2240
  }
2355
2241
  });
2356
2242
  }
2243
+ function splitTradeHookArgs(paramsOrOptions, options) {
2244
+ if (paramsOrOptions && "mutation" in paramsOrOptions) {
2245
+ return {
2246
+ params: {},
2247
+ options: paramsOrOptions
2248
+ };
2249
+ }
2250
+ return {
2251
+ params: paramsOrOptions ?? {},
2252
+ options
2253
+ };
2254
+ }
2255
+ function useResolveTradeAuthToken(params = {}) {
2256
+ const context = useSymmContext();
2257
+ const queryClient = useQueryClient();
2258
+ const address = params.address ?? context.address;
2259
+ const chainId = params.chainId ?? context.chainId;
2260
+ return useCallback(
2261
+ async (providedAuthToken, accountAddress, overrideChainId) => {
2262
+ const resolvedChainId = overrideChainId ?? chainId;
2263
+ if (providedAuthToken) {
2264
+ return providedAuthToken;
2265
+ }
2266
+ const resolvedAccountAddress = accountAddress ?? address;
2267
+ if (!resolvedAccountAddress) {
2268
+ return null;
2269
+ }
2270
+ const inMemoryToken = getAuthTokenFromRuntimeCache(
2271
+ queryClient,
2272
+ resolvedAccountAddress,
2273
+ resolvedChainId,
2274
+ address
2275
+ );
2276
+ if (inMemoryToken) {
2277
+ return inMemoryToken;
2278
+ }
2279
+ return null;
2280
+ },
2281
+ [address, chainId, queryClient]
2282
+ );
2283
+ }
2284
+
2285
+ // src/react/hooks/use-symm-cancel-close.ts
2357
2286
  function useSymmCancelClose(options) {
2358
2287
  const { symmCoreClient, chainId, address } = useSymmContext();
2359
2288
  const queryClient = useQueryClient();
2289
+ const resolveAuthToken = useResolveTradeAuthToken({ address, chainId });
2360
2290
  return useMutation({
2361
2291
  ...withSymmMutationConfig(options?.mutation, {
2362
2292
  onSuccess: () => {
@@ -2373,14 +2303,12 @@ function useSymmCancelClose(options) {
2373
2303
  if (!symmCoreClient) {
2374
2304
  throw new Error("symm-core client not available");
2375
2305
  }
2376
- const resolvedAccountAddress = accountAddress ?? address;
2377
2306
  const resolvedChainId = overrideChainId ?? chainId;
2378
- const resolvedAuthToken = authToken ?? (resolvedAccountAddress ? getAuthTokenFromRuntimeCache(
2379
- queryClient,
2380
- resolvedAccountAddress,
2381
- resolvedChainId,
2382
- address
2383
- ) : null);
2307
+ const resolvedAuthToken = await resolveAuthToken(
2308
+ authToken,
2309
+ accountAddress,
2310
+ resolvedChainId
2311
+ );
2384
2312
  if (!resolvedAuthToken) {
2385
2313
  throw new Error("auth token is required to cancel a pending close");
2386
2314
  }
@@ -2395,6 +2323,7 @@ function useSymmCancelClose(options) {
2395
2323
  function useSymmCloseOrder(options) {
2396
2324
  const { symmCoreClient, address, chainId } = useSymmContext();
2397
2325
  const queryClient = useQueryClient();
2326
+ const resolveAuthToken = useResolveTradeAuthToken({ address, chainId });
2398
2327
  return useMutation({
2399
2328
  ...withSymmMutationConfig(options?.mutation, {
2400
2329
  onSuccess: () => {
@@ -2407,16 +2336,17 @@ function useSymmCloseOrder(options) {
2407
2336
  throw new Error("symm-core client not available");
2408
2337
  }
2409
2338
  const typedRequest = request;
2410
- const resolvedAccountAddress = typedRequest.accountAddress ?? address;
2339
+ const authToken = await resolveAuthToken(
2340
+ typedRequest.authToken,
2341
+ typedRequest.accountAddress
2342
+ );
2343
+ if (!authToken) {
2344
+ throw new Error("auth token is required to close an order");
2345
+ }
2411
2346
  return symmCoreClient.orders.close(request.id, {
2412
2347
  kind: request.kind,
2413
2348
  type: request.type,
2414
- authToken: request.authToken ?? (resolvedAccountAddress ? getAuthTokenFromRuntimeCache(
2415
- queryClient,
2416
- resolvedAccountAddress,
2417
- chainId,
2418
- address
2419
- ) ?? void 0 : void 0)
2349
+ authToken
2420
2350
  });
2421
2351
  }
2422
2352
  });
@@ -25526,64 +25456,6 @@ function useSymmBalances(params) {
25526
25456
  enabled: internalEnabled && (params.query?.enabled ?? true)
25527
25457
  });
25528
25458
  }
25529
- function logTradeAuth(event, details) {
25530
- if (typeof window === "undefined") {
25531
- return;
25532
- }
25533
- console.debug("[symm-trade]", event, details ?? {});
25534
- }
25535
- function splitTradeHookArgs(paramsOrOptions, options) {
25536
- if (paramsOrOptions && "mutation" in paramsOrOptions) {
25537
- return {
25538
- params: {},
25539
- options: paramsOrOptions
25540
- };
25541
- }
25542
- return {
25543
- params: paramsOrOptions ?? {},
25544
- options
25545
- };
25546
- }
25547
- function useResolveTradeAuthToken(params = {}) {
25548
- const context = useSymmContext();
25549
- const queryClient = useQueryClient();
25550
- const address = params.address ?? context.address;
25551
- const chainId = params.chainId ?? context.chainId;
25552
- return useCallback(
25553
- async (providedAuthToken, accountAddress) => {
25554
- if (providedAuthToken) {
25555
- logTradeAuth("resolve-auth:provided", {
25556
- accountAddress,
25557
- chainId
25558
- });
25559
- return providedAuthToken;
25560
- }
25561
- const resolvedAccountAddress = accountAddress ?? address;
25562
- if (!resolvedAccountAddress) {
25563
- return null;
25564
- }
25565
- const inMemoryToken = getAuthTokenFromRuntimeCache(
25566
- queryClient,
25567
- resolvedAccountAddress,
25568
- chainId,
25569
- address
25570
- );
25571
- if (inMemoryToken) {
25572
- logTradeAuth("resolve-auth:store-hit", {
25573
- accountAddress: resolvedAccountAddress,
25574
- chainId
25575
- });
25576
- return inMemoryToken;
25577
- }
25578
- logTradeAuth("resolve-auth:miss", {
25579
- accountAddress: resolvedAccountAddress,
25580
- chainId
25581
- });
25582
- return null;
25583
- },
25584
- [address, chainId, queryClient]
25585
- );
25586
- }
25587
25459
  function useSymmOpenBasketMutation(options) {
25588
25460
  const { symmCoreClient } = useSymmContext();
25589
25461
  const queryClient = useQueryClient();