@chipi-stack/chipi-react 0.1.0 → 1.0.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,13 +1,15 @@
1
- import { CreateWalletParams, CreateWalletResponse, PaginationQuery, PaginatedResponse, WalletData, TransferParams, ApproveParams, ExecuteTransactionParams, FindSkusParams, Sku, SkuTransaction, Chain, ChainToken, StakeVesuUsdcParams, WithdrawVesuUsdcParams, CallAnyContractParams } from '@chipi-stack/types';
2
- import { UseQueryResult } from '@tanstack/react-query';
1
+ import { CreateWalletParams, CreateWalletResponse, TransferParams, ApproveParams, ExecuteTransactionParams, StakeVesuUsdcParams, WithdrawVesuUsdcParams, CallAnyContractParams, RecordSendTransactionParams, Transaction } from '@chipi-stack/types';
3
2
 
4
- type CreateWalletInput = Omit<CreateWalletParams, 'apiPublicKey' | 'nodeUrl'>;
3
+ type CreateWalletInput = {
4
+ params: CreateWalletParams;
5
+ bearerToken: string;
6
+ };
5
7
  /**
6
8
  * Hook for creating a new wallet
7
9
  */
8
10
  declare function useCreateWallet(): {
9
- createWallet: (params: CreateWalletInput) => void;
10
- createWalletAsync: (params: CreateWalletInput) => Promise<CreateWalletResponse>;
11
+ createWallet: (input: CreateWalletInput) => void;
12
+ createWalletAsync: (input: CreateWalletInput) => Promise<CreateWalletResponse>;
11
13
  data: CreateWalletResponse | undefined;
12
14
  isLoading: boolean;
13
15
  isError: boolean;
@@ -16,23 +18,16 @@ declare function useCreateWallet(): {
16
18
  reset: () => void;
17
19
  };
18
20
 
19
- interface UseWalletsParams extends PaginationQuery {
20
- apiKeyId: string;
21
- orgId: string;
22
- enabled?: boolean;
23
- }
24
- /**
25
- * Hook for fetching wallets
26
- */
27
- declare function useWallets(params: UseWalletsParams): UseQueryResult<PaginatedResponse<WalletData>, Error>;
28
-
29
- type TransferInput = Omit<TransferParams, 'apiPublicKey'>;
21
+ type TransferInput = {
22
+ params: TransferParams;
23
+ bearerToken: string;
24
+ };
30
25
  /**
31
26
  * Hook for transferring tokens
32
27
  */
33
28
  declare function useTransfer(): {
34
- transfer: (params: TransferInput) => void;
35
- transferAsync: (params: TransferInput) => Promise<string>;
29
+ transfer: (input: TransferInput) => void;
30
+ transferAsync: (input: TransferInput) => Promise<string>;
36
31
  data: string | undefined;
37
32
  isLoading: boolean;
38
33
  isError: boolean;
@@ -71,52 +66,6 @@ declare function useExecuteTransaction(): {
71
66
  reset: () => void;
72
67
  };
73
68
 
74
- interface UseSkusParams extends FindSkusParams {
75
- enabled?: boolean;
76
- }
77
- /**
78
- * Hook for fetching available SKUs
79
- */
80
- declare function useSkus(params?: UseSkusParams): UseQueryResult<Sku[], Error>;
81
-
82
- interface UseSkuTransactionsParams {
83
- walletAddress: string;
84
- page?: number;
85
- limit?: number;
86
- enabled?: boolean;
87
- }
88
- /**
89
- * Hook for fetching SKU transactions
90
- */
91
- declare function useSkuTransactions(params: UseSkuTransactionsParams): UseQueryResult<SkuTransaction[], Error>;
92
-
93
- interface PurchaseSkuParams {
94
- skuId: string;
95
- walletAddress: string;
96
- chain: Chain;
97
- chainToken: ChainToken;
98
- mxnAmount: number;
99
- reference: string;
100
- transactionHash: string;
101
- }
102
- interface PurchaseSkuResult {
103
- sku: Sku;
104
- transaction: SkuTransaction;
105
- }
106
- /**
107
- * Hook for purchasing a SKU (convenience hook that combines SKU lookup and transaction creation)
108
- */
109
- declare function usePurchaseSku(): {
110
- purchaseSku: (params: PurchaseSkuParams) => void;
111
- purchaseSkuAsync: (params: PurchaseSkuParams) => Promise<PurchaseSkuResult>;
112
- data: PurchaseSkuResult | undefined;
113
- isLoading: boolean;
114
- isError: boolean;
115
- error: Error | null;
116
- isSuccess: boolean;
117
- reset: () => void;
118
- };
119
-
120
69
  type StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;
121
70
  /**
122
71
  * Hook for staking USDC in Vesu protocol
@@ -162,4 +111,19 @@ declare function useCallAnyContract(): {
162
111
  reset: () => void;
163
112
  };
164
113
 
165
- export { useApprove, useCallAnyContract, useCreateWallet, useExecuteTransaction, usePurchaseSku, useSkuTransactions, useSkus, useStakeVesuUsdc, useTransfer, useWallets, useWithdrawVesuUsdc };
114
+ type RecordSendTransactionInput = {
115
+ params: RecordSendTransactionParams;
116
+ bearerToken: string;
117
+ };
118
+ declare function useRecordSendTransaction(): {
119
+ recordSendTransaction: (input: RecordSendTransactionInput) => void;
120
+ recordSendTransactionAsync: (input: RecordSendTransactionInput) => Promise<Transaction>;
121
+ data: Transaction | undefined;
122
+ isLoading: boolean;
123
+ isError: boolean;
124
+ error: Error | null;
125
+ isSuccess: boolean;
126
+ reset: () => void;
127
+ };
128
+
129
+ export { useApprove, useCallAnyContract, useCreateWallet, useExecuteTransaction, useRecordSendTransaction, useStakeVesuUsdc, useTransfer, useWithdrawVesuUsdc };
package/dist/hooks.d.ts CHANGED
@@ -1,13 +1,15 @@
1
- import { CreateWalletParams, CreateWalletResponse, PaginationQuery, PaginatedResponse, WalletData, TransferParams, ApproveParams, ExecuteTransactionParams, FindSkusParams, Sku, SkuTransaction, Chain, ChainToken, StakeVesuUsdcParams, WithdrawVesuUsdcParams, CallAnyContractParams } from '@chipi-stack/types';
2
- import { UseQueryResult } from '@tanstack/react-query';
1
+ import { CreateWalletParams, CreateWalletResponse, TransferParams, ApproveParams, ExecuteTransactionParams, StakeVesuUsdcParams, WithdrawVesuUsdcParams, CallAnyContractParams, RecordSendTransactionParams, Transaction } from '@chipi-stack/types';
3
2
 
4
- type CreateWalletInput = Omit<CreateWalletParams, 'apiPublicKey' | 'nodeUrl'>;
3
+ type CreateWalletInput = {
4
+ params: CreateWalletParams;
5
+ bearerToken: string;
6
+ };
5
7
  /**
6
8
  * Hook for creating a new wallet
7
9
  */
8
10
  declare function useCreateWallet(): {
9
- createWallet: (params: CreateWalletInput) => void;
10
- createWalletAsync: (params: CreateWalletInput) => Promise<CreateWalletResponse>;
11
+ createWallet: (input: CreateWalletInput) => void;
12
+ createWalletAsync: (input: CreateWalletInput) => Promise<CreateWalletResponse>;
11
13
  data: CreateWalletResponse | undefined;
12
14
  isLoading: boolean;
13
15
  isError: boolean;
@@ -16,23 +18,16 @@ declare function useCreateWallet(): {
16
18
  reset: () => void;
17
19
  };
18
20
 
19
- interface UseWalletsParams extends PaginationQuery {
20
- apiKeyId: string;
21
- orgId: string;
22
- enabled?: boolean;
23
- }
24
- /**
25
- * Hook for fetching wallets
26
- */
27
- declare function useWallets(params: UseWalletsParams): UseQueryResult<PaginatedResponse<WalletData>, Error>;
28
-
29
- type TransferInput = Omit<TransferParams, 'apiPublicKey'>;
21
+ type TransferInput = {
22
+ params: TransferParams;
23
+ bearerToken: string;
24
+ };
30
25
  /**
31
26
  * Hook for transferring tokens
32
27
  */
33
28
  declare function useTransfer(): {
34
- transfer: (params: TransferInput) => void;
35
- transferAsync: (params: TransferInput) => Promise<string>;
29
+ transfer: (input: TransferInput) => void;
30
+ transferAsync: (input: TransferInput) => Promise<string>;
36
31
  data: string | undefined;
37
32
  isLoading: boolean;
38
33
  isError: boolean;
@@ -71,52 +66,6 @@ declare function useExecuteTransaction(): {
71
66
  reset: () => void;
72
67
  };
73
68
 
74
- interface UseSkusParams extends FindSkusParams {
75
- enabled?: boolean;
76
- }
77
- /**
78
- * Hook for fetching available SKUs
79
- */
80
- declare function useSkus(params?: UseSkusParams): UseQueryResult<Sku[], Error>;
81
-
82
- interface UseSkuTransactionsParams {
83
- walletAddress: string;
84
- page?: number;
85
- limit?: number;
86
- enabled?: boolean;
87
- }
88
- /**
89
- * Hook for fetching SKU transactions
90
- */
91
- declare function useSkuTransactions(params: UseSkuTransactionsParams): UseQueryResult<SkuTransaction[], Error>;
92
-
93
- interface PurchaseSkuParams {
94
- skuId: string;
95
- walletAddress: string;
96
- chain: Chain;
97
- chainToken: ChainToken;
98
- mxnAmount: number;
99
- reference: string;
100
- transactionHash: string;
101
- }
102
- interface PurchaseSkuResult {
103
- sku: Sku;
104
- transaction: SkuTransaction;
105
- }
106
- /**
107
- * Hook for purchasing a SKU (convenience hook that combines SKU lookup and transaction creation)
108
- */
109
- declare function usePurchaseSku(): {
110
- purchaseSku: (params: PurchaseSkuParams) => void;
111
- purchaseSkuAsync: (params: PurchaseSkuParams) => Promise<PurchaseSkuResult>;
112
- data: PurchaseSkuResult | undefined;
113
- isLoading: boolean;
114
- isError: boolean;
115
- error: Error | null;
116
- isSuccess: boolean;
117
- reset: () => void;
118
- };
119
-
120
69
  type StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;
121
70
  /**
122
71
  * Hook for staking USDC in Vesu protocol
@@ -162,4 +111,19 @@ declare function useCallAnyContract(): {
162
111
  reset: () => void;
163
112
  };
164
113
 
165
- export { useApprove, useCallAnyContract, useCreateWallet, useExecuteTransaction, usePurchaseSku, useSkuTransactions, useSkus, useStakeVesuUsdc, useTransfer, useWallets, useWithdrawVesuUsdc };
114
+ type RecordSendTransactionInput = {
115
+ params: RecordSendTransactionParams;
116
+ bearerToken: string;
117
+ };
118
+ declare function useRecordSendTransaction(): {
119
+ recordSendTransaction: (input: RecordSendTransactionInput) => void;
120
+ recordSendTransactionAsync: (input: RecordSendTransactionInput) => Promise<Transaction>;
121
+ data: Transaction | undefined;
122
+ isLoading: boolean;
123
+ isError: boolean;
124
+ error: Error | null;
125
+ isSuccess: boolean;
126
+ reset: () => void;
127
+ };
128
+
129
+ export { useApprove, useCallAnyContract, useCreateWallet, useExecuteTransaction, useRecordSendTransaction, useStakeVesuUsdc, useTransfer, useWithdrawVesuUsdc };
package/dist/hooks.js CHANGED
@@ -19,7 +19,10 @@ function useChipiContext() {
19
19
  function useCreateWallet() {
20
20
  const { chipiSDK } = useChipiContext();
21
21
  const mutation = reactQuery.useMutation({
22
- mutationFn: (params) => chipiSDK.createWallet(params)
22
+ mutationFn: (input) => chipiSDK.createWallet({
23
+ params: input.params,
24
+ bearerToken: input.bearerToken
25
+ })
23
26
  });
24
27
  return {
25
28
  createWallet: mutation.mutate,
@@ -32,20 +35,16 @@ function useCreateWallet() {
32
35
  reset: mutation.reset
33
36
  };
34
37
  }
35
- function useWallets(params) {
36
- const { chipiSDK } = useChipiContext();
37
- const { enabled = true, ...queryParams } = params;
38
- return reactQuery.useQuery({
39
- queryKey: ["wallets", queryParams],
40
- queryFn: () => chipiSDK.wallets.getWallets(queryParams),
41
- enabled: enabled && !!queryParams.apiKeyId && !!queryParams.orgId
42
- });
43
- }
44
38
  function useTransfer() {
45
39
  const { chipiSDK } = useChipiContext();
46
- const mutation = reactQuery.useMutation({
47
- mutationFn: (params) => chipiSDK.transfer(params)
48
- });
40
+ const mutation = reactQuery.useMutation(
41
+ {
42
+ mutationFn: (input) => chipiSDK.transfer({
43
+ params: input.params,
44
+ bearerToken: input.bearerToken
45
+ })
46
+ }
47
+ );
49
48
  return {
50
49
  transfer: mutation.mutate,
51
50
  transferAsync: mutation.mutateAsync,
@@ -89,40 +88,6 @@ function useExecuteTransaction() {
89
88
  reset: mutation.reset
90
89
  };
91
90
  }
92
- function useSkus(params = {}) {
93
- const { chipiSDK } = useChipiContext();
94
- const { enabled = true, ...queryParams } = params;
95
- return reactQuery.useQuery({
96
- queryKey: ["skus", queryParams],
97
- queryFn: () => chipiSDK.skus.findSkus(queryParams),
98
- enabled
99
- });
100
- }
101
- function useSkuTransactions(params) {
102
- const { chipiSDK } = useChipiContext();
103
- const { enabled = true, walletAddress, ...queryParams } = params;
104
- return reactQuery.useQuery({
105
- queryKey: ["sku-transactions", { walletAddress, ...queryParams }],
106
- queryFn: () => chipiSDK.skus.getSkuTransactionsByWallet(walletAddress, queryParams),
107
- enabled: enabled && !!walletAddress
108
- });
109
- }
110
- function usePurchaseSku() {
111
- const { chipiSDK } = useChipiContext();
112
- const mutation = reactQuery.useMutation({
113
- mutationFn: (params) => chipiSDK.skus.purchaseSku(params)
114
- });
115
- return {
116
- purchaseSku: mutation.mutate,
117
- purchaseSkuAsync: mutation.mutateAsync,
118
- data: mutation.data,
119
- isLoading: mutation.isPending,
120
- isError: mutation.isError,
121
- error: mutation.error,
122
- isSuccess: mutation.isSuccess,
123
- reset: mutation.reset
124
- };
125
- }
126
91
  function useStakeVesuUsdc() {
127
92
  const { chipiSDK } = useChipiContext();
128
93
  const mutation = reactQuery.useMutation({
@@ -171,17 +136,33 @@ function useCallAnyContract() {
171
136
  reset: mutation.reset
172
137
  };
173
138
  }
139
+ function useRecordSendTransaction() {
140
+ const { chipiSDK } = useChipiContext();
141
+ const mutation = reactQuery.useMutation({
142
+ mutationFn: (input) => chipiSDK.recordSendTransaction({
143
+ params: input.params,
144
+ bearerToken: input.bearerToken
145
+ })
146
+ });
147
+ return {
148
+ recordSendTransaction: mutation.mutate,
149
+ recordSendTransactionAsync: mutation.mutateAsync,
150
+ data: mutation.data,
151
+ isLoading: mutation.isPending,
152
+ isError: mutation.isError,
153
+ error: mutation.error,
154
+ isSuccess: mutation.isSuccess,
155
+ reset: mutation.reset
156
+ };
157
+ }
174
158
 
175
159
  exports.useApprove = useApprove;
176
160
  exports.useCallAnyContract = useCallAnyContract;
177
161
  exports.useCreateWallet = useCreateWallet;
178
162
  exports.useExecuteTransaction = useExecuteTransaction;
179
- exports.usePurchaseSku = usePurchaseSku;
180
- exports.useSkuTransactions = useSkuTransactions;
181
- exports.useSkus = useSkus;
163
+ exports.useRecordSendTransaction = useRecordSendTransaction;
182
164
  exports.useStakeVesuUsdc = useStakeVesuUsdc;
183
165
  exports.useTransfer = useTransfer;
184
- exports.useWallets = useWallets;
185
166
  exports.useWithdrawVesuUsdc = useWithdrawVesuUsdc;
186
167
  //# sourceMappingURL=hooks.js.map
187
168
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useWallets.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useExecuteTransaction.ts","../src/hooks/useSkus.ts","../src/hooks/useSkuTransactions.ts","../src/hooks/usePurchaseSku.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts"],"names":["createContext","useContext","useMutation","useQuery"],"mappings":";;;;;;;;AASA,IAAM,YAAA,GAAeA,oBAAwC,IAAI,CAAA;AA+B1D,SAAS,eAAA,GAAqC;AACnD,EAAA,MAAM,OAAA,GAAUC,iBAAW,YAAY,CAAA;AAEvC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,qDAAqD,CAAA;AAAA,EACvE;AAEA,EAAA,OAAO,OAAA;AACT;;;ACvCO,SAAS,eAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAA8EC,sBAAA,CAAY;AAAA,IAC9F,UAAA,EAAY,CAAC,MAAA,KAA8B,QAAA,CAAS,aAAa,MAAM;AAAA,GACxE,CAAA;AAED,EAAA,OAAO;AAAA,IACL,cAAc,QAAA,CAAS,MAAA;AAAA,IACvB,mBAAmB,QAAA,CAAS,WAAA;AAAA,IAC5B,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;ACtBO,SAAS,WAAW,MAAA,EAAgF;AACzG,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,EAAE,OAAA,GAAU,IAAA,EAAM,GAAG,aAAY,GAAI,MAAA;AAE3C,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,SAAA,EAAW,WAAW,CAAA;AAAA,IACjC,OAAA,EAAS,MAAM,QAAA,CAAS,OAAA,CAAQ,WAAW,WAAW,CAAA;AAAA,IACtD,OAAA,EAAS,WAAW,CAAC,CAAC,YAAY,QAAA,IAAY,CAAC,CAAC,WAAA,CAAY;AAAA,GAC7D,CAAA;AACH;ACbO,SAAS,WAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAA4DD,sBAAAA,CAAY;AAAA,IAC5E,UAAA,EAAY,CAAC,MAAA,KAA0B,QAAA,CAAS,SAAS,MAAM;AAAA,GAChE,CAAA;AAED,EAAA,OAAO;AAAA,IACL,UAAU,QAAA,CAAS,MAAA;AAAA,IACnB,eAAe,QAAA,CAAS,WAAA;AAAA,IACxB,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;AC1BO,SAAS,UAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAA2DA,sBAAAA,CAAY;AAAA,IAC3E,UAAA,EAAY,CAAC,MAAA,KAAyB,QAAA,CAAS,QAAQ,MAAM;AAAA,GAC9D,CAAA;AAED,EAAA,OAAO;AAAA,IACL,SAAS,QAAA,CAAS,MAAA;AAAA,IAClB,cAAc,QAAA,CAAS,WAAA;AAAA,IACvB,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;AC1BO,SAAS,qBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAAsEA,sBAAAA,CAAY;AAAA,IACtF,UAAA,EAAY,CAAC,MAAA,KAAoC,QAAA,CAAS,mBAAmB,MAAM;AAAA,GACpF,CAAA;AAED,EAAA,OAAO;AAAA,IACL,oBAAoB,QAAA,CAAS,MAAA;AAAA,IAC7B,yBAAyB,QAAA,CAAS,WAAA;AAAA,IAClC,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;ACxBO,SAAS,OAAA,CAAQ,MAAA,GAAwB,EAAC,EAAiC;AAChF,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,EAAE,OAAA,GAAU,IAAA,EAAM,GAAG,aAAY,GAAI,MAAA;AAE3C,EAAA,OAAOC,mBAAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,MAAA,EAAQ,WAAW,CAAA;AAAA,IAC9B,OAAA,EAAS,MAAM,QAAA,CAAS,IAAA,CAAK,SAAS,WAAW,CAAA;AAAA,IACjD;AAAA,GACD,CAAA;AACH;ACJO,SAAS,mBAAmB,MAAA,EAA2E;AAC5G,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,EAAE,OAAA,GAAU,IAAA,EAAM,aAAA,EAAe,GAAG,aAAY,GAAI,MAAA;AAE1D,EAAA,OAAOA,mBAAAA,CAAS;AAAA,IACd,UAAU,CAAC,kBAAA,EAAoB,EAAE,aAAA,EAAe,GAAG,aAAa,CAAA;AAAA,IAChE,SAAS,MAAM,QAAA,CAAS,IAAA,CAAK,0BAAA,CAA2B,eAAe,WAAW,CAAA;AAAA,IAClF,OAAA,EAAS,OAAA,IAAW,CAAC,CAAC;AAAA,GACvB,CAAA;AACH;ACHO,SAAS,cAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAA2ED,sBAAAA,CAAY;AAAA,IAC3F,YAAY,CAAC,MAAA,KAA8B,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM;AAAA,GAC5E,CAAA;AAED,EAAA,OAAO;AAAA,IACL,aAAa,QAAA,CAAS,MAAA;AAAA,IACtB,kBAAkB,QAAA,CAAS,WAAA;AAAA,IAC3B,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;ACvCO,SAAS,gBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAAiEA,sBAAAA,CAAY;AAAA,IACjF,UAAA,EAAY,CAAC,MAAA,KAA+B,QAAA,CAAS,cAAc,MAAM;AAAA,GAC1E,CAAA;AAED,EAAA,OAAO;AAAA,IACL,eAAe,QAAA,CAAS,MAAA;AAAA,IACxB,oBAAoB,QAAA,CAAS,WAAA;AAAA,IAC7B,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;AC1BO,SAAS,mBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAAoEA,sBAAAA,CAAY;AAAA,IACpF,UAAA,EAAY,CAAC,MAAA,KAAkC,QAAA,CAAS,iBAAiB,MAAM;AAAA,GAChF,CAAA;AAED,EAAA,OAAO;AAAA,IACL,kBAAkB,QAAA,CAAS,MAAA;AAAA,IAC3B,uBAAuB,QAAA,CAAS,WAAA;AAAA,IAChC,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF;AC1BO,SAAS,kBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAAmEA,sBAAAA,CAAY;AAAA,IACnF,UAAA,EAAY,CAAC,MAAA,KAAiC,QAAA,CAAS,gBAAgB,MAAM;AAAA,GAC9E,CAAA;AAED,EAAA,OAAO;AAAA,IACL,iBAAiB,QAAA,CAAS,MAAA;AAAA,IAC1B,sBAAsB,QAAA,CAAS,WAAA;AAAA,IAC/B,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,OAAO,QAAA,CAAS;AAAA,GAClB;AACF","file":"hooks.js","sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\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/**\n * Provider component that wraps your app and provides Chipi SDK context\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\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 <ChipiContext.Provider value={value}>\n {children}\n </ChipiContext.Provider>\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 { CreateWalletParams, CreateWalletResponse } from '@chipi-stack/types';\n\ntype CreateWalletInput = Omit<CreateWalletParams, 'apiPublicKey' | 'nodeUrl'>;\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (params: CreateWalletInput) => void;\n createWalletAsync: (params: CreateWalletInput) => 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<CreateWalletResponse, Error, CreateWalletInput> = useMutation({\n mutationFn: (params: CreateWalletInput) => chipiSDK.createWallet(params),\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","import { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { PaginatedResponse, WalletData, PaginationQuery } from '@chipi-stack/types';\n\ninterface UseWalletsParams extends PaginationQuery {\n apiKeyId: string;\n orgId: string;\n enabled?: boolean;\n}\n\n/**\n * Hook for fetching wallets\n */\nexport function useWallets(params: UseWalletsParams): UseQueryResult<PaginatedResponse<WalletData>, Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['wallets', queryParams],\n queryFn: () => chipiSDK.wallets.getWallets(queryParams),\n enabled: enabled && !!queryParams.apiKeyId && !!queryParams.orgId,\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 = Omit<TransferParams, 'apiPublicKey'>;\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (params: TransferInput) => void;\n transferAsync: (params: 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 mutationFn: (params: TransferInput) => chipiSDK.transfer(params),\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 = Omit<ApproveParams, 'apiPublicKey'>;\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 type { ExecuteTransactionParams } from '@chipi-stack/types';\n\ntype ExecuteTransactionInput = Omit<ExecuteTransactionParams, 'apiPublicKey'>;\n\n/**\n * Hook for executing gasless transactions\n */\nexport function useExecuteTransaction(): {\n executeTransaction: (params: ExecuteTransactionInput) => void;\n executeTransactionAsync: (params: ExecuteTransactionInput) => 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, ExecuteTransactionInput> = useMutation({\n mutationFn: (params: ExecuteTransactionInput) => chipiSDK.executeTransaction(params),\n });\n\n return {\n executeTransaction: mutation.mutate,\n executeTransactionAsync: 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 { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { FindSkusParams, Sku } from '@chipi-stack/types';\n\ninterface UseSkusParams extends FindSkusParams {\n enabled?: boolean;\n}\n\n/**\n * Hook for fetching available SKUs\n */\nexport function useSkus(params: UseSkusParams = {}): UseQueryResult<Sku[], Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['skus', queryParams],\n queryFn: () => chipiSDK.skus.findSkus(queryParams),\n enabled,\n });\n}\n","import { useQuery, useMutation, type UseQueryResult, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { SkuTransaction, CreateSkuTransactionParams } from '@chipi-stack/types';\n\ninterface UseSkuTransactionsParams {\n walletAddress: string;\n page?: number;\n limit?: number;\n enabled?: boolean;\n}\n\ntype CreateSkuTransactionInput = Omit<CreateSkuTransactionParams, 'apiKey'>;\n\n/**\n * Hook for fetching SKU transactions\n */\nexport function useSkuTransactions(params: UseSkuTransactionsParams): UseQueryResult<SkuTransaction[], Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, walletAddress, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['sku-transactions', { walletAddress, ...queryParams }],\n queryFn: () => chipiSDK.skus.getSkuTransactionsByWallet(walletAddress, queryParams),\n enabled: enabled && !!walletAddress,\n });\n}\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (params: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (params: 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: (params: CreateSkuTransactionInput) => chipiSDK.skus.createSkuTransaction(params),\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}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { Sku, SkuTransaction, Chain, ChainToken } from '@chipi-stack/types';\n\ninterface PurchaseSkuParams {\n skuId: string;\n walletAddress: string;\n chain: Chain;\n chainToken: ChainToken;\n mxnAmount: number;\n reference: string;\n transactionHash: string;\n}\n\ninterface PurchaseSkuResult {\n sku: Sku;\n transaction: SkuTransaction;\n}\n\n/**\n * Hook for purchasing a SKU (convenience hook that combines SKU lookup and transaction creation)\n */\nexport function usePurchaseSku(): {\n purchaseSku: (params: PurchaseSkuParams) => void;\n purchaseSkuAsync: (params: PurchaseSkuParams) => Promise<PurchaseSkuResult>;\n data: PurchaseSkuResult | 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<PurchaseSkuResult, Error, PurchaseSkuParams> = useMutation({\n mutationFn: (params: PurchaseSkuParams) => chipiSDK.skus.purchaseSku(params),\n });\n\n return {\n purchaseSku: mutation.mutate,\n purchaseSkuAsync: 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 { StakeVesuUsdcParams } from '@chipi-stack/types';\n\ntype StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: StakeVesuUsdcInput) => 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 = Omit<WithdrawVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) => 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 = Omit<CallAnyContractParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: CallAnyContractInput) => 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"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useExecuteTransaction.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts"],"names":["createContext","useContext","useMutation"],"mappings":"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","file":"hooks.js","sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\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/**\n * Provider component that wraps your app and provides Chipi SDK context\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\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 <ChipiContext.Provider value={value}>\n {children}\n </ChipiContext.Provider>\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 = { params: CreateWalletParams; bearerToken: string };\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","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 = Omit<ApproveParams, 'apiPublicKey'>;\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 type { ExecuteTransactionParams } from '@chipi-stack/types';\n\ntype ExecuteTransactionInput = Omit<ExecuteTransactionParams, 'apiPublicKey'>;\n\n/**\n * Hook for executing gasless transactions\n */\nexport function useExecuteTransaction(): {\n executeTransaction: (params: ExecuteTransactionInput) => void;\n executeTransactionAsync: (params: ExecuteTransactionInput) => 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, ExecuteTransactionInput> = useMutation({\n mutationFn: (params: ExecuteTransactionInput) => chipiSDK.executeTransaction(params),\n });\n\n return {\n executeTransaction: mutation.mutate,\n executeTransactionAsync: 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 { StakeVesuUsdcParams } from '@chipi-stack/types';\n\ntype StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: StakeVesuUsdcInput) => 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 = Omit<WithdrawVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) => 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 = Omit<CallAnyContractParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: CallAnyContractInput) => 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"]}
package/dist/hooks.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { useMutation, useQuery } from '@tanstack/react-query';
1
+ import { useMutation } from '@tanstack/react-query';
2
2
  import { createContext, useContext } from 'react';
3
3
  import '@chipi-stack/backend';
4
4
  import 'react/jsx-runtime';
@@ -17,7 +17,10 @@ function useChipiContext() {
17
17
  function useCreateWallet() {
18
18
  const { chipiSDK } = useChipiContext();
19
19
  const mutation = useMutation({
20
- mutationFn: (params) => chipiSDK.createWallet(params)
20
+ mutationFn: (input) => chipiSDK.createWallet({
21
+ params: input.params,
22
+ bearerToken: input.bearerToken
23
+ })
21
24
  });
22
25
  return {
23
26
  createWallet: mutation.mutate,
@@ -30,20 +33,16 @@ function useCreateWallet() {
30
33
  reset: mutation.reset
31
34
  };
32
35
  }
33
- function useWallets(params) {
34
- const { chipiSDK } = useChipiContext();
35
- const { enabled = true, ...queryParams } = params;
36
- return useQuery({
37
- queryKey: ["wallets", queryParams],
38
- queryFn: () => chipiSDK.wallets.getWallets(queryParams),
39
- enabled: enabled && !!queryParams.apiKeyId && !!queryParams.orgId
40
- });
41
- }
42
36
  function useTransfer() {
43
37
  const { chipiSDK } = useChipiContext();
44
- const mutation = useMutation({
45
- mutationFn: (params) => chipiSDK.transfer(params)
46
- });
38
+ const mutation = useMutation(
39
+ {
40
+ mutationFn: (input) => chipiSDK.transfer({
41
+ params: input.params,
42
+ bearerToken: input.bearerToken
43
+ })
44
+ }
45
+ );
47
46
  return {
48
47
  transfer: mutation.mutate,
49
48
  transferAsync: mutation.mutateAsync,
@@ -87,40 +86,6 @@ function useExecuteTransaction() {
87
86
  reset: mutation.reset
88
87
  };
89
88
  }
90
- function useSkus(params = {}) {
91
- const { chipiSDK } = useChipiContext();
92
- const { enabled = true, ...queryParams } = params;
93
- return useQuery({
94
- queryKey: ["skus", queryParams],
95
- queryFn: () => chipiSDK.skus.findSkus(queryParams),
96
- enabled
97
- });
98
- }
99
- function useSkuTransactions(params) {
100
- const { chipiSDK } = useChipiContext();
101
- const { enabled = true, walletAddress, ...queryParams } = params;
102
- return useQuery({
103
- queryKey: ["sku-transactions", { walletAddress, ...queryParams }],
104
- queryFn: () => chipiSDK.skus.getSkuTransactionsByWallet(walletAddress, queryParams),
105
- enabled: enabled && !!walletAddress
106
- });
107
- }
108
- function usePurchaseSku() {
109
- const { chipiSDK } = useChipiContext();
110
- const mutation = useMutation({
111
- mutationFn: (params) => chipiSDK.skus.purchaseSku(params)
112
- });
113
- return {
114
- purchaseSku: mutation.mutate,
115
- purchaseSkuAsync: mutation.mutateAsync,
116
- data: mutation.data,
117
- isLoading: mutation.isPending,
118
- isError: mutation.isError,
119
- error: mutation.error,
120
- isSuccess: mutation.isSuccess,
121
- reset: mutation.reset
122
- };
123
- }
124
89
  function useStakeVesuUsdc() {
125
90
  const { chipiSDK } = useChipiContext();
126
91
  const mutation = useMutation({
@@ -169,7 +134,26 @@ function useCallAnyContract() {
169
134
  reset: mutation.reset
170
135
  };
171
136
  }
137
+ function useRecordSendTransaction() {
138
+ const { chipiSDK } = useChipiContext();
139
+ const mutation = useMutation({
140
+ mutationFn: (input) => chipiSDK.recordSendTransaction({
141
+ params: input.params,
142
+ bearerToken: input.bearerToken
143
+ })
144
+ });
145
+ return {
146
+ recordSendTransaction: mutation.mutate,
147
+ recordSendTransactionAsync: mutation.mutateAsync,
148
+ data: mutation.data,
149
+ isLoading: mutation.isPending,
150
+ isError: mutation.isError,
151
+ error: mutation.error,
152
+ isSuccess: mutation.isSuccess,
153
+ reset: mutation.reset
154
+ };
155
+ }
172
156
 
173
- export { useApprove, useCallAnyContract, useCreateWallet, useExecuteTransaction, usePurchaseSku, useSkuTransactions, useSkus, useStakeVesuUsdc, useTransfer, useWallets, useWithdrawVesuUsdc };
157
+ export { useApprove, useCallAnyContract, useCreateWallet, useExecuteTransaction, useRecordSendTransaction, useStakeVesuUsdc, useTransfer, useWithdrawVesuUsdc };
174
158
  //# sourceMappingURL=hooks.mjs.map
175
159
  //# sourceMappingURL=hooks.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useWallets.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useExecuteTransaction.ts","../src/hooks/useSkus.ts","../src/hooks/useSkuTransactions.ts","../src/hooks/usePurchaseSku.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts"],"names":["useMutation","useQuery"],"mappings":"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","file":"hooks.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\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/**\n * Provider component that wraps your app and provides Chipi SDK context\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\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 <ChipiContext.Provider value={value}>\n {children}\n </ChipiContext.Provider>\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 { CreateWalletParams, CreateWalletResponse } from '@chipi-stack/types';\n\ntype CreateWalletInput = Omit<CreateWalletParams, 'apiPublicKey' | 'nodeUrl'>;\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (params: CreateWalletInput) => void;\n createWalletAsync: (params: CreateWalletInput) => 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<CreateWalletResponse, Error, CreateWalletInput> = useMutation({\n mutationFn: (params: CreateWalletInput) => chipiSDK.createWallet(params),\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","import { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { PaginatedResponse, WalletData, PaginationQuery } from '@chipi-stack/types';\n\ninterface UseWalletsParams extends PaginationQuery {\n apiKeyId: string;\n orgId: string;\n enabled?: boolean;\n}\n\n/**\n * Hook for fetching wallets\n */\nexport function useWallets(params: UseWalletsParams): UseQueryResult<PaginatedResponse<WalletData>, Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['wallets', queryParams],\n queryFn: () => chipiSDK.wallets.getWallets(queryParams),\n enabled: enabled && !!queryParams.apiKeyId && !!queryParams.orgId,\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 = Omit<TransferParams, 'apiPublicKey'>;\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (params: TransferInput) => void;\n transferAsync: (params: 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 mutationFn: (params: TransferInput) => chipiSDK.transfer(params),\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 = Omit<ApproveParams, 'apiPublicKey'>;\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 type { ExecuteTransactionParams } from '@chipi-stack/types';\n\ntype ExecuteTransactionInput = Omit<ExecuteTransactionParams, 'apiPublicKey'>;\n\n/**\n * Hook for executing gasless transactions\n */\nexport function useExecuteTransaction(): {\n executeTransaction: (params: ExecuteTransactionInput) => void;\n executeTransactionAsync: (params: ExecuteTransactionInput) => 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, ExecuteTransactionInput> = useMutation({\n mutationFn: (params: ExecuteTransactionInput) => chipiSDK.executeTransaction(params),\n });\n\n return {\n executeTransaction: mutation.mutate,\n executeTransactionAsync: 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 { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { FindSkusParams, Sku } from '@chipi-stack/types';\n\ninterface UseSkusParams extends FindSkusParams {\n enabled?: boolean;\n}\n\n/**\n * Hook for fetching available SKUs\n */\nexport function useSkus(params: UseSkusParams = {}): UseQueryResult<Sku[], Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['skus', queryParams],\n queryFn: () => chipiSDK.skus.findSkus(queryParams),\n enabled,\n });\n}\n","import { useQuery, useMutation, type UseQueryResult, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { SkuTransaction, CreateSkuTransactionParams } from '@chipi-stack/types';\n\ninterface UseSkuTransactionsParams {\n walletAddress: string;\n page?: number;\n limit?: number;\n enabled?: boolean;\n}\n\ntype CreateSkuTransactionInput = Omit<CreateSkuTransactionParams, 'apiKey'>;\n\n/**\n * Hook for fetching SKU transactions\n */\nexport function useSkuTransactions(params: UseSkuTransactionsParams): UseQueryResult<SkuTransaction[], Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, walletAddress, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['sku-transactions', { walletAddress, ...queryParams }],\n queryFn: () => chipiSDK.skus.getSkuTransactionsByWallet(walletAddress, queryParams),\n enabled: enabled && !!walletAddress,\n });\n}\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (params: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (params: 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: (params: CreateSkuTransactionInput) => chipiSDK.skus.createSkuTransaction(params),\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}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { Sku, SkuTransaction, Chain, ChainToken } from '@chipi-stack/types';\n\ninterface PurchaseSkuParams {\n skuId: string;\n walletAddress: string;\n chain: Chain;\n chainToken: ChainToken;\n mxnAmount: number;\n reference: string;\n transactionHash: string;\n}\n\ninterface PurchaseSkuResult {\n sku: Sku;\n transaction: SkuTransaction;\n}\n\n/**\n * Hook for purchasing a SKU (convenience hook that combines SKU lookup and transaction creation)\n */\nexport function usePurchaseSku(): {\n purchaseSku: (params: PurchaseSkuParams) => void;\n purchaseSkuAsync: (params: PurchaseSkuParams) => Promise<PurchaseSkuResult>;\n data: PurchaseSkuResult | 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<PurchaseSkuResult, Error, PurchaseSkuParams> = useMutation({\n mutationFn: (params: PurchaseSkuParams) => chipiSDK.skus.purchaseSku(params),\n });\n\n return {\n purchaseSku: mutation.mutate,\n purchaseSkuAsync: 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 { StakeVesuUsdcParams } from '@chipi-stack/types';\n\ntype StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: StakeVesuUsdcInput) => 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 = Omit<WithdrawVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) => 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 = Omit<CallAnyContractParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: CallAnyContractInput) => 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"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useExecuteTransaction.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts"],"names":["useMutation"],"mappings":"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","file":"hooks.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\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/**\n * Provider component that wraps your app and provides Chipi SDK context\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\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 <ChipiContext.Provider value={value}>\n {children}\n </ChipiContext.Provider>\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 = { params: CreateWalletParams; bearerToken: string };\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","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 = Omit<ApproveParams, 'apiPublicKey'>;\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 type { ExecuteTransactionParams } from '@chipi-stack/types';\n\ntype ExecuteTransactionInput = Omit<ExecuteTransactionParams, 'apiPublicKey'>;\n\n/**\n * Hook for executing gasless transactions\n */\nexport function useExecuteTransaction(): {\n executeTransaction: (params: ExecuteTransactionInput) => void;\n executeTransactionAsync: (params: ExecuteTransactionInput) => 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, ExecuteTransactionInput> = useMutation({\n mutationFn: (params: ExecuteTransactionInput) => chipiSDK.executeTransaction(params),\n });\n\n return {\n executeTransaction: mutation.mutate,\n executeTransactionAsync: 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 { StakeVesuUsdcParams } from '@chipi-stack/types';\n\ntype StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: StakeVesuUsdcInput) => 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 = Omit<WithdrawVesuUsdcParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) => 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 = Omit<CallAnyContractParams, 'apiPublicKey'>;\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> = useMutation({\n mutationFn: (params: CallAnyContractInput) => 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"]}