@explorins/pers-sdk 1.1.0-beta.0 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/api/analytics-api.d.ts +17 -0
- package/dist/analytics/api/analytics-api.d.ts.map +1 -0
- package/dist/analytics/index.d.ts +28 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/models/index.d.ts +61 -0
- package/dist/analytics/models/index.d.ts.map +1 -0
- package/dist/analytics/services/analytics-service.d.ts +19 -0
- package/dist/analytics/services/analytics-service.d.ts.map +1 -0
- package/dist/analytics.cjs +76 -0
- package/dist/analytics.cjs.map +1 -0
- package/dist/analytics.d.ts +28 -0
- package/dist/analytics.js +72 -0
- package/dist/analytics.js.map +1 -0
- package/dist/auth-admin/api/auth-admin-api.d.ts +27 -0
- package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -0
- package/dist/auth-admin/index.d.ts +26 -0
- package/dist/auth-admin/index.d.ts.map +1 -0
- package/dist/auth-admin/services/auth-admin-service.d.ts +23 -0
- package/dist/auth-admin/services/auth-admin-service.d.ts.map +1 -0
- package/dist/auth-admin.cjs +96 -0
- package/dist/auth-admin.cjs.map +1 -0
- package/dist/auth-admin.d.ts +26 -0
- package/dist/auth-admin.js +92 -0
- package/dist/auth-admin.js.map +1 -0
- package/dist/business/api/business-api.d.ts +133 -0
- package/dist/business/api/business-api.d.ts.map +1 -0
- package/dist/business/index.d.ts +34 -0
- package/dist/business/index.d.ts.map +1 -0
- package/{src/business/models/index.ts → dist/business/models/index.d.ts} +8 -13
- package/dist/business/models/index.d.ts.map +1 -0
- package/dist/business/services/business-service.d.ts +51 -0
- package/dist/business/services/business-service.d.ts.map +1 -0
- package/dist/business.cjs +303 -0
- package/dist/business.cjs.map +1 -0
- package/dist/business.d.ts +34 -0
- package/dist/business.js +299 -0
- package/dist/business.js.map +1 -0
- package/dist/campaign/api/campaign-api.d.ts +213 -0
- package/dist/campaign/api/campaign-api.d.ts.map +1 -0
- package/dist/campaign/index.d.ts +44 -0
- package/dist/campaign/index.d.ts.map +1 -0
- package/dist/campaign/services/campaign-service.d.ts +88 -0
- package/dist/campaign/services/campaign-service.d.ts.map +1 -0
- package/dist/campaign.cjs +506 -0
- package/dist/campaign.cjs.map +1 -0
- package/dist/campaign.d.ts +44 -0
- package/dist/campaign.js +502 -0
- package/dist/campaign.js.map +1 -0
- package/dist/core/abstractions/http-client.d.ts +22 -0
- package/dist/core/abstractions/http-client.d.ts.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +12 -0
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -0
- package/dist/core/auth/create-auth-provider.d.ts +27 -0
- package/dist/core/auth/create-auth-provider.d.ts.map +1 -0
- package/dist/core/auth/simple-auth-config.interface.d.ts +15 -0
- package/dist/core/auth/simple-auth-config.interface.d.ts.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/pers-api-client.d.ts +54 -0
- package/dist/core/pers-api-client.d.ts.map +1 -0
- package/dist/core/pers-config.d.ts +38 -0
- package/dist/core/pers-config.d.ts.map +1 -0
- package/dist/core/utils/jwt.function.d.ts +2 -0
- package/dist/core/utils/jwt.function.d.ts.map +1 -0
- package/dist/core.cjs +506 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +13 -0
- package/dist/core.js +497 -0
- package/dist/core.js.map +1 -0
- package/dist/donation/api/donation-api.d.ts +18 -0
- package/dist/donation/api/donation-api.d.ts.map +1 -0
- package/dist/donation/index.d.ts +25 -0
- package/dist/donation/index.d.ts.map +1 -0
- package/dist/donation/models/index.d.ts +8 -0
- package/dist/donation/models/index.d.ts.map +1 -0
- package/dist/donation/services/donation-service.d.ts +19 -0
- package/dist/donation/services/donation-service.d.ts.map +1 -0
- package/dist/donation.cjs +78 -0
- package/dist/donation.cjs.map +1 -0
- package/dist/donation.d.ts +25 -0
- package/dist/donation.js +74 -0
- package/dist/donation.js.map +1 -0
- package/dist/index.cjs +4217 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4164 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +148 -0
- package/dist/payment/api/payment-api.d.ts +105 -0
- package/dist/payment/api/payment-api.d.ts.map +1 -0
- package/dist/payment/index.d.ts +36 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/models/index.d.ts +12 -0
- package/dist/payment/models/index.d.ts.map +1 -0
- package/dist/payment/services/payment-service.d.ts +40 -0
- package/dist/payment/services/payment-service.d.ts.map +1 -0
- package/dist/payment.cjs +258 -0
- package/dist/payment.cjs.map +1 -0
- package/dist/payment.d.ts +36 -0
- package/dist/payment.js +254 -0
- package/dist/payment.js.map +1 -0
- package/dist/pers-sdk.d.ts +29 -0
- package/dist/pers-sdk.d.ts.map +1 -0
- package/dist/redemption/api/redemption-api.d.ts +147 -0
- package/dist/redemption/api/redemption-api.d.ts.map +1 -0
- package/dist/redemption/index.d.ts +35 -0
- package/dist/redemption/index.d.ts.map +1 -0
- package/dist/redemption/models/index.d.ts +8 -0
- package/dist/redemption/models/index.d.ts.map +1 -0
- package/dist/redemption/services/redemption-service.d.ts +56 -0
- package/dist/redemption/services/redemption-service.d.ts.map +1 -0
- package/dist/redemption.cjs +333 -0
- package/dist/redemption.cjs.map +1 -0
- package/dist/redemption.d.ts +35 -0
- package/dist/redemption.js +329 -0
- package/dist/redemption.js.map +1 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +18 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -0
- package/dist/tenant/api/tenant-api.d.ts +56 -0
- package/dist/tenant/api/tenant-api.d.ts.map +1 -0
- package/dist/tenant/index.d.ts +34 -0
- package/dist/tenant/index.d.ts.map +1 -0
- package/dist/tenant/models/index.d.ts +11 -0
- package/dist/tenant/models/index.d.ts.map +1 -0
- package/dist/tenant/services/tenant-service.d.ts +46 -0
- package/dist/tenant/services/tenant-service.d.ts.map +1 -0
- package/dist/tenant.cjs +177 -0
- package/dist/tenant.cjs.map +1 -0
- package/dist/tenant.d.ts +34 -0
- package/dist/tenant.js +173 -0
- package/dist/tenant.js.map +1 -0
- package/dist/token/api/token-api.d.ts +64 -0
- package/dist/token/api/token-api.d.ts.map +1 -0
- package/dist/token/base/base-token-service.d.ts +87 -0
- package/dist/token/base/base-token-service.d.ts.map +1 -0
- package/dist/token/index.d.ts +13 -0
- package/dist/token/index.d.ts.map +1 -0
- package/dist/token/models/index.d.ts +18 -0
- package/dist/token/models/index.d.ts.map +1 -0
- package/dist/token/services/token-service.d.ts +68 -0
- package/dist/token/services/token-service.d.ts.map +1 -0
- package/dist/token/token-sdk.d.ts +140 -0
- package/dist/token/token-sdk.d.ts.map +1 -0
- package/dist/token.cjs +537 -0
- package/dist/token.cjs.map +1 -0
- package/dist/token.d.ts +13 -0
- package/dist/token.js +532 -0
- package/dist/token.js.map +1 -0
- package/dist/transaction/api/transaction-api.d.ts +133 -0
- package/dist/transaction/api/transaction-api.d.ts.map +1 -0
- package/dist/transaction/index.d.ts +38 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/models/index.d.ts +42 -0
- package/dist/transaction/models/index.d.ts.map +1 -0
- package/dist/transaction/services/transaction-service.d.ts +56 -0
- package/dist/transaction/services/transaction-service.d.ts.map +1 -0
- package/dist/transaction.cjs +394 -0
- package/dist/transaction.cjs.map +1 -0
- package/dist/transaction.d.ts +38 -0
- package/dist/transaction.js +390 -0
- package/dist/transaction.js.map +1 -0
- package/dist/user/api/user-api.d.ts +56 -0
- package/dist/user/api/user-api.d.ts.map +1 -0
- package/dist/user/index.d.ts +36 -0
- package/dist/user/index.d.ts.map +1 -0
- package/dist/user/models/index.d.ts +12 -0
- package/dist/user/models/index.d.ts.map +1 -0
- package/dist/user/services/user-service.d.ts +46 -0
- package/dist/user/services/user-service.d.ts.map +1 -0
- package/dist/user-status/api/user-status-api.d.ts +37 -0
- package/dist/user-status/api/user-status-api.d.ts.map +1 -0
- package/dist/user-status/index.d.ts +28 -0
- package/dist/user-status/index.d.ts.map +1 -0
- package/dist/user-status/models/index.d.ts +8 -0
- package/dist/user-status/models/index.d.ts.map +1 -0
- package/dist/user-status/services/user-status-service.d.ts +26 -0
- package/dist/user-status/services/user-status-service.d.ts.map +1 -0
- package/dist/user-status.cjs +147 -0
- package/dist/user-status.cjs.map +1 -0
- package/dist/user-status.d.ts +28 -0
- package/dist/user-status.js +143 -0
- package/dist/user-status.js.map +1 -0
- package/dist/user.cjs +188 -0
- package/dist/user.cjs.map +1 -0
- package/dist/user.d.ts +36 -0
- package/dist/user.js +184 -0
- package/dist/user.js.map +1 -0
- package/dist/web3/api/web3-api.d.ts +27 -0
- package/dist/web3/api/web3-api.d.ts.map +1 -0
- package/dist/web3/index.d.ts +16 -0
- package/dist/web3/index.d.ts.map +1 -0
- package/dist/web3/models/index.d.ts +92 -0
- package/dist/web3/models/index.d.ts.map +1 -0
- package/dist/web3/services/web3-service.d.ts +21 -0
- package/dist/web3/services/web3-service.d.ts.map +1 -0
- package/dist/web3-chain/api/web3-chain-api.d.ts +19 -0
- package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -0
- package/dist/web3-chain/index.d.ts +17 -0
- package/dist/web3-chain/index.d.ts.map +1 -0
- package/dist/web3-chain/models/index.d.ts +38 -0
- package/dist/web3-chain/models/index.d.ts.map +1 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts +8 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -0
- package/dist/web3-chain/services/provider.service.d.ts +15 -0
- package/dist/web3-chain/services/provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/public-http-provider.service.d.ts +8 -0
- package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/web3-chain-service.d.ts +17 -0
- package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -0
- package/dist/web3-chain.cjs +316 -0
- package/dist/web3-chain.cjs.map +1 -0
- package/dist/web3-chain.d.ts +17 -0
- package/dist/web3-chain.js +310 -0
- package/dist/web3-chain.js.map +1 -0
- package/dist/web3.cjs +516 -0
- package/dist/web3.cjs.map +1 -0
- package/dist/web3.d.ts +16 -0
- package/dist/web3.js +513 -0
- package/dist/web3.js.map +1 -0
- package/package.json +105 -17
- package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
- package/rollup.config.js +0 -84
- package/src/business/api/business-api.ts +0 -72
- package/src/business/business/tsconfig.json +0 -18
- package/src/business/index.ts +0 -52
- package/src/business/services/business-service.ts +0 -88
- package/src/core/abstractions/core-interfaces.ts +0 -56
- package/src/core/abstractions/http-client.ts +0 -23
- package/src/core/auth/auth-provider.interface.ts +0 -16
- package/src/core/auth/create-auth-provider.ts +0 -136
- package/src/core/auth/simple-auth-config.interface.ts +0 -15
- package/src/core/core.ts +0 -30
- package/src/core/pers-api-client.ts +0 -151
- package/src/core/pers-config.ts +0 -38
- package/src/core.ts +0 -30
- package/src/index.ts +0 -16
- package/src/pers-sdk.ts +0 -45
- 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
|
package/dist/user.js.map
ADDED
|
@@ -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"}
|
|
@@ -0,0 +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
|
+
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"}
|