@chipi-stack/chipi-react 11.7.0 → 11.8.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.
package/dist/hooks.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { CreateWalletParams, CreateWalletResponse, GetWalletParams, GetWalletResponse, TransferParams, ApproveParams, CreateSkuTransactionParams, SkuTransaction, GetSkusQuery, PaginatedResponse, Sku, StakeVesuUsdcParams, WithdrawVesuUsdcParams, CallAnyContractParams, RecordSendTransactionParams, Transaction, GetTokenBalanceParams, GetTokenBalanceResponse } from '@chipi-stack/types';
1
+ import { CreateWalletParams, CreateWalletResponse, GetWalletParams, GetWalletResponse, TransferHookInput, ApproveHookInput, CreateSkuTransactionParams, SkuTransaction, GetSkusQuery, PaginatedResponse, Sku, StakeVesuUsdcHookInputParams, WithdrawVesuUsdcHookInputParams, CallAnyContractParams, RecordSendTransactionParams, Transaction, GetTokenBalanceParams, GetTokenBalanceResponse } from '@chipi-stack/types';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { UseQueryOptions } from '@tanstack/react-query';
4
4
 
@@ -240,7 +240,7 @@ declare function useGetWallet(input?: GetWalletInput): {
240
240
  };
241
241
 
242
242
  type TransferInput = {
243
- params: TransferParams;
243
+ params: TransferHookInput;
244
244
  bearerToken: string;
245
245
  };
246
246
  /**
@@ -258,7 +258,7 @@ declare function useTransfer(): {
258
258
  };
259
259
 
260
260
  type ApproveInput = {
261
- params: ApproveParams;
261
+ params: ApproveHookInput;
262
262
  bearerToken: string;
263
263
  };
264
264
  /**
@@ -644,7 +644,7 @@ declare function useGetSkus(input?: GetSkusInput): {
644
644
  };
645
645
 
646
646
  type StakeVesuUsdcInput = {
647
- params: StakeVesuUsdcParams;
647
+ params: StakeVesuUsdcHookInputParams;
648
648
  bearerToken: string;
649
649
  };
650
650
  /**
@@ -662,7 +662,7 @@ declare function useStakeVesuUsdc(): {
662
662
  };
663
663
 
664
664
  type WithdrawVesuUsdcInput = {
665
- params: WithdrawVesuUsdcParams;
665
+ params: WithdrawVesuUsdcHookInputParams;
666
666
  bearerToken: string;
667
667
  };
668
668
  /**
package/dist/hooks.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CreateWalletParams, CreateWalletResponse, GetWalletParams, GetWalletResponse, TransferParams, ApproveParams, CreateSkuTransactionParams, SkuTransaction, GetSkusQuery, PaginatedResponse, Sku, StakeVesuUsdcParams, WithdrawVesuUsdcParams, CallAnyContractParams, RecordSendTransactionParams, Transaction, GetTokenBalanceParams, GetTokenBalanceResponse } from '@chipi-stack/types';
1
+ import { CreateWalletParams, CreateWalletResponse, GetWalletParams, GetWalletResponse, TransferHookInput, ApproveHookInput, CreateSkuTransactionParams, SkuTransaction, GetSkusQuery, PaginatedResponse, Sku, StakeVesuUsdcHookInputParams, WithdrawVesuUsdcHookInputParams, CallAnyContractParams, RecordSendTransactionParams, Transaction, GetTokenBalanceParams, GetTokenBalanceResponse } from '@chipi-stack/types';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { UseQueryOptions } from '@tanstack/react-query';
4
4
 
@@ -240,7 +240,7 @@ declare function useGetWallet(input?: GetWalletInput): {
240
240
  };
241
241
 
242
242
  type TransferInput = {
243
- params: TransferParams;
243
+ params: TransferHookInput;
244
244
  bearerToken: string;
245
245
  };
246
246
  /**
@@ -258,7 +258,7 @@ declare function useTransfer(): {
258
258
  };
259
259
 
260
260
  type ApproveInput = {
261
- params: ApproveParams;
261
+ params: ApproveHookInput;
262
262
  bearerToken: string;
263
263
  };
264
264
  /**
@@ -644,7 +644,7 @@ declare function useGetSkus(input?: GetSkusInput): {
644
644
  };
645
645
 
646
646
  type StakeVesuUsdcInput = {
647
- params: StakeVesuUsdcParams;
647
+ params: StakeVesuUsdcHookInputParams;
648
648
  bearerToken: string;
649
649
  };
650
650
  /**
@@ -662,7 +662,7 @@ declare function useStakeVesuUsdc(): {
662
662
  };
663
663
 
664
664
  type WithdrawVesuUsdcInput = {
665
- params: WithdrawVesuUsdcParams;
665
+ params: WithdrawVesuUsdcHookInputParams;
666
666
  bearerToken: string;
667
667
  };
668
668
  /**
package/dist/hooks.js CHANGED
@@ -74,7 +74,10 @@ function useTransfer() {
74
74
  const mutation = reactQuery.useMutation(
75
75
  {
76
76
  mutationFn: (input) => chipiSDK.transfer({
77
- params: input.params,
77
+ params: {
78
+ ...input.params,
79
+ amount: String(input.params.amount)
80
+ },
78
81
  bearerToken: input.bearerToken
79
82
  })
80
83
  }
@@ -93,7 +96,13 @@ function useTransfer() {
93
96
  function useApprove() {
94
97
  const { chipiSDK } = useChipiContext();
95
98
  const mutation = reactQuery.useMutation({
96
- mutationFn: (params) => chipiSDK.approve(params)
99
+ mutationFn: (params) => chipiSDK.approve({
100
+ params: {
101
+ ...params.params,
102
+ amount: String(params.params.amount)
103
+ },
104
+ bearerToken: params.bearerToken
105
+ })
97
106
  });
98
107
  return {
99
108
  approve: mutation.mutate,
@@ -198,7 +207,13 @@ function useGetSkus(input) {
198
207
  function useStakeVesuUsdc() {
199
208
  const { chipiSDK } = useChipiContext();
200
209
  const mutation = reactQuery.useMutation({
201
- mutationFn: (params) => chipiSDK.stakeVesuUsdc(params)
210
+ mutationFn: (params) => chipiSDK.stakeVesuUsdc({
211
+ params: {
212
+ ...params.params,
213
+ amount: String(params.params.amount)
214
+ },
215
+ bearerToken: params.bearerToken
216
+ })
202
217
  });
203
218
  return {
204
219
  stakeVesuUsdc: mutation.mutate,
@@ -214,7 +229,13 @@ function useStakeVesuUsdc() {
214
229
  function useWithdrawVesuUsdc() {
215
230
  const { chipiSDK } = useChipiContext();
216
231
  const mutation = reactQuery.useMutation({
217
- mutationFn: (params) => chipiSDK.withdrawVesuUsdc(params)
232
+ mutationFn: (params) => chipiSDK.withdrawVesuUsdc({
233
+ params: {
234
+ ...params.params,
235
+ amount: String(params.params.amount)
236
+ },
237
+ bearerToken: params.bearerToken
238
+ })
218
239
  });
219
240
  return {
220
241
  withdrawVesuUsdc: mutation.mutate,
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["createContext","useContext","useMutation","useQueryClient","useQuery"],"mappings":"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","file":"hooks.js","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferParams } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferParams; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveParams } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveParams;\n bearerToken: string;\n};\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve(params),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc(params),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc(params),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["createContext","useContext","useMutation","useQueryClient","useQuery"],"mappings":"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","file":"hooks.js","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferHookInput } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferHookInput; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: {\n ...input.params,\n amount: String(input.params.amount),\n },\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveHookInput } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveHookInput;\n bearerToken: string;\n};\n\n\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams, StakeVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
package/dist/hooks.mjs CHANGED
@@ -72,7 +72,10 @@ function useTransfer() {
72
72
  const mutation = useMutation(
73
73
  {
74
74
  mutationFn: (input) => chipiSDK.transfer({
75
- params: input.params,
75
+ params: {
76
+ ...input.params,
77
+ amount: String(input.params.amount)
78
+ },
76
79
  bearerToken: input.bearerToken
77
80
  })
78
81
  }
@@ -91,7 +94,13 @@ function useTransfer() {
91
94
  function useApprove() {
92
95
  const { chipiSDK } = useChipiContext();
93
96
  const mutation = useMutation({
94
- mutationFn: (params) => chipiSDK.approve(params)
97
+ mutationFn: (params) => chipiSDK.approve({
98
+ params: {
99
+ ...params.params,
100
+ amount: String(params.params.amount)
101
+ },
102
+ bearerToken: params.bearerToken
103
+ })
95
104
  });
96
105
  return {
97
106
  approve: mutation.mutate,
@@ -196,7 +205,13 @@ function useGetSkus(input) {
196
205
  function useStakeVesuUsdc() {
197
206
  const { chipiSDK } = useChipiContext();
198
207
  const mutation = useMutation({
199
- mutationFn: (params) => chipiSDK.stakeVesuUsdc(params)
208
+ mutationFn: (params) => chipiSDK.stakeVesuUsdc({
209
+ params: {
210
+ ...params.params,
211
+ amount: String(params.params.amount)
212
+ },
213
+ bearerToken: params.bearerToken
214
+ })
200
215
  });
201
216
  return {
202
217
  stakeVesuUsdc: mutation.mutate,
@@ -212,7 +227,13 @@ function useStakeVesuUsdc() {
212
227
  function useWithdrawVesuUsdc() {
213
228
  const { chipiSDK } = useChipiContext();
214
229
  const mutation = useMutation({
215
- mutationFn: (params) => chipiSDK.withdrawVesuUsdc(params)
230
+ mutationFn: (params) => chipiSDK.withdrawVesuUsdc({
231
+ params: {
232
+ ...params.params,
233
+ amount: String(params.params.amount)
234
+ },
235
+ bearerToken: params.bearerToken
236
+ })
216
237
  });
217
238
  return {
218
239
  withdrawVesuUsdc: mutation.mutate,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["useMutation","useQueryClient","useQuery"],"mappings":"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","file":"hooks.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferParams } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferParams; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveParams } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveParams;\n bearerToken: string;\n};\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve(params),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc(params),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc(params),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["useMutation","useQueryClient","useQuery"],"mappings":"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","file":"hooks.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferHookInput } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferHookInput; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: {\n ...input.params,\n amount: String(input.params.amount),\n },\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveHookInput } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveHookInput;\n bearerToken: string;\n};\n\n\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams, StakeVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
package/dist/index.js CHANGED
@@ -107,7 +107,10 @@ function useTransfer() {
107
107
  const mutation = reactQuery.useMutation(
108
108
  {
109
109
  mutationFn: (input) => chipiSDK.transfer({
110
- params: input.params,
110
+ params: {
111
+ ...input.params,
112
+ amount: String(input.params.amount)
113
+ },
111
114
  bearerToken: input.bearerToken
112
115
  })
113
116
  }
@@ -126,7 +129,13 @@ function useTransfer() {
126
129
  function useApprove() {
127
130
  const { chipiSDK } = useChipiContext();
128
131
  const mutation = reactQuery.useMutation({
129
- mutationFn: (params) => chipiSDK.approve(params)
132
+ mutationFn: (params) => chipiSDK.approve({
133
+ params: {
134
+ ...params.params,
135
+ amount: String(params.params.amount)
136
+ },
137
+ bearerToken: params.bearerToken
138
+ })
130
139
  });
131
140
  return {
132
141
  approve: mutation.mutate,
@@ -231,7 +240,13 @@ function useGetSkus(input) {
231
240
  function useStakeVesuUsdc() {
232
241
  const { chipiSDK } = useChipiContext();
233
242
  const mutation = reactQuery.useMutation({
234
- mutationFn: (params) => chipiSDK.stakeVesuUsdc(params)
243
+ mutationFn: (params) => chipiSDK.stakeVesuUsdc({
244
+ params: {
245
+ ...params.params,
246
+ amount: String(params.params.amount)
247
+ },
248
+ bearerToken: params.bearerToken
249
+ })
235
250
  });
236
251
  return {
237
252
  stakeVesuUsdc: mutation.mutate,
@@ -247,7 +262,13 @@ function useStakeVesuUsdc() {
247
262
  function useWithdrawVesuUsdc() {
248
263
  const { chipiSDK } = useChipiContext();
249
264
  const mutation = reactQuery.useMutation({
250
- mutationFn: (params) => chipiSDK.withdrawVesuUsdc(params)
265
+ mutationFn: (params) => chipiSDK.withdrawVesuUsdc({
266
+ params: {
267
+ ...params.params,
268
+ amount: String(params.params.amount)
269
+ },
270
+ bearerToken: params.bearerToken
271
+ })
251
272
  });
252
273
  return {
253
274
  withdrawVesuUsdc: mutation.mutate,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["createContext","QueryClient","React","ChipiSDK","jsx","QueryClientProvider","useContext","useMutation","useQueryClient","useQuery"],"mappings":"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","file":"index.js","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferParams } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferParams; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveParams } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveParams;\n bearerToken: string;\n};\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve(params),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc(params),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc(params),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["createContext","QueryClient","React","ChipiSDK","jsx","QueryClientProvider","useContext","useMutation","useQueryClient","useQuery"],"mappings":"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","file":"index.js","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferHookInput } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferHookInput; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: {\n ...input.params,\n amount: String(input.params.amount),\n },\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveHookInput } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveHookInput;\n bearerToken: string;\n};\n\n\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams, StakeVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
package/dist/index.mjs CHANGED
@@ -101,7 +101,10 @@ function useTransfer() {
101
101
  const mutation = useMutation(
102
102
  {
103
103
  mutationFn: (input) => chipiSDK.transfer({
104
- params: input.params,
104
+ params: {
105
+ ...input.params,
106
+ amount: String(input.params.amount)
107
+ },
105
108
  bearerToken: input.bearerToken
106
109
  })
107
110
  }
@@ -120,7 +123,13 @@ function useTransfer() {
120
123
  function useApprove() {
121
124
  const { chipiSDK } = useChipiContext();
122
125
  const mutation = useMutation({
123
- mutationFn: (params) => chipiSDK.approve(params)
126
+ mutationFn: (params) => chipiSDK.approve({
127
+ params: {
128
+ ...params.params,
129
+ amount: String(params.params.amount)
130
+ },
131
+ bearerToken: params.bearerToken
132
+ })
124
133
  });
125
134
  return {
126
135
  approve: mutation.mutate,
@@ -225,7 +234,13 @@ function useGetSkus(input) {
225
234
  function useStakeVesuUsdc() {
226
235
  const { chipiSDK } = useChipiContext();
227
236
  const mutation = useMutation({
228
- mutationFn: (params) => chipiSDK.stakeVesuUsdc(params)
237
+ mutationFn: (params) => chipiSDK.stakeVesuUsdc({
238
+ params: {
239
+ ...params.params,
240
+ amount: String(params.params.amount)
241
+ },
242
+ bearerToken: params.bearerToken
243
+ })
229
244
  });
230
245
  return {
231
246
  stakeVesuUsdc: mutation.mutate,
@@ -241,7 +256,13 @@ function useStakeVesuUsdc() {
241
256
  function useWithdrawVesuUsdc() {
242
257
  const { chipiSDK } = useChipiContext();
243
258
  const mutation = useMutation({
244
- mutationFn: (params) => chipiSDK.withdrawVesuUsdc(params)
259
+ mutationFn: (params) => chipiSDK.withdrawVesuUsdc({
260
+ params: {
261
+ ...params.params,
262
+ amount: String(params.params.amount)
263
+ },
264
+ bearerToken: params.bearerToken
265
+ })
245
266
  });
246
267
  return {
247
268
  withdrawVesuUsdc: mutation.mutate,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["useMutation","useQueryClient","useQuery"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferParams } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferParams; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveParams } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveParams;\n bearerToken: string;\n};\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve(params),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc(params),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc(params),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useGetWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useCreateSkuTransaction.ts","../src/hooks/useGetSkuTransactionsById.ts","../src/hooks/useGetSkus.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts","../src/hooks/useGetTokenBalance.ts"],"names":["useMutation","useQueryClient","useQuery"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { ChipiSDK } from \"@chipi-stack/backend\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n// Default QueryClient configuration\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context with QueryClient\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <QueryClientProvider client={queryClient}>\n <ChipiContext.Provider value={value}>{children}</ChipiContext.Provider>\n </QueryClientProvider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n\n if (!context) {\n throw new Error(\"useChipiContext must be used within a ChipiProvider\");\n }\n\n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = {\n params: CreateWalletParams;\n bearerToken: string;\n};\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n} from \"@tanstack/react-query\";\nimport {\n GetWalletParams,\n GetWalletResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetWalletInput = {\n params?: GetWalletParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<\n UseQueryOptions<(GetWalletResponse & { normalizedPublicKey: string }) | null, Error>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport function useGetWallet(input?: GetWalletInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const query = useQuery<\n (GetWalletResponse & { normalizedPublicKey: string }) | null,\n Error\n >({\n queryKey: [\"wallet\", input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken)\n throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(input.params, bearerToken);\n },\n enabled: Boolean(\n input?.params?.externalUserId && \n input?.getBearerToken &&\n input.params.externalUserId.trim() !== \"\"\n ),\n ...input?.queryOptions,\n });\n\n const fetchWallet = async (newInput: GetWalletInput): Promise<(GetWalletResponse & { normalizedPublicKey: string }) | null> => {\n return queryClient.fetchQuery({\n queryKey: [\"wallet\", newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params)\n throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getWallet(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchWallet,\n };\n}","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferHookInput } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferHookInput; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: {\n ...input.params,\n amount: String(input.params.amount),\n },\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { ApproveHookInput } from \"@chipi-stack/types\";\n\ntype ApproveInput = {\n params: ApproveHookInput;\n bearerToken: string;\n};\n\n\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport { CreateSkuTransactionParams, SkuTransaction } from \"@chipi-stack/types\";\n\ntype CreateSkuTransactionInput = { \n params: CreateSkuTransactionParams; \n bearerToken: string; \n};\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (input: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (input: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (input: CreateSkuTransactionInput) =>\n chipiSDK.createSkuTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n SkuTransaction,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkuTransactionByIdInput = {\n id: string;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<SkuTransaction, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkuTransactionById(input?: GetSkuTransactionByIdInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<SkuTransaction, Error>({\n queryKey: [\"sku-transaction\", input?.id],\n queryFn: async () => {\n if (!input?.id) throw new Error(\"id is required\");\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(input.id, bearerToken);\n },\n enabled: Boolean(input?.id && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchSkuTransactionById = async (newInput: GetSkuTransactionByIdInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"sku-transaction\", newInput?.id],\n queryFn: async () => {\n if (!newInput?.id) throw new Error(\"id is required\");\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skuTransactions.getSkuTransactionById(newInput.id, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchSkuTransactionById,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport { PaginatedResponse, Sku, GetSkusQuery } from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetSkusInput = {\n query?: GetSkusQuery;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<PaginatedResponse<Sku>, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetSkus(input?: GetSkusInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n\n const buildQueryKey = (q?: GetSkusQuery) => [\n \"available-skus\",\n q?.page ?? 1,\n q?.limit ?? 10,\n q?.offset ?? 0,\n q?.provider ?? null,\n q?.category ?? null,\n ];\n \n const query = useQuery<PaginatedResponse<Sku>, Error>({\n queryKey: buildQueryKey(input?.query),\n queryFn: async () => {\n if (!input?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, input.query);\n },\n enabled: Boolean(input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchAvailableSkus = async (newInput: GetSkusInput) => {\n return queryClient.fetchQuery({\n queryKey: buildQueryKey(newInput?.query),\n queryFn: async () => {\n if (!newInput?.getBearerToken) throw new Error(\"getBearerToken is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.skus.getSkus(bearerToken, newInput.query);\n },\n });\n };\n\n return {\n ...query,\n fetchAvailableSkus,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { StakeVesuUsdcParams, StakeVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype StakeVesuUsdcInput = {\n params: StakeVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> =\n useMutation({\n mutationFn: (params: StakeVesuUsdcInput) =>\n chipiSDK.stakeVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { WithdrawVesuUsdcHookInputParams } from \"@chipi-stack/types\";\n\ntype WithdrawVesuUsdcInput = {\n params: WithdrawVesuUsdcHookInputParams;\n bearerToken: string;\n};\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> =\n useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) =>\n chipiSDK.withdrawVesuUsdc({\n params: {\n ...params.params,\n amount: String(params.params.amount),\n },\n bearerToken: params.bearerToken,\n }),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { CallAnyContractParams } from \"@chipi-stack/types\";\n\ntype CallAnyContractInput = {\n params: CallAnyContractParams;\n bearerToken: string;\n};\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> =\n useMutation({\n mutationFn: (params: CallAnyContractInput) =>\n chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","\"use client\";\n\nimport { useQuery, useQueryClient, type UseQueryOptions } from \"@tanstack/react-query\";\nimport {\n GetTokenBalanceParams,\n GetTokenBalanceResponse,\n} from \"@chipi-stack/types\";\nimport { useChipiContext } from \"../context\";\n\ntype GetTokenBalanceInput = {\n params?: GetTokenBalanceParams;\n getBearerToken?: () => Promise<string | null | undefined>;\n queryOptions?: Omit<UseQueryOptions<GetTokenBalanceResponse, Error>, 'queryKey' | 'queryFn'>;\n};\n\nexport function useGetTokenBalance(input?: GetTokenBalanceInput) {\n const { chipiSDK } = useChipiContext();\n const queryClient = useQueryClient();\n \n const query = useQuery<GetTokenBalanceResponse, Error>({\n queryKey: [\"chain-token-balance\", input?.params?.chainToken, input?.params?.chain, input?.params?.walletPublicKey, input?.params?.externalUserId],\n queryFn: async () => {\n if (!input || !input.params || !input.getBearerToken) throw new Error(\"Input is required\");\n const bearerToken = await input.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(input.params, bearerToken);\n },\n enabled: Boolean(input?.params && input?.getBearerToken),\n ...input?.queryOptions\n });\n\n const fetchTokenBalance = async (newInput: GetTokenBalanceInput) => {\n return queryClient.fetchQuery({\n queryKey: [\"chain-token-balance\", newInput?.params?.chainToken, newInput?.params?.chain, newInput?.params?.walletPublicKey, newInput?.params?.externalUserId],\n queryFn: async () => {\n if (!newInput || !newInput.getBearerToken || !newInput.params) throw new Error(\"Input is required\");\n const bearerToken = await newInput.getBearerToken();\n if (!bearerToken) throw new Error(\"Bearer token is required\");\n return chipiSDK.getTokenBalance(newInput.params, bearerToken);\n },\n });\n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chipi-stack/chipi-react",
3
- "version": "11.7.0",
3
+ "version": "11.8.0",
4
4
  "description": "React hooks and components for Chipi SDK",
5
5
  "keywords": [
6
6
  "chipi",
@@ -62,6 +62,7 @@
62
62
  "components"
63
63
  ],
64
64
  "devDependencies": {
65
+ "@testing-library/react": "^16.0.0",
65
66
  "@types/react": "^18.3.0",
66
67
  "@types/react-dom": "^18.3.0",
67
68
  "eslint": "^9.33.0",
@@ -75,9 +76,9 @@
75
76
  },
76
77
  "dependencies": {
77
78
  "@tanstack/react-query": "^5.85.0",
78
- "@chipi-stack/backend": "^11.7.0",
79
- "@chipi-stack/shared": "^11.7.0",
80
- "@chipi-stack/types": "^11.7.0"
79
+ "@chipi-stack/backend": "^11.8.0",
80
+ "@chipi-stack/shared": "^11.8.0",
81
+ "@chipi-stack/types": "^11.8.0"
81
82
  },
82
83
  "peerDependencies": {
83
84
  "react": ">=16.8.0",