@explorins/pers-sdk 1.6.0 → 1.6.2
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/chunks/index-BfOoX87y.cjs +337 -0
- package/dist/chunks/index-BfOoX87y.cjs.map +1 -0
- package/dist/chunks/index-CJ9Jfa4A.js +615 -0
- package/dist/chunks/index-CJ9Jfa4A.js.map +1 -0
- package/dist/chunks/index-CM21r58m.js +331 -0
- package/dist/chunks/index-CM21r58m.js.map +1 -0
- package/dist/chunks/index-CzEluQmf.cjs +625 -0
- package/dist/chunks/index-CzEluQmf.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-UNKbbSC_.cjs → pers-sdk-C3Sc2hyn.cjs} +398 -4
- package/dist/chunks/pers-sdk-C3Sc2hyn.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-gnQ_VcEq.js → pers-sdk-CoKZ7rHG.js} +393 -5
- package/dist/chunks/pers-sdk-CoKZ7rHG.js.map +1 -0
- package/dist/core.cjs +12 -5
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +6 -2
- package/dist/core.js.map +1 -1
- package/dist/file/api/file-api.d.ts +35 -0
- package/dist/file/api/file-api.d.ts.map +1 -0
- package/dist/file/api/index.d.ts +2 -0
- package/dist/file/api/index.d.ts.map +1 -0
- package/dist/file/index.d.ts +9 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/models/index.d.ts +26 -0
- package/dist/file/models/index.d.ts.map +1 -0
- package/dist/file/services/file-service.d.ts +57 -0
- package/dist/file/services/file-service.d.ts.map +1 -0
- package/dist/file/services/index.d.ts +2 -0
- package/dist/file/services/index.d.ts.map +1 -0
- package/dist/index.cjs +19 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/managers/file-manager.d.ts +55 -0
- package/dist/managers/file-manager.d.ts.map +1 -0
- package/dist/managers/index.d.ts +3 -0
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/managers/tenant-manager.d.ts +8 -0
- package/dist/managers/tenant-manager.d.ts.map +1 -1
- package/dist/managers/user-status-manager.d.ts +40 -0
- package/dist/managers/user-status-manager.d.ts.map +1 -0
- package/dist/managers/web3-manager.d.ts +76 -0
- package/dist/managers/web3-manager.d.ts.map +1 -0
- package/dist/package.json +1 -1
- package/dist/pers-sdk.d.ts +37 -1
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/web3/index.d.ts +1 -0
- package/dist/web3/index.d.ts.map +1 -1
- package/dist/web3/utils/explorer.utils.d.ts +21 -0
- package/dist/web3/utils/explorer.utils.d.ts.map +1 -0
- package/dist/web3-chain.cjs +8 -307
- package/dist/web3-chain.cjs.map +1 -1
- package/dist/web3-chain.js +2 -305
- package/dist/web3-chain.js.map +1 -1
- package/dist/web3.cjs +9 -516
- package/dist/web3.cjs.map +1 -1
- package/dist/web3.js +3 -516
- package/dist/web3.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/environment-C2AkkLPd.js +0 -46
- package/dist/chunks/environment-C2AkkLPd.js.map +0 -1
- package/dist/chunks/environment-CRROnwAY.cjs +0 -50
- package/dist/chunks/environment-CRROnwAY.cjs.map +0 -1
- package/dist/chunks/jwt.function-BYiyl-z_.cjs +0 -25
- package/dist/chunks/jwt.function-BYiyl-z_.cjs.map +0 -1
- package/dist/chunks/jwt.function-d6jPtBqI.js +0 -23
- package/dist/chunks/jwt.function-d6jPtBqI.js.map +0 -1
- package/dist/chunks/pers-sdk-UNKbbSC_.cjs.map +0 -1
- package/dist/chunks/pers-sdk-gnQ_VcEq.js.map +0 -1
package/dist/web3.cjs
CHANGED
|
@@ -1,524 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
require('./chunks/jwt.function-BYiyl-z_.cjs');
|
|
3
|
+
var web3 = require('./chunks/index-CzEluQmf.cjs');
|
|
4
|
+
require('./chunks/index-BfOoX87y.cjs');
|
|
5
|
+
require('@explorins/web3-ts/ethers');
|
|
7
6
|
require('jwt-decode');
|
|
8
7
|
require('@explorins/pers-shared');
|
|
9
8
|
|
|
10
|
-
/**
|
|
11
|
-
* TokenDomainService - Domain service for token operations
|
|
12
|
-
* Implements business logic for token balance, metadata, and collection operations
|
|
13
|
-
*/
|
|
14
|
-
class TokenDomainService {
|
|
15
|
-
constructor(web3Api, metadataService, contractService) {
|
|
16
|
-
this.web3Api = web3Api;
|
|
17
|
-
this.metadataService = metadataService;
|
|
18
|
-
this.contractService = contractService;
|
|
19
|
-
}
|
|
20
|
-
async getTokenBalance(request) {
|
|
21
|
-
const balance = await this.web3Api.getTokenBalance({
|
|
22
|
-
accountAddress: request.accountAddress,
|
|
23
|
-
contractAddress: request.contractAddress,
|
|
24
|
-
abi: ethers.convertAbiToInterface(request.abi),
|
|
25
|
-
tokenId: request.tokenId,
|
|
26
|
-
chainId: request.chainId
|
|
27
|
-
});
|
|
28
|
-
return {
|
|
29
|
-
tokenId: request.tokenId,
|
|
30
|
-
balance,
|
|
31
|
-
hasBalance: balance > 0,
|
|
32
|
-
metadata: null
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
async getTokenWithMetadata(params) {
|
|
36
|
-
try {
|
|
37
|
-
const balance = await this.web3Api.getTokenBalance({
|
|
38
|
-
accountAddress: params.accountAddress,
|
|
39
|
-
contractAddress: params.contractAddress,
|
|
40
|
-
abi: ethers.convertAbiToInterface(params.abi),
|
|
41
|
-
tokenId: params.tokenId,
|
|
42
|
-
chainId: params.chainId
|
|
43
|
-
});
|
|
44
|
-
let metadata = null;
|
|
45
|
-
if (balance > 0) {
|
|
46
|
-
const tokenUri = await this.web3Api.getTokenUri({
|
|
47
|
-
contractAddress: params.contractAddress,
|
|
48
|
-
abi: ethers.convertAbiToInterface(params.abi),
|
|
49
|
-
tokenId: params.tokenId,
|
|
50
|
-
chainId: params.chainId
|
|
51
|
-
});
|
|
52
|
-
if (tokenUri) {
|
|
53
|
-
metadata = await this.metadataService.fetchAndProcessMetadata(tokenUri, params.chainId);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
tokenId: params.tokenId,
|
|
58
|
-
balance,
|
|
59
|
-
hasBalance: balance > 0,
|
|
60
|
-
metadata
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
console.error('Error getting token with metadata:', error);
|
|
65
|
-
return {
|
|
66
|
-
tokenId: params.tokenId,
|
|
67
|
-
balance: 0,
|
|
68
|
-
hasBalance: false,
|
|
69
|
-
metadata: null
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async getTokenCollection(params) {
|
|
74
|
-
params.abi = ethers.convertAbiToInterface(params.abi);
|
|
75
|
-
try {
|
|
76
|
-
const contractAnalysis = this.contractService.analyzeContract(params.abi);
|
|
77
|
-
const tokens = [];
|
|
78
|
-
if (!contractAnalysis.hasEnumeration && !contractAnalysis.isERC1155) {
|
|
79
|
-
console.warn('Contract does not support enumeration, cannot retrieve full collection');
|
|
80
|
-
return {
|
|
81
|
-
accountAddress: params.accountAddress,
|
|
82
|
-
contractAddress: params.contractAddress,
|
|
83
|
-
totalBalance: 0,
|
|
84
|
-
tokensRetrieved: 0,
|
|
85
|
-
tokens: [],
|
|
86
|
-
note: 'Contract does not support enumeration'
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
else if (contractAnalysis.isERC1155) {
|
|
90
|
-
const tokenIdsToProcess = params.tokenIds || [];
|
|
91
|
-
if (tokenIdsToProcess.length > 0) {
|
|
92
|
-
for (const tokenId of tokenIdsToProcess) {
|
|
93
|
-
const tokenBalance = await this.getTokenWithMetadata({
|
|
94
|
-
accountAddress: params.accountAddress,
|
|
95
|
-
contractAddress: params.contractAddress,
|
|
96
|
-
abi: params.abi,
|
|
97
|
-
tokenId,
|
|
98
|
-
chainId: params.chainId
|
|
99
|
-
});
|
|
100
|
-
tokens.push(tokenBalance);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
console.log('ERC-1155 User balances:', tokens);
|
|
104
|
-
// ERC-1155: Cannot enumerate without knowing token IDs
|
|
105
|
-
// Would need to use events or provide specific token IDs
|
|
106
|
-
console.warn('ERC-1155 collection retrieval requires specific token IDs or event analysis');
|
|
107
|
-
return {
|
|
108
|
-
accountAddress: params.accountAddress,
|
|
109
|
-
contractAddress: params.contractAddress,
|
|
110
|
-
totalBalance: 0,
|
|
111
|
-
tokensRetrieved: 0,
|
|
112
|
-
tokens: tokens,
|
|
113
|
-
note: 'ERC-1155 collection retrieval requires specific token IDs. Use getTokenWithMetadata() for individual tokens.'
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
// Handle different token standards
|
|
117
|
-
if (contractAnalysis.isERC721) {
|
|
118
|
-
// ERC-721: Get user's total balance and enumerate through tokens
|
|
119
|
-
const userBalance = await this.web3Api.getTokenBalance({
|
|
120
|
-
accountAddress: params.accountAddress,
|
|
121
|
-
contractAddress: params.contractAddress,
|
|
122
|
-
abi: params.abi,
|
|
123
|
-
tokenId: null, // null for ERC-721 total balance
|
|
124
|
-
chainId: params.chainId
|
|
125
|
-
});
|
|
126
|
-
console.log(`ERC-721 User balance for ${params.accountAddress}:`, userBalance);
|
|
127
|
-
if (userBalance === 0) {
|
|
128
|
-
return {
|
|
129
|
-
accountAddress: params.accountAddress,
|
|
130
|
-
contractAddress: params.contractAddress,
|
|
131
|
-
totalBalance: 0,
|
|
132
|
-
tokensRetrieved: 0,
|
|
133
|
-
tokens: []
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
// Enumerate through user's tokens
|
|
137
|
-
const maxTokens = params.maxTokens || userBalance;
|
|
138
|
-
const tokensToRetrieve = Math.min(maxTokens, userBalance);
|
|
139
|
-
for (let i = 0; i < tokensToRetrieve; i++) {
|
|
140
|
-
try {
|
|
141
|
-
const tokenId = await this.web3Api.getTokenOfOwnerByIndex({
|
|
142
|
-
contractAddress: params.contractAddress,
|
|
143
|
-
abi: params.abi,
|
|
144
|
-
accountAddress: params.accountAddress,
|
|
145
|
-
tokenIndex: i,
|
|
146
|
-
chainId: params.chainId
|
|
147
|
-
});
|
|
148
|
-
const tokenWithMetadata = await this.getTokenWithMetadata({
|
|
149
|
-
accountAddress: params.accountAddress,
|
|
150
|
-
contractAddress: params.contractAddress,
|
|
151
|
-
abi: params.abi,
|
|
152
|
-
tokenId,
|
|
153
|
-
chainId: params.chainId
|
|
154
|
-
});
|
|
155
|
-
if (tokenWithMetadata.hasBalance) {
|
|
156
|
-
tokens.push(tokenWithMetadata);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
console.warn(`Error retrieving ERC-721 token at index ${i}:`, error);
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
// Unknown standard
|
|
167
|
-
return {
|
|
168
|
-
accountAddress: params.accountAddress,
|
|
169
|
-
contractAddress: params.contractAddress,
|
|
170
|
-
totalBalance: 0,
|
|
171
|
-
tokensRetrieved: 0,
|
|
172
|
-
tokens: [],
|
|
173
|
-
note: 'Unsupported token standard for collection retrieval'
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
// Calculate total balance based on retrieved tokens
|
|
177
|
-
let totalBalance = 0;
|
|
178
|
-
if (contractAnalysis.isERC721) {
|
|
179
|
-
// For ERC-721, total balance is the number of unique tokens owned
|
|
180
|
-
totalBalance = tokens.length;
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
// For other standards, sum up individual token balances
|
|
184
|
-
totalBalance = tokens.reduce((sum, token) => sum + token.balance, 0);
|
|
185
|
-
}
|
|
186
|
-
return {
|
|
187
|
-
accountAddress: params.accountAddress,
|
|
188
|
-
contractAddress: params.contractAddress,
|
|
189
|
-
totalBalance,
|
|
190
|
-
tokensRetrieved: tokens.length,
|
|
191
|
-
tokens
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
console.error('Error getting token collection:', error);
|
|
196
|
-
return {
|
|
197
|
-
accountAddress: params.accountAddress,
|
|
198
|
-
contractAddress: params.contractAddress,
|
|
199
|
-
totalBalance: 0,
|
|
200
|
-
tokensRetrieved: 0,
|
|
201
|
-
tokens: [],
|
|
202
|
-
note: 'Error retrieving collection'
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
async getTokenMetadata(params) {
|
|
207
|
-
params.abi = ethers.convertAbiToInterface(params.abi);
|
|
208
|
-
try {
|
|
209
|
-
const tokenUri = await this.web3Api.getTokenUri({
|
|
210
|
-
contractAddress: params.contractAddress,
|
|
211
|
-
abi: params.abi,
|
|
212
|
-
tokenId: params.tokenId,
|
|
213
|
-
chainId: params.chainId
|
|
214
|
-
});
|
|
215
|
-
let metadata = null;
|
|
216
|
-
if (tokenUri) {
|
|
217
|
-
metadata = await this.metadataService.fetchAndProcessMetadata(tokenUri, params.chainId);
|
|
218
|
-
}
|
|
219
|
-
return {
|
|
220
|
-
tokenId: params.tokenId,
|
|
221
|
-
tokenUri,
|
|
222
|
-
metadata
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
catch (error) {
|
|
226
|
-
console.error('Error getting token metadata:', error);
|
|
227
|
-
return {
|
|
228
|
-
tokenId: params.tokenId,
|
|
229
|
-
tokenUri: null,
|
|
230
|
-
metadata: null
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
9
|
|
|
236
|
-
/**
|
|
237
|
-
* MetadataDomainService - Clean IPFS metadata resolution
|
|
238
|
-
*/
|
|
239
|
-
class MetadataDomainService {
|
|
240
|
-
constructor(ipfsApi) {
|
|
241
|
-
this.ipfsApi = ipfsApi;
|
|
242
|
-
}
|
|
243
|
-
async fetchAndProcessMetadata(tokenUri, chainId) {
|
|
244
|
-
return this.ipfsApi.fetchAndProcessMetadata(tokenUri, chainId);
|
|
245
|
-
}
|
|
246
|
-
async resolveIPFSUrl(url, chainId) {
|
|
247
|
-
return this.ipfsApi.resolveIPFSUrl(url, chainId);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
10
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
abi = ethers.convertAbiToInterface(abi);
|
|
258
|
-
const methods = abi.fragments.filter(item => item.type === 'function').map(item => item.name);
|
|
259
|
-
// ERC-721 detection
|
|
260
|
-
const hasOwnerOf = methods.includes('ownerOf');
|
|
261
|
-
const hasTokenURI = methods.includes('tokenURI');
|
|
262
|
-
const hasTransferFrom = methods.includes('transferFrom');
|
|
263
|
-
const isERC721 = hasOwnerOf && hasTokenURI && hasTransferFrom;
|
|
264
|
-
// ERC-1155 detection
|
|
265
|
-
const hasBalanceOfBatch = methods.includes('balanceOfBatch');
|
|
266
|
-
const hasSafeBatchTransferFrom = methods.includes('safeBatchTransferFrom');
|
|
267
|
-
const hasURI = methods.includes('uri');
|
|
268
|
-
const isERC1155 = hasBalanceOfBatch && hasSafeBatchTransferFrom && hasURI;
|
|
269
|
-
return {
|
|
270
|
-
hasEnumeration: methods.includes('tokenByIndex') && methods.includes('totalSupply'),
|
|
271
|
-
hasOwnerOf,
|
|
272
|
-
hasBalanceOf: methods.includes('balanceOf'),
|
|
273
|
-
hasTokenURI,
|
|
274
|
-
hasTransfer: methods.includes('transfer') || methods.includes('transferFrom'),
|
|
275
|
-
hasApprove: methods.includes('approve'),
|
|
276
|
-
isERC721,
|
|
277
|
-
isERC1155
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Web3ApplicationService - Application layer entrance point
|
|
284
|
-
* Orchestrates domain services and provides clean public interface
|
|
285
|
-
* Simplified architecture with concrete classes
|
|
286
|
-
*/
|
|
287
|
-
class Web3ApplicationService {
|
|
288
|
-
constructor(web3Api, ipfsApi) {
|
|
289
|
-
// Type-safe metadata conversion methods for ERC-721/ERC-1155 standards
|
|
290
|
-
this.metadataMapper = {
|
|
291
|
-
fromERCStandard: (ercMetadata) => ({
|
|
292
|
-
name: ercMetadata.name || '',
|
|
293
|
-
description: ercMetadata.description || '',
|
|
294
|
-
imageUrl: ercMetadata.image || '',
|
|
295
|
-
externalUrl: ercMetadata.external_url,
|
|
296
|
-
animationUrl: ercMetadata.animation_url,
|
|
297
|
-
animationUrlConverted: undefined, // Will be set by IPFS conversion
|
|
298
|
-
attributes: ercMetadata.attributes || [],
|
|
299
|
-
...ercMetadata
|
|
300
|
-
}),
|
|
301
|
-
toERCStandard: (metadata) => ({
|
|
302
|
-
name: metadata.name,
|
|
303
|
-
description: metadata.description,
|
|
304
|
-
image: metadata.imageUrl,
|
|
305
|
-
animation_url: metadata.animationUrl,
|
|
306
|
-
external_url: metadata.externalUrl,
|
|
307
|
-
attributes: metadata.attributes,
|
|
308
|
-
...Object.fromEntries(Object.entries(metadata).filter(([key]) => !['name', 'description', 'imageUrl', 'animationUrl', 'externalUrl', 'attributes', 'animationUrlConverted'].includes(key)))
|
|
309
|
-
})
|
|
310
|
-
};
|
|
311
|
-
// Create domain services with injected infrastructure dependencies
|
|
312
|
-
this.contractDomainService = new ContractDomainService();
|
|
313
|
-
this.metadataDomainService = new MetadataDomainService(ipfsApi);
|
|
314
|
-
this.tokenDomainService = new TokenDomainService(web3Api, this.metadataDomainService, this.contractDomainService);
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Get balance and metadata for a specific token
|
|
318
|
-
*/
|
|
319
|
-
async getSpecificTokenBalance(request) {
|
|
320
|
-
if (!request.tokenId) {
|
|
321
|
-
return this.tokenDomainService.getTokenBalance({
|
|
322
|
-
accountAddress: request.accountAddress || '',
|
|
323
|
-
contractAddress: request.contractAddress,
|
|
324
|
-
abi: request.abi,
|
|
325
|
-
tokenId: '',
|
|
326
|
-
chainId: request.chainId
|
|
327
|
-
});
|
|
328
|
-
}
|
|
329
|
-
return this.tokenDomainService.getTokenWithMetadata({
|
|
330
|
-
accountAddress: request.accountAddress || '',
|
|
331
|
-
contractAddress: request.contractAddress,
|
|
332
|
-
abi: request.abi,
|
|
333
|
-
tokenId: request.tokenId || '',
|
|
334
|
-
chainId: request.chainId
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Get metadata for a specific token from on-chain
|
|
339
|
-
*/
|
|
340
|
-
async getTokenMetadata(request) {
|
|
341
|
-
const domainResult = await this.tokenDomainService.getTokenMetadata({
|
|
342
|
-
contractAddress: request.contractAddress,
|
|
343
|
-
abi: request.abi,
|
|
344
|
-
tokenId: request.tokenId || '',
|
|
345
|
-
chainId: request.chainId
|
|
346
|
-
});
|
|
347
|
-
return domainResult.metadata;
|
|
348
|
-
}
|
|
349
|
-
/**
|
|
350
|
-
* Retrieve entire collection of tokens with balance and metadata
|
|
351
|
-
*/
|
|
352
|
-
async getTokenCollection(request) {
|
|
353
|
-
return this.tokenDomainService.getTokenCollection({
|
|
354
|
-
accountAddress: request.accountAddress || '',
|
|
355
|
-
contractAddress: request.contractAddress,
|
|
356
|
-
abi: request.abi,
|
|
357
|
-
chainId: request.chainId,
|
|
358
|
-
maxTokens: request.maxTokens,
|
|
359
|
-
tokenIds: request.tokenIds
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Resolve IPFS URLs to HTTPS if needed
|
|
364
|
-
*/
|
|
365
|
-
async resolveIPFSUrl(url, chainId) {
|
|
366
|
-
return this.metadataDomainService.resolveIPFSUrl(url, chainId);
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Fetch and process metadata from URI with IPFS conversion
|
|
370
|
-
*/
|
|
371
|
-
async fetchAndProcessMetadata(tokenUri, chainId) {
|
|
372
|
-
const domainMetadata = await this.metadataDomainService.fetchAndProcessMetadata(tokenUri, chainId);
|
|
373
|
-
if (!domainMetadata)
|
|
374
|
-
return null;
|
|
375
|
-
// Convert from ERC token standard to our clean interface
|
|
376
|
-
const cleanMetadata = this.metadataMapper.fromERCStandard(domainMetadata);
|
|
377
|
-
// Add IPFS conversion if needed
|
|
378
|
-
if (cleanMetadata.animationUrl?.startsWith('ipfs://')) {
|
|
379
|
-
return {
|
|
380
|
-
...cleanMetadata,
|
|
381
|
-
animationUrlConverted: await this.resolveIPFSUrl(cleanMetadata.animationUrl, chainId)
|
|
382
|
-
};
|
|
383
|
-
}
|
|
384
|
-
return cleanMetadata;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* Web3InfrastructureApi - Infrastructure implementation for blockchain operations
|
|
390
|
-
* Uses @explorins/web3-ts for Web3 interactions
|
|
391
|
-
*/
|
|
392
|
-
class Web3InfrastructureApi {
|
|
393
|
-
constructor(web3ChainService) {
|
|
394
|
-
this.web3ChainService = web3ChainService;
|
|
395
|
-
}
|
|
396
|
-
async getTokenBalance(request) {
|
|
397
|
-
try {
|
|
398
|
-
if (request.tokenId !== null)
|
|
399
|
-
request.tokenId = request.tokenId.toString();
|
|
400
|
-
const ethersProvider = await this.web3ChainService.getEthersProviderByChainId(request.chainId);
|
|
401
|
-
console.log(`[getTokenBalance] Ethers provider obtained, creating contract instance...`, ethersProvider);
|
|
402
|
-
const contract = ethers.createSafeContract(request.contractAddress, request.abi, ethersProvider);
|
|
403
|
-
return await ethers.getAccountTokenBalance(contract, request.accountAddress, request.tokenId);
|
|
404
|
-
}
|
|
405
|
-
catch (error) {
|
|
406
|
-
console.error(`Failed to get token balance for ${request.accountAddress} for ${request.contractAddress} and tokenId ${request.tokenId}, return 0 instead:`, error);
|
|
407
|
-
return 0;
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
async getTokenUri(request) {
|
|
411
|
-
try {
|
|
412
|
-
const ethersProvider = await this.web3ChainService.getEthersProviderByChainId(request.chainId);
|
|
413
|
-
const contract = ethers.createSafeContract(request.contractAddress, request.abi, ethersProvider);
|
|
414
|
-
const tokenId = Number(request.tokenId);
|
|
415
|
-
const tokenUri = await ethers.getTokenUri(contract, tokenId);
|
|
416
|
-
return String(tokenUri);
|
|
417
|
-
}
|
|
418
|
-
catch (error) {
|
|
419
|
-
console.error(`Failed to get token URI for tokenId ${request.tokenId}:`, error);
|
|
420
|
-
throw error;
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
async getTokenOfOwnerByIndex(request) {
|
|
424
|
-
try {
|
|
425
|
-
const ethersProvider = await this.web3ChainService.getEthersProviderByChainId(request.chainId);
|
|
426
|
-
const tokenContract = ethers.createSafeContract(request.contractAddress, request.abi, ethersProvider);
|
|
427
|
-
const tokenId = await ethers.getTokenOfOwnerByIndex(tokenContract, request.accountAddress, request.tokenIndex);
|
|
428
|
-
return String(tokenId);
|
|
429
|
-
}
|
|
430
|
-
catch (error) {
|
|
431
|
-
console.error(`Failed to get token by index ${request.tokenIndex} for ${request.accountAddress}:`, error);
|
|
432
|
-
throw error;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
/**
|
|
438
|
-
* IPFSInfrastructureApi - Infrastructure implementation for IPFS operations
|
|
439
|
-
* Uses Web3ChainService for IPFS gateway resolution
|
|
440
|
-
*/
|
|
441
|
-
class IPFSInfrastructureApi {
|
|
442
|
-
constructor(web3ChainService) {
|
|
443
|
-
this.web3ChainService = web3ChainService;
|
|
444
|
-
this.defaultIpfsGatewayDomain = 'pers.mypinata.cloud';
|
|
445
|
-
}
|
|
446
|
-
async getIpfsGatewayDomain(chainId) {
|
|
447
|
-
try {
|
|
448
|
-
const chainData = await this.web3ChainService.getChainDataWithCache(chainId);
|
|
449
|
-
return chainData.ipfsGatewayDomain || this.defaultIpfsGatewayDomain;
|
|
450
|
-
}
|
|
451
|
-
catch (error) {
|
|
452
|
-
console.warn(`Failed to get chain data for chainId ${chainId}, using default IPFS gateway:`, error);
|
|
453
|
-
return this.defaultIpfsGatewayDomain;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
async resolveIPFSUrl(url, chainId) {
|
|
457
|
-
if (url.startsWith('ipfs://')) {
|
|
458
|
-
const gateway = await this.getIpfsGatewayDomain(chainId);
|
|
459
|
-
return url.replace('ipfs://', `https://${gateway}/ipfs/`);
|
|
460
|
-
}
|
|
461
|
-
return url;
|
|
462
|
-
}
|
|
463
|
-
async fetchAndProcessMetadata(tokenUri, chainId) {
|
|
464
|
-
try {
|
|
465
|
-
const resolvedUri = await this.resolveIPFSUrl(tokenUri, chainId);
|
|
466
|
-
const response = await fetch(resolvedUri);
|
|
467
|
-
if (!response.ok) {
|
|
468
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
469
|
-
}
|
|
470
|
-
const metadata = await response.json();
|
|
471
|
-
// Process and return clean metadata
|
|
472
|
-
return {
|
|
473
|
-
name: metadata.name || '',
|
|
474
|
-
description: metadata.description || '',
|
|
475
|
-
image: metadata.image ? await this.resolveIPFSUrl(metadata.image, chainId) : '',
|
|
476
|
-
attributes: metadata.attributes || [],
|
|
477
|
-
animation_url: metadata.animation_url ? await this.resolveIPFSUrl(metadata.animation_url, chainId) : undefined,
|
|
478
|
-
external_url: metadata.external_url || undefined
|
|
479
|
-
};
|
|
480
|
-
}
|
|
481
|
-
catch (error) {
|
|
482
|
-
console.error('Error fetching metadata:', error);
|
|
483
|
-
return null;
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
async fetchFromUrl(url) {
|
|
487
|
-
try {
|
|
488
|
-
const response = await fetch(url);
|
|
489
|
-
if (!response.ok) {
|
|
490
|
-
throw new Error(`Failed to fetch from ${url}: ${response.statusText}`);
|
|
491
|
-
}
|
|
492
|
-
return await response.json();
|
|
493
|
-
}
|
|
494
|
-
catch (error) {
|
|
495
|
-
console.error(`Error fetching from URL ${url}:`, error);
|
|
496
|
-
throw error;
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
function createWeb3SDK(apiClient) {
|
|
502
|
-
// Warn about potential bundling issues in web environments
|
|
503
|
-
environment.warnIfProblematicEnvironment('Web3 functionality');
|
|
504
|
-
const web3ChainSDK = web3Chain.createWeb3ChainSDK(apiClient);
|
|
505
|
-
// Create Web3ApplicationService - main entry point for all Web3 operations
|
|
506
|
-
const web3InfrastructureApi = new Web3InfrastructureApi(web3ChainSDK.service);
|
|
507
|
-
const ipfsInfrastructureApi = new IPFSInfrastructureApi(web3ChainSDK.service);
|
|
508
|
-
const web3ApplicationService = new Web3ApplicationService(web3InfrastructureApi, ipfsInfrastructureApi);
|
|
509
|
-
// Clean SDK - all functions route through Web3ApplicationService
|
|
510
|
-
return {
|
|
511
|
-
getTokenBalance: (request) => web3ApplicationService.getSpecificTokenBalance(request),
|
|
512
|
-
getTokenMetadata: (request) => web3ApplicationService.getTokenMetadata(request),
|
|
513
|
-
getTokenCollection: (request) => web3ApplicationService.getTokenCollection(request),
|
|
514
|
-
resolveIPFSUrl: (url, chainId) => web3ApplicationService.resolveIPFSUrl(url, chainId),
|
|
515
|
-
fetchAndProcessMetadata: (tokenUri, chainId) => web3ApplicationService.fetchAndProcessMetadata(tokenUri, chainId),
|
|
516
|
-
applicationService: web3ApplicationService
|
|
517
|
-
};
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
exports.IPFSInfrastructureApi = IPFSInfrastructureApi;
|
|
521
|
-
exports.Web3ApplicationService = Web3ApplicationService;
|
|
522
|
-
exports.Web3InfrastructureApi = Web3InfrastructureApi;
|
|
523
|
-
exports.createWeb3SDK = createWeb3SDK;
|
|
11
|
+
exports.IPFSInfrastructureApi = web3.IPFSInfrastructureApi;
|
|
12
|
+
exports.Web3ApplicationService = web3.Web3ApplicationService;
|
|
13
|
+
exports.Web3InfrastructureApi = web3.Web3InfrastructureApi;
|
|
14
|
+
exports.createWeb3SDK = web3.createWeb3SDK;
|
|
15
|
+
exports.getExplorerUrl = web3.getExplorerUrl;
|
|
16
|
+
exports.getExplorerUrlByChainId = web3.getExplorerUrlByChainId;
|
|
524
17
|
//# sourceMappingURL=web3.cjs.map
|
package/dist/web3.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":["convertAbiToInterface","createSafeContract","getAccountTokenBalance","getTokenUri","getTokenOfOwnerByIndex","warnIfProblematicEnvironment","createWeb3ChainSDK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|