@explorins/pers-sdk 1.1.2 → 1.2.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 (276) hide show
  1. package/dist/analytics/api/analytics-api.d.ts +17 -0
  2. package/dist/analytics/api/analytics-api.d.ts.map +1 -0
  3. package/{src/analytics/index.ts → dist/analytics/index.d.ts} +28 -52
  4. package/dist/analytics/index.d.ts.map +1 -0
  5. package/dist/analytics/models/index.d.ts +61 -0
  6. package/dist/analytics/models/index.d.ts.map +1 -0
  7. package/dist/analytics/services/analytics-service.d.ts +19 -0
  8. package/dist/analytics/services/analytics-service.d.ts.map +1 -0
  9. package/dist/analytics.cjs +76 -0
  10. package/dist/analytics.cjs.map +1 -0
  11. package/dist/analytics.js +72 -0
  12. package/dist/analytics.js.map +1 -0
  13. package/dist/auth-admin/api/auth-admin-api.d.ts +27 -0
  14. package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -0
  15. package/dist/auth-admin/index.d.ts +26 -0
  16. package/dist/auth-admin/index.d.ts.map +1 -0
  17. package/dist/auth-admin/services/auth-admin-service.d.ts +23 -0
  18. package/dist/auth-admin/services/auth-admin-service.d.ts.map +1 -0
  19. package/dist/auth-admin.cjs +96 -0
  20. package/dist/auth-admin.cjs.map +1 -0
  21. package/dist/auth-admin.js +92 -0
  22. package/dist/auth-admin.js.map +1 -0
  23. package/dist/business/api/business-api.d.ts +133 -0
  24. package/dist/business/api/business-api.d.ts.map +1 -0
  25. package/dist/business/index.d.ts +34 -0
  26. package/dist/business/index.d.ts.map +1 -0
  27. package/dist/business/models/index.d.ts +8 -0
  28. package/dist/business/models/index.d.ts.map +1 -0
  29. package/dist/business/services/business-service.d.ts +51 -0
  30. package/dist/business/services/business-service.d.ts.map +1 -0
  31. package/dist/business.cjs +303 -0
  32. package/dist/business.cjs.map +1 -0
  33. package/dist/business.js +299 -0
  34. package/dist/business.js.map +1 -0
  35. package/dist/campaign/api/campaign-api.d.ts +213 -0
  36. package/dist/campaign/api/campaign-api.d.ts.map +1 -0
  37. package/dist/campaign/index.d.ts +44 -0
  38. package/dist/campaign/index.d.ts.map +1 -0
  39. package/dist/campaign/services/campaign-service.d.ts +88 -0
  40. package/dist/campaign/services/campaign-service.d.ts.map +1 -0
  41. package/dist/campaign.cjs +506 -0
  42. package/dist/campaign.cjs.map +1 -0
  43. package/dist/campaign.js +502 -0
  44. package/dist/campaign.js.map +1 -0
  45. package/dist/core/abstractions/http-client.d.ts +22 -0
  46. package/dist/core/abstractions/http-client.d.ts.map +1 -0
  47. package/dist/core/auth/auth-provider.interface.d.ts +12 -0
  48. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -0
  49. package/dist/core/auth/create-auth-provider.d.ts +27 -0
  50. package/dist/core/auth/create-auth-provider.d.ts.map +1 -0
  51. package/dist/core/auth/simple-auth-config.interface.d.ts +15 -0
  52. package/dist/core/auth/simple-auth-config.interface.d.ts.map +1 -0
  53. package/dist/core/index.d.ts +13 -0
  54. package/dist/core/index.d.ts.map +1 -0
  55. package/dist/core/pers-api-client.d.ts +54 -0
  56. package/dist/core/pers-api-client.d.ts.map +1 -0
  57. package/dist/core/pers-config.d.ts +38 -0
  58. package/dist/core/pers-config.d.ts.map +1 -0
  59. package/dist/core/utils/jwt.function.d.ts +2 -0
  60. package/dist/core/utils/jwt.function.d.ts.map +1 -0
  61. package/dist/core.cjs +506 -0
  62. package/dist/core.cjs.map +1 -0
  63. package/dist/core.js +497 -0
  64. package/dist/core.js.map +1 -0
  65. package/dist/donation/api/donation-api.d.ts +18 -0
  66. package/dist/donation/api/donation-api.d.ts.map +1 -0
  67. package/dist/donation/index.d.ts +25 -0
  68. package/dist/donation/index.d.ts.map +1 -0
  69. package/{src/donation/models/index.ts → dist/donation/models/index.d.ts} +8 -11
  70. package/dist/donation/models/index.d.ts.map +1 -0
  71. package/dist/donation/services/donation-service.d.ts +19 -0
  72. package/dist/donation/services/donation-service.d.ts.map +1 -0
  73. package/dist/donation.cjs +78 -0
  74. package/dist/donation.cjs.map +1 -0
  75. package/dist/donation.js +74 -0
  76. package/dist/donation.js.map +1 -0
  77. package/dist/index.cjs +4217 -0
  78. package/dist/index.cjs.map +1 -0
  79. package/dist/index.d.ts +21 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +4164 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/package.json +129 -0
  84. package/dist/payment/api/payment-api.d.ts +105 -0
  85. package/dist/payment/api/payment-api.d.ts.map +1 -0
  86. package/dist/payment/index.d.ts +36 -0
  87. package/dist/payment/index.d.ts.map +1 -0
  88. package/dist/payment/models/index.d.ts +12 -0
  89. package/dist/payment/models/index.d.ts.map +1 -0
  90. package/dist/payment/services/payment-service.d.ts +40 -0
  91. package/dist/payment/services/payment-service.d.ts.map +1 -0
  92. package/dist/payment.cjs +258 -0
  93. package/dist/payment.cjs.map +1 -0
  94. package/dist/payment.js +254 -0
  95. package/dist/payment.js.map +1 -0
  96. package/dist/pers-sdk.d.ts +29 -0
  97. package/dist/pers-sdk.d.ts.map +1 -0
  98. package/dist/redemption/api/redemption-api.d.ts +147 -0
  99. package/dist/redemption/api/redemption-api.d.ts.map +1 -0
  100. package/dist/redemption/index.d.ts +35 -0
  101. package/dist/redemption/index.d.ts.map +1 -0
  102. package/dist/redemption/models/index.d.ts +8 -0
  103. package/dist/redemption/models/index.d.ts.map +1 -0
  104. package/dist/redemption/services/redemption-service.d.ts +56 -0
  105. package/dist/redemption/services/redemption-service.d.ts.map +1 -0
  106. package/dist/redemption.cjs +333 -0
  107. package/dist/redemption.cjs.map +1 -0
  108. package/dist/redemption.js +329 -0
  109. package/dist/redemption.js.map +1 -0
  110. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +18 -0
  111. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -0
  112. package/dist/tenant/api/tenant-api.d.ts +56 -0
  113. package/dist/tenant/api/tenant-api.d.ts.map +1 -0
  114. package/dist/tenant/index.d.ts +34 -0
  115. package/dist/tenant/index.d.ts.map +1 -0
  116. package/dist/tenant/models/index.d.ts +11 -0
  117. package/dist/tenant/models/index.d.ts.map +1 -0
  118. package/dist/tenant/services/tenant-service.d.ts +46 -0
  119. package/dist/tenant/services/tenant-service.d.ts.map +1 -0
  120. package/dist/tenant.cjs +177 -0
  121. package/dist/tenant.cjs.map +1 -0
  122. package/dist/tenant.js +173 -0
  123. package/dist/tenant.js.map +1 -0
  124. package/dist/token/api/token-api.d.ts +64 -0
  125. package/dist/token/api/token-api.d.ts.map +1 -0
  126. package/dist/token/base/base-token-service.d.ts +87 -0
  127. package/dist/token/base/base-token-service.d.ts.map +1 -0
  128. package/dist/token/index.d.ts +13 -0
  129. package/dist/token/index.d.ts.map +1 -0
  130. package/dist/token/models/index.d.ts +18 -0
  131. package/dist/token/models/index.d.ts.map +1 -0
  132. package/dist/token/services/token-service.d.ts +68 -0
  133. package/dist/token/services/token-service.d.ts.map +1 -0
  134. package/dist/token/token-sdk.d.ts +140 -0
  135. package/dist/token/token-sdk.d.ts.map +1 -0
  136. package/dist/token.cjs +537 -0
  137. package/dist/token.cjs.map +1 -0
  138. package/dist/token.js +532 -0
  139. package/dist/token.js.map +1 -0
  140. package/dist/transaction/api/transaction-api.d.ts +133 -0
  141. package/dist/transaction/api/transaction-api.d.ts.map +1 -0
  142. package/dist/transaction/index.d.ts +38 -0
  143. package/dist/transaction/index.d.ts.map +1 -0
  144. package/dist/transaction/models/index.d.ts +42 -0
  145. package/dist/transaction/models/index.d.ts.map +1 -0
  146. package/dist/transaction/services/transaction-service.d.ts +56 -0
  147. package/dist/transaction/services/transaction-service.d.ts.map +1 -0
  148. package/dist/transaction.cjs +394 -0
  149. package/dist/transaction.cjs.map +1 -0
  150. package/dist/transaction.js +390 -0
  151. package/dist/transaction.js.map +1 -0
  152. package/dist/user/api/user-api.d.ts +56 -0
  153. package/dist/user/api/user-api.d.ts.map +1 -0
  154. package/dist/user/index.d.ts +36 -0
  155. package/dist/user/index.d.ts.map +1 -0
  156. package/{src/user/models/index.ts → dist/user/models/index.d.ts} +12 -10
  157. package/dist/user/models/index.d.ts.map +1 -0
  158. package/dist/user/services/user-service.d.ts +46 -0
  159. package/dist/user/services/user-service.d.ts.map +1 -0
  160. package/dist/user-status/api/user-status-api.d.ts +37 -0
  161. package/dist/user-status/api/user-status-api.d.ts.map +1 -0
  162. package/dist/user-status/index.d.ts +28 -0
  163. package/dist/user-status/index.d.ts.map +1 -0
  164. package/{src/user-status/models/index.ts → dist/user-status/models/index.d.ts} +8 -11
  165. package/dist/user-status/models/index.d.ts.map +1 -0
  166. package/dist/user-status/services/user-status-service.d.ts +26 -0
  167. package/dist/user-status/services/user-status-service.d.ts.map +1 -0
  168. package/dist/user-status.cjs +147 -0
  169. package/dist/user-status.cjs.map +1 -0
  170. package/dist/user-status.js +143 -0
  171. package/dist/user-status.js.map +1 -0
  172. package/dist/user.cjs +188 -0
  173. package/dist/user.cjs.map +1 -0
  174. package/dist/user.js +184 -0
  175. package/dist/user.js.map +1 -0
  176. package/dist/web3/api/web3-api.d.ts +27 -0
  177. package/dist/web3/api/web3-api.d.ts.map +1 -0
  178. package/dist/web3/index.d.ts +16 -0
  179. package/dist/web3/index.d.ts.map +1 -0
  180. package/dist/web3/models/index.d.ts +92 -0
  181. package/dist/web3/models/index.d.ts.map +1 -0
  182. package/dist/web3/services/web3-service.d.ts +21 -0
  183. package/dist/web3/services/web3-service.d.ts.map +1 -0
  184. package/dist/web3-chain/api/web3-chain-api.d.ts +19 -0
  185. package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -0
  186. package/dist/web3-chain/index.d.ts +17 -0
  187. package/dist/web3-chain/index.d.ts.map +1 -0
  188. package/{src/web3-chain/models/index.ts → dist/web3-chain/models/index.d.ts} +38 -45
  189. package/dist/web3-chain/models/index.d.ts.map +1 -0
  190. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +8 -0
  191. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -0
  192. package/dist/web3-chain/services/provider.service.d.ts +15 -0
  193. package/dist/web3-chain/services/provider.service.d.ts.map +1 -0
  194. package/dist/web3-chain/services/public-http-provider.service.d.ts +8 -0
  195. package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -0
  196. package/dist/web3-chain/services/web3-chain-service.d.ts +17 -0
  197. package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -0
  198. package/dist/web3-chain.cjs +316 -0
  199. package/dist/web3-chain.cjs.map +1 -0
  200. package/dist/web3-chain.js +310 -0
  201. package/dist/web3-chain.js.map +1 -0
  202. package/dist/web3.cjs +516 -0
  203. package/dist/web3.cjs.map +1 -0
  204. package/dist/web3.js +513 -0
  205. package/dist/web3.js.map +1 -0
  206. package/package.json +56 -72
  207. package/config/domains.js +0 -22
  208. package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
  209. package/rollup.config.js +0 -74
  210. package/scripts/copy-declarations.js +0 -147
  211. package/src/analytics/api/analytics-api.ts +0 -24
  212. package/src/analytics/models/index.ts +0 -74
  213. package/src/analytics/services/analytics-service.ts +0 -28
  214. package/src/auth-admin/api/auth-admin-api.ts +0 -42
  215. package/src/auth-admin/index.ts +0 -47
  216. package/src/auth-admin/services/auth-admin-service.ts +0 -36
  217. package/src/business/api/business-api.ts +0 -234
  218. package/src/business/index.ts +0 -53
  219. package/src/business/models/index.ts +0 -13
  220. package/src/business/services/business-service.ts +0 -88
  221. package/src/campaign/api/campaign-api.ts +0 -376
  222. package/src/campaign/index.ts +0 -67
  223. package/src/campaign/services/campaign-service.ts +0 -164
  224. package/src/core/abstractions/http-client.ts +0 -24
  225. package/src/core/auth/auth-provider.interface.ts +0 -16
  226. package/src/core/auth/create-auth-provider.ts +0 -136
  227. package/src/core/auth/simple-auth-config.interface.ts +0 -15
  228. package/src/core/index.ts +0 -33
  229. package/src/core/pers-api-client.ts +0 -343
  230. package/src/core/pers-config.ts +0 -65
  231. package/src/core/utils/jwt.function.ts +0 -24
  232. package/src/donation/api/donation-api.ts +0 -24
  233. package/src/donation/index.ts +0 -47
  234. package/src/donation/services/donation-service.ts +0 -25
  235. package/src/index.ts +0 -55
  236. package/src/payment/api/payment-api.ts +0 -185
  237. package/src/payment/index.ts +0 -64
  238. package/src/payment/models/index.ts +0 -29
  239. package/src/payment/services/payment-service.ts +0 -70
  240. package/src/pers-sdk.ts +0 -45
  241. package/src/redemption/api/redemption-api.ts +0 -241
  242. package/src/redemption/index.ts +0 -60
  243. package/src/redemption/models/index.ts +0 -17
  244. package/src/redemption/services/redemption-service.ts +0 -103
  245. package/src/shared/interfaces/pers-shared-lib.interfaces.ts +0 -99
  246. package/src/tenant/api/tenant-api.ts +0 -92
  247. package/src/tenant/index.ts +0 -61
  248. package/src/tenant/models/index.ts +0 -20
  249. package/src/tenant/services/tenant-service.ts +0 -78
  250. package/src/token/api/token-api.ts +0 -129
  251. package/src/token/base/base-token-service.ts +0 -167
  252. package/src/token/index.ts +0 -38
  253. package/src/token/models/index.ts +0 -30
  254. package/src/token/services/token-service.ts +0 -125
  255. package/src/token/token-sdk.ts +0 -231
  256. package/src/transaction/api/transaction-api.ts +0 -296
  257. package/src/transaction/index.ts +0 -65
  258. package/src/transaction/models/index.ts +0 -60
  259. package/src/transaction/services/transaction-service.ts +0 -104
  260. package/src/user/api/user-api.ts +0 -98
  261. package/src/user/index.ts +0 -62
  262. package/src/user/services/user-service.ts +0 -75
  263. package/src/user-status/api/user-status-api.ts +0 -78
  264. package/src/user-status/index.ts +0 -55
  265. package/src/user-status/services/user-status-service.ts +0 -51
  266. package/src/web3/api/web3-api.ts +0 -68
  267. package/src/web3/index.ts +0 -38
  268. package/src/web3/models/index.ts +0 -150
  269. package/src/web3/services/web3-service.ts +0 -338
  270. package/src/web3-chain/api/web3-chain-api.ts +0 -42
  271. package/src/web3-chain/index.ts +0 -27
  272. package/src/web3-chain/services/getWeb3FCD.service.ts +0 -47
  273. package/src/web3-chain/services/provider.service.ts +0 -123
  274. package/src/web3-chain/services/public-http-provider.service.ts +0 -26
  275. package/src/web3-chain/services/web3-chain-service.ts +0 -131
  276. package/tsconfig.json +0 -28
package/dist/user.js ADDED
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Platform-Agnostic User API Client
3
+ *
4
+ * Handles user operations using the PERS backend RESTful API.
5
+ * Updated to use new /users endpoints with enhanced security and consistency.
6
+ * Maintains framework UserApiService method compatibility.
7
+ */
8
+ class UserApi {
9
+ constructor(apiClient) {
10
+ this.apiClient = apiClient;
11
+ this.basePath = '/users';
12
+ }
13
+ // ==========================================
14
+ // PUBLIC OPERATIONS
15
+ // ==========================================
16
+ /**
17
+ * PUBLIC: Get all users public profiles with optional filtering
18
+ * ✅ UPDATED: Uses new RESTful /users/public endpoint
19
+ */
20
+ async getAllUsersPublicProfiles(filter = null) {
21
+ let url = `${this.basePath}/public`;
22
+ if (filter) {
23
+ // ✅ MAINTAINED: Same parameter pattern for compatibility
24
+ const params = new URLSearchParams();
25
+ params.set('filterKey', filter.key);
26
+ params.set('filterValue', filter.value);
27
+ url += `?${params.toString()}`;
28
+ }
29
+ return this.apiClient.get(url);
30
+ }
31
+ // ==========================================
32
+ // AUTHENTICATED OPERATIONS
33
+ // ==========================================
34
+ /**
35
+ * AUTH: Get current authenticated user
36
+ * ✅ UPDATED: Uses new RESTful /users/me endpoint
37
+ */
38
+ async getRemoteUser() {
39
+ return this.apiClient.get(`${this.basePath}/me`);
40
+ }
41
+ /**
42
+ * AUTH: Update current authenticated user
43
+ * ✅ UPDATED: Uses new RESTful /users/me endpoint
44
+ */
45
+ async updateRemoteUser(updateRequest) {
46
+ return this.apiClient.put(`${this.basePath}/me`, updateRequest);
47
+ }
48
+ // ==========================================
49
+ // ADMIN OPERATIONS
50
+ // ==========================================
51
+ /**
52
+ * ADMIN: Get all remote users with query parameters
53
+ * ✅ UPDATED: Uses new RESTful /users endpoint with role-based access
54
+ * Note: Admin users get full data, non-admin users get public profiles only
55
+ */
56
+ async getAllRemoteUsers() {
57
+ // ✅ MAINTAINED: Same merge=soft parameter for compatibility
58
+ const url = `${this.basePath}?merge=soft`;
59
+ return this.apiClient.get(url);
60
+ }
61
+ /**
62
+ * ADMIN: Update user as admin
63
+ * ✅ UPDATED: Uses new RESTful /users/{id} endpoint
64
+ */
65
+ async updateUserAsAdmin(id, userData) {
66
+ return this.apiClient.put(`${this.basePath}/${id}`, userData);
67
+ }
68
+ /**
69
+ * ADMIN: Toggle user active status
70
+ * ✅ UPDATED: Uses new consistent /users/{id}/status endpoint
71
+ * Enhanced: Follows RESTful status management pattern across all domains
72
+ */
73
+ async toggleUserActiveStatusByUser(user) {
74
+ return this.apiClient.put(`${this.basePath}/${user.id}/status`, {});
75
+ }
76
+ /**
77
+ * ADMIN: Get user by unique identifier
78
+ * ✅ UPDATED: Uses new RESTful /users/{id} endpoint
79
+ */
80
+ async getUserByUniqueIdentifier(id) {
81
+ return this.apiClient.get(`${this.basePath}/${id}`);
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Platform-Agnostic User Service
87
+ *
88
+ * Contains user business logic and operations that work across platforms.
89
+ * No framework dependencies - pure TypeScript business logic.
90
+ * Matches framework UserApiService capabilities exactly.
91
+ */
92
+ class UserService {
93
+ constructor(userApi) {
94
+ this.userApi = userApi;
95
+ }
96
+ // ==========================================
97
+ // PUBLIC OPERATIONS
98
+ // ==========================================
99
+ /**
100
+ * PUBLIC: Get all users public profiles with optional filtering
101
+ * ✅ FIXED: Uses framework-compatible inline filter type
102
+ */
103
+ async getAllUsersPublicProfiles(filter = null) {
104
+ return this.userApi.getAllUsersPublicProfiles(filter);
105
+ }
106
+ // ==========================================
107
+ // AUTHENTICATED OPERATIONS
108
+ // ==========================================
109
+ /**
110
+ * AUTH: Get current authenticated user
111
+ */
112
+ async getRemoteUser() {
113
+ return this.userApi.getRemoteUser();
114
+ }
115
+ /**
116
+ * AUTH: Update current authenticated user
117
+ */
118
+ async updateRemoteUser(updateRequest) {
119
+ return this.userApi.updateRemoteUser(updateRequest);
120
+ }
121
+ // ==========================================
122
+ // ADMIN OPERATIONS
123
+ // ==========================================
124
+ /**
125
+ * ADMIN: Get all remote users
126
+ * ✅ FIXED: Matches API method signature (no parameters needed)
127
+ */
128
+ async getAllRemoteUsers() {
129
+ return this.userApi.getAllRemoteUsers();
130
+ }
131
+ /**
132
+ * ADMIN: Update user as admin
133
+ */
134
+ async updateUserAsAdmin(id, userData) {
135
+ return this.userApi.updateUserAsAdmin(id, userData);
136
+ }
137
+ async getUserByUniqueIdentifier(id) {
138
+ return this.userApi.getUserByUniqueIdentifier(id);
139
+ }
140
+ /**
141
+ * ADMIN: Toggle user active status by user object
142
+ * ✅ FIXED: Matches API method signature exactly
143
+ */
144
+ async toggleUserActiveStatusByUser(user) {
145
+ return this.userApi.toggleUserActiveStatusByUser(user);
146
+ }
147
+ }
148
+
149
+ /**
150
+ * @explorins/pers-sdk-user
151
+ *
152
+ * Platform-agnostic User Domain SDK for PERS ecosystem
153
+ * Handles user management, profiles, and authentication operations
154
+ */
155
+ // API Layer
156
+ /**
157
+ * Create a complete User SDK instance
158
+ *
159
+ * @param apiClient - Configured PERS API client
160
+ * @returns User SDK with flattened structure for better DX
161
+ */
162
+ function createUserSDK(apiClient) {
163
+ const userApi = new UserApi(apiClient);
164
+ const userService = new UserService(userApi);
165
+ return {
166
+ // Direct access to service methods (primary interface)
167
+ // Public methods - matches framework exactly
168
+ getAllUsersPublicProfiles: (filter = null) => userService.getAllUsersPublicProfiles(filter),
169
+ // Auth methods - matches framework exactly
170
+ getRemoteUser: () => userService.getRemoteUser(),
171
+ updateRemoteUser: (updateRequest) => userService.updateRemoteUser(updateRequest),
172
+ // Admin methods - matches framework exactly
173
+ getAllRemoteUsers: () => userService.getAllRemoteUsers(),
174
+ updateUserAsAdmin: (id, userData) => userService.updateUserAsAdmin(id, userData),
175
+ toggleUserActiveStatusByUser: (user) => userService.toggleUserActiveStatusByUser(user),
176
+ getUserByUniqueIdentifier: (id) => userService.getUserByUniqueIdentifier(id),
177
+ // Advanced access for edge cases
178
+ api: userApi,
179
+ service: userService
180
+ };
181
+ }
182
+
183
+ export { UserApi, UserService, createUserSDK };
184
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sources":["../src/user/api/user-api.ts","../src/user/services/user-service.ts","../src/user/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Web3ChainService } from '../../web3-chain/services/web3-chain-service';
2
+ import type { ContractAbi } from 'web3';
3
+ export declare class Web3Api {
4
+ private web3ChainService;
5
+ constructor(web3ChainService: Web3ChainService);
6
+ getTokenBalance(request: {
7
+ accountAddress: string;
8
+ contractAddress: string;
9
+ abi: ContractAbi;
10
+ tokenId: string | null;
11
+ chainId: number;
12
+ }): Promise<number>;
13
+ getTokenUri(request: {
14
+ contractAddress: string;
15
+ abi: ContractAbi;
16
+ tokenId: string;
17
+ chainId: number;
18
+ }): Promise<string>;
19
+ getTokenOfOwnerByIndex(request: {
20
+ contractAddress: string;
21
+ abi: ContractAbi;
22
+ accountAddress: string;
23
+ tokenIndex: number;
24
+ chainId: number;
25
+ }): Promise<string>;
26
+ }
27
+ //# sourceMappingURL=web3-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-api.d.ts","sourceRoot":"","sources":["../../../src/web3/api/web3-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AASxC,qBAAa,OAAO;IAGhB,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAGtC,eAAe,CAAC,OAAO,EAAE;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAab,WAAW,CAAC,OAAO,EAAE;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYb,sBAAsB,CAAC,OAAO,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;CASpB"}
@@ -0,0 +1,16 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { Web3Api } from './api/web3-api';
3
+ import { Web3Service } from './services/web3-service';
4
+ import { ERC1155CollectionRequest, ERC20BalanceRequest, ERC721CollectionRequest, ERC721CollectionResponse, Web3BalanceResponse, Web3TokenListResponse } from './models';
5
+ import { Web3ProviderService } from '../web3-chain/services/provider.service';
6
+ export declare function createWeb3SDK(apiClient: PersApiClient, web3ProviderService: Web3ProviderService): {
7
+ getCreditsBalance: (request: ERC20BalanceRequest) => Promise<Web3BalanceResponse>;
8
+ getRewardsCollection: (request: ERC1155CollectionRequest) => Promise<Web3TokenListResponse>;
9
+ getStampsCollection: (request: ERC721CollectionRequest) => Promise<ERC721CollectionResponse>;
10
+ api: Web3Api;
11
+ service: Web3Service;
12
+ };
13
+ export * from './models';
14
+ export type { ERC20BalanceRequest, ERC1155CollectionRequest, ERC721CollectionRequest, ERC721CollectionResponse, NFTItem } from './models';
15
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAe,wBAAwB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAsB,mBAAmB,EAAwB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC/N,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,wBAAgB,aAAa,CAC3B,SAAS,EAAE,aAAa,EACxB,mBAAmB,EAAE,mBAAmB;iCAYT,mBAAmB,KAAG,OAAO,CAAC,mBAAmB,CAAC;oCAG/C,wBAAwB,KAAG,OAAO,CAAC,qBAAqB,CAAC;mCAG1D,uBAAuB,KAAG,OAAO,CAAC,wBAAwB,CAAC;;;EAM7F;AAED,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1I,cAAc,iDAAiD,CAAC"}
@@ -0,0 +1,92 @@
1
+ import type { TokenDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ export interface Web3BalanceRequest {
3
+ accountAddress: string;
4
+ token: TokenDTO;
5
+ tokenId: string | null;
6
+ }
7
+ export interface Web3BalanceResponse {
8
+ rawBalance: number;
9
+ formattedBalance: string;
10
+ decimals: number;
11
+ symbol: string;
12
+ hasBalance: boolean;
13
+ }
14
+ export interface Web3TokenConfig {
15
+ token: TokenDTO;
16
+ tokenIds?: (string | null)[];
17
+ metadata?: any[];
18
+ }
19
+ export interface Web3TokenListRequest {
20
+ accountAddress: string;
21
+ tokens: Web3TokenConfig[];
22
+ }
23
+ export interface Web3TokenResult {
24
+ tokenId: string | null;
25
+ balance: number;
26
+ formattedBalance: string;
27
+ hasBalance: boolean;
28
+ metadata: any | null;
29
+ }
30
+ export interface Web3TokenListResponse {
31
+ accountAddress: string;
32
+ tokens: {
33
+ token: TokenDTO;
34
+ results: Web3TokenResult[];
35
+ }[];
36
+ }
37
+ export interface NFTItem {
38
+ tokenId: string;
39
+ name: string;
40
+ description: string;
41
+ imageUrl: string;
42
+ rawBalance: number;
43
+ formattedBalance: string;
44
+ hasBalance: boolean;
45
+ metadata: any;
46
+ tokenIndex: number;
47
+ }
48
+ export interface ERC721CollectionRequest {
49
+ accountAddress: string;
50
+ nftContracts: TokenDTO[];
51
+ maxNFTsPerContract?: number;
52
+ }
53
+ export interface ERC721CollectionResponse {
54
+ accountAddress: string;
55
+ contracts: {
56
+ token: TokenDTO;
57
+ totalNFTs: number;
58
+ nfts: NFTItem[];
59
+ hasMore: boolean;
60
+ }[];
61
+ summary: {
62
+ totalContracts: number;
63
+ totalNFTs: number;
64
+ loadingTime: number;
65
+ };
66
+ }
67
+ export interface ERC20BalanceRequest {
68
+ accountAddress: string;
69
+ token: TokenDTO;
70
+ }
71
+ export interface ERC1155CollectionRequest {
72
+ accountAddress: string;
73
+ tokens: TokenDTO[];
74
+ }
75
+ export type { ContractAbi } from 'web3';
76
+ export interface CacheEntry<T> {
77
+ data: T;
78
+ timestamp: number;
79
+ ttl: number;
80
+ }
81
+ export interface CacheStorage {
82
+ [key: string]: CacheEntry<unknown>;
83
+ }
84
+ export declare class SimpleCache {
85
+ private storage;
86
+ private readonly defaultTTL;
87
+ set<T>(key: string, data: T, ttl?: number): void;
88
+ get<T>(key: string): T | null;
89
+ clear(): void;
90
+ cleanup(): void;
91
+ }
92
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web3/models/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Web3ChainService } from '../../web3-chain';
2
+ import { Web3Api } from '../api/web3-api';
3
+ import { ERC20BalanceRequest, ERC1155CollectionRequest, ERC721CollectionRequest, ERC721CollectionResponse, Web3BalanceResponse, Web3TokenListResponse } from '../models';
4
+ export declare class Web3Service {
5
+ private web3Api;
6
+ private web3ChainService;
7
+ private readonly defaultIpfsGatewayDomain;
8
+ private cache;
9
+ private cleanupInterval;
10
+ constructor(web3Api: Web3Api, web3ChainService: Web3ChainService);
11
+ destroy(): void;
12
+ getERC20Balance(request: ERC20BalanceRequest): Promise<Web3BalanceResponse>;
13
+ getERC1155Collection(request: ERC1155CollectionRequest): Promise<Web3TokenListResponse>;
14
+ getERC721Collection(request: ERC721CollectionRequest): Promise<ERC721CollectionResponse>;
15
+ private formatBalance;
16
+ private findMetadata;
17
+ private fetchMetadata;
18
+ private getIpfsGatewayDomain;
19
+ private resolveIPFSUrl;
20
+ }
21
+ //# sourceMappingURL=web3-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-service.d.ts","sourceRoot":"","sources":["../../../src/web3/services/web3-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EAExB,mBAAmB,EACnB,qBAAqB,EAGtB,MAAM,WAAW,CAAC;AAEnB,qBAAa,WAAW;IASpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IAR1B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAGlE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,eAAe,CAA+B;gBAG5C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB;IAO5C,OAAO,IAAI,IAAI;IAQT,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsC3E,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6EvF,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAkI9F,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;YAON,aAAa;YAgBb,oBAAoB;YAUpB,cAAc;CAU7B"}
@@ -0,0 +1,19 @@
1
+ import { PersApiClient } from '../../core/pers-api-client';
2
+ import { ChainData } from '../models';
3
+ /**
4
+ * Platform-Agnostic Web3 Chain API Client
5
+ *
6
+ * Handles blockchain chain operations using the PERS backend.
7
+ * Uses @explorins/web3-ts types for perfect framework compatibility.
8
+ */
9
+ export declare class Web3ChainApi {
10
+ private apiClient;
11
+ constructor(apiClient: PersApiClient);
12
+ private basePath;
13
+ /**
14
+ * PUBLIC: Get chain data by chain ID
15
+ * ✅ Returns ChainData exactly as framework expects from @explorins/web3-ts
16
+ */
17
+ getChainData(chainId: number): Promise<ChainData>;
18
+ }
19
+ //# sourceMappingURL=web3-chain-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-chain-api.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/api/web3-chain-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;GAKG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAa;IAM7B;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAmBxD"}
@@ -0,0 +1,17 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { Web3ChainApi } from './api/web3-chain-api';
3
+ import { Web3ProviderService } from './services/provider.service';
4
+ import { Web3ChainService } from './services/web3-chain-service';
5
+ export declare function createWeb3ChainSDK(apiClient: PersApiClient, providerService: Web3ProviderService): {
6
+ getChainDataById: (chainId: number) => Promise<import("./models").ChainData | null>;
7
+ getWeb3ByChainId: (chainId: number) => Promise<import("web3").default<import("web3-eth").RegisteredSubscription>>;
8
+ api: Web3ChainApi;
9
+ service: Web3ChainService;
10
+ };
11
+ export { Web3ChainApi } from './api/web3-chain-api';
12
+ export { Web3ChainService } from './services/web3-chain-service';
13
+ export { Web3ProviderService } from './services/provider.service';
14
+ export * from './models';
15
+ export type { ChainData } from './models';
16
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3-chain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB;gCAMjE,MAAM;gCACN,MAAM;;;EAKrC;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,cAAc,iDAAiD,CAAC"}
@@ -1,45 +1,38 @@
1
- /**
2
- * Web3 Chain Domain Models
3
- *
4
- * Minimal interface definitions matching framework usage exactly.
5
- * Local ChainData interface to avoid external dependency issues.
6
- */
7
-
8
- import type { Web3 } from "web3";
9
-
10
- // ✅ FIXED: Local ChainData interface instead of problematic external import
11
- export interface ChainData {
12
- name: string;
13
- shortName?: string;
14
- chain?: string;
15
- network?: string;
16
- chainId?: number;
17
- networkId?: number | null;
18
- rpcUrl: string;
19
- explorerUrl?: string;
20
- authHeader?: string;
21
- nativeCurrency?: any;
22
- chainType: ChainType;
23
- ipfsGatewayDomain?: string;
24
- }
25
-
26
- export type ChainType = typeof ChainTypes[keyof typeof ChainTypes];
27
-
28
- export const ChainTypes = {
29
- PUBLIC: 'PUBLIC',
30
- PRIVATE: 'PRIVATE'
31
- } as const;
32
-
33
- export interface CachedWeb3Instance {
34
- instance: Web3;
35
- createdAt: number;
36
- chainId: number;
37
- }
38
-
39
- export interface CachedChainInstance {
40
- web3Instance: Web3;
41
- chainData: ChainData;
42
- createdAt: number;
43
- chainId: number;
44
- }
45
-
1
+ /**
2
+ * Web3 Chain Domain Models
3
+ *
4
+ * Minimal interface definitions matching framework usage exactly.
5
+ * Local ChainData interface to avoid external dependency issues.
6
+ */
7
+ import type { Web3 } from "web3";
8
+ export interface ChainData {
9
+ name: string;
10
+ shortName?: string;
11
+ chain?: string;
12
+ network?: string;
13
+ chainId?: number;
14
+ networkId?: number | null;
15
+ rpcUrl: string;
16
+ explorerUrl?: string;
17
+ authHeader?: string;
18
+ nativeCurrency?: any;
19
+ chainType: ChainType;
20
+ ipfsGatewayDomain?: string;
21
+ }
22
+ export type ChainType = typeof ChainTypes[keyof typeof ChainTypes];
23
+ export declare const ChainTypes: {
24
+ readonly PUBLIC: "PUBLIC";
25
+ readonly PRIVATE: "PRIVATE";
26
+ };
27
+ export interface CachedWeb3Instance {
28
+ instance: Web3;
29
+ createdAt: number;
30
+ chainId: number;
31
+ }
32
+ export interface CachedChainInstance {
33
+ web3Instance: Web3;
34
+ chainData: ChainData;
35
+ createdAt: number;
36
+ chainId: number;
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEnE,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,8 @@
1
+ import { ChainData } from "@explorins/web3-ts";
2
+ import { JsonRpcProvider } from "ethers";
3
+ export declare const getWeb3ProviderFromChainData: (chainData: ChainData, timeout?: number, customUserAgentName?: string, tokenRefresher?: () => Promise<string>) => {
4
+ web3Provider: null;
5
+ ethersProvider: JsonRpcProvider;
6
+ isAuthenticated: boolean;
7
+ };
8
+ //# sourceMappingURL=getWeb3FCD.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWeb3FCD.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/getWeb3FCD.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAgB,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEvD,eAAO,MAAM,4BAA4B,GACvC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC;;;;CAmCvC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import Web3 from "web3";
2
+ import { ChainData, ChainType } from "@explorins/web3-ts";
3
+ import { PublicHttpProviderService } from "./public-http-provider.service";
4
+ export declare class Web3ProviderService {
5
+ private readonly publicHttpProviderService;
6
+ private _web3;
7
+ private _currentChainId;
8
+ constructor(publicHttpProviderService: PublicHttpProviderService);
9
+ getWeb3(chainId: number, chainType: ChainType, privateChainData?: ChainData | null): Promise<Web3<import("web3-eth").RegisteredSubscription>>;
10
+ private getWeb3ByChainId;
11
+ private convertToWeb3;
12
+ private extractUrlFromEthersProvider;
13
+ private extractHeadersFromEthersProvider;
14
+ }
15
+ //# sourceMappingURL=provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAI3E,qBAAa,mBAAmB;IAMxB,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAJ9C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,eAAe,CAAuB;gBAGzB,yBAAyB,EAAE,yBAAyB;IAI5D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,GAAE,SAAS,GAAG,IAAW;IAkBrG,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,aAAa;IAwDrB,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,gCAAgC;CAK3C"}
@@ -0,0 +1,8 @@
1
+ import type { PublicWeb3ProviderData } from "@explorins/web3/types";
2
+ import type Web3 from "web3";
3
+ export declare class PublicHttpProviderService {
4
+ private $providerData;
5
+ constructor(providerData?: PublicWeb3ProviderData | null);
6
+ getProvider(chainId: number): Web3;
7
+ }
8
+ //# sourceMappingURL=public-http-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-http-provider.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/public-http-provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,qBAAa,yBAAyB;IAClC,OAAO,CAAC,aAAa,CAAgC;gBAEzC,YAAY,GAAE,sBAAsB,GAAG,IAAW;IAIvD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAa5C"}
@@ -0,0 +1,17 @@
1
+ import { Web3ChainApi } from '../api/web3-chain-api';
2
+ import { ChainData } from '../models';
3
+ import type { Web3 } from 'web3';
4
+ import { Web3ProviderService } from './provider.service';
5
+ export declare class Web3ChainService {
6
+ private web3ChainApi;
7
+ private providerService;
8
+ private web3InstanceCache;
9
+ constructor(web3ChainApi: Web3ChainApi, providerService: Web3ProviderService);
10
+ getWeb3ByChainId(chainId: number): Promise<Web3>;
11
+ getChainDataWithCache(chainId: number): Promise<ChainData>;
12
+ private checkIsTokenExpired;
13
+ private createWeb3Instance;
14
+ private isAuthError;
15
+ getChainDataById(chainId: number): Promise<ChainData | null>;
16
+ }
17
+ //# sourceMappingURL=web3-chain-service.d.ts.map
@@ -0,0 +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"}