@explorins/pers-sdk 1.3.4 → 1.3.6

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 (56) hide show
  1. package/README.md +107 -339
  2. package/dist/business/index.d.ts +9 -9
  3. package/dist/campaign/index.d.ts +19 -19
  4. package/dist/chunks/{pers-sdk-Ct_uUMJl.cjs → pers-sdk-DiwCwBiC.cjs} +279 -4
  5. package/dist/chunks/pers-sdk-DiwCwBiC.cjs.map +1 -0
  6. package/dist/chunks/{pers-sdk-tKHGQr5x.js → pers-sdk-Rc8YKyNc.js} +279 -5
  7. package/dist/chunks/pers-sdk-Rc8YKyNc.js.map +1 -0
  8. package/dist/core/index.d.ts +1 -0
  9. package/dist/core/index.d.ts.map +1 -1
  10. package/dist/core.cjs +2 -1
  11. package/dist/core.cjs.map +1 -1
  12. package/dist/core.js +1 -1
  13. package/dist/donation/index.d.ts +1 -1
  14. package/dist/index.cjs +3 -6
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.js +3 -6
  17. package/dist/index.js.map +1 -1
  18. package/dist/package.json +148 -147
  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 +4 -4
  23. package/dist/web3/application/web3-application.service.d.ts +3 -3
  24. package/dist/web3/application/web3-application.service.d.ts.map +1 -1
  25. package/dist/web3/domain/models/index.d.ts.map +1 -1
  26. package/dist/web3/domain/services/contract-domain.service.d.ts +2 -4
  27. package/dist/web3/domain/services/contract-domain.service.d.ts.map +1 -1
  28. package/dist/web3/domain/services/token-domain.service.d.ts +5 -5
  29. package/dist/web3/domain/services/token-domain.service.d.ts.map +1 -1
  30. package/dist/web3/index.d.ts +5 -5
  31. package/dist/web3/index.d.ts.map +1 -1
  32. package/dist/web3/infrastructure/api/web3-api.d.ts +4 -4
  33. package/dist/web3/infrastructure/api/web3-api.d.ts.map +1 -1
  34. package/dist/web3-chain/index.d.ts +3 -5
  35. package/dist/web3-chain/index.d.ts.map +1 -1
  36. package/dist/web3-chain/services/ethers-provider.service.d.ts +11 -0
  37. package/dist/web3-chain/services/ethers-provider.service.d.ts.map +1 -0
  38. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +1 -1
  39. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
  40. package/dist/web3-chain/services/web3-chain-service.d.ts +7 -7
  41. package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -1
  42. package/dist/web3-chain/services/web3-provider.service.d.ts +1 -0
  43. package/dist/web3-chain/services/web3-provider.service.d.ts.map +1 -0
  44. package/dist/web3-chain.cjs +108 -231
  45. package/dist/web3-chain.cjs.map +1 -1
  46. package/dist/web3-chain.js +106 -228
  47. package/dist/web3-chain.js.map +1 -1
  48. package/dist/web3.cjs +19 -27
  49. package/dist/web3.cjs.map +1 -1
  50. package/dist/web3.js +17 -25
  51. package/dist/web3.js.map +1 -1
  52. package/package.json +148 -147
  53. package/dist/chunks/pers-sdk-Ct_uUMJl.cjs.map +0 -1
  54. package/dist/chunks/pers-sdk-tKHGQr5x.js.map +0 -1
  55. package/dist/web3-chain/services/provider.service.d.ts +0 -13
  56. package/dist/web3-chain/services/provider.service.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { ChainData } from "@explorins/web3-ts";
2
- import { JsonRpcProvider } from 'ethers/providers';
2
+ import { JsonRpcProvider } from '@explorins/web3-ts/ethers';
3
3
  export declare const getWeb3ProviderFromChainData: (chainData: ChainData, timeout?: number, customUserAgentName?: string, tokenRefresher?: () => Promise<string>) => {
4
4
  web3Provider: null;
5
5
  ethersProvider: JsonRpcProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"getWeb3FCD.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/getWeb3FCD.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,eAAO,MAAM,4BAA4B,GACvC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC;;;;CA4CvC,CAAC;AAGF,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC,EACtC;;;;CAAiE;;;;EAuClE,CAAC"}
1
+ {"version":3,"file":"getWeb3FCD.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/getWeb3FCD.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAgB,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,4BAA4B,GACvC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC;;;;CA2CvC,CAAC;AAGF,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC,EACtC;;;;CAAiE;;;;EAuClE,CAAC"}
@@ -1,17 +1,17 @@
1
1
  import { Web3ChainApi } from '../api/web3-chain-api';
2
2
  import { ChainData } from '../models';
3
- import type { Web3 } from 'web3';
4
- import { Web3ProviderService } from './provider.service';
3
+ import { JsonRpcProvider } from '@explorins/web3-ts/ethers';
5
4
  export declare class Web3ChainService {
6
5
  private web3ChainApi;
7
- private providerService;
8
6
  private web3InstanceCache;
9
- constructor(web3ChainApi: Web3ChainApi, providerService: Web3ProviderService);
10
- getWeb3ByChainId(chainId: number): Promise<Web3>;
7
+ private providerCache;
8
+ private ethersProviderService;
9
+ constructor(web3ChainApi: Web3ChainApi);
10
+ getEthersProviderByChainId(chainId: number): Promise<JsonRpcProvider>;
11
+ private createProviderInstance;
11
12
  getChainDataWithCache(chainId: number): Promise<ChainData>;
12
13
  private checkIsTokenExpired;
13
- private createWeb3Instance;
14
14
  private isAuthError;
15
- getChainDataById(chainId: number): Promise<ChainData | null>;
15
+ private getChainDataById;
16
16
  }
17
17
  //# sourceMappingURL=web3-chain-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web3-chain-service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/web3-chain-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAuB,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IAJzB,OAAO,CAAC,iBAAiB,CAA0C;gBAGzD,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,mBAAmB;IAGxC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBhE,OAAO,CAAC,mBAAmB;YAUb,kBAAkB;IAuBhC,OAAO,CAAC,WAAW;IAUb,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAQnE"}
1
+ {"version":3,"file":"web3-chain-service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/web3-chain-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAuB,MAAM,WAAW,CAAC;AAI3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,YAAY;IARtB,OAAO,CAAC,iBAAiB,CAA0C;IAEnE,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,qBAAqB,CAAsD;gBAGzE,YAAY,EAAE,YAAY;IAG9B,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YA4C7D,sBAAsB;IAgBvB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBvE,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,WAAW;YAUL,gBAAgB;CAmF/B"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=web3-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-provider.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/web3-provider.service.ts"],"names":[],"mappings":""}
@@ -1,9 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var jwt_function = require('./chunks/jwt.function-BYiyl-z_.cjs');
4
- var Web3 = require('web3');
5
- var providers = require('ethers/providers');
6
- var utils = require('ethers/utils');
4
+ var ethers = require('@explorins/web3-ts/ethers');
7
5
  var persShared = require('@explorins/pers-shared');
8
6
  require('jwt-decode');
9
7
 
@@ -27,7 +25,7 @@ class Web3ChainApi {
27
25
  */
28
26
  async getChainData(chainId) {
29
27
  try {
30
- console.log('🔍 [Web3ChainApi] Fetching chain data for chainId:', chainId);
28
+ console.log('[Web3ChainApi] Fetching chain data for chainId:', chainId);
31
29
  const response = await this.apiClient.get(`${this.basePath}/${chainId}`);
32
30
  if (!response) {
33
31
  throw new Error(`No chain data received for chainId: ${chainId}`);
@@ -35,7 +33,7 @@ class Web3ChainApi {
35
33
  return response;
36
34
  }
37
35
  catch (error) {
38
- console.error('[Web3ChainApi] Failed to get chain data:', {
36
+ console.error('[Web3ChainApi] Failed to get chain data:', {
39
37
  chainId,
40
38
  error: error instanceof Error ? error.message : String(error)
41
39
  });
@@ -44,111 +42,12 @@ class Web3ChainApi {
44
42
  }
45
43
  }
46
44
 
47
- class Web3ChainService {
48
- constructor(web3ChainApi, providerService) {
49
- this.web3ChainApi = web3ChainApi;
50
- this.providerService = providerService;
51
- this.web3InstanceCache = new Map();
52
- }
53
- async getWeb3ByChainId(chainId) {
54
- const cached = this.web3InstanceCache.get(chainId);
55
- // ✅ SMART CACHE: Check if cache is valid based on token expiration
56
- if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
57
- // Using cached Web3 instance
58
- return cached.web3Instance;
59
- }
60
- // ✅ CREATE WITH ERROR RECOVERY: Handle auth errors gracefully
61
- try {
62
- // Creating new Web3 instance
63
- const { web3, chainData } = await this.createWeb3Instance(chainId);
64
- // ✅ CACHE NEW INSTANCE
65
- this.web3InstanceCache.set(chainId, {
66
- web3Instance: web3,
67
- chainData: chainData,
68
- createdAt: Date.now(),
69
- chainId
70
- });
71
- return web3;
72
- }
73
- catch (error) {
74
- // ✅ AUTH ERROR RECOVERY: Clear cache and retry once
75
- if (this.isAuthError(error)) {
76
- // Auth error detected, clearing cache and retrying
77
- this.web3InstanceCache.delete(chainId);
78
- // Retry once with fresh instance
79
- const { web3, chainData } = await this.createWeb3Instance(chainId);
80
- this.web3InstanceCache.set(chainId, {
81
- web3Instance: web3,
82
- chainData: chainData,
83
- createdAt: Date.now(),
84
- chainId
85
- });
86
- return web3;
87
- }
88
- throw error;
89
- }
90
- }
91
- async getChainDataWithCache(chainId) {
92
- const cached = this.web3InstanceCache.get(chainId);
93
- //const now = Date.now();
94
- if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
95
- // Using cached ChainData
96
- return cached.chainData;
97
- }
98
- // If not cached, fetch fresh data
99
- const chainData = await this.getChainDataById(chainId);
100
- if (!chainData) {
101
- throw new Error(`Chain data not found for chainId: ${chainId}`);
102
- }
103
- return chainData;
104
- }
105
- checkIsTokenExpired(authHeader) {
106
- // ✅ NULL CHECK: Handle undefined case
107
- if (!authHeader) {
108
- return false; // No token means no expiration (public chains)
109
- }
110
- // ✅ FUNCTION CALL: Use imported function, not method
111
- return jwt_function.isTokenExpired(authHeader);
112
- }
113
- async createWeb3Instance(chainId) {
114
- const chainData = await this.getChainDataById(chainId);
115
- if (!chainData) {
116
- throw new Error(`Chain data not found for chainId: ${chainId}`);
117
- }
118
- // ✅ CRITICAL CHECK: Ensure authHeader is present for private chains
119
- if (chainData.chainType === 'PRIVATE' && !chainData.authHeader) {
120
- console.error('❌ [Web3ChainService] CRITICAL: Private chain missing authHeader!');
121
- throw new Error(`Private chain ${chainId} missing authentication header`);
122
- }
123
- const web3 = await this.providerService.getWeb3(chainId, chainData.chainType || 'PUBLIC', chainData);
124
- return { web3, chainData };
125
- }
126
- // ✅ HELPER: Type-safe error checking
127
- isAuthError(error) {
128
- const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
129
- return (message.includes('unauthorized') ||
130
- message.includes('401') ||
131
- message.includes('token expired') ||
132
- message.includes('invalid token'));
133
- }
134
- async getChainDataById(chainId) {
135
- try {
136
- return await this.web3ChainApi.getChainData(chainId);
137
- }
138
- catch (error) {
139
- console.error('❌ [SDK Web3ChainService] Error getting chain data for chainId:', chainId, error);
140
- return null;
141
- }
142
- }
143
- }
144
-
145
45
  // ✅ REVERT: Función síncrona como el código comentado que funciona
146
46
  const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgentName = '', tokenRefresher) => {
147
- console.log(`🔧 [getWeb3FCD] Creating provider for chain ${chainData.chainId || 'unknown'}`);
148
47
  let ethersProvider;
149
48
  if (chainData.authHeader) {
150
49
  // ✅ AUTHENTICATED: For private chains
151
- const fetchRequest = new utils.FetchRequest(chainData.rpcUrl);
50
+ const fetchRequest = new ethers.FetchRequest(chainData.rpcUrl);
152
51
  fetchRequest.timeout = timeout;
153
52
  // ✅ IMPROVED AUTH HEADER: Better handling
154
53
  const authValue = chainData.authHeader.startsWith('Bearer ')
@@ -160,7 +59,7 @@ const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgen
160
59
  if (customUserAgentName) {
161
60
  fetchRequest.setHeader('User-Agent', customUserAgentName);
162
61
  }
163
- ethersProvider = new providers.JsonRpcProvider(fetchRequest, undefined, {
62
+ ethersProvider = new ethers.JsonRpcProvider(fetchRequest, undefined, {
164
63
  staticNetwork: false,
165
64
  polling: false,
166
65
  batchMaxCount: 1, // ✅ DISABLE BATCHING: Better for private chains
@@ -168,7 +67,7 @@ const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgen
168
67
  }
169
68
  else {
170
69
  // ✅ PUBLIC: For public chains
171
- ethersProvider = new providers.JsonRpcProvider(chainData.rpcUrl, undefined, {
70
+ ethersProvider = new ethers.JsonRpcProvider(chainData.rpcUrl, undefined, {
172
71
  staticNetwork: false,
173
72
  polling: false,
174
73
  });
@@ -249,64 +148,18 @@ function isAuthError(error) {
249
148
  function sleep(ms) {
250
149
  return new Promise(resolve => setTimeout(resolve, ms));
251
150
  }
252
- /*
253
- //IMPORTANT//
254
- //This function is temporary so we install ethers just to make it work, once we delete this function we must uninstall Ethers
255
-
256
- import { ChainData } from "@explorins/web3-ts";
257
- import { FetchRequest, JsonRpcProvider } from "ethers";
258
-
259
- export const getWeb3ProviderFromChainData = (
260
- chainData: ChainData,
261
- timeout = 15000,
262
- customUserAgentName = '',
263
- tokenRefresher?: () => Promise<string>
264
- ) => {
265
151
 
266
- // Fixed ethers provider setup for authenticated requests
267
- let ethersProvider: JsonRpcProvider;
268
-
269
- if (chainData.authHeader) {
270
- // For authenticated requests, create a custom FetchRequest
271
- const fetchRequest = new FetchRequest(chainData.rpcUrl);
272
- fetchRequest.timeout = timeout;
273
- fetchRequest.setHeader('Authorization', chainData.authHeader);
274
- fetchRequest.setHeader('Content-Type', 'application/json');
275
-
276
- if (customUserAgentName) {
277
- fetchRequest.setHeader('User-Agent', customUserAgentName);
278
- }
279
-
280
- // Create provider with the configured FetchRequest
281
- ethersProvider = new JsonRpcProvider(fetchRequest, undefined, {
282
- staticNetwork: false,
283
- polling: false, // Disable polling for better Lambda performance
284
- });
285
- } else {
286
- // For public chains, use simple URL-based provider
287
- ethersProvider = new JsonRpcProvider(chainData.rpcUrl, undefined, {
288
- staticNetwork: false,
289
- polling: false,
290
- });
291
- }
292
-
293
- return {
294
- web3Provider: null,
295
- ethersProvider: ethersProvider,
296
- isAuthenticated: !!chainData.authHeader,
297
- };
298
- }; */
299
-
300
- class Web3ProviderService {
152
+ class EthersProviderService {
301
153
  constructor() {
302
- this._web3 = null;
154
+ this._provider = null;
303
155
  this._currentChainId = null;
304
156
  this._creationPromise = null;
157
+ console.log('[PERS SDK] EthersProviderService initialized with enhanced instanceof handling');
305
158
  }
306
- async getWeb3(chainId, chainType, chainData) {
159
+ async getEthersProvider(chainId, chainType, chainData) {
307
160
  // ✅ EARLY RETURN: Reuse existing provider
308
- if (this._web3 && this._currentChainId === chainId) {
309
- return this._web3;
161
+ if (this._provider && this._currentChainId === chainId) {
162
+ return this._provider;
310
163
  }
311
164
  // ✅ PREVENT RACE CONDITION: Wait for ongoing creation
312
165
  if (this._creationPromise) {
@@ -317,91 +170,116 @@ class Web3ProviderService {
317
170
  if (!chainData)
318
171
  throw new Error('ChainData not found');
319
172
  // ✅ CREATE AND CACHE: Single promise for concurrent calls
320
- this._creationPromise = this.createProvider(chainId, chainType, chainData);
173
+ const ethersPromise = this.createEthersProvider(chainId, chainType, chainData);
321
174
  try {
322
- const web3Instance = await this._creationPromise;
323
- this._web3 = web3Instance;
175
+ const { web3Provider, ethersProvider, isAuthenticated } = await ethersPromise;
176
+ this._provider = ethersProvider;
324
177
  this._currentChainId = chainId;
325
- return web3Instance;
178
+ return ethersProvider;
326
179
  }
327
180
  finally {
328
181
  // ✅ CLEANUP: Always reset promise after completion
329
182
  this._creationPromise = null;
330
183
  }
331
184
  }
332
- async createProvider(chainId, chainType, chainData) {
185
+ async createEthersProvider(chainId, chainType, chainData) {
186
+ console.log(`🔧 [createProvider] Creating provider for chain ${chainId}`);
333
187
  const provider = await getWeb3ProviderWithRetry(chainData);
334
- return this.convertToWeb3(provider);
188
+ return provider;
335
189
  }
336
- convertToWeb3(provider) {
337
- // Enhanced instanceof check with React Native compatibility
190
+ }
191
+
192
+ class Web3ChainService {
193
+ constructor(web3ChainApi) {
194
+ this.web3ChainApi = web3ChainApi;
195
+ this.web3InstanceCache = new Map();
196
+ // TODO: Fix any
197
+ this.providerCache = new Map();
198
+ // private providerService: Web3ProviderService = new Web3ProviderService();
199
+ this.ethersProviderService = new EthersProviderService();
200
+ }
201
+ async getEthersProviderByChainId(chainId) {
202
+ const cached = this.providerCache.get(chainId);
203
+ // ✅ SMART CACHE: Check if cache is valid based on token expiration
204
+ if (cached && !this.checkIsTokenExpired(cached.authHeader)) {
205
+ // Using cached provider
206
+ return cached.provider;
207
+ }
338
208
  try {
339
- console.log('Attempting Web3 instanceof check...');
340
- // Check if Web3 constructor is available
341
- if (typeof Web3 === 'function' && provider instanceof Web3) {
342
- return provider;
343
- }
209
+ // Creating new Web3 instance
210
+ const { provider, chainData } = await this.createProviderInstance(chainId);
211
+ this.providerCache.set(chainId, {
212
+ provider,
213
+ chainData,
214
+ createdAt: Date.now(),
215
+ chainId
216
+ });
217
+ return provider;
344
218
  }
345
219
  catch (error) {
346
- // instanceof can fail in React Native environments
347
- console.warn('Web3 instanceof check failed, using fallback detection:', error);
348
- }
349
- // React Native safe checks - fallback when instanceof fails
350
- if (provider && typeof provider === 'object') {
351
- // Check constructor name
352
- if (provider.constructor && provider.constructor.name === 'Web3') {
353
- return provider;
354
- }
355
- // Check for Web3 instance properties (duck typing)
356
- if ('currentProvider' in provider && 'eth' in provider && 'utils' in provider) {
220
+ // AUTH ERROR RECOVERY: Clear cache and retry once
221
+ if (this.isAuthError(error)) {
222
+ // Auth error detected, clearing cache and retrying
223
+ this.providerCache.delete(chainId);
224
+ // Retry once with fresh instance
225
+ const { provider, chainData } = await this.createProviderInstance(chainId);
226
+ this.providerCache.set(chainId, {
227
+ provider,
228
+ chainData,
229
+ createdAt: Date.now(),
230
+ chainId
231
+ });
357
232
  return provider;
358
233
  }
234
+ throw error;
359
235
  }
360
- if (provider && typeof provider === 'object' && 'web3Provider' in provider) {
361
- const providerObj = provider;
362
- // If we want to user the web3Provider directly:
363
- /*if (providerObj.web3Provider) {
364
- return new Web3(providerObj.web3Provider as never);
365
- }*/
366
- if (providerObj.ethersProvider) {
367
- const url = this.extractUrlFromEthersProvider(providerObj.ethersProvider);
368
- const headers = this.extractHeadersFromEthersProvider(providerObj.ethersProvider);
369
- const web3 = new Web3(url);
370
- const currentProvider = web3.currentProvider;
371
- if (currentProvider) {
372
- currentProvider['url'] = url;
373
- if (headers && Object.keys(headers).length > 0) {
374
- currentProvider['request'] = async (payload) => {
375
- const response = await fetch(url, {
376
- method: 'POST',
377
- headers: {
378
- 'Content-Type': 'application/json',
379
- ...headers
380
- },
381
- body: JSON.stringify(payload)
382
- });
383
- if (!response.ok) {
384
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
385
- }
386
- return await response.json();
387
- };
388
- }
389
- }
390
- return web3;
391
- }
236
+ }
237
+ async createProviderInstance(chainId) {
238
+ const chainData = await this.getChainDataById(chainId);
239
+ if (!chainData) {
240
+ throw new Error(`Chain data not found for chainId: ${chainId}`);
392
241
  }
393
- return new Web3(provider);
242
+ const provider = await this.ethersProviderService.getEthersProvider(chainId, chainData.chainType || 'PUBLIC', chainData);
243
+ return { provider, chainData };
394
244
  }
395
- extractUrlFromEthersProvider(ethersProvider) {
396
- return ethersProvider.connection?.url ||
397
- ethersProvider._getConnection?.()?.url ||
398
- ethersProvider.url ||
399
- '';
245
+ async getChainDataWithCache(chainId) {
246
+ const cached = this.web3InstanceCache.get(chainId);
247
+ //const now = Date.now();
248
+ if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
249
+ // Using cached ChainData
250
+ return cached.chainData;
251
+ }
252
+ // If not cached, fetch fresh data
253
+ const chainData = await this.getChainDataById(chainId);
254
+ if (!chainData) {
255
+ throw new Error(`Chain data not found for chainId: ${chainId}`);
256
+ }
257
+ return chainData;
400
258
  }
401
- extractHeadersFromEthersProvider(ethersProvider) {
402
- return ethersProvider.connection?.headers ||
403
- ethersProvider._getConnection?.()?.headers ||
404
- {};
259
+ checkIsTokenExpired(authHeader) {
260
+ // NULL CHECK: Handle undefined case
261
+ if (!authHeader) {
262
+ return false; // No token means no expiration (public chains)
263
+ }
264
+ // ✅ FUNCTION CALL: Use imported function, not method
265
+ return jwt_function.isTokenExpired(authHeader);
266
+ }
267
+ // ✅ HELPER: Type-safe error checking
268
+ isAuthError(error) {
269
+ const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
270
+ return (message.includes('unauthorized') ||
271
+ message.includes('401') ||
272
+ message.includes('token expired') ||
273
+ message.includes('invalid token'));
274
+ }
275
+ async getChainDataById(chainId) {
276
+ try {
277
+ return await this.web3ChainApi.getChainData(chainId);
278
+ }
279
+ catch (error) {
280
+ console.error('❌ [SDK Web3ChainService] Error getting chain data for chainId:', chainId, error);
281
+ return null;
282
+ }
405
283
  }
406
284
  }
407
285
 
@@ -416,13 +294,13 @@ const ChainTypes = {
416
294
  PRIVATE: 'PRIVATE'
417
295
  };
418
296
 
419
- function createWeb3ChainSDK(apiClient, providerService) {
297
+ function createWeb3ChainSDK(apiClient) {
420
298
  const web3ChainApi = new Web3ChainApi(apiClient);
421
- const web3ChainService = new Web3ChainService(web3ChainApi, providerService); // ✅ DIRECT INJECTION
299
+ const web3ChainService = new Web3ChainService(web3ChainApi);
422
300
  return {
423
- // ✅ REPLICA: Same methods as framework
424
- getChainDataById: (chainId) => web3ChainService.getChainDataById(chainId),
425
- getWeb3ByChainId: (chainId) => web3ChainService.getWeb3ByChainId(chainId),
301
+ getEthersProviderByChainId: (chainId) => web3ChainService.getEthersProviderByChainId(chainId),
302
+ getChainDataById: (chainId) => web3ChainService.getChainDataWithCache(chainId),
303
+ // getWeb3ByChainId: (chainId: number) => web3ChainService.getWeb3ByChainId(chainId),
426
304
  api: web3ChainApi,
427
305
  service: web3ChainService
428
306
  };
@@ -435,6 +313,5 @@ Object.defineProperty(exports, "AccountOwnerType", {
435
313
  exports.ChainTypes = ChainTypes;
436
314
  exports.Web3ChainApi = Web3ChainApi;
437
315
  exports.Web3ChainService = Web3ChainService;
438
- exports.Web3ProviderService = Web3ProviderService;
439
316
  exports.createWeb3ChainSDK = createWeb3ChainSDK;
440
317
  //# sourceMappingURL=web3-chain.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"web3-chain.cjs","sources":["../src/web3-chain/api/web3-chain-api.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/models/index.ts","../src/web3-chain/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["isTokenExpired","FetchRequest","JsonRpcProvider"],"mappings":"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"}
1
+ {"version":3,"file":"web3-chain.cjs","sources":["../src/web3-chain/api/web3-chain-api.ts","../src/web3-chain/services/getWeb3FCD.service.ts","../src/web3-chain/services/ethers-provider.service.ts","../src/web3-chain/services/web3-chain-service.ts","../src/web3-chain/models/index.ts","../src/web3-chain/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["FetchRequest","JsonRpcProvider","isTokenExpired"],"mappings":"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"}