@explorins/pers-sdk-react-native 1.5.30 → 1.5.32

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.
Files changed (76) hide show
  1. package/README.md +9 -0
  2. package/dist/hooks/index.d.ts +2 -2
  3. package/dist/hooks/index.d.ts.map +1 -1
  4. package/dist/hooks/index.js +1 -1
  5. package/dist/hooks/useAnalytics.d.ts.map +1 -1
  6. package/dist/hooks/useAnalytics.js +0 -1
  7. package/dist/hooks/useAuth.d.ts +0 -1
  8. package/dist/hooks/useAuth.d.ts.map +1 -1
  9. package/dist/hooks/useAuth.js +5 -18
  10. package/dist/hooks/useBusiness.d.ts.map +1 -1
  11. package/dist/hooks/useBusiness.js +0 -9
  12. package/dist/hooks/useCampaigns.d.ts.map +1 -1
  13. package/dist/hooks/useCampaigns.js +0 -10
  14. package/dist/hooks/useDonations.d.ts.map +1 -1
  15. package/dist/hooks/useDonations.js +0 -1
  16. package/dist/hooks/useFiles.d.ts.map +1 -1
  17. package/dist/hooks/useFiles.js +0 -4
  18. package/dist/hooks/usePurchases.d.ts.map +1 -1
  19. package/dist/hooks/usePurchases.js +0 -3
  20. package/dist/hooks/useRedemptions.d.ts +4 -1
  21. package/dist/hooks/useRedemptions.d.ts.map +1 -1
  22. package/dist/hooks/useRedemptions.js +6 -17
  23. package/dist/hooks/useTenants.d.ts.map +1 -1
  24. package/dist/hooks/useTenants.js +0 -3
  25. package/dist/hooks/useTokens.d.ts.map +1 -1
  26. package/dist/hooks/useTokens.js +0 -6
  27. package/dist/hooks/useTransactionSigner.d.ts +13 -1
  28. package/dist/hooks/useTransactionSigner.d.ts.map +1 -1
  29. package/dist/hooks/useTransactionSigner.js +59 -2
  30. package/dist/hooks/useTransactions.d.ts +4 -1
  31. package/dist/hooks/useTransactions.d.ts.map +1 -1
  32. package/dist/hooks/useTransactions.js +9 -10
  33. package/dist/hooks/useUserStatus.d.ts.map +1 -1
  34. package/dist/hooks/useUserStatus.js +0 -3
  35. package/dist/hooks/useUsers.d.ts.map +1 -1
  36. package/dist/hooks/useUsers.js +0 -7
  37. package/dist/hooks/useWeb3.d.ts +26 -42
  38. package/dist/hooks/useWeb3.d.ts.map +1 -1
  39. package/dist/hooks/useWeb3.js +27 -53
  40. package/dist/index.d.ts +2 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +330 -304
  43. package/dist/index.js.map +1 -1
  44. package/dist/providers/PersSDKProvider.d.ts +1 -3
  45. package/dist/providers/PersSDKProvider.d.ts.map +1 -1
  46. package/dist/providers/PersSDKProvider.js +14 -11
  47. package/dist/providers/react-native-auth-provider.d.ts.map +1 -1
  48. package/dist/providers/react-native-auth-provider.js +4 -0
  49. package/dist/providers/rn-dpop-provider.d.ts +2 -4
  50. package/dist/providers/rn-dpop-provider.d.ts.map +1 -1
  51. package/dist/providers/rn-dpop-provider.js +50 -23
  52. package/dist/storage/rn-secure-storage.d.ts +1 -0
  53. package/dist/storage/rn-secure-storage.d.ts.map +1 -1
  54. package/dist/storage/rn-secure-storage.js +9 -12
  55. package/package.json +2 -2
  56. package/src/hooks/index.ts +10 -2
  57. package/src/hooks/useAnalytics.ts +0 -1
  58. package/src/hooks/useAuth.ts +4 -25
  59. package/src/hooks/useBusiness.ts +0 -9
  60. package/src/hooks/useCampaigns.ts +0 -10
  61. package/src/hooks/useDonations.ts +0 -1
  62. package/src/hooks/useFiles.ts +0 -4
  63. package/src/hooks/usePurchases.ts +0 -3
  64. package/src/hooks/useRedemptions.ts +7 -21
  65. package/src/hooks/useTenants.ts +0 -3
  66. package/src/hooks/useTokens.ts +0 -6
  67. package/src/hooks/useTransactionSigner.ts +74 -4
  68. package/src/hooks/useTransactions.ts +10 -12
  69. package/src/hooks/useUserStatus.ts +0 -3
  70. package/src/hooks/useUsers.ts +0 -7
  71. package/src/hooks/useWeb3.ts +28 -68
  72. package/src/index.ts +4 -0
  73. package/src/providers/PersSDKProvider.tsx +19 -20
  74. package/src/providers/react-native-auth-provider.ts +5 -0
  75. package/src/providers/rn-dpop-provider.ts +85 -45
  76. package/src/storage/rn-secure-storage.ts +13 -13
package/README.md CHANGED
@@ -398,6 +398,15 @@ The `PersSDKProvider` accepts a `config` object allowing you to customize behavi
398
398
  </PersSDKProvider>
399
399
  ```
400
400
 
401
+ ### Storage Fallback Strategy
402
+
403
+ The SDK implements a robust **Hybrid Storage Strategy**:
404
+ 1. **Primary**: Attempts to use **Android Keystore / iOS Keychain** (via `react-native-keychain`) for maximum security.
405
+ 2. **Fallback**: If hardware storage is unavailable or fails, it automatically falls back to **AsyncStorage**.
406
+ 3. **Web**: Uses `localStorage` automatically.
407
+
408
+ This ensures your app works reliably across all devices while prioritizing security where available.
409
+
401
410
  ### Custom Authentication Provider
402
411
 
403
412
  The SDK automatically uses `ReactNativeSecureStorage` for React Native (iOS/Android) and `LocalStorageTokenStorage` for Web. You can customize this if needed:
@@ -1,7 +1,7 @@
1
1
  export { useAuth } from './useAuth';
2
2
  export { useTokens } from './useTokens';
3
3
  export { useTransactions } from './useTransactions';
4
- export { useTransactionSigner } from './useTransactionSigner';
4
+ export { useTransactionSigner, SigningStatus } from './useTransactionSigner';
5
5
  export { useBusiness } from './useBusiness';
6
6
  export { useCampaigns } from './useCampaigns';
7
7
  export { useRedemptions } from './useRedemptions';
@@ -14,5 +14,5 @@ export { useFiles } from './useFiles';
14
14
  export { useAnalytics } from './useAnalytics';
15
15
  export { useDonations } from './useDonations';
16
16
  export type { RawUserData } from './useAuth';
17
- export type { TransactionSignerHook, SubmissionResult, AuthenticatedUser, TransactionSigningResult } from './useTransactionSigner';
17
+ export type { TransactionSignerHook, SubmissionResult, AuthenticatedUser, TransactionSigningResult, StatusUpdateData, OnStatusUpdateFn, SigningStatus as SigningStatusType } from './useTransactionSigner';
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -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,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,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;AAG9C,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,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,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;AAG9C,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"}
@@ -2,7 +2,7 @@
2
2
  export { useAuth } from './useAuth';
3
3
  export { useTokens } from './useTokens';
4
4
  export { useTransactions } from './useTransactions';
5
- export { useTransactionSigner } from './useTransactionSigner';
5
+ export { useTransactionSigner, SigningStatus } from './useTransactionSigner';
6
6
  export { useBusiness } from './useBusiness';
7
7
  export { useCampaigns } from './useCampaigns';
8
8
  export { useRedemptions } from './useRedemptions';
@@ -1 +1 @@
1
- {"version":3,"file":"useAnalytics.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnalytics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY;uCAwBqC,8BAA8B,KAAG,QAAQ,+BAA+B,CAAC;;CAmBtI,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"useAnalytics.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnalytics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY;uCAwBqC,8BAA8B,KAAG,QAAQ,+BAA+B,CAAC;;CAkBtI,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -58,7 +58,6 @@ export const useAnalytics = () => {
58
58
  }
59
59
  try {
60
60
  const result = await sdk.analytics.getTransactionAnalytics(request);
61
- console.log('Transaction analytics fetched successfully:', result);
62
61
  return result;
63
62
  }
64
63
  catch (error) {
@@ -42,7 +42,6 @@ export declare const useAuth: () => {
42
42
  isInitialized: boolean;
43
43
  isAuthenticated: boolean;
44
44
  user: UserDTO | AdminDTO | null;
45
- accountAddress: string | null;
46
45
  login: (jwtToken: string, userType?: 'user' | 'admin') => Promise<SessionAuthContextResponseDTO>;
47
46
  loginWithRawData: (rawUserData: RawUserData) => Promise<void>;
48
47
  logout: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAG/F,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,OAAO;;;;;sBA2ByB,MAAM,aAAY,MAAM,GAAG,OAAO,KAAY,QAAQ,6BAA6B,CAAC;oCA8CtE,WAAW,KAAG,QAAQ,IAAI,CAAC;kBA+C/C,QAAQ,IAAI,CAAC;;0BA8BL,QAAQ,OAAO,CAAC;gCAmBV,QAAQ,OAAO,CAAC;mCAqBX,MAAM;qBAmBtB,QAAQ,IAAI,CAAC;wBAoBV,QAAQ,OAAO,CAAC;CAyB5D,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAG/F,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,OAAO;;;;sBA0ByB,MAAM,aAAY,MAAM,GAAG,OAAO,KAAY,QAAQ,6BAA6B,CAAC;oCAuCtE,WAAW,KAAG,QAAQ,IAAI,CAAC;kBAuC/C,QAAQ,IAAI,CAAC;;0BA0BL,QAAQ,OAAO,CAAC;gCAmBV,QAAQ,OAAO,CAAC;mCAqBX,MAAM;qBAmBtB,QAAQ,IAAI,CAAC;wBAoBV,QAAQ,OAAO,CAAC;CAwB5D,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC"}
@@ -38,7 +38,7 @@ import { usePersSDK } from '../providers/PersSDKProvider';
38
38
  * ```
39
39
  */
40
40
  export const useAuth = () => {
41
- const { sdk, authProvider, isInitialized, isAuthenticated, user, accountAddress, setAuthenticationState, refreshUserData } = usePersSDK();
41
+ const { sdk, authProvider, isInitialized, isAuthenticated, user, setAuthenticationState, refreshUserData } = usePersSDK();
42
42
  /**
43
43
  * Authenticates a user with a JWT token
44
44
  *
@@ -59,18 +59,13 @@ export const useAuth = () => {
59
59
  throw new Error('SDK not initialized. Call initialize() first.');
60
60
  }
61
61
  try {
62
- console.log(`Logging in as ${userType}...`);
63
62
  // Set token in auth provider
64
63
  await authProvider.setAccessToken(jwtToken);
65
64
  // Perform login using the manager
66
65
  const result = await sdk.auth.loginWithToken(jwtToken, userType);
67
66
  const userData = result.user || result.admin;
68
67
  if (userData) {
69
- const userAccountAddress = ('accountAddress' in userData && userData.accountAddress) ||
70
- ('wallets' in userData && userData.wallets?.[0]?.address) ||
71
- null;
72
- setAuthenticationState(userData, userAccountAddress, true);
73
- console.log('Login successful');
68
+ setAuthenticationState(userData, true);
74
69
  return result;
75
70
  }
76
71
  else {
@@ -99,7 +94,6 @@ export const useAuth = () => {
99
94
  throw new Error('SDK not initialized. Call initialize() first.');
100
95
  }
101
96
  try {
102
- console.log('Logging in with raw user data...');
103
97
  // Use the raw data login from the auth manager
104
98
  const result = await sdk.auth.loginWithRawData(rawUserData);
105
99
  // Set token from result
@@ -108,11 +102,7 @@ export const useAuth = () => {
108
102
  }
109
103
  const userData = result.user;
110
104
  if (userData) {
111
- const userAccountAddress = userData.accountAddress ||
112
- userData?.wallets?.[0]?.address ||
113
- null;
114
- setAuthenticationState(userData, userAccountAddress, true);
115
- console.log('Raw data login successful');
105
+ setAuthenticationState(userData, true);
116
106
  }
117
107
  else {
118
108
  throw new Error('No user data returned from raw data login');
@@ -137,12 +127,10 @@ export const useAuth = () => {
137
127
  */
138
128
  const logout = useCallback(async () => {
139
129
  try {
140
- console.log('Logging out...');
141
130
  if (authProvider) {
142
131
  await authProvider.clearTokens();
143
132
  }
144
- setAuthenticationState(null, null, false);
145
- console.log('Logout successful');
133
+ setAuthenticationState(null, false);
146
134
  }
147
135
  catch (error) {
148
136
  console.error('Logout failed:', error);
@@ -223,7 +211,7 @@ export const useAuth = () => {
223
211
  throw new Error('SDK not initialized. Call initialize() first.');
224
212
  }
225
213
  await sdk.auth.clearAuth();
226
- setAuthenticationState(null, null, false);
214
+ setAuthenticationState(null, false);
227
215
  }, [sdk, setAuthenticationState]);
228
216
  /**
229
217
  * Checks if the current authentication is valid (non-expired)
@@ -248,7 +236,6 @@ export const useAuth = () => {
248
236
  isInitialized,
249
237
  isAuthenticated,
250
238
  user,
251
- accountAddress,
252
239
  // Methods
253
240
  login,
254
241
  loginWithRawData,
@@ -1 +1 @@
1
- {"version":3,"file":"useBusiness.d.ts","sourceRoot":"","sources":["../../src/hooks/useBusiness.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAErI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,WAAW;+BAgB4B,QAAQ,WAAW,EAAE,CAAC;4BA4BzB,QAAQ,eAAe,EAAE,CAAC;yBA8B7B,QAAQ,WAAW,EAAE,CAAC;kCAfX,MAAM,KAAG,QAAQ,WAAW,GAAG,IAAI,CAAC;2CA8B3B,MAAM,KAAG,QAAQ,WAAW,CAAC;kCAetC,MAAM,KAAG,QAAQ,WAAW,EAAE,CAAC;kCA8B/B,MAAM,KAAG,QAAQ,WAAW,CAAC;iCAe9B,MAAM,gBAAgB,wBAAwB,KAAG,QAAQ,WAAW,CAAC;uCAe/D,MAAM,cAAc,8BAA8B,KAAG,QAAQ,WAAW,CAAC;;CA2BtI,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"useBusiness.d.ts","sourceRoot":"","sources":["../../src/hooks/useBusiness.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAErI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,WAAW;+BAgB4B,QAAQ,WAAW,EAAE,CAAC;4BA2BzB,QAAQ,eAAe,EAAE,CAAC;yBA4B7B,QAAQ,WAAW,EAAE,CAAC;kCAdX,MAAM,KAAG,QAAQ,WAAW,GAAG,IAAI,CAAC;2CA4B3B,MAAM,KAAG,QAAQ,WAAW,CAAC;kCActC,MAAM,KAAG,QAAQ,WAAW,EAAE,CAAC;kCA6B/B,MAAM,KAAG,QAAQ,WAAW,CAAC;iCAc9B,MAAM,gBAAgB,wBAAwB,KAAG,QAAQ,WAAW,CAAC;uCAc/D,MAAM,cAAc,8BAA8B,KAAG,QAAQ,WAAW,CAAC;;CA0BtI,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -55,7 +55,6 @@ export const useBusiness = () => {
55
55
  }
56
56
  try {
57
57
  const result = await sdk.businesses.getActiveBusinesses();
58
- console.log('Active businesses fetched successfully:', result);
59
58
  return result;
60
59
  }
61
60
  catch (error) {
@@ -82,7 +81,6 @@ export const useBusiness = () => {
82
81
  }
83
82
  try {
84
83
  const result = await sdk.businesses.getBusinessTypes();
85
- console.log('Business types fetched successfully:', result);
86
84
  return result;
87
85
  }
88
86
  catch (error) {
@@ -96,7 +94,6 @@ export const useBusiness = () => {
96
94
  }
97
95
  try {
98
96
  const result = await sdk.businesses.getBusinessById(businessId);
99
- console.log('Business fetched successfully:', result);
100
97
  return result;
101
98
  }
102
99
  catch (error) {
@@ -110,7 +107,6 @@ export const useBusiness = () => {
110
107
  }
111
108
  try {
112
109
  const result = await sdk.businesses.getBusinesses();
113
- console.log('All businesses fetched successfully:', result);
114
110
  return result;
115
111
  }
116
112
  catch (error) {
@@ -124,7 +120,6 @@ export const useBusiness = () => {
124
120
  }
125
121
  try {
126
122
  const result = await sdk.businesses.getBusinessByAccount(accountAddress);
127
- console.log('Business by account fetched successfully:', result);
128
123
  return result;
129
124
  }
130
125
  catch (error) {
@@ -138,7 +133,6 @@ export const useBusiness = () => {
138
133
  }
139
134
  try {
140
135
  const result = await sdk.businesses.getBusinessesByType(typeId);
141
- console.log('Businesses by type fetched successfully:', result);
142
136
  return result;
143
137
  }
144
138
  catch (error) {
@@ -167,7 +161,6 @@ export const useBusiness = () => {
167
161
  }
168
162
  try {
169
163
  const result = await sdk.businesses.createBusiness(displayName);
170
- console.log('Business created successfully:', result);
171
164
  return result;
172
165
  }
173
166
  catch (error) {
@@ -181,7 +174,6 @@ export const useBusiness = () => {
181
174
  }
182
175
  try {
183
176
  const result = await sdk.businesses.updateBusiness(businessId, businessData);
184
- console.log('Business updated successfully:', result);
185
177
  return result;
186
178
  }
187
179
  catch (error) {
@@ -195,7 +187,6 @@ export const useBusiness = () => {
195
187
  }
196
188
  try {
197
189
  const result = await sdk.businesses.toggleBusinessStatus(businessId, toggleData);
198
- console.log('Business status toggled successfully:', result);
199
190
  return result;
200
191
  }
201
192
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useCampaigns.d.ts","sourceRoot":"","sources":["../../src/hooks/useCampaigns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAInB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,YAAY;8BAG0B,QAAQ,WAAW,EAAE,CAAC;kCAehB,MAAM,KAAG,QAAQ,WAAW,GAAG,IAAI,CAAC;6BAezC,uBAAuB,KAAG,QAAQ,gBAAgB,GAAG,IAAI,CAAC;yBAmBhE,QAAQ,gBAAgB,EAAE,CAAC;+BAmBrB,QAAQ,kBAAkB,EAAE,CAAC;+BAgB3B,OAAO,KAAG,QAAQ,WAAW,EAAE,CAAC;6BAepC,QAAQ,gBAAgB,EAAE,CAAC;wCAed,MAAM,KAAG,QAAQ,gBAAgB,EAAE,CAAC;gDAe5B,MAAM,KAAG,QAAQ,gBAAgB,EAAE,CAAC;;CA2B1G,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"useCampaigns.d.ts","sourceRoot":"","sources":["../../src/hooks/useCampaigns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAInB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,YAAY;8BAG0B,QAAQ,WAAW,EAAE,CAAC;kCAchB,MAAM,KAAG,QAAQ,WAAW,GAAG,IAAI,CAAC;6BAczC,uBAAuB,KAAG,QAAQ,gBAAgB,GAAG,IAAI,CAAC;yBAiBhE,QAAQ,gBAAgB,EAAE,CAAC;+BAkBrB,QAAQ,kBAAkB,EAAE,CAAC;+BAe3B,OAAO,KAAG,QAAQ,WAAW,EAAE,CAAC;6BAcpC,QAAQ,gBAAgB,EAAE,CAAC;wCAcd,MAAM,KAAG,QAAQ,gBAAgB,EAAE,CAAC;gDAc5B,MAAM,KAAG,QAAQ,gBAAgB,EAAE,CAAC;;CA0B1G,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -8,7 +8,6 @@ export const useCampaigns = () => {
8
8
  }
9
9
  try {
10
10
  const result = await sdk.campaigns.getActiveCampaigns();
11
- console.log('Active campaigns fetched successfully:', result);
12
11
  return result;
13
12
  }
14
13
  catch (error) {
@@ -22,7 +21,6 @@ export const useCampaigns = () => {
22
21
  }
23
22
  try {
24
23
  const result = await sdk.campaigns.getCampaignById(campaignId);
25
- console.log('Campaign fetched successfully:', result);
26
24
  return result;
27
25
  }
28
26
  catch (error) {
@@ -38,9 +36,7 @@ export const useCampaigns = () => {
38
36
  throw new Error('SDK not authenticated. claimCampaign requires authentication.');
39
37
  }
40
38
  try {
41
- console.log('Claiming campaign with request:', request);
42
39
  const result = await sdk.campaigns.claimCampaign(request);
43
- console.log('Campaign claimed successfully:', result);
44
40
  return result;
45
41
  }
46
42
  catch (error) {
@@ -58,7 +54,6 @@ export const useCampaigns = () => {
58
54
  }
59
55
  try {
60
56
  const result = await sdk.campaigns.getUserClaims();
61
- console.log('User claims fetched successfully:', result);
62
57
  return result;
63
58
  }
64
59
  catch (error) {
@@ -72,7 +67,6 @@ export const useCampaigns = () => {
72
67
  }
73
68
  try {
74
69
  const result = await sdk.campaigns.getCampaignTriggers();
75
- console.log('Campaign triggers fetched successfully:', result);
76
70
  return result;
77
71
  }
78
72
  catch (error) {
@@ -87,7 +81,6 @@ export const useCampaigns = () => {
87
81
  }
88
82
  try {
89
83
  const result = await sdk.campaigns.getAllCampaigns(active);
90
- console.log('All campaigns fetched successfully:', result);
91
84
  return result;
92
85
  }
93
86
  catch (error) {
@@ -101,7 +94,6 @@ export const useCampaigns = () => {
101
94
  }
102
95
  try {
103
96
  const result = await sdk.campaigns.getCampaignClaims();
104
- console.log('Campaign claims fetched successfully:', result);
105
97
  return result;
106
98
  }
107
99
  catch (error) {
@@ -115,7 +107,6 @@ export const useCampaigns = () => {
115
107
  }
116
108
  try {
117
109
  const result = await sdk.campaigns.getCampaignClaimsByUserId(userId);
118
- console.log('Campaign claims by user ID fetched successfully:', result);
119
110
  return result;
120
111
  }
121
112
  catch (error) {
@@ -129,7 +120,6 @@ export const useCampaigns = () => {
129
120
  }
130
121
  try {
131
122
  const result = await sdk.campaigns.getCampaignClaimsByBusinessId(businessId);
132
- console.log('Campaign claims by business ID fetched successfully:', result);
133
123
  return result;
134
124
  }
135
125
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useDonations.d.ts","sourceRoot":"","sources":["../../src/hooks/useDonations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,YAAY;4BAgBwB,QAAQ,eAAe,EAAE,CAAC;;CAmB1E,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"useDonations.d.ts","sourceRoot":"","sources":["../../src/hooks/useDonations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,YAAY;4BAgBwB,QAAQ,eAAe,EAAE,CAAC;;CAkB1E,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -47,7 +47,6 @@ export const useDonations = () => {
47
47
  }
48
48
  try {
49
49
  const result = await sdk.donations.getDonationTypes();
50
- console.log('Donation types fetched successfully:', result);
51
50
  return result;
52
51
  }
53
52
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useFiles.d.ts","sourceRoot":"","sources":["../../src/hooks/useFiles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,QAAQ;gCAoBP,MAAM,cACJ,oBAAoB,iBACjB,MAAM,KACpB,QAAQ,MAAM,CAAC;gCAgCN,MAAM,cACJ,oBAAoB,kBAChB,MAAM,KACrB,QAAQ,MAAM,CAAC;4BAe+B,gBAAgB,KAAG,QAAQ,MAAM,CAAC;yBAerC,MAAM,UAAU,MAAM,WAAW,MAAM,KAAG,QAAQ,MAAM,CAAC;;CAsBxG,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"useFiles.d.ts","sourceRoot":"","sources":["../../src/hooks/useFiles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,QAAQ;gCAoBP,MAAM,cACJ,oBAAoB,iBACjB,MAAM,KACpB,QAAQ,MAAM,CAAC;gCA+BN,MAAM,cACJ,oBAAoB,kBAChB,MAAM,KACrB,QAAQ,MAAM,CAAC;4BAc+B,gBAAgB,KAAG,QAAQ,MAAM,CAAC;yBAcrC,MAAM,UAAU,MAAM,WAAW,MAAM,KAAG,QAAQ,MAAM,CAAC;;CAqBxG,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC"}
@@ -64,7 +64,6 @@ export const useFiles = () => {
64
64
  }
65
65
  try {
66
66
  const result = await sdk.files.getSignedPutUrl(entityId, entityType, fileExtension);
67
- console.log('Signed put URL generated successfully:', result);
68
67
  return result;
69
68
  }
70
69
  catch (error) {
@@ -94,7 +93,6 @@ export const useFiles = () => {
94
93
  }
95
94
  try {
96
95
  const result = await sdk.files.getSignedGetUrl(entityId, entityType, expireSeconds);
97
- console.log('Signed get URL generated successfully:', result);
98
96
  return result;
99
97
  }
100
98
  catch (error) {
@@ -108,7 +106,6 @@ export const useFiles = () => {
108
106
  }
109
107
  try {
110
108
  const result = await sdk.files.getSignedUrl(request);
111
- console.log('Signed URL generated successfully:', result);
112
109
  return result;
113
110
  }
114
111
  catch (error) {
@@ -122,7 +119,6 @@ export const useFiles = () => {
122
119
  }
123
120
  try {
124
121
  const result = await sdk.files.optimizeMedia(url, width, height);
125
- console.log('Media optimized successfully:', result);
126
122
  return result;
127
123
  }
128
124
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"usePurchases.d.ts","sourceRoot":"","sources":["../../src/hooks/usePurchases.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE5E,eAAO,MAAM,YAAY;kCAIb,MAAM,YACJ,MAAM,gBACF,MAAM,eACP,MAAM;mCAgBiC,QAAQ,gBAAgB,EAAE,CAAC;+BAe/B,QAAQ,WAAW,EAAE,CAAC;;CAwBzE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"usePurchases.d.ts","sourceRoot":"","sources":["../../src/hooks/usePurchases.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE5E,eAAO,MAAM,YAAY;kCAIb,MAAM,YACJ,MAAM,gBACF,MAAM,eACP,MAAM;mCAeiC,QAAQ,gBAAgB,EAAE,CAAC;+BAc/B,QAAQ,WAAW,EAAE,CAAC;;CAuBzE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -8,7 +8,6 @@ export const usePurchases = () => {
8
8
  }
9
9
  try {
10
10
  const result = await sdk.purchases.createPaymentIntent(amount, currency, receiptEmail, description);
11
- console.log('Payment intent created successfully:', result);
12
11
  return result;
13
12
  }
14
13
  catch (error) {
@@ -22,7 +21,6 @@ export const usePurchases = () => {
22
21
  }
23
22
  try {
24
23
  const result = await sdk.purchases.getActivePurchaseTokens();
25
- console.log('Active purchase tokens fetched successfully:', result);
26
24
  return result;
27
25
  }
28
26
  catch (error) {
@@ -39,7 +37,6 @@ export const usePurchases = () => {
39
37
  }
40
38
  try {
41
39
  const result = await sdk.purchases.getAllUserPurchases();
42
- console.log('User purchases fetched successfully:', result);
43
40
  return result;
44
41
  }
45
42
  catch (error) {
@@ -1,14 +1,17 @@
1
+ import { OnStatusUpdateFn } from './useTransactionSigner';
1
2
  import type { RedemptionCreateRequestDTO, RedemptionDTO, RedemptionRedeemDTO, RedemptionRedeemRequestResponseDTO, RedemptionTypeDTO } from '@explorins/pers-shared';
2
3
  export declare const useRedemptions: () => {
3
4
  getActiveRedemptions: () => Promise<RedemptionDTO[]>;
4
5
  getUserRedemptions: () => Promise<RedemptionRedeemDTO[]>;
5
- redeem: (redemptionId: string) => Promise<RedemptionRedeemRequestResponseDTO>;
6
+ redeem: (redemptionId: string, onStatusUpdate?: OnStatusUpdateFn) => Promise<RedemptionRedeemRequestResponseDTO>;
6
7
  getRedemptionTypes: () => Promise<RedemptionTypeDTO[]>;
7
8
  createRedemption: (redemptionData: RedemptionCreateRequestDTO) => Promise<RedemptionDTO>;
8
9
  getAllRedemptions: (active?: boolean) => Promise<RedemptionDTO[]>;
9
10
  updateRedemption: (redemptionId: string, redemptionData: RedemptionCreateRequestDTO) => Promise<RedemptionDTO>;
10
11
  toggleRedemptionStatus: (redemptionId: string) => Promise<RedemptionDTO>;
11
12
  isAvailable: boolean;
13
+ signingStatus: import("@explorins/pers-signer").SigningStatus | null;
14
+ signingStatusMessage: string | null;
12
15
  };
13
16
  export type RedemptionHook = ReturnType<typeof useRedemptions>;
14
17
  //# sourceMappingURL=useRedemptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRedemptions.d.ts","sourceRoot":"","sources":["../../src/hooks/useRedemptions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,kCAAkC,EAClC,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,cAAc;gCAI0B,QAAQ,aAAa,EAAE,CAAC;8BAe1B,QAAQ,mBAAmB,EAAE,CAAC;2BAmB/B,MAAM,KAAG,QAAQ,kCAAkC,CAAC;8BAsFnD,QAAQ,iBAAiB,EAAE,CAAC;uCA/BjB,0BAA0B,KAAG,QAAQ,aAAa,CAAC;iCAgBzD,OAAO,KAAG,QAAQ,aAAa,EAAE,CAAC;qCA8B9B,MAAM,kBAAkB,0BAA0B,KAAG,QAAQ,aAAa,CAAC;2CAerE,MAAM,KAAG,QAAQ,aAAa,CAAC;;CA0BhG,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"useRedemptions.d.ts","sourceRoot":"","sources":["../../src/hooks/useRedemptions.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0C,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EACV,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,kCAAkC,EAClC,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,cAAc;gCAI0B,QAAQ,aAAa,EAAE,CAAC;8BAc1B,QAAQ,mBAAmB,EAAE,CAAC;2BAkB/B,MAAM,mBAAmB,gBAAgB,KAAG,QAAQ,kCAAkC,CAAC;8BA0EtF,QAAQ,iBAAiB,EAAE,CAAC;uCA5BjB,0BAA0B,KAAG,QAAQ,aAAa,CAAC;iCAczD,OAAO,KAAG,QAAQ,aAAa,EAAE,CAAC;qCA4B9B,MAAM,kBAAkB,0BAA0B,KAAG,QAAQ,aAAa,CAAC;2CAcrE,MAAM,KAAG,QAAQ,aAAa,CAAC;;;;CA4BhG,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -3,14 +3,13 @@ import { usePersSDK } from '../providers/PersSDKProvider';
3
3
  import { useTransactionSigner } from './useTransactionSigner';
4
4
  export const useRedemptions = () => {
5
5
  const { sdk, isInitialized, isAuthenticated } = usePersSDK();
6
- const { signAndSubmitTransactionWithJWT, isSignerAvailable } = useTransactionSigner();
6
+ const { signAndSubmitTransactionWithJWT, isSignerAvailable, currentStatus, statusMessage } = useTransactionSigner();
7
7
  const getActiveRedemptions = useCallback(async () => {
8
8
  if (!isInitialized || !sdk) {
9
9
  throw new Error('SDK not initialized. Call initialize() first.');
10
10
  }
11
11
  try {
12
12
  const result = await sdk.redemptions.getActiveRedemptions();
13
- console.log('Active redemptions fetched successfully:', result);
14
13
  return result;
15
14
  }
16
15
  catch (error) {
@@ -28,7 +27,6 @@ export const useRedemptions = () => {
28
27
  }
29
28
  try {
30
29
  const result = await sdk.redemptions.getUserRedemptions();
31
- console.log('User redemptions fetched successfully:', result);
32
30
  return result;
33
31
  }
34
32
  catch (error) {
@@ -36,7 +34,7 @@ export const useRedemptions = () => {
36
34
  throw error;
37
35
  }
38
36
  }, [sdk, isInitialized, isAuthenticated]);
39
- const redeem = useCallback(async (redemptionId) => {
37
+ const redeem = useCallback(async (redemptionId, onStatusUpdate) => {
40
38
  if (!isInitialized || !sdk) {
41
39
  throw new Error('SDK not initialized. Call initialize() first.');
42
40
  }
@@ -44,18 +42,12 @@ export const useRedemptions = () => {
44
42
  throw new Error('SDK not authenticated. redeem requires authentication.');
45
43
  }
46
44
  try {
47
- console.log('Redeeming redemption:', redemptionId);
48
45
  const result = await sdk.redemptions.redeem(redemptionId);
49
- // Check if result has signing fields and sign transaction if required and signer is available
50
- console.log('Redemption processed successfully:', result);
51
46
  const txToken = result.senderTransaction?.actionable?.authToken;
52
47
  if (txToken && isSignerAvailable) {
53
- console.log('Transaction requires blockchain signing, processing with WebAuthn signer...');
54
48
  try {
55
- const signingResult = await signAndSubmitTransactionWithJWT(txToken);
56
- console.log('Blockchain signing result:', signingResult);
49
+ const signingResult = await signAndSubmitTransactionWithJWT(txToken, onStatusUpdate);
57
50
  if (signingResult.success) {
58
- console.log('Transaction signed successfully:', signingResult.transactionHash);
59
51
  // Return enhanced result with signing information
60
52
  return {
61
53
  ...result,
@@ -93,9 +85,7 @@ export const useRedemptions = () => {
93
85
  throw new Error('SDK not initialized. Call initialize() first.');
94
86
  }
95
87
  try {
96
- console.log('Creating redemption offer with data:', redemptionData);
97
88
  const result = await sdk.redemptions.createRedemption(redemptionData);
98
- console.log('Redemption offer created successfully:', result);
99
89
  return result;
100
90
  }
101
91
  catch (error) {
@@ -109,7 +99,6 @@ export const useRedemptions = () => {
109
99
  }
110
100
  try {
111
101
  const result = await sdk.redemptions.getAllRedemptions(active);
112
- console.log('All redemptions fetched successfully:', result);
113
102
  return result;
114
103
  }
115
104
  catch (error) {
@@ -123,7 +112,6 @@ export const useRedemptions = () => {
123
112
  }
124
113
  try {
125
114
  const result = await sdk.redemptions.getRedemptionTypes();
126
- console.log('Redemption types fetched successfully:', result);
127
115
  return result;
128
116
  }
129
117
  catch (error) {
@@ -137,7 +125,6 @@ export const useRedemptions = () => {
137
125
  }
138
126
  try {
139
127
  const result = await sdk.redemptions.updateRedemption(redemptionId, redemptionData);
140
- console.log('Redemption updated successfully:', result);
141
128
  return result;
142
129
  }
143
130
  catch (error) {
@@ -151,7 +138,6 @@ export const useRedemptions = () => {
151
138
  }
152
139
  try {
153
140
  const result = await sdk.redemptions.toggleRedemptionStatus(redemptionId);
154
- console.log('Redemption status toggled successfully:', result);
155
141
  return result;
156
142
  }
157
143
  catch (error) {
@@ -169,5 +155,8 @@ export const useRedemptions = () => {
169
155
  updateRedemption,
170
156
  toggleRedemptionStatus,
171
157
  isAvailable: isInitialized && !!sdk?.redemptions,
158
+ // Expose signing status for UI feedback
159
+ signingStatus: currentStatus,
160
+ signingStatusMessage: statusMessage,
172
161
  };
173
162
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTenants.d.ts","sourceRoot":"","sources":["../../src/hooks/useTenants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE/F,eAAO,MAAM,UAAU;yBAGuB,QAAQ,eAAe,CAAC;2BActB,QAAQ,qBAAqB,CAAC;yBAehC,QAAQ,MAAM,CAAC;qBAenB,QAAQ,QAAQ,EAAE,CAAC;;CAsB5D,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"useTenants.d.ts","sourceRoot":"","sources":["../../src/hooks/useTenants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE/F,eAAO,MAAM,UAAU;yBAGuB,QAAQ,eAAe,CAAC;2BActB,QAAQ,qBAAqB,CAAC;yBAchC,QAAQ,MAAM,CAAC;qBAcnB,QAAQ,QAAQ,EAAE,CAAC;;CAqB5D,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -21,7 +21,6 @@ export const useTenants = () => {
21
21
  }
22
22
  try {
23
23
  const result = await sdk.tenants.getClientConfig();
24
- console.log('Client config fetched successfully:', result);
25
24
  return result;
26
25
  }
27
26
  catch (error) {
@@ -35,7 +34,6 @@ export const useTenants = () => {
35
34
  }
36
35
  try {
37
36
  const result = await sdk.tenants.getLoginToken();
38
- console.log('Login token fetched successfully');
39
37
  return result;
40
38
  }
41
39
  catch (error) {
@@ -49,7 +47,6 @@ export const useTenants = () => {
49
47
  }
50
48
  try {
51
49
  const result = await sdk.tenants.getAdmins();
52
- console.log('Admins fetched successfully:', result);
53
50
  return result;
54
51
  }
55
52
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useTokens.d.ts","sourceRoot":"","sources":["../../src/hooks/useTokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,SAAS;qBAoBoB,QAAQ,QAAQ,EAAE,CAAC;gCA4BR,QAAQ,QAAQ,CAAC;2BA4BtB,QAAQ,QAAQ,EAAE,CAAC;yBA4BrB,QAAQ,GAAG,CAAC;2BA4BV,QAAQ,QAAQ,EAAE,CAAC;0CA8BF,MAAM,oBAAoB,MAAM,GAAG,IAAI,KAAG,QAAQ,QAAQ,CAAC;;CAwB3H,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"useTokens.d.ts","sourceRoot":"","sources":["../../src/hooks/useTokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,SAAS;qBAoBoB,QAAQ,QAAQ,EAAE,CAAC;gCA2BR,QAAQ,QAAQ,CAAC;2BA2BtB,QAAQ,QAAQ,EAAE,CAAC;yBA2BrB,QAAQ,GAAG,CAAC;2BA2BV,QAAQ,QAAQ,EAAE,CAAC;0CA6BF,MAAM,oBAAoB,MAAM,GAAG,IAAI,KAAG,QAAQ,QAAQ,CAAC;;CAuB3H,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -52,7 +52,6 @@ export const useTokens = () => {
52
52
  }
53
53
  try {
54
54
  const result = await sdk.tokens.getTokens();
55
- console.log('Tokens fetched successfully:', result);
56
55
  return result;
57
56
  }
58
57
  catch (error) {
@@ -79,7 +78,6 @@ export const useTokens = () => {
79
78
  }
80
79
  try {
81
80
  const result = await sdk.tokens.getActiveCreditToken();
82
- console.log('Active credit token fetched successfully:', result);
83
81
  return result;
84
82
  }
85
83
  catch (error) {
@@ -106,7 +104,6 @@ export const useTokens = () => {
106
104
  }
107
105
  try {
108
106
  const result = await sdk.tokens.getRewardTokens();
109
- console.log('Reward tokens fetched successfully:', result);
110
107
  return result;
111
108
  }
112
109
  catch (error) {
@@ -133,7 +130,6 @@ export const useTokens = () => {
133
130
  }
134
131
  try {
135
132
  const result = await sdk.tokens.getTokenTypes();
136
- console.log('Token types fetched successfully:', result);
137
133
  return result;
138
134
  }
139
135
  catch (error) {
@@ -160,7 +156,6 @@ export const useTokens = () => {
160
156
  }
161
157
  try {
162
158
  const result = await sdk.tokens.getStatusTokens();
163
- console.log('Status tokens fetched successfully:', result);
164
159
  return result;
165
160
  }
166
161
  catch (error) {
@@ -189,7 +184,6 @@ export const useTokens = () => {
189
184
  }
190
185
  try {
191
186
  const result = await sdk.tokens.getTokenByContract(contractAddress, contractTokenId);
192
- console.log('Token by contract fetched successfully:', result);
193
187
  return result;
194
188
  }
195
189
  catch (error) {
@@ -1,6 +1,14 @@
1
+ import { SigningStatus, StatusUpdateData } from '@explorins/pers-signer';
1
2
  type SubmissionResult = import('@explorins/pers-signer/react-native').SubmissionResult;
2
3
  type AuthenticatedUser = import('@explorins/pers-signer/react-native').AuthenticatedUser;
3
4
  type TransactionSigningResult = import('@explorins/pers-signer/react-native').TransactionSigningResult;
5
+ export { SigningStatus };
6
+ export type { StatusUpdateData };
7
+ /**
8
+ * Simple status callback function type for React Native consumers
9
+ * (Simplified from the signer SDK's object-based StatusCallback interface)
10
+ */
11
+ export type OnStatusUpdateFn = (status: SigningStatus, message: string, data?: StatusUpdateData) => void;
4
12
  /**
5
13
  * Return interface for the useTransactionSigner hook
6
14
  *
@@ -11,11 +19,15 @@ type TransactionSigningResult = import('@explorins/pers-signer/react-native').Tr
11
19
  * @property {Function} signAndSubmitTransactionWithJWT - Main method to sign and submit transactions
12
20
  * @property {boolean} isSignerInitialized - Whether the signer SDK has been initialized
13
21
  * @property {boolean} isSignerAvailable - Whether signing functionality is fully available
22
+ * @property {SigningStatus | null} currentStatus - Current signing status for UI feedback
23
+ * @property {string | null} statusMessage - Human-readable status message
14
24
  */
15
25
  export interface TransactionSignerHook {
16
- signAndSubmitTransactionWithJWT: (jwt: string) => Promise<SubmissionResult>;
26
+ signAndSubmitTransactionWithJWT: (jwt: string, onStatusUpdate?: OnStatusUpdateFn) => Promise<SubmissionResult>;
17
27
  isSignerInitialized: boolean;
18
28
  isSignerAvailable: boolean;
29
+ currentStatus: SigningStatus | null;
30
+ statusMessage: string | null;
19
31
  }
20
32
  /**
21
33
  * React Native hook for blockchain transaction signing using PERS Signer SDK