@explorins/pers-sdk-react-native 2.1.20 → 2.1.21

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.
@@ -7,6 +7,7 @@ export { useBusiness } from './useBusiness';
7
7
  export { useCampaigns } from './useCampaigns';
8
8
  export { useRedemptions } from './useRedemptions';
9
9
  export { useWeb3 } from './useWeb3';
10
+ export { useResolvedUrl, useMetadata, useIPFSUrl } from './useIPFSUrl';
10
11
  export { usePurchases } from './usePurchases';
11
12
  export { useTenants } from './useTenants';
12
13
  export { useUsers } from './useUsers';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,IAAI,iBAAiB,EACnC,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrH,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGhI,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGzE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGlF,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,IAAI,iBAAiB,EACnC,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrH,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGhI,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGzE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGlF,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -8,6 +8,7 @@ export { useBusiness } from './useBusiness';
8
8
  export { useCampaigns } from './useCampaigns';
9
9
  export { useRedemptions } from './useRedemptions';
10
10
  export { useWeb3 } from './useWeb3';
11
+ export { useResolvedUrl, useMetadata, useIPFSUrl } from './useIPFSUrl';
11
12
  export { usePurchases } from './usePurchases';
12
13
  export { useTenants } from './useTenants';
13
14
  export { useUsers } from './useUsers';
@@ -0,0 +1,68 @@
1
+ import type { TokenMetadata } from '@explorins/pers-sdk/web3';
2
+ /**
3
+ * React hook for resolving media URLs (IPFS or HTTPS).
4
+ *
5
+ * Automatically handles IPFS URLs by resolving them to HTTPS via tenant's gateway.
6
+ * Non-IPFS URLs are returned as-is. Handles loading and error states.
7
+ *
8
+ * @param url - The URL to resolve (can be ipfs://, https://, or undefined)
9
+ * @returns Object with resolved URL, loading state, and error
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * function NFTImage({ metadataUri }: { metadataUri?: string }) {
14
+ * const { url, isLoading } = useResolvedUrl(metadataUri);
15
+ *
16
+ * if (isLoading) return <ActivityIndicator />;
17
+ * return <Image source={{ uri: url }} />;
18
+ * }
19
+ * ```
20
+ */
21
+ export declare function useResolvedUrl(url: string | undefined | null): {
22
+ /** Resolved HTTPS URL (or original if not IPFS) */
23
+ url: string | null;
24
+ /** Whether resolution is in progress */
25
+ isLoading: boolean;
26
+ /** Error message if resolution failed */
27
+ error: string | null;
28
+ };
29
+ /**
30
+ * React hook for fetching NFT/token metadata from a URI.
31
+ *
32
+ * Handles IPFS resolution automatically and returns parsed metadata
33
+ * with all nested IPFS URLs already resolved to HTTPS.
34
+ *
35
+ * @param metadataUri - The metadata URI to fetch (can be ipfs:// or https://)
36
+ * @returns Object with metadata, loading state, error, and refresh function
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * function NFTDetails({ metadataUri }: { metadataUri?: string }) {
41
+ * const { metadata, isLoading, error } = useMetadata(metadataUri);
42
+ *
43
+ * if (isLoading) return <ActivityIndicator />;
44
+ * if (error) return <Text>Error: {error}</Text>;
45
+ * if (!metadata) return null;
46
+ *
47
+ * return (
48
+ * <View>
49
+ * <Image source={{ uri: metadata.imageUrl }} />
50
+ * <Text>{metadata.name}</Text>
51
+ * <Text>{metadata.description}</Text>
52
+ * </View>
53
+ * );
54
+ * }
55
+ * ```
56
+ */
57
+ export declare function useMetadata(metadataUri: string | undefined | null): {
58
+ /** Parsed metadata with resolved IPFS URLs (imageUrl, animationUrl, etc.) */
59
+ metadata: TokenMetadata | null;
60
+ /** Whether fetch is in progress */
61
+ isLoading: boolean;
62
+ /** Error message if fetch failed */
63
+ error: string | null;
64
+ /** Manually refresh metadata */
65
+ refresh: () => Promise<void>;
66
+ };
67
+ export { useResolvedUrl as useIPFSUrl };
68
+ //# sourceMappingURL=useIPFSUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIPFSUrl.d.ts","sourceRoot":"","sources":["../../src/hooks/useIPFSUrl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAmCzD,mDAAmD;;IAEnD,wCAAwC;;IAExC,yCAAyC;;EAG5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IA+B9D,6EAA6E;;IAE7E,mCAAmC;;IAEnC,oCAAoC;;IAEpC,gCAAgC;;EAGnC;AAGD,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,CAAC"}
@@ -0,0 +1,127 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { useWeb3 } from './useWeb3';
3
+ /**
4
+ * React hook for resolving media URLs (IPFS or HTTPS).
5
+ *
6
+ * Automatically handles IPFS URLs by resolving them to HTTPS via tenant's gateway.
7
+ * Non-IPFS URLs are returned as-is. Handles loading and error states.
8
+ *
9
+ * @param url - The URL to resolve (can be ipfs://, https://, or undefined)
10
+ * @returns Object with resolved URL, loading state, and error
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * function NFTImage({ metadataUri }: { metadataUri?: string }) {
15
+ * const { url, isLoading } = useResolvedUrl(metadataUri);
16
+ *
17
+ * if (isLoading) return <ActivityIndicator />;
18
+ * return <Image source={{ uri: url }} />;
19
+ * }
20
+ * ```
21
+ */
22
+ export function useResolvedUrl(url) {
23
+ const { resolveIPFSUrl, isAvailable } = useWeb3();
24
+ const [resolvedUrl, setResolvedUrl] = useState(null);
25
+ const [isLoading, setIsLoading] = useState(false);
26
+ const [error, setError] = useState(null);
27
+ useEffect(() => {
28
+ if (!url || !isAvailable) {
29
+ setResolvedUrl(null);
30
+ return;
31
+ }
32
+ // Non-IPFS URLs don't need resolution
33
+ if (!url.startsWith('ipfs://')) {
34
+ setResolvedUrl(url);
35
+ return;
36
+ }
37
+ setIsLoading(true);
38
+ setError(null);
39
+ resolveIPFSUrl(url)
40
+ .then((resolved) => {
41
+ setResolvedUrl(resolved);
42
+ })
43
+ .catch((err) => {
44
+ setError(err instanceof Error ? err.message : 'Failed to resolve URL');
45
+ setResolvedUrl(null);
46
+ })
47
+ .finally(() => {
48
+ setIsLoading(false);
49
+ });
50
+ }, [url, isAvailable, resolveIPFSUrl]);
51
+ return {
52
+ /** Resolved HTTPS URL (or original if not IPFS) */
53
+ url: resolvedUrl,
54
+ /** Whether resolution is in progress */
55
+ isLoading,
56
+ /** Error message if resolution failed */
57
+ error,
58
+ };
59
+ }
60
+ /**
61
+ * React hook for fetching NFT/token metadata from a URI.
62
+ *
63
+ * Handles IPFS resolution automatically and returns parsed metadata
64
+ * with all nested IPFS URLs already resolved to HTTPS.
65
+ *
66
+ * @param metadataUri - The metadata URI to fetch (can be ipfs:// or https://)
67
+ * @returns Object with metadata, loading state, error, and refresh function
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * function NFTDetails({ metadataUri }: { metadataUri?: string }) {
72
+ * const { metadata, isLoading, error } = useMetadata(metadataUri);
73
+ *
74
+ * if (isLoading) return <ActivityIndicator />;
75
+ * if (error) return <Text>Error: {error}</Text>;
76
+ * if (!metadata) return null;
77
+ *
78
+ * return (
79
+ * <View>
80
+ * <Image source={{ uri: metadata.imageUrl }} />
81
+ * <Text>{metadata.name}</Text>
82
+ * <Text>{metadata.description}</Text>
83
+ * </View>
84
+ * );
85
+ * }
86
+ * ```
87
+ */
88
+ export function useMetadata(metadataUri) {
89
+ const { fetchAndProcessMetadata, isAvailable } = useWeb3();
90
+ const [metadata, setMetadata] = useState(null);
91
+ const [isLoading, setIsLoading] = useState(false);
92
+ const [error, setError] = useState(null);
93
+ const fetchMetadata = async () => {
94
+ if (!metadataUri || !isAvailable) {
95
+ setMetadata(null);
96
+ return;
97
+ }
98
+ setIsLoading(true);
99
+ setError(null);
100
+ try {
101
+ const result = await fetchAndProcessMetadata(metadataUri);
102
+ setMetadata(result);
103
+ }
104
+ catch (err) {
105
+ setError(err instanceof Error ? err.message : 'Failed to fetch metadata');
106
+ setMetadata(null);
107
+ }
108
+ finally {
109
+ setIsLoading(false);
110
+ }
111
+ };
112
+ useEffect(() => {
113
+ fetchMetadata();
114
+ }, [metadataUri, isAvailable]);
115
+ return {
116
+ /** Parsed metadata with resolved IPFS URLs (imageUrl, animationUrl, etc.) */
117
+ metadata,
118
+ /** Whether fetch is in progress */
119
+ isLoading,
120
+ /** Error message if fetch failed */
121
+ error,
122
+ /** Manually refresh metadata */
123
+ refresh: fetchMetadata,
124
+ };
125
+ }
126
+ // Re-export with descriptive aliases
127
+ export { useResolvedUrl as useIPFSUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"useTransactions.d.ts","sourceRoot":"","sources":["../../src/hooks/useTransactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,cAAc,EACd,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,eAAe;iCAgC4B,qBAAqB,mBAAmB,gBAAgB,KAAG,QAAQ,6BAA6B,CAAC;wCAmEtI,MAAM,YACX,0BAA0B,EAAE,KACrC,QAAQ,cAAc,GAAG,IAAI,CAAC;0CAoDrB,uBAAuB,KAChC,QAAQ,qBAAqB,cAAc,CAAC,CAAC;wCA2CrC,+BAA+B,GAAG;QACzC,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;KACxC,KACA,QAAQ,qBAAqB,cAAc,CAAC,CAAC;iCAcI,QAAQ,IAAI,CAAC;;;;CAyBlE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"useTransactions.d.ts","sourceRoot":"","sources":["../../src/hooks/useTransactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,cAAc,EACd,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,eAAe;iCAgC4B,qBAAqB,mBAAmB,gBAAgB,KAAG,QAAQ,6BAA6B,CAAC;wCAmEtI,MAAM,YACX,0BAA0B,EAAE,KACrC,QAAQ,cAAc,GAAG,IAAI,CAAC;0CAmDrB,uBAAuB,KAChC,QAAQ,qBAAqB,cAAc,CAAC,CAAC;wCAyCrC,+BAA+B,GAAG;QACzC,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;KACxC,KACA,QAAQ,qBAAqB,cAAc,CAAC,CAAC;iCAcI,QAAQ,IAAI,CAAC;;;;CAyBlE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -134,8 +134,7 @@ export const useTransactions = () => {
134
134
  throw new Error('SDK not initialized. Call initialize() first.');
135
135
  }
136
136
  try {
137
- const result = await sdk.transactions.getTransactionById(transactionId, include);
138
- return result;
137
+ return await sdk.transactions.getTransactionById(transactionId, include);
139
138
  }
140
139
  catch (error) {
141
140
  console.error('Failed to fetch transaction:', error);
@@ -184,8 +183,7 @@ export const useTransactions = () => {
184
183
  throw new Error('SDK not initialized. Call initialize() first.');
185
184
  }
186
185
  try {
187
- const result = await sdk.transactions.getUserTransactionHistory(options);
188
- return result;
186
+ return await sdk.transactions.getUserTransactionHistory(options);
189
187
  }
190
188
  catch (error) {
191
189
  console.error('Failed to fetch transaction history:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"useWeb3.d.ts","sourceRoot":"","sources":["../../src/hooks/useWeb3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAGtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,OAAO;+BAmCkC,mBAAmB,KAAG,QAAQ,YAAY,CAAC;gCAiC1C,mBAAmB,KAAG,QAAQ,aAAa,GAAG,IAAI,CAAC;kCAcjD,sBAAsB,KAAG,QAAQ,eAAe,CAAC;0BAqBzD,MAAM,KAAG,QAAQ,MAAM,CAAC;wCAoBV,MAAM,KAAG,QAAQ,aAAa,GAAG,IAAI,CAAC;gCAc9C,MAAM,KAAG,QAAQ,SAAS,CAAC;8BAc7B,MAAM,WAAW,MAAM,QAAQ,SAAS,GAAG,IAAI,KAAG,QAAQ,MAAM,CAAC;6BAiCxE,QAAQ,KAAG,MAAM,EAAE,GAAG,SAAS;wDAuCzD,MAAM,SACf,QAAQ,cACJ,MAAM,KAChB,QAAQ,wBAAwB,CAAC;6CAqBlB,MAAM,SACf,QAAQ,cACJ,MAAM,KAChB,sBAAsB;;CAqB1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"useWeb3.d.ts","sourceRoot":"","sources":["../../src/hooks/useWeb3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAGtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,OAAO;+BAmCkC,mBAAmB,KAAG,QAAQ,YAAY,CAAC;gCAiC1C,mBAAmB,KAAG,QAAQ,aAAa,GAAG,IAAI,CAAC;kCAcjD,sBAAsB,KAAG,QAAQ,eAAe,CAAC;0BA8BzD,MAAM,KAAG,QAAQ,MAAM,CAAC;wCAoBV,MAAM,KAAG,QAAQ,aAAa,GAAG,IAAI,CAAC;gCAc9C,MAAM,KAAG,QAAQ,SAAS,CAAC;8BAc7B,MAAM,WAAW,MAAM,QAAQ,SAAS,GAAG,IAAI,KAAG,QAAQ,MAAM,CAAC;6BAiCxE,QAAQ,KAAG,MAAM,EAAE,GAAG,SAAS;wDAuCzD,MAAM,SACf,QAAQ,cACJ,MAAM,KAChB,QAAQ,wBAAwB,CAAC;6CAqBlB,MAAM,SACf,QAAQ,cACJ,MAAM,KAChB,sBAAsB;;CAqB1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC"}
@@ -145,23 +145,32 @@ export const useWeb3 = () => {
145
145
  /**
146
146
  * Resolve IPFS URL to HTTP gateway URL
147
147
  *
148
- * @deprecated Use `sdk.tenant.resolveIPFSUrl()` directly - IPFS is chain-agnostic
148
+ * Converts an ipfs:// URL to an HTTPS URL using the tenant's configured IPFS gateway.
149
+ * Non-IPFS URLs are returned unchanged.
150
+ *
149
151
  * @param url - IPFS URL to resolve (ipfs://...)
150
152
  * @returns Promise resolving to HTTP gateway URL
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const { resolveIPFSUrl } = useWeb3();
157
+ * const httpsUrl = await resolveIPFSUrl('ipfs://QmHash...');
158
+ * // Returns: 'https://gateway.pinata.cloud/ipfs/QmHash...'
159
+ * ```
151
160
  */
152
161
  const resolveIPFSUrl = useCallback(async (url) => {
153
- if (!isInitialized || !sdk) {
162
+ if (!isInitialized || !web3) {
154
163
  throw new Error('SDK not initialized. Call initialize() first.');
155
164
  }
156
165
  try {
157
- const result = await sdk.tenants.resolveIPFSUrl(url);
166
+ const result = await web3.resolveIPFSUrl(url);
158
167
  return result;
159
168
  }
160
169
  catch (error) {
161
170
  console.error('Failed to resolve IPFS URL:', error);
162
171
  throw error;
163
172
  }
164
- }, [sdk, isInitialized]);
173
+ }, [web3, isInitialized]);
165
174
  /**
166
175
  * Fetch and process token metadata from a URI
167
176
  *