@turtleclub/hooks 0.5.0-beta.12 → 0.5.0-beta.14

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/index.js CHANGED
@@ -603,8 +603,15 @@ var earnDepositsQueries = createQueryKeys5("earnDeposits", {
603
603
  })
604
604
  });
605
605
 
606
- // src/v2/products/queries.ts
606
+ // src/v2/earn-interactions/queries.ts
607
607
  import { createQueryKeys as createQueryKeys6 } from "@lukemorales/query-key-factory";
608
+ var earnInteractionsQueries = createQueryKeys6("earnInteractions", {
609
+ // Placeholder for potential future GET endpoints
610
+ // e.g., getting interaction history
611
+ });
612
+
613
+ // src/v2/products/queries.ts
614
+ import { createQueryKeys as createQueryKeys7 } from "@lukemorales/query-key-factory";
608
615
 
609
616
  // src/v2/products/schema.ts
610
617
  import { z as z7 } from "zod";
@@ -764,7 +771,7 @@ async function uploadProductLogo({
764
771
  }
765
772
 
766
773
  // src/v2/products/queries.ts
767
- var productsQueries = createQueryKeys6("products", {
774
+ var productsQueries = createQueryKeys7("products", {
768
775
  // Get all products (no filters)
769
776
  all: () => ({
770
777
  queryKey: ["all"],
@@ -781,7 +788,7 @@ var productsQueries = createQueryKeys6("products", {
781
788
  });
782
789
 
783
790
  // src/v2/enso-balances/queries.ts
784
- import { createQueryKeys as createQueryKeys7 } from "@lukemorales/query-key-factory";
791
+ import { createQueryKeys as createQueryKeys8 } from "@lukemorales/query-key-factory";
785
792
 
786
793
  // src/v2/enso-balances/schemas.ts
787
794
  import { z as z8 } from "zod";
@@ -824,7 +831,7 @@ async function getWalletBalances(params, context) {
824
831
  }
825
832
 
826
833
  // src/v2/enso-balances/queries.ts
827
- var ensoBalancesQueries = createQueryKeys7("ensoBalances", {
834
+ var ensoBalancesQueries = createQueryKeys8("ensoBalances", {
828
835
  byParams: (params) => ({
829
836
  queryKey: [params],
830
837
  queryFn: (context) => getWalletBalances(params, context)
@@ -832,7 +839,7 @@ var ensoBalancesQueries = createQueryKeys7("ensoBalances", {
832
839
  });
833
840
 
834
841
  // src/v2/widget/queries.ts
835
- import { createQueryKeys as createQueryKeys8 } from "@lukemorales/query-key-factory";
842
+ import { createQueryKeys as createQueryKeys9 } from "@lukemorales/query-key-factory";
836
843
 
837
844
  // src/v2/widget/schema.ts
838
845
  import { z as z9 } from "zod";
@@ -856,7 +863,7 @@ async function getWidgetOpportunities(distributorId, context) {
856
863
  }
857
864
 
858
865
  // src/v2/widget/queries.ts
859
- var widgetQueries = createQueryKeys8("widget", {
866
+ var widgetQueries = createQueryKeys9("widget", {
860
867
  opportunities: (distributorId) => ({
861
868
  queryKey: [distributorId],
862
869
  queryFn: (context) => getWidgetOpportunities(distributorId, context)
@@ -864,7 +871,7 @@ var widgetQueries = createQueryKeys8("widget", {
864
871
  });
865
872
 
866
873
  // src/v2/streams/queries.ts
867
- import { createQueryKeys as createQueryKeys9 } from "@lukemorales/query-key-factory";
874
+ import { createQueryKeys as createQueryKeys10 } from "@lukemorales/query-key-factory";
868
875
 
869
876
  // src/v2/streams/schemas.ts
870
877
  import { z as z10 } from "zod";
@@ -1019,7 +1026,7 @@ async function requestStreamSignature(organizationId, input) {
1019
1026
  }
1020
1027
 
1021
1028
  // src/v2/streams/queries.ts
1022
- var streamsQueries = createQueryKeys9("streams", {
1029
+ var streamsQueries = createQueryKeys10("streams", {
1023
1030
  list: (query) => ({
1024
1031
  queryKey: [query ?? "all"],
1025
1032
  queryFn: () => getStreams(query)
@@ -1031,7 +1038,7 @@ var streamsQueries = createQueryKeys9("streams", {
1031
1038
  });
1032
1039
 
1033
1040
  // src/v2/supported-chains/queries.ts
1034
- import { createQueryKeys as createQueryKeys10 } from "@lukemorales/query-key-factory";
1041
+ import { createQueryKeys as createQueryKeys11 } from "@lukemorales/query-key-factory";
1035
1042
 
1036
1043
  // src/v2/supported-chains/schema.ts
1037
1044
  import { z as z11 } from "zod";
@@ -1054,7 +1061,7 @@ async function getSupportedChains(options) {
1054
1061
  }
1055
1062
 
1056
1063
  // src/v2/supported-chains/queries.ts
1057
- var supportedChainsQueries = createQueryKeys10("supportedChains", {
1064
+ var supportedChainsQueries = createQueryKeys11("supportedChains", {
1058
1065
  all: {
1059
1066
  queryKey: null,
1060
1067
  queryFn: () => getSupportedChains()
@@ -1062,7 +1069,7 @@ var supportedChainsQueries = createQueryKeys10("supportedChains", {
1062
1069
  });
1063
1070
 
1064
1071
  // src/v2/supported-tokens/queries.ts
1065
- import { createQueryKeys as createQueryKeys11 } from "@lukemorales/query-key-factory";
1072
+ import { createQueryKeys as createQueryKeys12 } from "@lukemorales/query-key-factory";
1066
1073
 
1067
1074
  // src/v2/supported-tokens/schema.ts
1068
1075
  import { z as z12 } from "zod";
@@ -1097,7 +1104,7 @@ async function getSupportedTokens(filters, options) {
1097
1104
  }
1098
1105
 
1099
1106
  // src/v2/supported-tokens/queries.ts
1100
- var supportedTokensQueries = createQueryKeys11("supportedTokens", {
1107
+ var supportedTokensQueries = createQueryKeys12("supportedTokens", {
1101
1108
  list: (filters) => ({
1102
1109
  queryKey: [filters],
1103
1110
  queryFn: () => getSupportedTokens(filters)
@@ -1105,7 +1112,7 @@ var supportedTokensQueries = createQueryKeys11("supportedTokens", {
1105
1112
  });
1106
1113
 
1107
1114
  // src/v2/users/queries.ts
1108
- import { createQueryKeys as createQueryKeys12 } from "@lukemorales/query-key-factory";
1115
+ import { createQueryKeys as createQueryKeys13 } from "@lukemorales/query-key-factory";
1109
1116
 
1110
1117
  // src/v2/users/schemas.ts
1111
1118
  import { z as z13 } from "zod";
@@ -1201,7 +1208,7 @@ async function getUserPortfolio(input) {
1201
1208
  }
1202
1209
 
1203
1210
  // src/v2/users/queries.ts
1204
- var usersQueries = createQueryKeys12("users", {
1211
+ var usersQueries = createQueryKeys13("users", {
1205
1212
  byId: (input) => ({
1206
1213
  queryKey: [input.userId],
1207
1214
  queryFn: () => getUserById(input)
@@ -1212,6 +1219,37 @@ var usersQueries = createQueryKeys12("users", {
1212
1219
  })
1213
1220
  });
1214
1221
 
1222
+ // src/v2/nfts/queries.ts
1223
+ import { createQueryKeys as createQueryKeys14 } from "@lukemorales/query-key-factory";
1224
+
1225
+ // src/v2/nfts/api.ts
1226
+ var LUMON_API_BASE_URL = "https://lumon.turtle.xyz";
1227
+ async function fetchUserNfts(userAddress, chain) {
1228
+ const endpoint = `${LUMON_API_BASE_URL}/query/token/erc721_portfolio`;
1229
+ const response = await fetch(endpoint, {
1230
+ method: "POST",
1231
+ headers: {
1232
+ "Content-Type": "application/json"
1233
+ },
1234
+ body: JSON.stringify({
1235
+ user: userAddress,
1236
+ chain
1237
+ })
1238
+ });
1239
+ if (!response.ok) {
1240
+ throw new Error("Failed to fetch user NFTs");
1241
+ }
1242
+ return response.json();
1243
+ }
1244
+
1245
+ // src/v2/nfts/queries.ts
1246
+ var nftsQueries = createQueryKeys14("nfts", {
1247
+ byUser: (userAddress, chain) => ({
1248
+ queryKey: [userAddress, chain],
1249
+ queryFn: () => fetchUserNfts(userAddress, chain)
1250
+ })
1251
+ });
1252
+
1215
1253
  // src/v2/earn-opportunities/hooks.ts
1216
1254
  import { useQuery } from "@tanstack/react-query";
1217
1255
 
@@ -1295,6 +1333,83 @@ function useDeposits({ params, enabled = true }) {
1295
1333
  });
1296
1334
  }
1297
1335
 
1336
+ // src/v2/earn-interactions/schema.ts
1337
+ import { z as z14 } from "zod";
1338
+ var transactionSchema = z14.object({
1339
+ chainId: z14.number().int(),
1340
+ data: z14.string(),
1341
+ to: z14.string(),
1342
+ value: z14.string(),
1343
+ gasLimit: z14.string().optional()
1344
+ });
1345
+ var txResponseItemSchema = z14.object({
1346
+ type: z14.string().optional(),
1347
+ description: z14.string().optional(),
1348
+ transaction: transactionSchema
1349
+ });
1350
+ var interactionResponseSchema = z14.object({
1351
+ transactions: z14.array(txResponseItemSchema).nullable()
1352
+ });
1353
+
1354
+ // src/v2/earn-interactions/api.ts
1355
+ function buildInteractionQuery(params) {
1356
+ const searchParams = new URLSearchParams({
1357
+ userAddress: params.userAddress,
1358
+ tokenIn: params.tokenIn,
1359
+ amount: params.amount,
1360
+ distributorId: params.distributorId
1361
+ });
1362
+ if (params.referralCode) {
1363
+ searchParams.set("referralCode", params.referralCode);
1364
+ }
1365
+ if (params.slippageBps !== void 0) {
1366
+ searchParams.set("slippageBps", params.slippageBps.toString());
1367
+ }
1368
+ return searchParams.toString();
1369
+ }
1370
+ async function createInteraction(interactionType, params) {
1371
+ const { opportunityId, ...queryParams } = params;
1372
+ const query = buildInteractionQuery(queryParams);
1373
+ const data = await apiClient.fetch(
1374
+ `/v1/interactions/${interactionType}/${opportunityId}?${query}`,
1375
+ {
1376
+ method: "POST",
1377
+ domain: "earn"
1378
+ }
1379
+ );
1380
+ const result = interactionResponseSchema.safeParse(data);
1381
+ if (result.success === false) {
1382
+ console.log("[ZOD ERROR]", result.error);
1383
+ throw new Error(
1384
+ `Failed to parse ${interactionType} interaction: ${result.error.message}`
1385
+ );
1386
+ }
1387
+ return result.data;
1388
+ }
1389
+ var createDepositInteraction = (params) => createInteraction("deposit", params);
1390
+ var createWithdrawInteraction = (params) => createInteraction("withdraw", params);
1391
+ var createClaimWithdrawInteraction = (params) => createInteraction("claimWithdraw", params);
1392
+
1393
+ // src/v2/earn-interactions/hooks.ts
1394
+ import { useMutation as useMutation2 } from "@tanstack/react-query";
1395
+ function createInteractionHook(mutationFn) {
1396
+ return function useInteraction(options) {
1397
+ return useMutation2({
1398
+ mutationFn,
1399
+ ...options
1400
+ });
1401
+ };
1402
+ }
1403
+ var useCreateDepositInteraction = createInteractionHook(
1404
+ createDepositInteraction
1405
+ );
1406
+ var useCreateWithdrawInteraction = createInteractionHook(
1407
+ createWithdrawInteraction
1408
+ );
1409
+ var useCreateClaimWithdrawInteraction = createInteractionHook(
1410
+ createClaimWithdrawInteraction
1411
+ );
1412
+
1298
1413
  // src/v2/enso-balances/hooks.ts
1299
1414
  import { useMemo } from "react";
1300
1415
  import { useQueries } from "@tanstack/react-query";
@@ -1369,7 +1484,7 @@ function useOpportunity({ id, ...options }) {
1369
1484
  }
1370
1485
 
1371
1486
  // src/v2/products/hooks.ts
1372
- import { useMutation as useMutation2, useQuery as useQuery6 } from "@tanstack/react-query";
1487
+ import { useMutation as useMutation3, useQuery as useQuery6 } from "@tanstack/react-query";
1373
1488
  function useProducts({ filters, enabled = true }) {
1374
1489
  return useQuery6({
1375
1490
  ...productsQueries.list(filters),
@@ -1385,25 +1500,25 @@ function useProduct({ id, enabled = true }) {
1385
1500
  });
1386
1501
  }
1387
1502
  function useCreateProduct(options) {
1388
- return useMutation2({
1503
+ return useMutation3({
1389
1504
  mutationFn: (input) => createProduct(input),
1390
1505
  ...options
1391
1506
  });
1392
1507
  }
1393
1508
  function useUpdateProduct(options) {
1394
- return useMutation2({
1509
+ return useMutation3({
1395
1510
  mutationFn: (input) => updateProduct(input),
1396
1511
  ...options
1397
1512
  });
1398
1513
  }
1399
1514
  function useDeleteProduct(options) {
1400
- return useMutation2({
1515
+ return useMutation3({
1401
1516
  mutationFn: (id) => deleteProduct(id),
1402
1517
  ...options
1403
1518
  });
1404
1519
  }
1405
1520
  function useUploadProductLogo(options) {
1406
- return useMutation2({
1521
+ return useMutation3({
1407
1522
  mutationFn: (request) => uploadProductLogo(request),
1408
1523
  ...options
1409
1524
  });
@@ -1464,33 +1579,33 @@ var BalanceSourcePriority = /* @__PURE__ */ ((BalanceSourcePriority2) => {
1464
1579
  })(BalanceSourcePriority || {});
1465
1580
 
1466
1581
  // src/v2/balance/schema.ts
1467
- import { z as z14 } from "zod";
1468
- var portfolioTokenSchema = z14.object({
1469
- id: z14.string(),
1470
- address: z14.string(),
1471
- name: z14.string(),
1472
- symbol: z14.string(),
1473
- decimals: z14.number(),
1474
- isNative: z14.boolean(),
1475
- logoUrl: z14.string().nullable(),
1476
- amount: z14.string(),
1582
+ import { z as z15 } from "zod";
1583
+ var portfolioTokenSchema = z15.object({
1584
+ id: z15.string(),
1585
+ address: z15.string(),
1586
+ name: z15.string(),
1587
+ symbol: z15.string(),
1588
+ decimals: z15.number(),
1589
+ isNative: z15.boolean(),
1590
+ logoUrl: z15.string().nullable(),
1591
+ amount: z15.string(),
1477
1592
  // Portfolio-specific field (decimal format)
1478
- price: z14.string().nullable().transform((val) => val ? parseFloat(val) : null),
1593
+ price: z15.string().nullable().transform((val) => val ? parseFloat(val) : null),
1479
1594
  // Portfolio-specific field
1480
1595
  // Chain with optional fields to match Portfolio API response
1481
1596
  chain: chainSchema.partial().required({ chainId: true })
1482
1597
  });
1483
- var portfolioWalletSchema = z14.object({
1484
- id: z14.string().optional(),
1485
- address: z14.string(),
1486
- blockchain: z14.string().optional(),
1487
- tokens: z14.array(portfolioTokenSchema)
1598
+ var portfolioWalletSchema = z15.object({
1599
+ id: z15.string().optional(),
1600
+ address: z15.string(),
1601
+ blockchain: z15.string().optional(),
1602
+ tokens: z15.array(portfolioTokenSchema)
1488
1603
  });
1489
- var portfolioHoldingsSchema = z14.object({
1490
- wallets: z14.array(portfolioWalletSchema)
1604
+ var portfolioHoldingsSchema = z15.object({
1605
+ wallets: z15.array(portfolioWalletSchema)
1491
1606
  });
1492
- var portfolioBalanceResponseSchema = z14.object({
1493
- portfolio: z14.object({
1607
+ var portfolioBalanceResponseSchema = z15.object({
1608
+ portfolio: z15.object({
1494
1609
  holdings: portfolioHoldingsSchema
1495
1610
  })
1496
1611
  });
@@ -1511,8 +1626,8 @@ async function getPortfolioBalance(address, options) {
1511
1626
  }
1512
1627
 
1513
1628
  // src/v2/balance/queries.ts
1514
- import { createQueryKeys as createQueryKeys13 } from "@lukemorales/query-key-factory";
1515
- var balanceQueries = createQueryKeys13("balance", {
1629
+ import { createQueryKeys as createQueryKeys15 } from "@lukemorales/query-key-factory";
1630
+ var balanceQueries = createQueryKeys15("balance", {
1516
1631
  // Portfolio balance by address
1517
1632
  portfolio: (address) => ({
1518
1633
  queryKey: [address],
@@ -1961,7 +2076,7 @@ function useGeocheck(options = {}) {
1961
2076
  }
1962
2077
 
1963
2078
  // src/v2/streams/hooks.ts
1964
- import { useQuery as useQuery12, useMutation as useMutation3 } from "@tanstack/react-query";
2079
+ import { useQuery as useQuery12, useMutation as useMutation4 } from "@tanstack/react-query";
1965
2080
  function useStreams({ query, ...options } = {}) {
1966
2081
  return useQuery12(createQueryOptions(streamsQueries.list(query), options));
1967
2082
  }
@@ -1969,7 +2084,7 @@ function useStreamSupportedChains(options) {
1969
2084
  return useQuery12(createQueryOptions(streamsQueries.supportedChains, options));
1970
2085
  }
1971
2086
  function useRequestStreamSignature(options) {
1972
- return useMutation3({
2087
+ return useMutation4({
1973
2088
  mutationFn: ({ organizationId, data }) => requestStreamSignature(organizationId, data),
1974
2089
  ...options
1975
2090
  });
@@ -2091,6 +2206,61 @@ function useUserPortfolio({ userId, enabled = true }) {
2091
2206
  });
2092
2207
  }
2093
2208
 
2209
+ // src/v2/nfts/hooks.ts
2210
+ import { skipToken, useQuery as useQuery14 } from "@tanstack/react-query";
2211
+ function useUserNfts({ userAddress, chain, tokenAddress }) {
2212
+ return useQuery14(
2213
+ userAddress ? createQueryOptions(nftsQueries.byUser(userAddress, chain), {
2214
+ select: (data) => tokenAddress ? data.filter((nft) => nft.token.toLowerCase() === tokenAddress.toLowerCase()) : data
2215
+ }) : { queryKey: ["nfts", "byUser", "skip"], queryFn: skipToken }
2216
+ );
2217
+ }
2218
+
2219
+ // src/v2/covers/hooks.ts
2220
+ import { useMutation as useMutation5 } from "@tanstack/react-query";
2221
+
2222
+ // src/v2/covers/schema.ts
2223
+ import { z as z16 } from "zod";
2224
+ var coverRequestDataSchema = z16.object({
2225
+ protocolName: z16.string(),
2226
+ coverageAmount: z16.string(),
2227
+ periodDays: z16.number(),
2228
+ desiredApySacrifice: z16.string(),
2229
+ calculatedEstimatedPremium: z16.string(),
2230
+ tokenSymbol: z16.string()
2231
+ });
2232
+ var submitCoverRequestResponseSchema = z16.object({
2233
+ success: z16.boolean()
2234
+ });
2235
+
2236
+ // src/v2/covers/api.ts
2237
+ async function submitCoverRequest(data) {
2238
+ const response = await apiClient.fetch("/turtle/nexus-cover-requests", {
2239
+ method: "POST",
2240
+ body: data
2241
+ });
2242
+ const result = submitCoverRequestResponseSchema.safeParse(response);
2243
+ if (!result.success) {
2244
+ console.log("[ZOD ERROR]", result.error);
2245
+ throw new Error(`Failed to submit cover request due to an invalid server response.`);
2246
+ }
2247
+ return result.data;
2248
+ }
2249
+
2250
+ // src/v2/covers/hooks.ts
2251
+ function useSubmitCoverRequest(options) {
2252
+ return useMutation5({
2253
+ mutationFn: submitCoverRequest,
2254
+ onSuccess: () => {
2255
+ options?.onSuccess?.("Cover request submitted successfully!");
2256
+ },
2257
+ onError: (error) => {
2258
+ console.error("[useSubmitCoverRequest]", error);
2259
+ options?.onError?.("Failed to submit Cover Request");
2260
+ }
2261
+ });
2262
+ }
2263
+
2094
2264
  // src/v2/lib/turtle-provider.tsx
2095
2265
  import { useEffect, useMemo as useMemo9 } from "react";
2096
2266
  import { Fragment, jsx } from "react/jsx-runtime";
@@ -2118,13 +2288,15 @@ var queries = mergeQueryKeys(
2118
2288
  earnRouteQueries,
2119
2289
  earnMembershipQueries,
2120
2290
  earnDepositsQueries,
2291
+ earnInteractionsQueries,
2121
2292
  productsQueries,
2122
2293
  ensoBalancesQueries,
2123
2294
  widgetQueries,
2124
2295
  streamsQueries,
2125
2296
  supportedChainsQueries,
2126
2297
  supportedTokensQueries,
2127
- usersQueries
2298
+ usersQueries,
2299
+ nftsQueries
2128
2300
  );
2129
2301
  export {
2130
2302
  ApiError,
@@ -2141,16 +2313,21 @@ export {
2141
2313
  chainSchema,
2142
2314
  checkMembership,
2143
2315
  checkMembershipResponseSchema,
2316
+ coverRequestDataSchema,
2144
2317
  createAgreementRequestSchema,
2145
2318
  createAgreementResponseSchema,
2319
+ createClaimWithdrawInteraction,
2320
+ createDepositInteraction,
2146
2321
  createMembership,
2147
2322
  createMembershipAgreement,
2148
2323
  createMembershipRequestSchema,
2149
2324
  createMembershipResponseSchema,
2325
+ createWithdrawInteraction,
2150
2326
  depositSchema,
2151
2327
  depositSubstep,
2152
2328
  depositsResponseSchema,
2153
2329
  earnDepositsQueries,
2330
+ earnInteractionsQueries,
2154
2331
  earnMembershipQueries,
2155
2332
  earnOpportunitiesQueries,
2156
2333
  earnOpportunitiesResponseSchema,
@@ -2159,6 +2336,7 @@ export {
2159
2336
  earnRouteResponseSchema,
2160
2337
  ensoBalancesQueries,
2161
2338
  ensoStep,
2339
+ fetchUserNfts,
2162
2340
  filterBalancesByChains,
2163
2341
  filterExcludedTokens,
2164
2342
  filterNonZeroBalances,
@@ -2189,8 +2367,10 @@ export {
2189
2367
  getWidgetOpportunities,
2190
2368
  holdingsDataSchema,
2191
2369
  incentiveSchema,
2370
+ interactionResponseSchema,
2192
2371
  lendingConfigSchema,
2193
2372
  mergeBalancesByPriority,
2373
+ nftsQueries,
2194
2374
  opportunitiesQueries,
2195
2375
  opportunitySchema,
2196
2376
  organizationSchema,
@@ -2214,6 +2394,8 @@ export {
2214
2394
  streamSignatureRequestInputSchema,
2215
2395
  streamSignatureRequestOutputSchema,
2216
2396
  streamsQueries,
2397
+ submitCoverRequest,
2398
+ submitCoverRequestResponseSchema,
2217
2399
  supportedChainsQueries,
2218
2400
  supportedChainsResponseSchema,
2219
2401
  supportedTokenSchema,
@@ -2221,11 +2403,16 @@ export {
2221
2403
  supportedTokensResponseSchema,
2222
2404
  swapSubstep,
2223
2405
  tokenSchema,
2406
+ transactionSchema,
2407
+ txResponseItemSchema,
2224
2408
  useBalance,
2225
2409
  useCheckMembership,
2410
+ useCreateClaimWithdrawInteraction,
2411
+ useCreateDepositInteraction,
2226
2412
  useCreateMembership,
2227
2413
  useCreateMembershipAgreement,
2228
2414
  useCreateProduct,
2415
+ useCreateWithdrawInteraction,
2229
2416
  useDeleteProduct,
2230
2417
  useDeposits,
2231
2418
  useEarnOpportunities,
@@ -2242,6 +2429,7 @@ export {
2242
2429
  useRequestStreamSignature,
2243
2430
  useStreamSupportedChains,
2244
2431
  useStreams,
2432
+ useSubmitCoverRequest,
2245
2433
  useSupportedChains,
2246
2434
  useSupportedTokens,
2247
2435
  useSwapRoute,
@@ -2249,6 +2437,7 @@ export {
2249
2437
  useUpdateProduct,
2250
2438
  useUploadProductLogo,
2251
2439
  useUserById,
2440
+ useUserNfts,
2252
2441
  useUserPortfolio,
2253
2442
  useWidgetOpportunities,
2254
2443
  userEarningsSchema,