@chipi-stack/chipi-react 11.8.0 → 11.9.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.js +38 -1
- package/dist/hooks.js.map +1 -1
- package/dist/hooks.mjs +38 -1
- package/dist/hooks.mjs.map +1 -1
- package/dist/index.js +38 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +38 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/hooks.js
CHANGED
|
@@ -4,6 +4,7 @@ var reactQuery = require('@tanstack/react-query');
|
|
|
4
4
|
var react = require('react');
|
|
5
5
|
require('@chipi-stack/backend');
|
|
6
6
|
require('react/jsx-runtime');
|
|
7
|
+
var shared = require('@chipi-stack/shared');
|
|
7
8
|
|
|
8
9
|
// src/hooks/useCreateWallet.ts
|
|
9
10
|
var ChipiContext = react.createContext(null);
|
|
@@ -50,6 +51,12 @@ function useGetWallet(input) {
|
|
|
50
51
|
enabled: Boolean(
|
|
51
52
|
input?.params?.externalUserId && input?.getBearerToken && input.params.externalUserId.trim() !== ""
|
|
52
53
|
),
|
|
54
|
+
retry: (failureCount, error) => {
|
|
55
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return failureCount < 3;
|
|
59
|
+
},
|
|
53
60
|
...input?.queryOptions
|
|
54
61
|
});
|
|
55
62
|
const fetchWallet = async (newInput) => {
|
|
@@ -61,6 +68,12 @@ function useGetWallet(input) {
|
|
|
61
68
|
const bearerToken = await newInput.getBearerToken();
|
|
62
69
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
63
70
|
return chipiSDK.getWallet(newInput.params, bearerToken);
|
|
71
|
+
},
|
|
72
|
+
retry: (failureCount, error) => {
|
|
73
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return failureCount < 3;
|
|
64
77
|
}
|
|
65
78
|
});
|
|
66
79
|
};
|
|
@@ -186,6 +199,12 @@ function useGetSkus(input) {
|
|
|
186
199
|
return chipiSDK.skus.getSkus(bearerToken, input.query);
|
|
187
200
|
},
|
|
188
201
|
enabled: Boolean(input?.getBearerToken),
|
|
202
|
+
retry: (failureCount, error) => {
|
|
203
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
return failureCount < 3;
|
|
207
|
+
},
|
|
189
208
|
...input?.queryOptions
|
|
190
209
|
});
|
|
191
210
|
const fetchAvailableSkus = async (newInput) => {
|
|
@@ -196,6 +215,12 @@ function useGetSkus(input) {
|
|
|
196
215
|
const bearerToken = await newInput.getBearerToken();
|
|
197
216
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
198
217
|
return chipiSDK.skus.getSkus(bearerToken, newInput.query);
|
|
218
|
+
},
|
|
219
|
+
retry: (failureCount, error) => {
|
|
220
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
return failureCount < 3;
|
|
199
224
|
}
|
|
200
225
|
});
|
|
201
226
|
};
|
|
@@ -295,7 +320,13 @@ function useGetTokenBalance(input) {
|
|
|
295
320
|
return chipiSDK.getTokenBalance(input.params, bearerToken);
|
|
296
321
|
},
|
|
297
322
|
enabled: Boolean(input?.params && input?.getBearerToken),
|
|
298
|
-
...input?.queryOptions
|
|
323
|
+
...input?.queryOptions,
|
|
324
|
+
retry: (failureCount, error) => {
|
|
325
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
return failureCount < 3;
|
|
329
|
+
}
|
|
299
330
|
});
|
|
300
331
|
const fetchTokenBalance = async (newInput) => {
|
|
301
332
|
return queryClient.fetchQuery({
|
|
@@ -305,6 +336,12 @@ function useGetTokenBalance(input) {
|
|
|
305
336
|
const bearerToken = await newInput.getBearerToken();
|
|
306
337
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
307
338
|
return chipiSDK.getTokenBalance(newInput.params, bearerToken);
|
|
339
|
+
},
|
|
340
|
+
retry: (failureCount, error) => {
|
|
341
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
return failureCount < 3;
|
|
308
345
|
}
|
|
309
346
|
});
|
|
310
347
|
};
|
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":";;;;;;;;AAUA,IAAM,YAAA,GAAeA,oBAAwC,IAAI,CAAA;AAuD1D,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;;;AC1DO,SAAS,eAAA,GAWd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAIFC,sBAAA,CAAY;AAAA,IACd,UAAA,EAAY,CAAC,KAAA,KACX,QAAA,CAAS,YAAA,CAAa;AAAA,MACpB,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,aAAa,KAAA,CAAM;AAAA,KACpB;AAAA,GACJ,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;AC7BO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AAEnC,EAAA,MAAM,QAAQC,mBAAA,CAGZ;AAAA,IACA,QAAA,EAAU,CAAC,QAAA,EAAU,KAAA,EAAO,QAAQ,cAAc,CAAA;AAAA,IAClD,SAAS,YAAY;AACnB,MAAA,IAAI,CAAC,KAAA,IAAS,CAAC,KAAA,CAAM,MAAA,IAAU,CAAC,KAAA,CAAM,cAAA;AACpC,QAAA,MAAM,IAAI,MAAM,mBAAmB,CAAA;AACrC,MAAA,MAAM,WAAA,GAAc,MAAM,KAAA,CAAM,cAAA,EAAe;AAC/C,MAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,MAAA,OAAO,QAAA,CAAS,SAAA,CAAU,KAAA,CAAM,MAAA,EAAQ,WAAW,CAAA;AAAA,IACrD,CAAA;AAAA,IACA,OAAA,EAAS,OAAA;AAAA,MACP,KAAA,EAAO,QAAQ,cAAA,IACf,KAAA,EAAO,kBACP,KAAA,CAAM,MAAA,CAAO,cAAA,CAAe,IAAA,EAAK,KAAM;AAAA,KACzC;AAAA,IACA,GAAG,KAAA,EAAO;AAAA,GACX,CAAA;AAED,EAAA,MAAM,WAAA,GAAc,OAAO,QAAA,KAAoG;AAC7H,IAAA,OAAO,YAAY,UAAA,CAAW;AAAA,MAC5B,QAAA,EAAU,CAAC,QAAA,EAAU,QAAA,EAAU,QAAQ,cAAc,CAAA;AAAA,MACrD,SAAS,YAAY;AACnB,QAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,CAAS,cAAA,IAAkB,CAAC,QAAA,CAAS,MAAA;AACrD,UAAA,MAAM,IAAI,MAAM,mBAAmB,CAAA;AACrC,QAAA,MAAM,WAAA,GAAc,MAAM,QAAA,CAAS,cAAA,EAAe;AAClD,QAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,QAAA,OAAO,QAAA,CAAS,SAAA,CAAU,QAAA,CAAS,MAAA,EAAQ,WAAW,CAAA;AAAA,MACxD;AAAA,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH;AAAA,GACF;AACF;ACtDO,SAAS,WAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,QAAA,GAA4DF,sBAAAA;AAAA,IAChE;AAAA,MACE,UAAA,EAAY,CAAC,KAAA,KACX,QAAA,CAAS,QAAA,CAAS;AAAA,QAChB,MAAA,EAAQ;AAAA,UACN,GAAG,KAAA,CAAM,MAAA;AAAA,UACT,MAAA,EAAQ,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,MAAM;AAAA,SACpC;AAAA,QACA,aAAa,KAAA,CAAM;AAAA,OACpB;AAAA;AACL,GACF;AAEA,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;AC9BO,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,OAAA,CAAQ;AAAA,MACrD,MAAA,EAAQ;AAAA,QACN,GAAG,MAAA,CAAO,MAAA;AAAA,QACV,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,MAAM;AAAA,OACrC;AAAA,MACA,aAAa,MAAA,CAAO;AAAA,KACrB;AAAA,GACF,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;AClCO,SAAS,uBAAA,GASd;AACE,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAAgFA,sBAAAA,CAAY;AAAA,IAC9F,UAAA,EAAY,CAAC,KAAA,KACT,QAAA,CAAS,oBAAA,CAAqB;AAAA,MAC1B,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,aAAa,KAAA,CAAM;AAAA,KACtB;AAAA,GACR,CAAA;AAED,EAAA,OAAO;AAAA,IACH,sBAAsB,QAAA,CAAS,MAAA;AAAA,IAC/B,2BAA2B,QAAA,CAAS,WAAA;AAAA,IACpC,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,GACpB;AACJ;AC5BO,SAAS,yBAAyB,KAAA,EAAoC;AAC3E,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,cAAcC,yBAAAA,EAAe;AAEnC,EAAA,MAAM,QAAQC,mBAAAA,CAAgC;AAAA,IAC5C,QAAA,EAAU,CAAC,iBAAA,EAAmB,KAAA,EAAO,EAAE,CAAA;AAAA,IACvC,SAAS,YAAY;AACnB,MAAA,IAAI,CAAC,KAAA,EAAO,EAAA,EAAI,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAChD,MAAA,IAAI,CAAC,KAAA,EAAO,cAAA,EAAgB,MAAM,IAAI,MAAM,4BAA4B,CAAA;AACxE,MAAA,MAAM,WAAA,GAAc,MAAM,KAAA,CAAM,cAAA,EAAe;AAC/C,MAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,MAAA,OAAO,QAAA,CAAS,eAAA,CAAgB,qBAAA,CAAsB,KAAA,CAAM,IAAI,WAAW,CAAA;AAAA,IAC7E,CAAA;AAAA,IACA,OAAA,EAAS,OAAA,CAAQ,KAAA,EAAO,EAAA,IAAM,OAAO,cAAc,CAAA;AAAA,IACnD,GAAG,KAAA,EAAO;AAAA,GACX,CAAA;AAED,EAAA,MAAM,uBAAA,GAA0B,OAAO,QAAA,KAAyC;AAC9E,IAAA,OAAO,YAAY,UAAA,CAAW;AAAA,MAC5B,QAAA,EAAU,CAAC,iBAAA,EAAmB,QAAA,EAAU,EAAE,CAAA;AAAA,MAC1C,SAAS,YAAY;AACnB,QAAA,IAAI,CAAC,QAAA,EAAU,EAAA,EAAI,MAAM,IAAI,MAAM,gBAAgB,CAAA;AACnD,QAAA,IAAI,CAAC,QAAA,EAAU,cAAA,EAAgB,MAAM,IAAI,MAAM,4BAA4B,CAAA;AAC3E,QAAA,MAAM,WAAA,GAAc,MAAM,QAAA,CAAS,cAAA,EAAe;AAClD,QAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,QAAA,OAAO,QAAA,CAAS,eAAA,CAAgB,qBAAA,CAAsB,QAAA,CAAS,IAAI,WAAW,CAAA;AAAA,MAChF;AAAA,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH;AAAA,GACF;AACF;ACpCO,SAAS,WAAW,KAAA,EAAsB;AAC/C,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,cAAcD,yBAAAA,EAAe;AAEnC,EAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAAqB;AAAA,IAC1C,gBAAA;AAAA,IACA,GAAG,IAAA,IAAQ,CAAA;AAAA,IACX,GAAG,KAAA,IAAS,EAAA;AAAA,IACZ,GAAG,MAAA,IAAU,CAAA;AAAA,IACb,GAAG,QAAA,IAAY,IAAA;AAAA,IACf,GAAG,QAAA,IAAY;AAAA,GACjB;AAEA,EAAA,MAAM,QAAQC,mBAAAA,CAAwC;AAAA,IACpD,QAAA,EAAU,aAAA,CAAc,KAAA,EAAO,KAAK,CAAA;AAAA,IACpC,SAAS,YAAY;AACnB,MAAA,IAAI,CAAC,KAAA,EAAO,cAAA,EAAgB,MAAM,IAAI,MAAM,4BAA4B,CAAA;AACxE,MAAA,MAAM,WAAA,GAAc,MAAM,KAAA,CAAM,cAAA,EAAe;AAC/C,MAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,MAAA,OAAO,QAAA,CAAS,IAAA,CAAK,OAAA,CAAQ,WAAA,EAAa,MAAM,KAAK,CAAA;AAAA,IACvD,CAAA;AAAA,IACA,OAAA,EAAS,OAAA,CAAQ,KAAA,EAAO,cAAc,CAAA;AAAA,IACtC,GAAG,KAAA,EAAO;AAAA,GACX,CAAA;AAED,EAAA,MAAM,kBAAA,GAAqB,OAAO,QAAA,KAA2B;AAC3D,IAAA,OAAO,YAAY,UAAA,CAAW;AAAA,MAC5B,QAAA,EAAU,aAAA,CAAc,QAAA,EAAU,KAAK,CAAA;AAAA,MACvC,SAAS,YAAY;AACnB,QAAA,IAAI,CAAC,QAAA,EAAU,cAAA,EAAgB,MAAM,IAAI,MAAM,4BAA4B,CAAA;AAC3E,QAAA,MAAM,WAAA,GAAc,MAAM,QAAA,CAAS,cAAA,EAAe;AAClD,QAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,QAAA,OAAO,QAAA,CAAS,IAAA,CAAK,OAAA,CAAQ,WAAA,EAAa,SAAS,KAAK,CAAA;AAAA,MAC1D;AAAA,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH;AAAA,GACF;AACF;ACzCO,SAAS,gBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WACJF,sBAAAA,CAAY;AAAA,IACV,UAAA,EAAY,CAAC,MAAA,KACX,QAAA,CAAS,aAAA,CAAc;AAAA,MACrB,MAAA,EAAQ;AAAA,QACN,GAAG,MAAA,CAAO,MAAA;AAAA,QACV,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,MAAM;AAAA,OACrC;AAAA,MACA,aAAa,MAAA,CAAO;AAAA,KACrB;AAAA,GACJ,CAAA;AAEH,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;AClCO,SAAS,mBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WACJA,sBAAAA,CAAY;AAAA,IACV,UAAA,EAAY,CAAC,MAAA,KACX,QAAA,CAAS,gBAAA,CAAiB;AAAA,MACxB,MAAA,EAAQ;AAAA,QACN,GAAG,MAAA,CAAO,MAAA;AAAA,QACV,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,MAAM;AAAA,OACrC;AAAA,MACA,aAAa,MAAA,CAAO;AAAA,KACrB;AAAA,GACJ,CAAA;AAEH,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;AClCO,SAAS,kBAAA,GASd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WACJA,sBAAAA,CAAY;AAAA,IACV,UAAA,EAAY,CAAC,MAAA,KACX,QAAA,CAAS,gBAAgB,MAAM;AAAA,GAClC,CAAA;AAEH,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;AC5BO,SAAS,wBAAA,GAWd;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AAErC,EAAA,MAAM,WAIFA,sBAAAA,CAAY;AAAA,IACd,UAAA,EAAY,CAAC,KAAA,KACX,QAAA,CAAS,qBAAA,CAAsB;AAAA,MAC7B,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,aAAa,KAAA,CAAM;AAAA,KACpB;AAAA,GACJ,CAAA;AAED,EAAA,OAAO;AAAA,IACL,uBAAuB,QAAA,CAAS,MAAA;AAAA,IAChC,4BAA4B,QAAA,CAAS,WAAA;AAAA,IACrC,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;ACjCO,SAAS,mBAAmB,KAAA,EAA8B;AAC/D,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,eAAA,EAAgB;AACrC,EAAA,MAAM,cAAcC,yBAAAA,EAAe;AAEnC,EAAA,MAAM,QAAQC,mBAAAA,CAAyC;AAAA,IACrD,QAAA,EAAU,CAAC,qBAAA,EAAuB,KAAA,EAAO,QAAQ,UAAA,EAAY,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,eAAA,EAAiB,KAAA,EAAO,QAAQ,cAAc,CAAA;AAAA,IAChJ,SAAS,YAAY;AACnB,MAAA,IAAI,CAAC,KAAA,IAAS,CAAC,KAAA,CAAM,MAAA,IAAU,CAAC,KAAA,CAAM,cAAA,EAAgB,MAAM,IAAI,KAAA,CAAM,mBAAmB,CAAA;AACzF,MAAA,MAAM,WAAA,GAAc,MAAM,KAAA,CAAM,cAAA,EAAe;AAC/C,MAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,MAAA,OAAO,QAAA,CAAS,eAAA,CAAgB,KAAA,CAAM,MAAA,EAAQ,WAAW,CAAA;AAAA,IAC3D,CAAA;AAAA,IACA,OAAA,EAAS,OAAA,CAAQ,KAAA,EAAO,MAAA,IAAU,OAAO,cAAc,CAAA;AAAA,IACvD,GAAG,KAAA,EAAO;AAAA,GACX,CAAA;AAED,EAAA,MAAM,iBAAA,GAAoB,OAAO,QAAA,KAAmC;AAClE,IAAA,OAAO,YAAY,UAAA,CAAW;AAAA,MAC5B,QAAA,EAAU,CAAC,qBAAA,EAAuB,QAAA,EAAU,QAAQ,UAAA,EAAY,QAAA,EAAU,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,eAAA,EAAiB,QAAA,EAAU,QAAQ,cAAc,CAAA;AAAA,MAC5J,SAAS,YAAY;AACnB,QAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,CAAS,cAAA,IAAkB,CAAC,QAAA,CAAS,MAAA,EAAQ,MAAM,IAAI,KAAA,CAAM,mBAAmB,CAAA;AAClG,QAAA,MAAM,WAAA,GAAc,MAAM,QAAA,CAAS,cAAA,EAAe;AAClD,QAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAC5D,QAAA,OAAO,QAAA,CAAS,eAAA,CAAgB,QAAA,CAAS,MAAA,EAAQ,WAAW,CAAA;AAAA,MAC9D;AAAA,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH;AAAA,GACF;AACF","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"]}
|
|
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","ChipiApiError"],"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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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 retry: (failureCount, error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\n });\n \n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
|
package/dist/hooks.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { useMutation, useQueryClient, useQuery } from '@tanstack/react-query';
|
|
|
2
2
|
import { createContext, useContext } from 'react';
|
|
3
3
|
import '@chipi-stack/backend';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
|
+
import { ChipiApiError } from '@chipi-stack/shared';
|
|
5
6
|
|
|
6
7
|
// src/hooks/useCreateWallet.ts
|
|
7
8
|
var ChipiContext = createContext(null);
|
|
@@ -48,6 +49,12 @@ function useGetWallet(input) {
|
|
|
48
49
|
enabled: Boolean(
|
|
49
50
|
input?.params?.externalUserId && input?.getBearerToken && input.params.externalUserId.trim() !== ""
|
|
50
51
|
),
|
|
52
|
+
retry: (failureCount, error) => {
|
|
53
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return failureCount < 3;
|
|
57
|
+
},
|
|
51
58
|
...input?.queryOptions
|
|
52
59
|
});
|
|
53
60
|
const fetchWallet = async (newInput) => {
|
|
@@ -59,6 +66,12 @@ function useGetWallet(input) {
|
|
|
59
66
|
const bearerToken = await newInput.getBearerToken();
|
|
60
67
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
61
68
|
return chipiSDK.getWallet(newInput.params, bearerToken);
|
|
69
|
+
},
|
|
70
|
+
retry: (failureCount, error) => {
|
|
71
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return failureCount < 3;
|
|
62
75
|
}
|
|
63
76
|
});
|
|
64
77
|
};
|
|
@@ -184,6 +197,12 @@ function useGetSkus(input) {
|
|
|
184
197
|
return chipiSDK.skus.getSkus(bearerToken, input.query);
|
|
185
198
|
},
|
|
186
199
|
enabled: Boolean(input?.getBearerToken),
|
|
200
|
+
retry: (failureCount, error) => {
|
|
201
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
return failureCount < 3;
|
|
205
|
+
},
|
|
187
206
|
...input?.queryOptions
|
|
188
207
|
});
|
|
189
208
|
const fetchAvailableSkus = async (newInput) => {
|
|
@@ -194,6 +213,12 @@ function useGetSkus(input) {
|
|
|
194
213
|
const bearerToken = await newInput.getBearerToken();
|
|
195
214
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
196
215
|
return chipiSDK.skus.getSkus(bearerToken, newInput.query);
|
|
216
|
+
},
|
|
217
|
+
retry: (failureCount, error) => {
|
|
218
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
return failureCount < 3;
|
|
197
222
|
}
|
|
198
223
|
});
|
|
199
224
|
};
|
|
@@ -293,7 +318,13 @@ function useGetTokenBalance(input) {
|
|
|
293
318
|
return chipiSDK.getTokenBalance(input.params, bearerToken);
|
|
294
319
|
},
|
|
295
320
|
enabled: Boolean(input?.params && input?.getBearerToken),
|
|
296
|
-
...input?.queryOptions
|
|
321
|
+
...input?.queryOptions,
|
|
322
|
+
retry: (failureCount, error) => {
|
|
323
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
return failureCount < 3;
|
|
327
|
+
}
|
|
297
328
|
});
|
|
298
329
|
const fetchTokenBalance = async (newInput) => {
|
|
299
330
|
return queryClient.fetchQuery({
|
|
@@ -303,6 +334,12 @@ function useGetTokenBalance(input) {
|
|
|
303
334
|
const bearerToken = await newInput.getBearerToken();
|
|
304
335
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
305
336
|
return chipiSDK.getTokenBalance(newInput.params, bearerToken);
|
|
337
|
+
},
|
|
338
|
+
retry: (failureCount, error) => {
|
|
339
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
return failureCount < 3;
|
|
306
343
|
}
|
|
307
344
|
});
|
|
308
345
|
};
|
package/dist/hooks.mjs.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":["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"]}
|
|
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","ChipiApiError"],"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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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 retry: (failureCount, error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\n });\n \n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var reactQuery = require('@tanstack/react-query');
|
|
5
5
|
var backend = require('@chipi-stack/backend');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var shared = require('@chipi-stack/shared');
|
|
7
8
|
|
|
8
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
10
|
|
|
@@ -83,6 +84,12 @@ function useGetWallet(input) {
|
|
|
83
84
|
enabled: Boolean(
|
|
84
85
|
input?.params?.externalUserId && input?.getBearerToken && input.params.externalUserId.trim() !== ""
|
|
85
86
|
),
|
|
87
|
+
retry: (failureCount, error) => {
|
|
88
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return failureCount < 3;
|
|
92
|
+
},
|
|
86
93
|
...input?.queryOptions
|
|
87
94
|
});
|
|
88
95
|
const fetchWallet = async (newInput) => {
|
|
@@ -94,6 +101,12 @@ function useGetWallet(input) {
|
|
|
94
101
|
const bearerToken = await newInput.getBearerToken();
|
|
95
102
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
96
103
|
return chipiSDK.getWallet(newInput.params, bearerToken);
|
|
104
|
+
},
|
|
105
|
+
retry: (failureCount, error) => {
|
|
106
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
return failureCount < 3;
|
|
97
110
|
}
|
|
98
111
|
});
|
|
99
112
|
};
|
|
@@ -219,6 +232,12 @@ function useGetSkus(input) {
|
|
|
219
232
|
return chipiSDK.skus.getSkus(bearerToken, input.query);
|
|
220
233
|
},
|
|
221
234
|
enabled: Boolean(input?.getBearerToken),
|
|
235
|
+
retry: (failureCount, error) => {
|
|
236
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
return failureCount < 3;
|
|
240
|
+
},
|
|
222
241
|
...input?.queryOptions
|
|
223
242
|
});
|
|
224
243
|
const fetchAvailableSkus = async (newInput) => {
|
|
@@ -229,6 +248,12 @@ function useGetSkus(input) {
|
|
|
229
248
|
const bearerToken = await newInput.getBearerToken();
|
|
230
249
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
231
250
|
return chipiSDK.skus.getSkus(bearerToken, newInput.query);
|
|
251
|
+
},
|
|
252
|
+
retry: (failureCount, error) => {
|
|
253
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
256
|
+
return failureCount < 3;
|
|
232
257
|
}
|
|
233
258
|
});
|
|
234
259
|
};
|
|
@@ -328,7 +353,13 @@ function useGetTokenBalance(input) {
|
|
|
328
353
|
return chipiSDK.getTokenBalance(input.params, bearerToken);
|
|
329
354
|
},
|
|
330
355
|
enabled: Boolean(input?.params && input?.getBearerToken),
|
|
331
|
-
...input?.queryOptions
|
|
356
|
+
...input?.queryOptions,
|
|
357
|
+
retry: (failureCount, error) => {
|
|
358
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
return failureCount < 3;
|
|
362
|
+
}
|
|
332
363
|
});
|
|
333
364
|
const fetchTokenBalance = async (newInput) => {
|
|
334
365
|
return queryClient.fetchQuery({
|
|
@@ -338,6 +369,12 @@ function useGetTokenBalance(input) {
|
|
|
338
369
|
const bearerToken = await newInput.getBearerToken();
|
|
339
370
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
340
371
|
return chipiSDK.getTokenBalance(newInput.params, bearerToken);
|
|
372
|
+
},
|
|
373
|
+
retry: (failureCount, error) => {
|
|
374
|
+
if (error instanceof shared.ChipiApiError || error?.status) {
|
|
375
|
+
return false;
|
|
376
|
+
}
|
|
377
|
+
return failureCount < 3;
|
|
341
378
|
}
|
|
342
379
|
});
|
|
343
380
|
};
|
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}","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"]}
|
|
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","ChipiApiError"],"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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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 retry: (failureCount, error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\n });\n \n };\n\n return {\n ...query,\n fetchTokenBalance,\n };\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import React, { createContext, useContext } from 'react';
|
|
|
2
2
|
import { QueryClient, QueryClientProvider, useMutation, useQueryClient, useQuery } from '@tanstack/react-query';
|
|
3
3
|
import { ChipiSDK } from '@chipi-stack/backend';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
import { ChipiApiError } from '@chipi-stack/shared';
|
|
5
6
|
|
|
6
7
|
// src/context/ChipiProvider.tsx
|
|
7
8
|
var ChipiContext = createContext(null);
|
|
@@ -77,6 +78,12 @@ function useGetWallet(input) {
|
|
|
77
78
|
enabled: Boolean(
|
|
78
79
|
input?.params?.externalUserId && input?.getBearerToken && input.params.externalUserId.trim() !== ""
|
|
79
80
|
),
|
|
81
|
+
retry: (failureCount, error) => {
|
|
82
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return failureCount < 3;
|
|
86
|
+
},
|
|
80
87
|
...input?.queryOptions
|
|
81
88
|
});
|
|
82
89
|
const fetchWallet = async (newInput) => {
|
|
@@ -88,6 +95,12 @@ function useGetWallet(input) {
|
|
|
88
95
|
const bearerToken = await newInput.getBearerToken();
|
|
89
96
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
90
97
|
return chipiSDK.getWallet(newInput.params, bearerToken);
|
|
98
|
+
},
|
|
99
|
+
retry: (failureCount, error) => {
|
|
100
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
return failureCount < 3;
|
|
91
104
|
}
|
|
92
105
|
});
|
|
93
106
|
};
|
|
@@ -213,6 +226,12 @@ function useGetSkus(input) {
|
|
|
213
226
|
return chipiSDK.skus.getSkus(bearerToken, input.query);
|
|
214
227
|
},
|
|
215
228
|
enabled: Boolean(input?.getBearerToken),
|
|
229
|
+
retry: (failureCount, error) => {
|
|
230
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
return failureCount < 3;
|
|
234
|
+
},
|
|
216
235
|
...input?.queryOptions
|
|
217
236
|
});
|
|
218
237
|
const fetchAvailableSkus = async (newInput) => {
|
|
@@ -223,6 +242,12 @@ function useGetSkus(input) {
|
|
|
223
242
|
const bearerToken = await newInput.getBearerToken();
|
|
224
243
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
225
244
|
return chipiSDK.skus.getSkus(bearerToken, newInput.query);
|
|
245
|
+
},
|
|
246
|
+
retry: (failureCount, error) => {
|
|
247
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
return failureCount < 3;
|
|
226
251
|
}
|
|
227
252
|
});
|
|
228
253
|
};
|
|
@@ -322,7 +347,13 @@ function useGetTokenBalance(input) {
|
|
|
322
347
|
return chipiSDK.getTokenBalance(input.params, bearerToken);
|
|
323
348
|
},
|
|
324
349
|
enabled: Boolean(input?.params && input?.getBearerToken),
|
|
325
|
-
...input?.queryOptions
|
|
350
|
+
...input?.queryOptions,
|
|
351
|
+
retry: (failureCount, error) => {
|
|
352
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
return failureCount < 3;
|
|
356
|
+
}
|
|
326
357
|
});
|
|
327
358
|
const fetchTokenBalance = async (newInput) => {
|
|
328
359
|
return queryClient.fetchQuery({
|
|
@@ -332,6 +363,12 @@ function useGetTokenBalance(input) {
|
|
|
332
363
|
const bearerToken = await newInput.getBearerToken();
|
|
333
364
|
if (!bearerToken) throw new Error("Bearer token is required");
|
|
334
365
|
return chipiSDK.getTokenBalance(newInput.params, bearerToken);
|
|
366
|
+
},
|
|
367
|
+
retry: (failureCount, error) => {
|
|
368
|
+
if (error instanceof ChipiApiError || error?.status) {
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
return failureCount < 3;
|
|
335
372
|
}
|
|
336
373
|
});
|
|
337
374
|
};
|
package/dist/index.mjs.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":["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"]}
|
|
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","ChipiApiError"],"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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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 retry: (failureCount, error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors\n return failureCount < 3;\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\";\nimport { ChipiApiError } from \"@chipi-stack/shared\";\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\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 retry: (failureCount: number, error: Error) => {\n // Don't retry on API errors (errors with status codes like 404, 400, etc.)\n if (error instanceof ChipiApiError || (error as any)?.status) {\n return false;\n }\n // Retry on network errors (no status code) up to 3 times\n return failureCount < 3;\n },\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.
|
|
3
|
+
"version": "11.9.0",
|
|
4
4
|
"description": "React hooks and components for Chipi SDK",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"chipi",
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"@tanstack/react-query": "^5.85.0",
|
|
79
|
-
"@chipi-stack/backend": "^11.
|
|
80
|
-
"@chipi-stack/
|
|
81
|
-
"@chipi-stack/
|
|
79
|
+
"@chipi-stack/backend": "^11.9.0",
|
|
80
|
+
"@chipi-stack/types": "^11.9.0",
|
|
81
|
+
"@chipi-stack/shared": "^11.9.0"
|
|
82
82
|
},
|
|
83
83
|
"peerDependencies": {
|
|
84
84
|
"react": ">=16.8.0",
|