@explorins/pers-sdk 1.2.5 → 1.3.1

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 (131) hide show
  1. package/README.md +416 -0
  2. package/dist/analytics.cjs +6 -0
  3. package/dist/analytics.cjs.map +1 -1
  4. package/dist/analytics.js +2 -0
  5. package/dist/analytics.js.map +1 -1
  6. package/dist/business.cjs +6 -0
  7. package/dist/business.cjs.map +1 -1
  8. package/dist/business.js +2 -0
  9. package/dist/business.js.map +1 -1
  10. package/dist/campaign/api/campaign-api.d.ts +19 -65
  11. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  12. package/dist/campaign.cjs +55 -103
  13. package/dist/campaign.cjs.map +1 -1
  14. package/dist/campaign.js +51 -103
  15. package/dist/campaign.js.map +1 -1
  16. package/dist/chunks/base-token-service-BA81_Ouq.js +532 -0
  17. package/dist/chunks/base-token-service-BA81_Ouq.js.map +1 -0
  18. package/dist/chunks/base-token-service-BQ6uFoki.cjs +537 -0
  19. package/dist/chunks/base-token-service-BQ6uFoki.cjs.map +1 -0
  20. package/dist/chunks/jwt.function-BYiyl-z_.cjs +25 -0
  21. package/dist/chunks/jwt.function-BYiyl-z_.cjs.map +1 -0
  22. package/dist/chunks/jwt.function-d6jPtBqI.js +23 -0
  23. package/dist/chunks/jwt.function-d6jPtBqI.js.map +1 -0
  24. package/dist/chunks/pers-sdk-JC-hSYUd.js +1377 -0
  25. package/dist/chunks/pers-sdk-JC-hSYUd.js.map +1 -0
  26. package/dist/chunks/pers-sdk-_1sTi9x9.cjs +1384 -0
  27. package/dist/chunks/pers-sdk-_1sTi9x9.cjs.map +1 -0
  28. package/dist/core/auth/api/auth-api.d.ts +30 -0
  29. package/dist/core/auth/api/auth-api.d.ts.map +1 -0
  30. package/dist/core/auth/auth-constants.d.ts +33 -0
  31. package/dist/core/auth/auth-constants.d.ts.map +1 -0
  32. package/dist/core/auth/auth-errors.d.ts +8 -0
  33. package/dist/core/auth/auth-errors.d.ts.map +1 -0
  34. package/dist/core/auth/auth-provider.interface.d.ts +72 -2
  35. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  36. package/dist/core/auth/create-auth-provider.d.ts +3 -3
  37. package/dist/core/auth/create-auth-provider.d.ts.map +1 -1
  38. package/dist/core/auth/default-auth-provider.d.ts +71 -0
  39. package/dist/core/auth/default-auth-provider.d.ts.map +1 -0
  40. package/dist/core/auth/index.d.ts +17 -0
  41. package/dist/core/auth/index.d.ts.map +1 -0
  42. package/dist/core/auth/services/auth-service.d.ts +49 -0
  43. package/dist/core/auth/services/auth-service.d.ts.map +1 -0
  44. package/dist/core/auth/token-refresh.d.ts +91 -0
  45. package/dist/core/auth/token-refresh.d.ts.map +1 -0
  46. package/dist/core/auth/token-storage.d.ts +74 -0
  47. package/dist/core/auth/token-storage.d.ts.map +1 -0
  48. package/dist/core/errors/index.d.ts +80 -0
  49. package/dist/core/errors/index.d.ts.map +1 -0
  50. package/dist/core/index.d.ts +1 -2
  51. package/dist/core/index.d.ts.map +1 -1
  52. package/dist/core/pers-api-client.d.ts +172 -12
  53. package/dist/core/pers-api-client.d.ts.map +1 -1
  54. package/dist/core/pers-config.d.ts +36 -1
  55. package/dist/core/pers-config.d.ts.map +1 -1
  56. package/dist/core/utils/jwt.function.d.ts.map +1 -1
  57. package/dist/core.cjs +8 -500
  58. package/dist/core.cjs.map +1 -1
  59. package/dist/core.js +2 -496
  60. package/dist/core.js.map +1 -1
  61. package/dist/donation.cjs +6 -0
  62. package/dist/donation.cjs.map +1 -1
  63. package/dist/donation.js +2 -0
  64. package/dist/donation.js.map +1 -1
  65. package/dist/index.cjs +79 -4751
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.d.ts +0 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +20 -4699
  70. package/dist/index.js.map +1 -1
  71. package/dist/package.json +129 -129
  72. package/dist/payment.cjs +6 -0
  73. package/dist/payment.cjs.map +1 -1
  74. package/dist/payment.js +2 -0
  75. package/dist/payment.js.map +1 -1
  76. package/dist/pers-sdk.d.ts +49 -7
  77. package/dist/pers-sdk.d.ts.map +1 -1
  78. package/dist/redemption/api/redemption-api.d.ts +38 -77
  79. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  80. package/dist/redemption/services/redemption-service.d.ts +21 -3
  81. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  82. package/dist/redemption.cjs +84 -117
  83. package/dist/redemption.cjs.map +1 -1
  84. package/dist/redemption.js +80 -117
  85. package/dist/redemption.js.map +1 -1
  86. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -1
  87. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
  88. package/dist/tenant/api/tenant-api.d.ts +28 -10
  89. package/dist/tenant/api/tenant-api.d.ts.map +1 -1
  90. package/dist/tenant/index.d.ts +4 -4
  91. package/dist/tenant.cjs +46 -11
  92. package/dist/tenant.cjs.map +1 -1
  93. package/dist/tenant.js +42 -11
  94. package/dist/tenant.js.map +1 -1
  95. package/dist/token.cjs +10 -531
  96. package/dist/token.cjs.map +1 -1
  97. package/dist/token.js +2 -531
  98. package/dist/token.js.map +1 -1
  99. package/dist/transaction.cjs +4 -0
  100. package/dist/transaction.cjs.map +1 -1
  101. package/dist/transaction.js +1 -0
  102. package/dist/transaction.js.map +1 -1
  103. package/dist/user-status.cjs +6 -0
  104. package/dist/user-status.cjs.map +1 -1
  105. package/dist/user-status.js +2 -0
  106. package/dist/user-status.js.map +1 -1
  107. package/dist/user.cjs +6 -0
  108. package/dist/user.cjs.map +1 -1
  109. package/dist/user.js +2 -0
  110. package/dist/user.js.map +1 -1
  111. package/dist/web3-chain.cjs +12 -148
  112. package/dist/web3-chain.cjs.map +1 -1
  113. package/dist/web3-chain.js +7 -147
  114. package/dist/web3-chain.js.map +1 -1
  115. package/dist/web3.cjs +8 -537
  116. package/dist/web3.cjs.map +1 -1
  117. package/dist/web3.js +6 -535
  118. package/dist/web3.js.map +1 -1
  119. package/package.json +129 -129
  120. package/dist/auth-admin/api/auth-admin-api.d.ts +0 -29
  121. package/dist/auth-admin/api/auth-admin-api.d.ts.map +0 -1
  122. package/dist/auth-admin/index.d.ts +0 -27
  123. package/dist/auth-admin/index.d.ts.map +0 -1
  124. package/dist/auth-admin/services/auth-admin-service.d.ts +0 -27
  125. package/dist/auth-admin/services/auth-admin-service.d.ts.map +0 -1
  126. package/dist/auth-admin.cjs +0 -115
  127. package/dist/auth-admin.cjs.map +0 -1
  128. package/dist/auth-admin.js +0 -111
  129. package/dist/auth-admin.js.map +0 -1
  130. package/dist/core/auth/simple-auth-config.interface.d.ts +0 -15
  131. package/dist/core/auth/simple-auth-config.interface.d.ts.map +0 -1
package/dist/web3.cjs CHANGED
@@ -1,541 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var jwtDecode = require('jwt-decode');
4
- var Web3 = require('web3');
5
- var ethers = require('ethers');
3
+ var web3Chain = require('./web3-chain.cjs');
6
4
  var web3Ts = require('@explorins/web3-ts');
7
-
8
- /**
9
- * Platform-Agnostic Web3 Chain API Client
10
- *
11
- * Handles blockchain chain operations using the PERS backend.
12
- * Uses @explorins/web3-ts types for perfect framework compatibility.
13
- */
14
- class Web3ChainApi {
15
- constructor(apiClient) {
16
- this.apiClient = apiClient;
17
- this.basePath = '/chains';
18
- }
19
- // ==========================================
20
- // PUBLIC OPERATIONS
21
- // ==========================================
22
- /**
23
- * PUBLIC: Get chain data by chain ID
24
- * ✅ Returns ChainData exactly as framework expects from @explorins/web3-ts
25
- */
26
- async getChainData(chainId) {
27
- try {
28
- console.log('🔍 [Web3ChainApi] Fetching chain data for chainId:', chainId);
29
- const response = await this.apiClient.get(`${this.basePath}/${chainId}`);
30
- if (!response) {
31
- throw new Error(`No chain data received for chainId: ${chainId}`);
32
- }
33
- return response;
34
- }
35
- catch (error) {
36
- console.error('❌ [Web3ChainApi] Failed to get chain data:', {
37
- chainId,
38
- error: error instanceof Error ? error.message : String(error)
39
- });
40
- throw error;
41
- }
42
- }
43
- }
44
-
45
- const isTokenExpired = (token, margin = 60) => {
46
- // ✅ SANITIZE: Remove any words (Bearer etc) if exists and get the token
47
- const cleanToken = token.split(' ')[1] || token;
48
- // ✅ VALIDATION: Check if token is jwt
49
- if (!cleanToken || cleanToken.split('.').length !== 3) {
50
- return true; // Consider invalid tokens as expired
51
- }
52
- try {
53
- // ✅ TYPE-SAFE: Decode with proper typing
54
- const decoded = jwtDecode.jwtDecode(cleanToken);
55
- const currentTime = Math.floor(Date.now() / 1000);
56
- // ✅ CONFIGURABLE: Use provided margin (default 60 seconds)
57
- return decoded.exp < (currentTime + margin);
58
- }
59
- catch (error) {
60
- console.error('[SDK JWT Utils] Error decoding JWT token:', error);
61
- return true; // Consider unparseable tokens as expired
62
- }
63
- };
64
-
65
- class Web3ChainService {
66
- constructor(web3ChainApi, providerService) {
67
- this.web3ChainApi = web3ChainApi;
68
- this.providerService = providerService;
69
- this.web3InstanceCache = new Map();
70
- }
71
- async getWeb3ByChainId(chainId) {
72
- const cached = this.web3InstanceCache.get(chainId);
73
- // ✅ SMART CACHE: Check if cache is valid based on token expiration
74
- if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
75
- console.log(`♻️ [Web3ChainService] Using cached Web3 instance for chain ${chainId}`);
76
- return cached.web3Instance;
77
- }
78
- // ✅ CREATE WITH ERROR RECOVERY: Handle auth errors gracefully
79
- try {
80
- console.log(`🔧 [Web3ChainService] Creating new Web3 instance for chain ${chainId}`);
81
- const { web3, chainData } = await this.createWeb3Instance(chainId);
82
- // ✅ CACHE NEW INSTANCE
83
- this.web3InstanceCache.set(chainId, {
84
- web3Instance: web3,
85
- chainData: chainData,
86
- createdAt: Date.now(),
87
- chainId
88
- });
89
- return web3;
90
- }
91
- catch (error) {
92
- // ✅ AUTH ERROR RECOVERY: Clear cache and retry once
93
- if (this.isAuthError(error)) {
94
- console.warn(`🔄 [Web3ChainService] Auth error detected, clearing cache and retrying...`);
95
- this.web3InstanceCache.delete(chainId);
96
- // Retry once with fresh instance
97
- const { web3, chainData } = await this.createWeb3Instance(chainId);
98
- this.web3InstanceCache.set(chainId, {
99
- web3Instance: web3,
100
- chainData: chainData,
101
- createdAt: Date.now(),
102
- chainId
103
- });
104
- return web3;
105
- }
106
- throw error;
107
- }
108
- }
109
- async getChainDataWithCache(chainId) {
110
- const cached = this.web3InstanceCache.get(chainId);
111
- //const now = Date.now();
112
- if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
113
- console.log(`♻️ [Web3ChainService] Using cached ChainData for chain ${chainId}`);
114
- return cached.chainData;
115
- }
116
- // If not cached, fetch fresh data
117
- const chainData = await this.getChainDataById(chainId);
118
- if (!chainData) {
119
- throw new Error(`Chain data not found for chainId: ${chainId}`);
120
- }
121
- return chainData;
122
- }
123
- checkIsTokenExpired(authHeader) {
124
- // ✅ NULL CHECK: Handle undefined case
125
- if (!authHeader) {
126
- return false; // No token means no expiration (public chains)
127
- }
128
- // ✅ FUNCTION CALL: Use imported function, not method
129
- return isTokenExpired(authHeader);
130
- }
131
- async createWeb3Instance(chainId) {
132
- const chainData = await this.getChainDataById(chainId);
133
- if (!chainData) {
134
- throw new Error(`Chain data not found for chainId: ${chainId}`);
135
- }
136
- // ✅ CRITICAL CHECK: Ensure authHeader is present for private chains
137
- if (chainData.chainType === 'PRIVATE' && !chainData.authHeader) {
138
- console.error('❌ [Web3ChainService] CRITICAL: Private chain missing authHeader!');
139
- throw new Error(`Private chain ${chainId} missing authentication header`);
140
- }
141
- const web3 = await this.providerService.getWeb3(chainId, chainData.chainType || 'PUBLIC', chainData);
142
- return { web3, chainData };
143
- }
144
- // ✅ HELPER: Type-safe error checking
145
- isAuthError(error) {
146
- const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
147
- return (message.includes('unauthorized') ||
148
- message.includes('401') ||
149
- message.includes('token expired') ||
150
- message.includes('invalid token'));
151
- }
152
- async getChainDataById(chainId) {
153
- try {
154
- return await this.web3ChainApi.getChainData(chainId);
155
- }
156
- catch (error) {
157
- console.error('❌ [SDK Web3ChainService] Error getting chain data for chainId:', chainId, error);
158
- return null;
159
- }
160
- }
161
- }
162
-
163
- // ✅ REVERT: Función síncrona como el código comentado que funciona
164
- const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgentName = '', tokenRefresher) => {
165
- console.log(`🔧 [getWeb3FCD] Creating provider for chain ${chainData.chainId || 'unknown'}`);
166
- let ethersProvider;
167
- if (chainData.authHeader) {
168
- // ✅ AUTHENTICATED: For private chains
169
- const fetchRequest = new ethers.FetchRequest(chainData.rpcUrl);
170
- fetchRequest.timeout = timeout;
171
- // ✅ IMPROVED AUTH HEADER: Better handling
172
- const authValue = chainData.authHeader.startsWith('Bearer ')
173
- ? chainData.authHeader
174
- : `Bearer ${chainData.authHeader}`;
175
- fetchRequest.setHeader('Authorization', authValue);
176
- fetchRequest.setHeader('Content-Type', 'application/json');
177
- fetchRequest.setHeader('Accept', 'application/json');
178
- if (customUserAgentName) {
179
- fetchRequest.setHeader('User-Agent', customUserAgentName);
180
- }
181
- ethersProvider = new ethers.JsonRpcProvider(fetchRequest, undefined, {
182
- staticNetwork: false,
183
- polling: false,
184
- batchMaxCount: 1, // ✅ DISABLE BATCHING: Better for private chains
185
- });
186
- }
187
- else {
188
- // ✅ PUBLIC: For public chains
189
- ethersProvider = new ethers.JsonRpcProvider(chainData.rpcUrl, undefined, {
190
- staticNetwork: false,
191
- polling: false,
192
- });
193
- }
194
- console.log(`✅ [getWeb3FCD] Provider created successfully`);
195
- return {
196
- web3Provider: null,
197
- ethersProvider: ethersProvider,
198
- isAuthenticated: !!chainData.authHeader,
199
- };
200
- };
201
- // ✅ NEW: Async wrapper with retry for higher-level usage
202
- const getWeb3ProviderWithRetry = async (chainData, timeout = 15000, customUserAgentName = '', tokenRefresher, retryConfig = { maxAttempts: 3, baseDelay: 1000, maxDelay: 8000 }) => {
203
- let lastError = null;
204
- for (let attempt = 1; attempt <= retryConfig.maxAttempts; attempt++) {
205
- try {
206
- console.log(`🔄 [Web3Provider] Attempt ${attempt}/${retryConfig.maxAttempts} for chain ${chainData.chainId || 'unknown'}`);
207
- // ✅ SYNC CALL: Use the original sync function
208
- const provider = getWeb3ProviderFromChainData(chainData, timeout, customUserAgentName, tokenRefresher);
209
- await validateChainConnection(provider.ethersProvider, chainData.authHeader ? 'private' : 'public');
210
- console.log(`✅ [Web3Provider] Successfully connected on attempt ${attempt}`);
211
- return provider;
212
- }
213
- catch (error) {
214
- lastError = error instanceof Error ? error : new Error(String(error));
215
- console.warn(`⚠️ [Web3Provider] Attempt ${attempt} failed:`, lastError.message);
216
- // ✅ NO RETRY: if auth error, no retry
217
- if (isAuthError(lastError) && chainData.authHeader) {
218
- console.error(`❌ [Web3Provider] Auth error, stopping retries`);
219
- break;
220
- }
221
- if (attempt === retryConfig.maxAttempts)
222
- break;
223
- const delay = Math.min(retryConfig.baseDelay * Math.pow(2, attempt - 1), retryConfig.maxDelay);
224
- console.log(`⏳ [Web3Provider] Retrying in ${delay}ms...`);
225
- await sleep(delay);
226
- }
227
- }
228
- throw new Error(`Failed to create Web3 provider after ${retryConfig.maxAttempts} attempts. Last error: ${lastError?.message}`);
229
- };
230
- async function validateChainConnection(provider, chainType) {
231
- try {
232
- console.log(`🔍 [Validation] Testing ${chainType} chain connection...`);
233
- // ✅ LIGHTWEIGHT TEST: Use eth_chainId (works for both public and private)
234
- const timeoutPromise = new Promise((_, reject) => {
235
- setTimeout(() => reject(new Error(`${chainType} chain validation timeout`)), 3000);
236
- });
237
- // Try chainId first (fast, lightweight, universal)
238
- const chainIdPromise = provider.send('eth_chainId', []);
239
- const result = await Promise.race([chainIdPromise, timeoutPromise]);
240
- console.log(`✅ [Validation] ${chainType} chain connection validated - Chain ID: ${result}`);
241
- }
242
- catch (error) {
243
- // ✅ FALLBACK: Try net_version if chainId fails
244
- try {
245
- console.log(`🔄 [Validation] Trying fallback validation for ${chainType} chain...`);
246
- const timeoutPromise = new Promise((_, reject) => {
247
- setTimeout(() => reject(new Error(`${chainType} chain fallback validation timeout`)), 3000);
248
- });
249
- const versionPromise = provider.send('net_version', []);
250
- const result = await Promise.race([versionPromise, timeoutPromise]);
251
- console.log(`✅ [Validation] ${chainType} chain connection validated via fallback - Network Version: ${result}`);
252
- }
253
- catch (fallbackError) {
254
- throw new Error(`${chainType} chain validation failed: ${error instanceof Error ? error.message : String(error)}`);
255
- }
256
- }
257
- }
258
- // ✅ HELPER: Auth error detection
259
- function isAuthError(error) {
260
- const message = error.message.toLowerCase();
261
- return (message.includes('unauthorized') ||
262
- message.includes('401') ||
263
- message.includes('token expired') ||
264
- message.includes('-40100'));
265
- }
266
- // ✅ HELPER: Sleep utility
267
- function sleep(ms) {
268
- return new Promise(resolve => setTimeout(resolve, ms));
269
- }
270
- /*
271
- //IMPORTANT//
272
- //This function is temporary so we install ethers just to make it work, once we delete this function we must uninstall Ethers
273
-
274
- import { ChainData } from "@explorins/web3-ts";
275
- import { FetchRequest, JsonRpcProvider } from "ethers";
276
-
277
- export const getWeb3ProviderFromChainData = (
278
- chainData: ChainData,
279
- timeout = 15000,
280
- customUserAgentName = '',
281
- tokenRefresher?: () => Promise<string>
282
- ) => {
283
-
284
- // Fixed ethers provider setup for authenticated requests
285
- let ethersProvider: JsonRpcProvider;
286
-
287
- if (chainData.authHeader) {
288
- // For authenticated requests, create a custom FetchRequest
289
- const fetchRequest = new FetchRequest(chainData.rpcUrl);
290
- fetchRequest.timeout = timeout;
291
- fetchRequest.setHeader('Authorization', chainData.authHeader);
292
- fetchRequest.setHeader('Content-Type', 'application/json');
293
-
294
- if (customUserAgentName) {
295
- fetchRequest.setHeader('User-Agent', customUserAgentName);
296
- }
297
-
298
- // Create provider with the configured FetchRequest
299
- ethersProvider = new JsonRpcProvider(fetchRequest, undefined, {
300
- staticNetwork: false,
301
- polling: false, // Disable polling for better Lambda performance
302
- });
303
- } else {
304
- // For public chains, use simple URL-based provider
305
- ethersProvider = new JsonRpcProvider(chainData.rpcUrl, undefined, {
306
- staticNetwork: false,
307
- polling: false,
308
- });
309
- }
310
-
311
- return {
312
- web3Provider: null,
313
- ethersProvider: ethersProvider,
314
- isAuthenticated: !!chainData.authHeader,
315
- };
316
- }; */
317
-
318
- class Web3ProviderService {
319
- constructor() {
320
- this._web3 = null;
321
- this._currentChainId = null;
322
- this._creationPromise = null;
323
- }
324
- async getWeb3(chainId, chainType, chainData) {
325
- // ✅ EARLY RETURN: Reuse existing provider
326
- if (this._web3 && this._currentChainId === chainId) {
327
- return this._web3;
328
- }
329
- // ✅ PREVENT RACE CONDITION: Wait for ongoing creation
330
- if (this._creationPromise) {
331
- return await this._creationPromise;
332
- }
333
- if (!chainId)
334
- throw new Error('ChainId not found');
335
- if (!chainData)
336
- throw new Error('ChainData not found');
337
- // ✅ CREATE AND CACHE: Single promise for concurrent calls
338
- this._creationPromise = this.createProvider(chainId, chainType, chainData);
339
- try {
340
- const web3Instance = await this._creationPromise;
341
- this._web3 = web3Instance;
342
- this._currentChainId = chainId;
343
- return web3Instance;
344
- }
345
- finally {
346
- // ✅ CLEANUP: Always reset promise after completion
347
- this._creationPromise = null;
348
- }
349
- }
350
- async createProvider(chainId, chainType, chainData) {
351
- const provider = await getWeb3ProviderWithRetry(chainData);
352
- return this.convertToWeb3(provider);
353
- }
354
- convertToWeb3(provider) {
355
- if (provider instanceof Web3) {
356
- return provider;
357
- }
358
- if (provider && typeof provider === 'object' && 'web3Provider' in provider) {
359
- const providerObj = provider;
360
- // If we want to user the web3Provider directly:
361
- /*if (providerObj.web3Provider) {
362
- return new Web3(providerObj.web3Provider as never);
363
- }*/
364
- if (providerObj.ethersProvider) {
365
- const url = this.extractUrlFromEthersProvider(providerObj.ethersProvider);
366
- const headers = this.extractHeadersFromEthersProvider(providerObj.ethersProvider);
367
- const web3 = new Web3(url);
368
- const currentProvider = web3.currentProvider;
369
- if (currentProvider) {
370
- currentProvider['url'] = url;
371
- if (headers && Object.keys(headers).length > 0) {
372
- currentProvider['request'] = async (payload) => {
373
- const response = await fetch(url, {
374
- method: 'POST',
375
- headers: {
376
- 'Content-Type': 'application/json',
377
- ...headers
378
- },
379
- body: JSON.stringify(payload)
380
- });
381
- if (!response.ok) {
382
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
383
- }
384
- return await response.json();
385
- };
386
- }
387
- }
388
- return web3;
389
- }
390
- }
391
- return new Web3(provider);
392
- }
393
- extractUrlFromEthersProvider(ethersProvider) {
394
- return ethersProvider.connection?.url ||
395
- ethersProvider._getConnection?.()?.url ||
396
- ethersProvider.url ||
397
- '';
398
- }
399
- extractHeadersFromEthersProvider(ethersProvider) {
400
- return ethersProvider.connection?.headers ||
401
- ethersProvider._getConnection?.()?.headers ||
402
- {};
403
- }
404
- }
405
- /* import Web3 from "web3";
406
- import { ChainData, ChainType, ChainTypes } from "@explorins/web3-ts";
407
- import { PublicHttpProviderService } from "./public-http-provider.service";
408
- import { getWeb3ProviderFromChainData } from "./getWeb3FCD.service";
409
-
410
-
411
- export class Web3ProviderService {
412
-
413
- private _web3: Web3 | null = null;
414
- private _currentChainId: number | null = null;
415
-
416
- constructor(
417
- private readonly publicHttpProviderService: PublicHttpProviderService,
418
- ) {
419
- }
420
-
421
- public async getWeb3(chainId: number, chainType: ChainType, privateChainData: ChainData | null = null) {
422
- if (!this._web3 || this._currentChainId !== chainId) {
423
-
424
- if(!chainId) throw new Error('ChainId not found')
425
-
426
- try {
427
- this._currentChainId = chainId;
428
- const provider = await this.getWeb3ByChainId(chainId, chainType, privateChainData);
429
- this._web3 = this.convertToWeb3(provider);
430
- } catch (error) {
431
- console.error('Error getting web3 connection from chain id ' + chainId , error)
432
- throw new Error('Error getting web3 connection from chain id ' + chainId)
433
- }
434
- }
435
- return this._web3 as Web3;
436
- }
437
-
438
- // Keep return type as 'any' to avoid TypeScript errors while still being adapted later
439
- private getWeb3ByChainId(chainId: number, chainType: ChainType, privateChainData: ChainData | null = null): any {
440
- // Rest of the method remains the same
441
- if(chainType === ChainTypes.PRIVATE && privateChainData) {
442
- //const privateProvider = this.privateChainProviderService.getProviderFromChainData(privateChainData)
443
- const privateProvider = getWeb3ProviderFromChainData(privateChainData);
444
-
445
- if(!privateProvider || privateProvider instanceof Error) throw new Error('Error getting web3 provider');
446
-
447
-
448
- return privateProvider;
449
-
450
- } else {
451
-
452
- const publicProvider = this.publicHttpProviderService.getProvider(chainId)
453
- if(!publicProvider || publicProvider instanceof Error) throw new Error('Error getting web3 provider');
454
-
455
- return publicProvider;
456
- }
457
- }
458
-
459
- private convertToWeb3(provider: unknown): Web3 {
460
- if (provider instanceof Web3) {
461
- return provider as Web3;
462
- }
463
-
464
- if (provider && typeof provider === 'object' && 'web3Provider' in provider) {
465
- const providerObj = provider as {
466
- web3Provider?: unknown;
467
- ethersProvider?: any;
468
- isAuthenticated?: boolean;
469
- };
470
-
471
- // If we want to user the web3Provider directly:
472
- /*if (providerObj.web3Provider) {
473
- return new Web3(providerObj.web3Provider as never);
474
- }*/
475
- /*if (providerObj.ethersProvider) {
476
-
477
- const url = this.extractUrlFromEthersProvider(providerObj.ethersProvider);
478
- const headers = this.extractHeadersFromEthersProvider(providerObj.ethersProvider);
479
-
480
- const web3 = new Web3(url);
481
- const currentProvider = web3.currentProvider as unknown as Record<string, unknown>;
482
-
483
- if (currentProvider) {
484
- currentProvider['url'] = url;
485
-
486
- if (headers && Object.keys(headers).length > 0) {
487
- currentProvider['request'] = async (payload: Record<string, unknown>): Promise<Record<string, unknown>> => {
488
- const response = await fetch(url, {
489
- method: 'POST',
490
- headers: {
491
- 'Content-Type': 'application/json',
492
- ...headers
493
- },
494
- body: JSON.stringify(payload)
495
- });
496
-
497
- if (!response.ok) {
498
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
499
- }
500
-
501
- return await response.json() as Record<string, unknown>;
502
- };
503
- }
504
- }
505
-
506
- return web3;
507
- }
508
- }
509
-
510
- return new Web3(provider as never);
511
- }
512
-
513
-
514
- private extractUrlFromEthersProvider(ethersProvider: any): string {
515
- return ethersProvider.connection?.url ||
516
- ethersProvider._getConnection?.()?.url ||
517
- ethersProvider.url ||
518
- '';
519
- }
520
-
521
- private extractHeadersFromEthersProvider(ethersProvider: any): Record<string, string> {
522
- return ethersProvider.connection?.headers ||
523
- ethersProvider._getConnection?.()?.headers ||
524
- {};
525
- }
526
- } */
527
-
528
- function createWeb3ChainSDK(apiClient, providerService) {
529
- const web3ChainApi = new Web3ChainApi(apiClient);
530
- const web3ChainService = new Web3ChainService(web3ChainApi, providerService); // ✅ DIRECT INJECTION
531
- return {
532
- // ✅ REPLICA: Same methods as framework
533
- getChainDataById: (chainId) => web3ChainService.getChainDataById(chainId),
534
- getWeb3ByChainId: (chainId) => web3ChainService.getWeb3ByChainId(chainId),
535
- api: web3ChainApi,
536
- service: web3ChainService
537
- };
538
- }
5
+ require('./chunks/jwt.function-BYiyl-z_.cjs');
6
+ require('jwt-decode');
7
+ require('web3');
8
+ require('ethers');
9
+ require('@explorins/pers-shared');
539
10
 
540
11
  /**
541
12
  * TokenDomainService - Domain service for token operations
@@ -1033,8 +504,8 @@ class IPFSInfrastructureApi {
1033
504
 
1034
505
  function createWeb3SDK(apiClient) {
1035
506
  // TODO: FIX LATER - TEMPORARY CONSTRUCTION
1036
- const web3ProviderService = new Web3ProviderService();
1037
- const web3ChainSDK = createWeb3ChainSDK(apiClient, web3ProviderService);
507
+ const web3ProviderService = new web3Chain.Web3ProviderService();
508
+ const web3ChainSDK = web3Chain.createWeb3ChainSDK(apiClient, web3ProviderService);
1038
509
  // Create Web3ApplicationService - main entry point for all Web3 operations
1039
510
  const web3InfrastructureApi = new Web3InfrastructureApi(web3ChainSDK.service);
1040
511
  const ipfsInfrastructureApi = new IPFSInfrastructureApi(web3ChainSDK.service);
package/dist/web3.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web3.cjs","sources":["../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/domain/services/token-domain.service.ts","../src/web3/domain/services/metadata-domain.service.ts","../src/web3/domain/services/contract-domain.service.ts","../src/web3/application/web3-application.service.ts","../src/web3/infrastructure/api/web3-api.ts","../src/web3/infrastructure/api/ipfs-api.ts","../src/web3/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["jwtDecode","FetchRequest","JsonRpcProvider","getSmartContractInstance","getAccountTokenBalance","getTokenUri","getTokenOfOwnerByIndex"],"mappings":"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"}
1
+ {"version":3,"file":"web3.cjs","sources":["../src/web3/domain/services/token-domain.service.ts","../src/web3/domain/services/metadata-domain.service.ts","../src/web3/domain/services/contract-domain.service.ts","../src/web3/application/web3-application.service.ts","../src/web3/infrastructure/api/web3-api.ts","../src/web3/infrastructure/api/ipfs-api.ts","../src/web3/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["getSmartContractInstance","getAccountTokenBalance","getTokenUri","getTokenOfOwnerByIndex","Web3ProviderService","createWeb3ChainSDK"],"mappings":";;;;;;;;;;AAMA;;;AAGG;MACU,kBAAkB,CAAA;AAE7B,IAAA,WAAA,CACU,OAA8B,EAC9B,eAAsC,EACtC,eAAsC,EAAA;QAFtC,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,eAAe,GAAf,eAAe;IACtB;IAEH,MAAM,eAAe,CAAC,OAAsH,EAAA;QAC1I,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YACjD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC;AAClB,SAAA,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;YACP,UAAU,EAAE,OAAO,GAAG,CAAC;AACvB,YAAA,QAAQ,EAAE;SACX;IACH;IAEA,MAAM,oBAAoB,CAAC,MAM1B,EAAA;AACC,QAAA,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBACjD,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC;AACjB,aAAA,CAAC;YAEF,IAAI,QAAQ,GAAyB,IAAI;AACzC,YAAA,IAAI,OAAO,GAAG,CAAC,EAAE;gBACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBAC9C,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC;AACjB,iBAAA,CAAC;gBAEF,IAAI,QAAQ,EAAE;AACZ,oBAAA,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;gBACzF;YACF;YAEA,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO;gBACP,UAAU,EAAE,OAAO,GAAG,CAAC;gBACvB;aACD;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC;YAC1D,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;AACvB,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,QAAQ,EAAE;aACX;QACH;IACF;IAEA,MAAM,kBAAkB,CAAC,MAOxB,EAAA;AACC,QAAA,IAAI;AACA,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;YACzE,MAAM,MAAM,GAAmB,EAAE;YAEnC,IAAI,CAAC,gBAAgB,CAAC,cAAc,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;AACnE,gBAAA,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC;gBACtF,OAAO;oBACL,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;AACvC,oBAAA,YAAY,EAAE,CAAC;AACf,oBAAA,eAAe,EAAE,CAAC;AAClB,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,IAAI,EAAE;iBACP;YACH;AAAO,iBAAA,IAAI,gBAAgB,CAAC,SAAS,EAAE;AAErC,gBAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE;AAE/C,gBAAA,IAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAC;AAC5B,oBAAA,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE;AACrC,wBAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;4BACnD,cAAc,EAAE,MAAM,CAAC,cAAc;4BACnC,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,OAAO;4BACP,OAAO,EAAE,MAAM,CAAC;AACnB,yBAAA,CAAC;AACF,wBAAA,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC7B;gBACJ;AACA,gBAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC;;;AAI9C,gBAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC;gBAC3F,OAAO;oBACL,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;AACvC,oBAAA,YAAY,EAAE,CAAC;AACf,oBAAA,eAAe,EAAE,CAAC;AAClB,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,IAAI,EAAE;iBACP;YACL;;AAKE,YAAA,IAAI,gBAAgB,CAAC,QAAQ,EAAE;;gBAE7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;oBACrD,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,MAAM,CAAC;AACjB,iBAAA,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,CAAA,yBAAA,EAA4B,MAAM,CAAC,cAAc,CAAA,CAAA,CAAG,EAAE,WAAW,CAAC;AAE9E,gBAAA,IAAI,WAAW,KAAK,CAAC,EAAE;oBACrB,OAAO;wBACL,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;AACvC,wBAAA,YAAY,EAAE,CAAC;AACf,wBAAA,eAAe,EAAE,CAAC;AAClB,wBAAA,MAAM,EAAE;qBACT;gBACH;;AAGA,gBAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW;gBACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC;AAEzD,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;AACzC,oBAAA,IAAI;wBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;4BACxD,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,cAAc,EAAE,MAAM,CAAC,cAAc;AACrC,4BAAA,UAAU,EAAE,CAAC;4BACb,OAAO,EAAE,MAAM,CAAC;AACjB,yBAAA,CAAC;AAEF,wBAAA,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;4BACxD,cAAc,EAAE,MAAM,CAAC,cAAc;4BACrC,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,OAAO;4BACP,OAAO,EAAE,MAAM,CAAC;AACjB,yBAAA,CAAC;AAEF,wBAAA,IAAI,iBAAiB,CAAC,UAAU,EAAE;AAChC,4BAAA,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;wBAChC;oBACF;oBAAE,OAAO,KAAK,EAAE;wBACd,OAAO,CAAC,IAAI,CAAC,CAAA,wCAAA,EAA2C,CAAC,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;wBACpE;oBACF;gBACF;YACF;iBAAO;;gBAEL,OAAO;oBACL,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;AACvC,oBAAA,YAAY,EAAE,CAAC;AACf,oBAAA,eAAe,EAAE,CAAC;AAClB,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,IAAI,EAAE;iBACP;YACH;;YAGA,IAAI,YAAY,GAAG,CAAC;AACpB,YAAA,IAAI,gBAAgB,CAAC,QAAQ,EAAE;;AAE7B,gBAAA,YAAY,GAAG,MAAM,CAAC,MAAM;YAC9B;iBAAO;;gBAEL,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE;YAEA,OAAO;gBACL,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,YAAY;gBACZ,eAAe,EAAE,MAAM,CAAC,MAAM;gBAC9B;aACD;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;YACvD,OAAO;gBACL,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,eAAe,EAAE,MAAM,CAAC,eAAe;AACvC,gBAAA,YAAY,EAAE,CAAC;AACf,gBAAA,eAAe,EAAE,CAAC;AAClB,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,IAAI,EAAE;aACP;QACH;IACF;IAEA,MAAM,gBAAgB,CAAC,MAKtB,EAAA;AAKC,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9C,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC;AACjB,aAAA,CAAC;YAEF,IAAI,QAAQ,GAAyB,IAAI;YACzC,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;YACzF;YAEA,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ;gBACR;aACD;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE;aACX;QACH;IACF;AACD;;AC1QD;;AAEG;MACU,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,OAA8B,EAAA;QAA9B,IAAA,CAAA,OAAO,GAAP,OAAO;IAA0B;AAErD,IAAA,MAAM,uBAAuB,CAAC,QAAgB,EAAE,OAAe,EAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChE;AAEA,IAAA,MAAM,cAAc,CAAC,GAAW,EAAE,OAAe,EAAA;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;IAClD;AACD;;ACfD;;AAEG;MACU,qBAAqB,CAAA;AAChC,IAAA,WAAA,GAAA,EAAe;AAEf,IAAA,eAAe,CAAC,GAAgB,EAAA;QAU9B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,IAAK,IAAY,CAAC,IAAI,CAAC;;QAG5F,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChD,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,UAAU,IAAI,WAAW,IAAI,eAAe;;QAG7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5D,MAAM,wBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtC,QAAA,MAAM,SAAS,GAAG,iBAAiB,IAAI,wBAAwB,IAAI,MAAM;QAEzE,OAAO;AACL,YAAA,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnF,UAAU;AACV,YAAA,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3C,WAAW;AACX,YAAA,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC7E,YAAA,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvC,QAAQ;YACR;SACD;IACH;AAEA,IAAA,mBAAmB,CAAC,GAAgB,EAAA;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc;IACjD;IAEA,cAAc,CAAC,GAAgB,EAAE,UAAkB,EAAA;QACjD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,IAAK,IAAY,CAAC,IAAI,CAAC;AAC5F,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IACrC;AACD;;AClBD;;;;AAIG;MACU,sBAAsB,CAAA;IAKjC,WAAA,CACE,OAA8B,EAC9B,OAA8B,EAAA;;AAgEf,QAAA,IAAA,CAAA,cAAc,GAAmB;AAChD,YAAA,eAAe,EAAE,CAAC,WAAW,MAAM;AACjC,gBAAA,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;AAC5B,gBAAA,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;AAC1C,gBAAA,QAAQ,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;gBACjC,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,YAAY,EAAE,WAAW,CAAC,aAAa;gBACvC,qBAAqB,EAAE,SAAS;AAChC,gBAAA,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;AACxC,gBAAA,GAAG;aACJ,CAAC;AAEF,YAAA,aAAa,EAAE,CAAC,QAAQ,MAAM;gBAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,KAAK,EAAE,QAAQ,CAAC,QAAQ;gBACxB,aAAa,EAAE,QAAQ,CAAC,YAAY;gBACpC,YAAY,EAAE,QAAQ,CAAC,WAAW;gBAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;AAC/B,gBAAA,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KACpC,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACzH;aAEJ;SACF;;AAtFC,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,EAAE;QACxD,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC;AAC/D,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAC9C,OAAO,EACP,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,CAC3B;IACH;AAEA;;AAEG;IACH,MAAM,uBAAuB,CAAC,OAA4B,EAAA;AACxD,QAAA,IAAG,CAAC,OAAO,CAAC,OAAO,EAAC;AAChB,YAAA,OAAQ,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC;AAC5C,gBAAA,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;gBAC5C,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,GAAG,EAAE,OAAO,CAAC,GAAG;AAChB,gBAAA,OAAO,EAAG,EAAE;gBACZ,OAAO,EAAE,OAAO,CAAC;AACpB,aAAA,CAAC;QACN;AAEA,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;AAClD,YAAA,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,GAAG,EAAE,OAAO,CAAC,GAAG;AAChB,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,OAAO,EAAE,OAAO,CAAC;AAClB,SAAA,CAAC;IACJ;AAEA;;AAEG;IACH,MAAM,gBAAgB,CAAC,OAA4B,EAAA;QACjD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClE,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,GAAG,EAAE,OAAO,CAAC,GAAG;AAChB,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,OAAO,EAAE,OAAO,CAAC;AAClB,SAAA,CAAC;QAEF,OAAO,YAAY,CAAC,QAAQ;IAC9B;AAEA;;AAEG;IACH,MAAM,kBAAkB,CAAC,OAA+B,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;AAChD,YAAA,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC;AACnB,SAAA,CAAC;IACJ;AA8BA;;AAEG;AACH,IAAA,MAAM,cAAc,CAAC,GAAW,EAAE,OAAe,EAAA;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;IAChE;AAEA;;AAEG;AACH,IAAA,MAAM,uBAAuB,CAAC,QAAgB,EAAE,OAAe,EAAA;AAC7D,QAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAClG,QAAA,IAAI,CAAC,cAAc;AAAE,YAAA,OAAO,IAAI;;QAGhC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC;;QAGzE,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;YACrD,OAAO;AACL,gBAAA,GAAG,aAAa;gBAChB,qBAAqB,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO;aACrF;QACH;AAEA,QAAA,OAAO,aAAa;IACtB;AACD;;ACzJD;;;AAGG;MACU,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IAAqB;IAEzD,MAAM,eAAe,CAAC,OAMrB,EAAA;AACC,QAAA,IAAI;AACF,YAAA,IAAG,OAAO,CAAC,OAAO,KAAK,IAAI;gBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;AAEzE,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1E,YAAA,MAAM,QAAQ,GAAGA,+BAAwB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;AACrF,YAAA,OAAO,MAAMC,6BAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC;QACxF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,CAAC,cAAc,CAAA,KAAA,EAAQ,OAAO,CAAC,eAAe,CAAA,aAAA,EAAgB,OAAO,CAAC,OAAO,qBAAqB,EAAE,KAAK,CAAC;AAClK,YAAA,OAAO,CAAC;QACV;IACF;IAEA,MAAM,WAAW,CAAC,OAKjB,EAAA;AACC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1E,YAAA,MAAM,QAAQ,GAAGD,+BAAwB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;YACrF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAME,kBAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;AAErD,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB;QAAE,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,CAAA,oCAAA,EAAuC,OAAO,CAAC,OAAO,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;AAC/E,YAAA,MAAM,KAAK;QACb;IACF;IAEA,MAAM,sBAAsB,CAAC,OAM5B,EAAA;AACC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;AAC1E,YAAA,MAAM,aAAa,GAAGF,+BAAwB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;AAC1F,YAAA,MAAM,OAAO,GAAG,MAAMG,6BAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC;AAEvG,YAAA,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,6BAAA,EAAgC,OAAO,CAAC,UAAU,CAAA,KAAA,EAAQ,OAAO,CAAC,cAAc,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;AACzG,YAAA,MAAM,KAAK;QACb;IACF;AACD;;ACxED;;;AAGG;MACU,qBAAqB,CAAA;AAGhC,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAFnB,IAAA,CAAA,wBAAwB,GAAG,qBAAqB;IAER;IAEzD,MAAM,oBAAoB,CAAC,OAAe,EAAA;AACxC,QAAA,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAC5E,YAAA,OAAO,SAAS,CAAC,iBAAiB,IAAI,IAAI,CAAC,wBAAwB;QACrE;QAAE,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,CAAA,qCAAA,EAAwC,OAAO,CAAA,6BAAA,CAA+B,EAAE,KAAK,CAAC;YACnG,OAAO,IAAI,CAAC,wBAAwB;QACtC;IACF;AAEA,IAAA,MAAM,cAAc,CAAC,GAAW,EAAE,OAAe,EAAA;AAC/C,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;YACxD,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA,QAAA,EAAW,OAAO,CAAA,MAAA,CAAQ,CAAC;QAC3D;AACA,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,MAAM,uBAAuB,CAAC,QAAgB,EAAE,OAAe,EAAA;AAC7D,QAAA,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;AAChE,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;AACzC,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,CAAA,oBAAA,EAAuB,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;YAC3D;AAEA,YAAA,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;;YAGtC,OAAO;AACL,gBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;AACzB,gBAAA,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;gBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE;AAC/E,gBAAA,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;gBACrC,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,SAAS;AAC9G,gBAAA,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI;aACxC;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC;AAChD,YAAA,OAAO,IAAI;QACb;IACF;IAEA,MAAM,YAAY,CAAC,GAAW,EAAA;AAC5B,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;AAEjC,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,CAAA,qBAAA,EAAwB,GAAG,CAAA,EAAA,EAAK,QAAQ,CAAC,UAAU,CAAA,CAAE,CAAC;YACxE;AAEA,YAAA,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE;QAC9B;QAAE,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,CAAA,wBAAA,EAA2B,GAAG,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;AACD;;ACrDK,SAAU,aAAa,CAC3B,SAAwB,EAAA;;AAGxB,IAAA,MAAM,mBAAmB,GAAG,IAAIC,6BAAmB,EAAE;IACrD,MAAM,YAAY,GAAGC,4BAAkB,CAAC,SAAS,EAAE,mBAAmB,CAAC;;IAGvE,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC;IAC7E,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC;IAC7E,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;;IAGvG,OAAO;QACL,eAAe,EAAE,CAAC,OAA4B,KAC5C,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,CAAC;QAEzD,gBAAgB,EAAE,CAAC,OAA4B,KAC7C,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAElD,kBAAkB,EAAE,CAAC,OAA4B,KAC/C,sBAAsB,CAAC,kBAAkB,CAAC,OAAO,CAAC;AAEpD,QAAA,cAAc,EAAE,CAAC,GAAW,EAAE,OAAe,KAC3C,sBAAsB,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;AAErD,QAAA,uBAAuB,EAAE,CAAC,QAAgB,EAAE,OAAe,KACzD,sBAAsB,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAEnE,QAAA,kBAAkB,EAAE;KACrB;AACH;;;;;;;"}