@explorins/pers-sdk 1.2.1 → 1.2.3

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 (39) hide show
  1. package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -1
  2. package/dist/auth-admin/index.d.ts +2 -2
  3. package/dist/auth-admin.cjs +2 -1
  4. package/dist/auth-admin.cjs.map +1 -1
  5. package/dist/auth-admin.js +2 -1
  6. package/dist/auth-admin.js.map +1 -1
  7. package/dist/business/index.d.ts +9 -9
  8. package/dist/campaign/index.d.ts +19 -19
  9. package/dist/donation/index.d.ts +1 -1
  10. package/dist/donation.cjs +1 -1
  11. package/dist/donation.cjs.map +1 -1
  12. package/dist/donation.js +1 -1
  13. package/dist/donation.js.map +1 -1
  14. package/dist/index.cjs +287 -43
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.js +287 -43
  17. package/dist/index.js.map +1 -1
  18. package/dist/package.json +129 -129
  19. package/dist/payment/index.d.ts +6 -6
  20. package/dist/redemption/index.d.ts +10 -10
  21. package/dist/tenant/index.d.ts +4 -4
  22. package/dist/transaction/index.d.ts +8 -8
  23. package/dist/web3/index.d.ts +1 -2
  24. package/dist/web3/index.d.ts.map +1 -1
  25. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +9 -0
  26. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
  27. package/dist/web3-chain/services/provider.service.d.ts +3 -5
  28. package/dist/web3-chain/services/provider.service.d.ts.map +1 -1
  29. package/dist/web3-chain/services/public-http-provider.service.d.ts +0 -7
  30. package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -1
  31. package/dist/web3-chain.cjs +279 -40
  32. package/dist/web3-chain.cjs.map +1 -1
  33. package/dist/web3-chain.js +279 -40
  34. package/dist/web3-chain.js.map +1 -1
  35. package/dist/web3.cjs +371 -3
  36. package/dist/web3.cjs.map +1 -1
  37. package/dist/web3.js +371 -3
  38. package/dist/web3.js.map +1 -1
  39. package/package.json +129 -129
package/dist/web3.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  var web3Ts = require('@explorins/web3-ts');
4
4
  var jwtDecode = require('jwt-decode');
5
- require('web3');
6
- require('ethers');
5
+ var Web3 = require('web3');
6
+ var ethers = require('ethers');
7
7
 
8
8
  class Web3Api {
9
9
  constructor(web3ChainService) {
@@ -486,6 +486,371 @@ class Web3ChainService {
486
486
  }
487
487
  }
488
488
 
489
+ // ✅ REVERT: Función síncrona como el código comentado que funciona
490
+ const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgentName = '', tokenRefresher) => {
491
+ console.log(`🔧 [getWeb3FCD] Creating provider for chain ${chainData.chainId || 'unknown'}`);
492
+ let ethersProvider;
493
+ if (chainData.authHeader) {
494
+ // ✅ AUTHENTICATED: For private chains
495
+ const fetchRequest = new ethers.FetchRequest(chainData.rpcUrl);
496
+ fetchRequest.timeout = timeout;
497
+ // ✅ IMPROVED AUTH HEADER: Better handling
498
+ const authValue = chainData.authHeader.startsWith('Bearer ')
499
+ ? chainData.authHeader
500
+ : `Bearer ${chainData.authHeader}`;
501
+ fetchRequest.setHeader('Authorization', authValue);
502
+ fetchRequest.setHeader('Content-Type', 'application/json');
503
+ fetchRequest.setHeader('Accept', 'application/json');
504
+ if (customUserAgentName) {
505
+ fetchRequest.setHeader('User-Agent', customUserAgentName);
506
+ }
507
+ ethersProvider = new ethers.JsonRpcProvider(fetchRequest, undefined, {
508
+ staticNetwork: false,
509
+ polling: false,
510
+ batchMaxCount: 1, // ✅ DISABLE BATCHING: Better for private chains
511
+ });
512
+ }
513
+ else {
514
+ // ✅ PUBLIC: For public chains
515
+ ethersProvider = new ethers.JsonRpcProvider(chainData.rpcUrl, undefined, {
516
+ staticNetwork: false,
517
+ polling: false,
518
+ });
519
+ }
520
+ console.log(`✅ [getWeb3FCD] Provider created successfully`);
521
+ return {
522
+ web3Provider: null,
523
+ ethersProvider: ethersProvider,
524
+ isAuthenticated: !!chainData.authHeader,
525
+ };
526
+ };
527
+ // ✅ NEW: Async wrapper with retry for higher-level usage
528
+ const getWeb3ProviderWithRetry = async (chainData, timeout = 15000, customUserAgentName = '', tokenRefresher, retryConfig = { maxAttempts: 3, baseDelay: 1000, maxDelay: 8000 }) => {
529
+ let lastError = null;
530
+ for (let attempt = 1; attempt <= retryConfig.maxAttempts; attempt++) {
531
+ try {
532
+ console.log(`🔄 [Web3Provider] Attempt ${attempt}/${retryConfig.maxAttempts} for chain ${chainData.chainId || 'unknown'}`);
533
+ // ✅ SYNC CALL: Use the original sync function
534
+ const provider = getWeb3ProviderFromChainData(chainData, timeout, customUserAgentName, tokenRefresher);
535
+ await validateChainConnection(provider.ethersProvider, chainData.authHeader ? 'private' : 'public');
536
+ console.log(`✅ [Web3Provider] Successfully connected on attempt ${attempt}`);
537
+ return provider;
538
+ }
539
+ catch (error) {
540
+ lastError = error instanceof Error ? error : new Error(String(error));
541
+ console.warn(`⚠️ [Web3Provider] Attempt ${attempt} failed:`, lastError.message);
542
+ // ✅ NO RETRY: if auth error, no retry
543
+ if (isAuthError(lastError) && chainData.authHeader) {
544
+ console.error(`❌ [Web3Provider] Auth error, stopping retries`);
545
+ break;
546
+ }
547
+ if (attempt === retryConfig.maxAttempts)
548
+ break;
549
+ const delay = Math.min(retryConfig.baseDelay * Math.pow(2, attempt - 1), retryConfig.maxDelay);
550
+ console.log(`⏳ [Web3Provider] Retrying in ${delay}ms...`);
551
+ await sleep(delay);
552
+ }
553
+ }
554
+ throw new Error(`Failed to create Web3 provider after ${retryConfig.maxAttempts} attempts. Last error: ${lastError?.message}`);
555
+ };
556
+ async function validateChainConnection(provider, chainType) {
557
+ try {
558
+ console.log(`🔍 [Validation] Testing ${chainType} chain connection...`);
559
+ // ✅ LIGHTWEIGHT TEST: Use eth_chainId (works for both public and private)
560
+ const timeoutPromise = new Promise((_, reject) => {
561
+ setTimeout(() => reject(new Error(`${chainType} chain validation timeout`)), 3000);
562
+ });
563
+ // Try chainId first (fast, lightweight, universal)
564
+ const chainIdPromise = provider.send('eth_chainId', []);
565
+ const result = await Promise.race([chainIdPromise, timeoutPromise]);
566
+ console.log(`✅ [Validation] ${chainType} chain connection validated - Chain ID: ${result}`);
567
+ }
568
+ catch (error) {
569
+ // ✅ FALLBACK: Try net_version if chainId fails
570
+ try {
571
+ console.log(`🔄 [Validation] Trying fallback validation for ${chainType} chain...`);
572
+ const timeoutPromise = new Promise((_, reject) => {
573
+ setTimeout(() => reject(new Error(`${chainType} chain fallback validation timeout`)), 3000);
574
+ });
575
+ const versionPromise = provider.send('net_version', []);
576
+ const result = await Promise.race([versionPromise, timeoutPromise]);
577
+ console.log(`✅ [Validation] ${chainType} chain connection validated via fallback - Network Version: ${result}`);
578
+ }
579
+ catch (fallbackError) {
580
+ throw new Error(`${chainType} chain validation failed: ${error instanceof Error ? error.message : String(error)}`);
581
+ }
582
+ }
583
+ }
584
+ // ✅ HELPER: Auth error detection
585
+ function isAuthError(error) {
586
+ const message = error.message.toLowerCase();
587
+ return (message.includes('unauthorized') ||
588
+ message.includes('401') ||
589
+ message.includes('token expired') ||
590
+ message.includes('-40100'));
591
+ }
592
+ // ✅ HELPER: Sleep utility
593
+ function sleep(ms) {
594
+ return new Promise(resolve => setTimeout(resolve, ms));
595
+ }
596
+ /*
597
+ //IMPORTANT//
598
+ //This function is temporary so we install ethers just to make it work, once we delete this function we must uninstall Ethers
599
+
600
+ import { ChainData } from "@explorins/web3-ts";
601
+ import { FetchRequest, JsonRpcProvider } from "ethers";
602
+
603
+ export const getWeb3ProviderFromChainData = (
604
+ chainData: ChainData,
605
+ timeout = 15000,
606
+ customUserAgentName = '',
607
+ tokenRefresher?: () => Promise<string>
608
+ ) => {
609
+
610
+ // Fixed ethers provider setup for authenticated requests
611
+ let ethersProvider: JsonRpcProvider;
612
+
613
+ if (chainData.authHeader) {
614
+ // For authenticated requests, create a custom FetchRequest
615
+ const fetchRequest = new FetchRequest(chainData.rpcUrl);
616
+ fetchRequest.timeout = timeout;
617
+ fetchRequest.setHeader('Authorization', chainData.authHeader);
618
+ fetchRequest.setHeader('Content-Type', 'application/json');
619
+
620
+ if (customUserAgentName) {
621
+ fetchRequest.setHeader('User-Agent', customUserAgentName);
622
+ }
623
+
624
+ // Create provider with the configured FetchRequest
625
+ ethersProvider = new JsonRpcProvider(fetchRequest, undefined, {
626
+ staticNetwork: false,
627
+ polling: false, // Disable polling for better Lambda performance
628
+ });
629
+ } else {
630
+ // For public chains, use simple URL-based provider
631
+ ethersProvider = new JsonRpcProvider(chainData.rpcUrl, undefined, {
632
+ staticNetwork: false,
633
+ polling: false,
634
+ });
635
+ }
636
+
637
+ return {
638
+ web3Provider: null,
639
+ ethersProvider: ethersProvider,
640
+ isAuthenticated: !!chainData.authHeader,
641
+ };
642
+ }; */
643
+
644
+ class Web3ProviderService {
645
+ constructor() {
646
+ this._web3 = null;
647
+ this._currentChainId = null;
648
+ this._creationPromise = null;
649
+ }
650
+ async getWeb3(chainId, chainType, chainData) {
651
+ // ✅ EARLY RETURN: Reuse existing provider
652
+ if (this._web3 && this._currentChainId === chainId) {
653
+ return this._web3;
654
+ }
655
+ // ✅ PREVENT RACE CONDITION: Wait for ongoing creation
656
+ if (this._creationPromise) {
657
+ return await this._creationPromise;
658
+ }
659
+ if (!chainId)
660
+ throw new Error('ChainId not found');
661
+ if (!chainData)
662
+ throw new Error('ChainData not found');
663
+ // ✅ CREATE AND CACHE: Single promise for concurrent calls
664
+ this._creationPromise = this.createProvider(chainId, chainType, chainData);
665
+ try {
666
+ const web3Instance = await this._creationPromise;
667
+ this._web3 = web3Instance;
668
+ this._currentChainId = chainId;
669
+ return web3Instance;
670
+ }
671
+ finally {
672
+ // ✅ CLEANUP: Always reset promise after completion
673
+ this._creationPromise = null;
674
+ }
675
+ }
676
+ async createProvider(chainId, chainType, chainData) {
677
+ const provider = await getWeb3ProviderWithRetry(chainData);
678
+ return this.convertToWeb3(provider);
679
+ }
680
+ convertToWeb3(provider) {
681
+ if (provider instanceof Web3) {
682
+ return provider;
683
+ }
684
+ if (provider && typeof provider === 'object' && 'web3Provider' in provider) {
685
+ const providerObj = provider;
686
+ // If we want to user the web3Provider directly:
687
+ /*if (providerObj.web3Provider) {
688
+ return new Web3(providerObj.web3Provider as never);
689
+ }*/
690
+ if (providerObj.ethersProvider) {
691
+ const url = this.extractUrlFromEthersProvider(providerObj.ethersProvider);
692
+ const headers = this.extractHeadersFromEthersProvider(providerObj.ethersProvider);
693
+ const web3 = new Web3(url);
694
+ const currentProvider = web3.currentProvider;
695
+ if (currentProvider) {
696
+ currentProvider['url'] = url;
697
+ if (headers && Object.keys(headers).length > 0) {
698
+ currentProvider['request'] = async (payload) => {
699
+ const response = await fetch(url, {
700
+ method: 'POST',
701
+ headers: {
702
+ 'Content-Type': 'application/json',
703
+ ...headers
704
+ },
705
+ body: JSON.stringify(payload)
706
+ });
707
+ if (!response.ok) {
708
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
709
+ }
710
+ return await response.json();
711
+ };
712
+ }
713
+ }
714
+ return web3;
715
+ }
716
+ }
717
+ return new Web3(provider);
718
+ }
719
+ extractUrlFromEthersProvider(ethersProvider) {
720
+ return ethersProvider.connection?.url ||
721
+ ethersProvider._getConnection?.()?.url ||
722
+ ethersProvider.url ||
723
+ '';
724
+ }
725
+ extractHeadersFromEthersProvider(ethersProvider) {
726
+ return ethersProvider.connection?.headers ||
727
+ ethersProvider._getConnection?.()?.headers ||
728
+ {};
729
+ }
730
+ }
731
+ /* import Web3 from "web3";
732
+ import { ChainData, ChainType, ChainTypes } from "@explorins/web3-ts";
733
+ import { PublicHttpProviderService } from "./public-http-provider.service";
734
+ import { getWeb3ProviderFromChainData } from "./getWeb3FCD.service";
735
+
736
+
737
+ export class Web3ProviderService {
738
+
739
+ private _web3: Web3 | null = null;
740
+ private _currentChainId: number | null = null;
741
+
742
+ constructor(
743
+ private readonly publicHttpProviderService: PublicHttpProviderService,
744
+ ) {
745
+ }
746
+
747
+ public async getWeb3(chainId: number, chainType: ChainType, privateChainData: ChainData | null = null) {
748
+ if (!this._web3 || this._currentChainId !== chainId) {
749
+
750
+ if(!chainId) throw new Error('ChainId not found')
751
+
752
+ try {
753
+ this._currentChainId = chainId;
754
+ const provider = await this.getWeb3ByChainId(chainId, chainType, privateChainData);
755
+ this._web3 = this.convertToWeb3(provider);
756
+ } catch (error) {
757
+ console.error('Error getting web3 connection from chain id ' + chainId , error)
758
+ throw new Error('Error getting web3 connection from chain id ' + chainId)
759
+ }
760
+ }
761
+ return this._web3 as Web3;
762
+ }
763
+
764
+ // Keep return type as 'any' to avoid TypeScript errors while still being adapted later
765
+ private getWeb3ByChainId(chainId: number, chainType: ChainType, privateChainData: ChainData | null = null): any {
766
+ // Rest of the method remains the same
767
+ if(chainType === ChainTypes.PRIVATE && privateChainData) {
768
+ //const privateProvider = this.privateChainProviderService.getProviderFromChainData(privateChainData)
769
+ const privateProvider = getWeb3ProviderFromChainData(privateChainData);
770
+
771
+ if(!privateProvider || privateProvider instanceof Error) throw new Error('Error getting web3 provider');
772
+
773
+
774
+ return privateProvider;
775
+
776
+ } else {
777
+
778
+ const publicProvider = this.publicHttpProviderService.getProvider(chainId)
779
+ if(!publicProvider || publicProvider instanceof Error) throw new Error('Error getting web3 provider');
780
+
781
+ return publicProvider;
782
+ }
783
+ }
784
+
785
+ private convertToWeb3(provider: unknown): Web3 {
786
+ if (provider instanceof Web3) {
787
+ return provider as Web3;
788
+ }
789
+
790
+ if (provider && typeof provider === 'object' && 'web3Provider' in provider) {
791
+ const providerObj = provider as {
792
+ web3Provider?: unknown;
793
+ ethersProvider?: any;
794
+ isAuthenticated?: boolean;
795
+ };
796
+
797
+ // If we want to user the web3Provider directly:
798
+ /*if (providerObj.web3Provider) {
799
+ return new Web3(providerObj.web3Provider as never);
800
+ }*/
801
+ /*if (providerObj.ethersProvider) {
802
+
803
+ const url = this.extractUrlFromEthersProvider(providerObj.ethersProvider);
804
+ const headers = this.extractHeadersFromEthersProvider(providerObj.ethersProvider);
805
+
806
+ const web3 = new Web3(url);
807
+ const currentProvider = web3.currentProvider as unknown as Record<string, unknown>;
808
+
809
+ if (currentProvider) {
810
+ currentProvider['url'] = url;
811
+
812
+ if (headers && Object.keys(headers).length > 0) {
813
+ currentProvider['request'] = async (payload: Record<string, unknown>): Promise<Record<string, unknown>> => {
814
+ const response = await fetch(url, {
815
+ method: 'POST',
816
+ headers: {
817
+ 'Content-Type': 'application/json',
818
+ ...headers
819
+ },
820
+ body: JSON.stringify(payload)
821
+ });
822
+
823
+ if (!response.ok) {
824
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
825
+ }
826
+
827
+ return await response.json() as Record<string, unknown>;
828
+ };
829
+ }
830
+ }
831
+
832
+ return web3;
833
+ }
834
+ }
835
+
836
+ return new Web3(provider as never);
837
+ }
838
+
839
+
840
+ private extractUrlFromEthersProvider(ethersProvider: any): string {
841
+ return ethersProvider.connection?.url ||
842
+ ethersProvider._getConnection?.()?.url ||
843
+ ethersProvider.url ||
844
+ '';
845
+ }
846
+
847
+ private extractHeadersFromEthersProvider(ethersProvider: any): Record<string, string> {
848
+ return ethersProvider.connection?.headers ||
849
+ ethersProvider._getConnection?.()?.headers ||
850
+ {};
851
+ }
852
+ } */
853
+
489
854
  function createWeb3ChainSDK(apiClient, providerService) {
490
855
  const web3ChainApi = new Web3ChainApi(apiClient);
491
856
  const web3ChainService = new Web3ChainService(web3ChainApi, providerService); // ✅ DIRECT INJECTION
@@ -498,7 +863,10 @@ function createWeb3ChainSDK(apiClient, providerService) {
498
863
  };
499
864
  }
500
865
 
501
- function createWeb3SDK(apiClient, web3ProviderService) {
866
+ //import { PublicHttpProviderService } from '../web3-chain/services/public-http-provider.service';
867
+ function createWeb3SDK(apiClient) {
868
+ // TODO: FIX LATER - TEMPORARY CONSTRUCTION
869
+ const web3ProviderService = new Web3ProviderService();
502
870
  const web3ChainSDK = createWeb3ChainSDK(apiClient, web3ProviderService);
503
871
  const web3Api = new Web3Api(web3ChainSDK.service);
504
872
  const web3Service = new Web3Service(web3Api, web3ChainSDK.service);
package/dist/web3.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web3.cjs","sources":["../src/web3/api/web3-api.ts","../src/web3/models/index.ts","../src/web3/services/web3-service.ts","../src/web3-chain/api/web3-chain-api.ts","../src/core/utils/jwt.function.ts","../src/web3-chain/services/web3-chain-service.ts","../src/web3-chain/index.ts","../src/web3/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["getSmartContractInstance","getAddressTokenBalanceByContract","getTokenUri","getTokenOfOwnerByIndex","jwtDecode"],"mappings":"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"}
1
+ {"version":3,"file":"web3.cjs","sources":["../src/web3/api/web3-api.ts","../src/web3/models/index.ts","../src/web3/services/web3-service.ts","../src/web3-chain/api/web3-chain-api.ts","../src/core/utils/jwt.function.ts","../src/web3-chain/services/web3-chain-service.ts","../src/web3-chain/services/getWeb3FCD.service.ts","../src/web3-chain/services/provider.service.ts","../src/web3-chain/index.ts","../src/web3/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["getSmartContractInstance","getAddressTokenBalanceByContract","getTokenUri","getTokenOfOwnerByIndex","jwtDecode","FetchRequest","JsonRpcProvider"],"mappings":"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"}