@pear-protocol/symmio-client 0.2.45 → 0.2.47

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.
@@ -53,6 +53,15 @@ declare function useSymmAuth(params?: UseSymmAuthParams): {
53
53
  clear: () => void;
54
54
  };
55
55
 
56
+ type WithOptionalAuthToken<T> = T extends {
57
+ authToken: infer TAuth;
58
+ } ? Omit<T, 'authToken'> & {
59
+ authToken?: TAuth;
60
+ } : T extends {
61
+ authToken?: infer TAuth;
62
+ } ? Omit<T, 'authToken'> & {
63
+ authToken?: TAuth;
64
+ } : T;
56
65
  /**
57
66
  * Consumer-facing query configuration.
58
67
  * Allows overriding common TanStack Query options without
@@ -8371,12 +8380,15 @@ declare function useSymmCancelClose(options?: {
8371
8380
  overrideChainId?: number;
8372
8381
  }, unknown>;
8373
8382
 
8383
+ type CloseOrderMutationRequest = WithOptionalAuthToken<CloseOrderRequest>;
8374
8384
  /**
8375
8385
  * Use case: Close an order using API auth token from request or shared auth store.
8376
8386
  */
8377
8387
  declare function useSymmCloseOrder(options?: {
8378
- mutation?: SymmMutationConfig<unknown, Error, CloseOrderRequest>;
8379
- }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.CloseOrderResponse, Error, CloseOrderRequest, unknown>;
8388
+ mutation?: SymmMutationConfig<unknown, Error, CloseOrderMutationRequest>;
8389
+ }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.CloseOrderResponse, Error, Omit<CloseOrderRequest, "authToken"> & {
8390
+ authToken?: string | undefined;
8391
+ }, unknown>;
8380
8392
 
8381
8393
  type UseSymmDepositParams = {
8382
8394
  publicClient?: PublicClient;
@@ -8545,30 +8557,38 @@ declare function useSymmBalances(params: {
8545
8557
  type SymmTradeAuthParams = {
8546
8558
  address?: Address;
8547
8559
  chainId?: number;
8548
- walletClient?: WalletClient;
8549
- siweDomain?: string;
8550
8560
  };
8561
+ type OpenBasketMutationRequest = WithOptionalAuthToken<OpenBasketPositionRequest>;
8562
+ type ClosePositionMutationRequest = WithOptionalAuthToken<ClosePositionRequest>;
8563
+ type CloseAllPositionsMutationRequest = WithOptionalAuthToken<Parameters<NonNullable<ReturnType<typeof useSymmContext>['symmCoreClient']>['positions']['closeAll']>[0]>;
8564
+ type UpdatePositionMutationRequest = WithOptionalAuthToken<UpdatePositionRequest>;
8551
8565
  /**
8552
8566
  * Use case: Open a basket position through SYMM core API.
8553
8567
  */
8554
8568
  declare function useSymmOpenBasketMutation(options?: {
8555
- mutation?: SymmMutationConfig<unknown, Error, OpenBasketPositionRequest>;
8556
- }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.BasketOpenResponse | _pear_protocol_symm_core.OpenBasketCommandResult, Error, OpenBasketPositionRequest, unknown>;
8569
+ mutation?: SymmMutationConfig<unknown, Error, OpenBasketMutationRequest>;
8570
+ }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.BasketOpenResponse | _pear_protocol_symm_core.OpenBasketCommandResult, Error, Omit<OpenBasketPositionRequest, "authToken"> & {
8571
+ authToken?: string | undefined;
8572
+ }, unknown>;
8557
8573
  /**
8558
8574
  * Use case: Close a position with automatic auth-token resolution.
8559
8575
  */
8560
8576
  declare function useSymmClosePositionMutation(paramsOrOptions?: SymmTradeAuthParams | {
8561
- mutation?: SymmMutationConfig<unknown, Error, ClosePositionRequest>;
8577
+ mutation?: SymmMutationConfig<unknown, Error, ClosePositionMutationRequest>;
8562
8578
  }, maybeOptions?: {
8563
- mutation?: SymmMutationConfig<unknown, Error, ClosePositionRequest>;
8564
- }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.ClosePositionResponse | _pear_protocol_symm_core.CloseCommandResult, Error, ClosePositionRequest, unknown>;
8579
+ mutation?: SymmMutationConfig<unknown, Error, ClosePositionMutationRequest>;
8580
+ }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.ClosePositionResponse | _pear_protocol_symm_core.CloseCommandResult, Error, Omit<ClosePositionRequest, "authToken"> & {
8581
+ authToken?: string | undefined;
8582
+ }, unknown>;
8565
8583
  /**
8566
8584
  * Use case: Close all open positions for the provided request scope.
8567
8585
  */
8568
8586
  declare function useSymmCloseAllPositionsMutation(options?: {
8569
- mutation?: SymmMutationConfig<unknown, Error, Parameters<NonNullable<ReturnType<typeof useSymmContext>['symmCoreClient']>['positions']['closeAll']>[0]>;
8570
- }): _tanstack_react_query.UseMutationResult<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsResponse, Error, Omit<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsRequest, "chainId"> & {
8587
+ mutation?: SymmMutationConfig<unknown, Error, CloseAllPositionsMutationRequest>;
8588
+ }): _tanstack_react_query.UseMutationResult<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsResponse, Error, Omit<Omit<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsRequest, "chainId"> & {
8571
8589
  chainId?: number;
8590
+ }, "authToken"> & {
8591
+ authToken?: string | undefined;
8572
8592
  }, unknown>;
8573
8593
  /**
8574
8594
  * Use case: Cancel a pending open order/quote.
@@ -8582,16 +8602,16 @@ declare function useSymmCancelOpenMutation(options?: {
8582
8602
  declare function useSymmUpdatePositionMutation(paramsOrOptions?: SymmTradeAuthParams | {
8583
8603
  mutation?: SymmMutationConfig<unknown, Error, {
8584
8604
  positionId: string;
8585
- request: UpdatePositionRequest;
8605
+ request: UpdatePositionMutationRequest;
8586
8606
  }>;
8587
8607
  }, maybeOptions?: {
8588
8608
  mutation?: SymmMutationConfig<unknown, Error, {
8589
8609
  positionId: string;
8590
- request: UpdatePositionRequest;
8610
+ request: UpdatePositionMutationRequest;
8591
8611
  }>;
8592
8612
  }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.UpdatePositionResponse, Error, {
8593
8613
  positionId: string;
8594
- request: UpdatePositionRequest;
8614
+ request: UpdatePositionMutationRequest;
8595
8615
  }, unknown>;
8596
8616
 
8597
8617
  /**
@@ -53,6 +53,15 @@ declare function useSymmAuth(params?: UseSymmAuthParams): {
53
53
  clear: () => void;
54
54
  };
55
55
 
56
+ type WithOptionalAuthToken<T> = T extends {
57
+ authToken: infer TAuth;
58
+ } ? Omit<T, 'authToken'> & {
59
+ authToken?: TAuth;
60
+ } : T extends {
61
+ authToken?: infer TAuth;
62
+ } ? Omit<T, 'authToken'> & {
63
+ authToken?: TAuth;
64
+ } : T;
56
65
  /**
57
66
  * Consumer-facing query configuration.
58
67
  * Allows overriding common TanStack Query options without
@@ -8371,12 +8380,15 @@ declare function useSymmCancelClose(options?: {
8371
8380
  overrideChainId?: number;
8372
8381
  }, unknown>;
8373
8382
 
8383
+ type CloseOrderMutationRequest = WithOptionalAuthToken<CloseOrderRequest>;
8374
8384
  /**
8375
8385
  * Use case: Close an order using API auth token from request or shared auth store.
8376
8386
  */
8377
8387
  declare function useSymmCloseOrder(options?: {
8378
- mutation?: SymmMutationConfig<unknown, Error, CloseOrderRequest>;
8379
- }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.CloseOrderResponse, Error, CloseOrderRequest, unknown>;
8388
+ mutation?: SymmMutationConfig<unknown, Error, CloseOrderMutationRequest>;
8389
+ }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.CloseOrderResponse, Error, Omit<CloseOrderRequest, "authToken"> & {
8390
+ authToken?: string | undefined;
8391
+ }, unknown>;
8380
8392
 
8381
8393
  type UseSymmDepositParams = {
8382
8394
  publicClient?: PublicClient;
@@ -8545,30 +8557,38 @@ declare function useSymmBalances(params: {
8545
8557
  type SymmTradeAuthParams = {
8546
8558
  address?: Address;
8547
8559
  chainId?: number;
8548
- walletClient?: WalletClient;
8549
- siweDomain?: string;
8550
8560
  };
8561
+ type OpenBasketMutationRequest = WithOptionalAuthToken<OpenBasketPositionRequest>;
8562
+ type ClosePositionMutationRequest = WithOptionalAuthToken<ClosePositionRequest>;
8563
+ type CloseAllPositionsMutationRequest = WithOptionalAuthToken<Parameters<NonNullable<ReturnType<typeof useSymmContext>['symmCoreClient']>['positions']['closeAll']>[0]>;
8564
+ type UpdatePositionMutationRequest = WithOptionalAuthToken<UpdatePositionRequest>;
8551
8565
  /**
8552
8566
  * Use case: Open a basket position through SYMM core API.
8553
8567
  */
8554
8568
  declare function useSymmOpenBasketMutation(options?: {
8555
- mutation?: SymmMutationConfig<unknown, Error, OpenBasketPositionRequest>;
8556
- }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.BasketOpenResponse | _pear_protocol_symm_core.OpenBasketCommandResult, Error, OpenBasketPositionRequest, unknown>;
8569
+ mutation?: SymmMutationConfig<unknown, Error, OpenBasketMutationRequest>;
8570
+ }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.BasketOpenResponse | _pear_protocol_symm_core.OpenBasketCommandResult, Error, Omit<OpenBasketPositionRequest, "authToken"> & {
8571
+ authToken?: string | undefined;
8572
+ }, unknown>;
8557
8573
  /**
8558
8574
  * Use case: Close a position with automatic auth-token resolution.
8559
8575
  */
8560
8576
  declare function useSymmClosePositionMutation(paramsOrOptions?: SymmTradeAuthParams | {
8561
- mutation?: SymmMutationConfig<unknown, Error, ClosePositionRequest>;
8577
+ mutation?: SymmMutationConfig<unknown, Error, ClosePositionMutationRequest>;
8562
8578
  }, maybeOptions?: {
8563
- mutation?: SymmMutationConfig<unknown, Error, ClosePositionRequest>;
8564
- }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.ClosePositionResponse | _pear_protocol_symm_core.CloseCommandResult, Error, ClosePositionRequest, unknown>;
8579
+ mutation?: SymmMutationConfig<unknown, Error, ClosePositionMutationRequest>;
8580
+ }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.ClosePositionResponse | _pear_protocol_symm_core.CloseCommandResult, Error, Omit<ClosePositionRequest, "authToken"> & {
8581
+ authToken?: string | undefined;
8582
+ }, unknown>;
8565
8583
  /**
8566
8584
  * Use case: Close all open positions for the provided request scope.
8567
8585
  */
8568
8586
  declare function useSymmCloseAllPositionsMutation(options?: {
8569
- mutation?: SymmMutationConfig<unknown, Error, Parameters<NonNullable<ReturnType<typeof useSymmContext>['symmCoreClient']>['positions']['closeAll']>[0]>;
8570
- }): _tanstack_react_query.UseMutationResult<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsResponse, Error, Omit<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsRequest, "chainId"> & {
8587
+ mutation?: SymmMutationConfig<unknown, Error, CloseAllPositionsMutationRequest>;
8588
+ }): _tanstack_react_query.UseMutationResult<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsResponse, Error, Omit<Omit<node_modules__pear_protocol_symm_core_dist_types.CloseAllPositionsRequest, "chainId"> & {
8571
8589
  chainId?: number;
8590
+ }, "authToken"> & {
8591
+ authToken?: string | undefined;
8572
8592
  }, unknown>;
8573
8593
  /**
8574
8594
  * Use case: Cancel a pending open order/quote.
@@ -8582,16 +8602,16 @@ declare function useSymmCancelOpenMutation(options?: {
8582
8602
  declare function useSymmUpdatePositionMutation(paramsOrOptions?: SymmTradeAuthParams | {
8583
8603
  mutation?: SymmMutationConfig<unknown, Error, {
8584
8604
  positionId: string;
8585
- request: UpdatePositionRequest;
8605
+ request: UpdatePositionMutationRequest;
8586
8606
  }>;
8587
8607
  }, maybeOptions?: {
8588
8608
  mutation?: SymmMutationConfig<unknown, Error, {
8589
8609
  positionId: string;
8590
- request: UpdatePositionRequest;
8610
+ request: UpdatePositionMutationRequest;
8591
8611
  }>;
8592
8612
  }): _tanstack_react_query.UseMutationResult<_pear_protocol_symm_core.UpdatePositionResponse, Error, {
8593
8613
  positionId: string;
8594
- request: UpdatePositionRequest;
8614
+ request: UpdatePositionMutationRequest;
8595
8615
  }, unknown>;
8596
8616
 
8597
8617
  /**
@@ -25294,13 +25294,6 @@ function useResolveTradeAuthToken(params = {}) {
25294
25294
  const queryClient = reactQuery.useQueryClient();
25295
25295
  const address = params.address ?? context.address;
25296
25296
  const chainId = params.chainId ?? context.chainId;
25297
- const { refreshAuth } = useSymmAuth({
25298
- address,
25299
- chainId,
25300
- walletClient: params.walletClient,
25301
- siweDomain: params.siweDomain
25302
- });
25303
- const refreshAuthFromContext = context.refreshAuth;
25304
25297
  return react.useCallback(
25305
25298
  async (providedAuthToken, accountAddress) => {
25306
25299
  if (providedAuthToken) {
@@ -25326,25 +25319,19 @@ function useResolveTradeAuthToken(params = {}) {
25326
25319
  });
25327
25320
  return inMemoryToken;
25328
25321
  }
25329
- if (refreshAuthFromContext) {
25330
- logTradeAuth("resolve-auth:context-refresh", {
25331
- accountAddress: resolvedAccountAddress,
25332
- chainId
25333
- });
25334
- return refreshAuthFromContext(resolvedAccountAddress);
25335
- }
25336
- logTradeAuth("resolve-auth:hook-refresh", {
25322
+ logTradeAuth("resolve-auth:miss", {
25337
25323
  accountAddress: resolvedAccountAddress,
25338
25324
  chainId
25339
25325
  });
25340
- return refreshAuth(resolvedAccountAddress);
25326
+ return null;
25341
25327
  },
25342
- [address, chainId, queryClient, refreshAuth, refreshAuthFromContext]
25328
+ [address, chainId, queryClient]
25343
25329
  );
25344
25330
  }
25345
25331
  function useSymmOpenBasketMutation(options) {
25346
25332
  const { symmCoreClient } = useSymmContext();
25347
25333
  const queryClient = reactQuery.useQueryClient();
25334
+ const resolveAuthToken = useResolveTradeAuthToken();
25348
25335
  return reactQuery.useMutation({
25349
25336
  ...withSymmMutationConfig(options?.mutation, {
25350
25337
  onSuccess: () => {
@@ -25353,7 +25340,18 @@ function useSymmOpenBasketMutation(options) {
25353
25340
  }),
25354
25341
  mutationFn: async (request) => {
25355
25342
  if (!symmCoreClient) throw new Error("symm-core client not available");
25356
- return symmCoreClient.positions.openBasket(request);
25343
+ const typedRequest = request;
25344
+ const authToken = await resolveAuthToken(
25345
+ typedRequest.authToken,
25346
+ typedRequest.accountAddress
25347
+ );
25348
+ if (!authToken) {
25349
+ throw new Error("auth token is required to open a position");
25350
+ }
25351
+ return symmCoreClient.positions.openBasket({
25352
+ ...request,
25353
+ authToken
25354
+ });
25357
25355
  }
25358
25356
  });
25359
25357
  }
@@ -25386,8 +25384,9 @@ function useSymmClosePositionMutation(paramsOrOptions, maybeOptions) {
25386
25384
  });
25387
25385
  }
25388
25386
  function useSymmCloseAllPositionsMutation(options) {
25389
- const { symmCoreClient } = useSymmContext();
25387
+ const { symmCoreClient, address, chainId } = useSymmContext();
25390
25388
  const queryClient = reactQuery.useQueryClient();
25389
+ const resolveAuthToken = useResolveTradeAuthToken({ address, chainId });
25391
25390
  return reactQuery.useMutation({
25392
25391
  ...withSymmMutationConfig(options?.mutation, {
25393
25392
  onSuccess: () => {
@@ -25396,7 +25395,18 @@ function useSymmCloseAllPositionsMutation(options) {
25396
25395
  }),
25397
25396
  mutationFn: async (request) => {
25398
25397
  if (!symmCoreClient) throw new Error("symm-core client not available");
25399
- return symmCoreClient.positions.closeAll(request);
25398
+ const typedRequest = request;
25399
+ const authToken = await resolveAuthToken(
25400
+ typedRequest.authToken,
25401
+ typedRequest.accountAddress
25402
+ );
25403
+ if (!authToken) {
25404
+ throw new Error("auth token is required to close all positions");
25405
+ }
25406
+ return symmCoreClient.positions.closeAll({
25407
+ ...request,
25408
+ authToken
25409
+ });
25400
25410
  }
25401
25411
  });
25402
25412
  }