@explorins/pers-sdk-react-native 1.5.36 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +329 -0
  2. package/dist/hooks/index.d.ts +2 -0
  3. package/dist/hooks/index.d.ts.map +1 -1
  4. package/dist/hooks/index.js +1 -0
  5. package/dist/hooks/useBusiness.d.ts +5 -5
  6. package/dist/hooks/useBusiness.d.ts.map +1 -1
  7. package/dist/hooks/useCampaigns.d.ts +8 -8
  8. package/dist/hooks/useCampaigns.d.ts.map +1 -1
  9. package/dist/hooks/useCampaigns.js +3 -3
  10. package/dist/hooks/useDonations.d.ts +2 -2
  11. package/dist/hooks/useDonations.d.ts.map +1 -1
  12. package/dist/hooks/useEvents.d.ts +178 -0
  13. package/dist/hooks/useEvents.d.ts.map +1 -0
  14. package/dist/hooks/useEvents.js +312 -0
  15. package/dist/hooks/usePurchases.d.ts +3 -3
  16. package/dist/hooks/usePurchases.d.ts.map +1 -1
  17. package/dist/hooks/useRedemptions.d.ts +6 -5
  18. package/dist/hooks/useRedemptions.d.ts.map +1 -1
  19. package/dist/hooks/useRedemptions.js +13 -19
  20. package/dist/hooks/useTenants.d.ts +2 -2
  21. package/dist/hooks/useTenants.d.ts.map +1 -1
  22. package/dist/hooks/useTokens.d.ts +4 -4
  23. package/dist/hooks/useTokens.d.ts.map +1 -1
  24. package/dist/hooks/useTransactionSigner.d.ts +2 -0
  25. package/dist/hooks/useTransactionSigner.d.ts.map +1 -1
  26. package/dist/hooks/useTransactionSigner.js +68 -0
  27. package/dist/hooks/useTransactions.d.ts +3 -3
  28. package/dist/hooks/useTransactions.d.ts.map +1 -1
  29. package/dist/hooks/useUserStatus.d.ts +3 -3
  30. package/dist/hooks/useUserStatus.d.ts.map +1 -1
  31. package/dist/hooks/useUsers.d.ts +3 -3
  32. package/dist/hooks/useUsers.d.ts.map +1 -1
  33. package/dist/index.d.ts +83 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2979 -652
  36. package/dist/index.js.map +1 -1
  37. package/package.json +3 -3
  38. package/src/hooks/index.ts +3 -1
  39. package/src/hooks/useBusiness.ts +5 -5
  40. package/src/hooks/useCampaigns.ts +12 -11
  41. package/src/hooks/useDonations.ts +2 -2
  42. package/src/hooks/useEvents.ts +360 -0
  43. package/src/hooks/usePurchases.ts +3 -3
  44. package/src/hooks/useRedemptions.ts +16 -22
  45. package/src/hooks/useTenants.ts +2 -2
  46. package/src/hooks/useTokens.ts +4 -4
  47. package/src/hooks/useTransactionSigner.ts +73 -0
  48. package/src/hooks/useTransactions.ts +4 -3
  49. package/src/hooks/useUserStatus.ts +3 -3
  50. package/src/hooks/useUsers.ts +3 -3
  51. package/src/index.ts +105 -2
package/dist/index.d.ts CHANGED
@@ -144,6 +144,7 @@ export { PersSDKProvider, usePersSDK, type PersConfig, type PersSDKContext } fro
144
144
  * - `useAnalytics` - Usage analytics and reporting
145
145
  * - `useFiles` - File upload and management
146
146
  * - `useWeb3` - Blockchain integration and wallet operations
147
+ * - `useEvents` - ** SDK event subscriptions for notifications**
147
148
  *
148
149
  * @example
149
150
  * **Token Operations:**
@@ -184,9 +185,30 @@ export { PersSDKProvider, usePersSDK, type PersConfig, type PersSDKContext } fro
184
185
  * };
185
186
  * }
186
187
  * ```
188
+ *
189
+ * @example
190
+ * **Event Subscriptions:**
191
+ * ```typescript
192
+ * import { useEvents, useEffect } from '@explorins/pers-sdk-react-native';
193
+ *
194
+ * function NotificationHandler() {
195
+ * const { subscribe, isAvailable } = useEvents();
196
+ *
197
+ * useEffect(() => {
198
+ * if (!isAvailable) return;
199
+ *
200
+ * const unsubscribe = subscribe((event) => {
201
+ * showNotification(event.userMessage, event.level);
202
+ * });
203
+ *
204
+ * return () => unsubscribe();
205
+ * }, [subscribe, isAvailable]);
206
+ * }
207
+ * ```
187
208
  */
188
- export { useAuth, useTokens, useTransactions, useTransactionSigner, SigningStatus, useBusiness, useCampaigns, useRedemptions, useWeb3, usePurchases, useTenants, useUsers, useUserStatus, useFiles, useAnalytics, useDonations } from './hooks';
209
+ export { useAuth, useTokens, useTransactions, useTransactionSigner, SigningStatus, useBusiness, useCampaigns, useRedemptions, useWeb3, usePurchases, useTenants, useUsers, useUserStatus, useFiles, useAnalytics, useDonations, useEvents } from './hooks';
189
210
  export type { OnStatusUpdateFn, StatusUpdateData, SigningStatusType } from './hooks';
211
+ export type { EventsHook, PersEvent, EventHandler, EventFilter, Unsubscribe } from './hooks';
190
212
  /**
191
213
  * React Native-optimized HTTP client with automatic request/response handling
192
214
  *
@@ -235,4 +257,64 @@ export * from '@explorins/pers-shared';
235
257
  * @see {@link TokenCollection} - Collection of tokens for batch operations
236
258
  */
237
259
  export type { TokenBalanceRequest, TokenBalance, TokenMetadata, TokenCollection, TokenCollectionRequest } from '@explorins/pers-sdk/web3';
260
+ /**
261
+ * Transaction Request Factory Functions
262
+ *
263
+ * Factory functions for creating properly structured transaction DTOs.
264
+ * Prioritizes accountId/accountType over raw addresses for security and consistency.
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * import {
269
+ * buildMintRequest,
270
+ * buildTransferRequest,
271
+ * buildBurnRequest,
272
+ * useTransactions,
273
+ * AccountOwnerType
274
+ * } from '@explorins/pers-sdk-react-native';
275
+ *
276
+ * function TokenOperations() {
277
+ * const { createTransaction } = useTransactions();
278
+ *
279
+ * const handleMint = async () => {
280
+ * const request = buildMintRequest({
281
+ * amount: 100,
282
+ * contractAddress: '0x...',
283
+ * chainId: 137,
284
+ * recipientAccountType: AccountOwnerType.USER,
285
+ * recipientAccountId: 'user-123'
286
+ * });
287
+ * await createTransaction(request);
288
+ * };
289
+ * }
290
+ * ```
291
+ *
292
+ * @see {@link buildMintRequest} - Create mint transaction requests
293
+ * @see {@link buildBurnRequest} - Create burn transaction requests
294
+ * @see {@link buildTransferRequest} - Create transfer transaction requests
295
+ * @see {@link buildPOSTransferRequest} - Create POS transfer requests (business submits on behalf of user)
296
+ * @see {@link buildPOSBurnRequest} - Create POS burn requests (business submits burn on behalf of user)
297
+ * @see {@link buildSubmissionRequest} - Create submission requests from QR/signature data
298
+ */
299
+ export { buildMintRequest, buildBurnRequest, buildTransferRequest, buildPOSTransferRequest, buildPOSBurnRequest, buildSubmissionRequest } from '@explorins/pers-sdk/transaction';
300
+ export type { POSAuthorizationOptions } from '@explorins/pers-sdk/transaction';
301
+ /**
302
+ * SDK Error classes for type checking in catch blocks
303
+ *
304
+ * @example
305
+ * ```typescript
306
+ * import { PersApiError } from '@explorins/pers-sdk-react-native';
307
+ *
308
+ * try {
309
+ * await sdk.campaigns.claimCampaign({ campaignId });
310
+ * } catch (error) {
311
+ * if (error instanceof PersApiError) {
312
+ * console.log(error.message); // Clean backend message
313
+ * console.log(error.code); // e.g., 'CAMPAIGN_BUSINESS_REQUIRED'
314
+ * console.log(error.status); // e.g., 400
315
+ * }
316
+ * }
317
+ * ```
318
+ */
319
+ export { PersApiError, AuthenticationError } from '@explorins/pers-sdk/core';
238
320
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,aAAa,CAAC;AAMrB;;;;;;;;GAQG;AACH,OAAO,EACL,6BAA6B,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,wCAAwC,CAAC;AAMhD;;;;;;;;;;GAUG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;;GAQG;AACH,OAAO,EACL,wBAAwB,GACzB,MAAM,uCAAuC,CAAC;AAM/C;;;GAGG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,eAAe,EACf,UAAU,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,OAAO,EACP,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMrF;;;;;;GAMG;AACH,OAAO,EACL,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAM9C;;;;;;;;GAQG;AACH,OAAO,EACL,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;;;;;;GAeG;AACH,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,sBAAsB,EACvB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,aAAa,CAAC;AAMrB;;;;;;;;GAQG;AACH,OAAO,EACL,6BAA6B,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,wCAAwC,CAAC;AAMhD;;;;;;;;;;GAUG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;;GAQG;AACH,OAAO,EACL,wBAAwB,GACzB,MAAM,uCAAuC,CAAC;AAM/C;;;GAGG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,eAAe,EACf,UAAU,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,OAAO,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,OAAO,EACP,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGrF,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM7F;;;;;;GAMG;AACH,OAAO,EACL,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAM9C;;;;;;;;GAQG;AACH,OAAO,EACL,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;;;;;;GAeG;AACH,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAMlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAM/E;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}