@deserialize/multi-vm-wallet 1.2.10 → 1.2.21

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 (47) hide show
  1. package/dist/IChainWallet.d.ts +5 -1
  2. package/dist/IChainWallet.js.map +1 -1
  3. package/dist/constant.d.ts +16 -0
  4. package/dist/constant.js +19 -3
  5. package/dist/constant.js.map +1 -1
  6. package/dist/evm/evm.d.ts +6 -1
  7. package/dist/evm/evm.js +36 -45
  8. package/dist/evm/evm.js.map +1 -1
  9. package/dist/evm/transactionParsing.d.ts +3687 -0
  10. package/dist/evm/transactionParsing.js +441 -0
  11. package/dist/evm/transactionParsing.js.map +1 -0
  12. package/dist/evm/utils.d.ts +2 -9
  13. package/dist/evm/utils.js +17 -16
  14. package/dist/evm/utils.js.map +1 -1
  15. package/dist/helpers/index.d.ts +4 -0
  16. package/dist/helpers/index.js +13 -0
  17. package/dist/helpers/index.js.map +1 -0
  18. package/dist/svm/constant.d.ts +15 -0
  19. package/dist/svm/constant.js +25 -0
  20. package/dist/svm/constant.js.map +1 -0
  21. package/dist/svm/svm.d.ts +5 -2
  22. package/dist/svm/svm.js +10 -0
  23. package/dist/svm/svm.js.map +1 -1
  24. package/dist/svm/transactionParsing.d.ts +28 -0
  25. package/dist/svm/transactionParsing.js +207 -0
  26. package/dist/svm/transactionParsing.js.map +1 -0
  27. package/dist/svm/utils.d.ts +4 -3
  28. package/dist/svm/utils.js +82 -9
  29. package/dist/svm/utils.js.map +1 -1
  30. package/dist/test.d.ts +1 -1
  31. package/dist/test.js +47 -9
  32. package/dist/test.js.map +1 -1
  33. package/dist/types.d.ts +5 -1
  34. package/dist/types.js.map +1 -1
  35. package/package.json +4 -2
  36. package/utils/IChainWallet.ts +6 -2
  37. package/utils/constant.ts +22 -4
  38. package/utils/evm/evm.ts +53 -48
  39. package/utils/evm/transactionParsing.ts +639 -0
  40. package/utils/evm/utils.ts +26 -25
  41. package/utils/helpers/index.ts +11 -0
  42. package/utils/svm/constant.ts +29 -0
  43. package/utils/svm/svm.ts +14 -2
  44. package/utils/svm/transactionParsing.ts +294 -0
  45. package/utils/svm/utils.ts +104 -13
  46. package/utils/test.ts +56 -6
  47. package/utils/types.ts +6 -1
@@ -0,0 +1,441 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEVMTransactionHistory = getEVMTransactionHistory;
4
+ exports.getEVMTransactionHistoryWithAPI = getEVMTransactionHistoryWithAPI;
5
+ exports.createEVMClient = createEVMClient;
6
+ const viem_1 = require("viem");
7
+ const constant_1 = require("../constant");
8
+ // ERC20 Transfer event signature
9
+ const ERC20_TRANSFER_EVENT = (0, viem_1.parseAbi)([
10
+ 'event Transfer(address indexed from, address indexed to, uint256 value)'
11
+ ]);
12
+ // ERC721 Transfer event signature
13
+ const ERC721_TRANSFER_EVENT = (0, viem_1.parseAbi)([
14
+ 'event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)'
15
+ ]);
16
+ // ERC1155 TransferSingle event signature
17
+ const ERC1155_TRANSFER_SINGLE_EVENT = (0, viem_1.parseAbi)([
18
+ 'event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)'
19
+ ]);
20
+ // ERC1155 TransferBatch event signature
21
+ const ERC1155_TRANSFER_BATCH_EVENT = (0, viem_1.parseAbi)([
22
+ 'event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)'
23
+ ]);
24
+ /**
25
+ * Fetches and parses transaction history for an EVM wallet address
26
+ * @param client - Viem public client
27
+ * @param walletAddress - Ethereum address
28
+ * @param options - Optional parameters for filtering and features
29
+ * @returns Array of parsed transaction history items
30
+ */
31
+ async function getEVMTransactionHistory(client, walletAddress, options = {}) {
32
+ const { startBlock = 0n, endBlock, includeTokenTransfers = true, includeNFTTransfers = true, } = options;
33
+ try {
34
+ const currentBlock = await client.getBlockNumber();
35
+ const toBlock = endBlock || currentBlock;
36
+ // For wallet UI, we typically want recent transactions
37
+ // Start scanning from current block backwards
38
+ const scanStartBlock = startBlock > 0n ? startBlock : (currentBlock > 5000n ? currentBlock - 5000n : 0n);
39
+ console.log(`Fetching recent transactions from block ${scanStartBlock} to ${toBlock}`);
40
+ // Get transaction hashes for the address (max 15 transactions)
41
+ const txHashes = await getRecentTransactionHashes(client, walletAddress, scanStartBlock, toBlock, 15 // max transactions to fetch
42
+ );
43
+ console.log(`Found ${txHashes.length} unique transactions`);
44
+ // Fetch full transaction details in batches
45
+ const transactions = await fetchTransactionsInBatches(client, txHashes, 10);
46
+ // Parse each transaction
47
+ const history = [];
48
+ for (const { tx, receipt, block } of transactions) {
49
+ if (!tx || !receipt)
50
+ continue;
51
+ const parsed = await parseEVMTransaction(client, tx, receipt, block?.timestamp || null, walletAddress, includeTokenTransfers, includeNFTTransfers);
52
+ history.push(parsed);
53
+ }
54
+ // Sort by block number (newest first)
55
+ history.sort((a, b) => Number(b.blockNumber - a.blockNumber));
56
+ return history;
57
+ }
58
+ catch (error) {
59
+ console.error('Error fetching EVM transaction history:', error);
60
+ throw error;
61
+ }
62
+ }
63
+ /**
64
+ * Gets recent transaction hashes by scanning blocks backwards
65
+ * Uses batched parallel requests for better performance
66
+ */
67
+ async function getRecentTransactionHashes(client, address, startBlock, endBlock, maxTransactions = 15, batchSize = 9) {
68
+ const txHashes = [];
69
+ const seenHashes = new Map();
70
+ const addressLower = address.toLowerCase();
71
+ let currentBlock = endBlock;
72
+ let blocksScanned = 0n;
73
+ console.log(`Scanning blocks backwards from ${endBlock}...`);
74
+ // Iterate backwards in batches
75
+ while (currentBlock >= startBlock && txHashes.length < maxTransactions) {
76
+ // Create batch of block numbers to fetch
77
+ const blockNumbers = [];
78
+ for (let i = 0; i < batchSize && currentBlock >= startBlock; i++) {
79
+ blockNumbers.push(currentBlock);
80
+ currentBlock--;
81
+ }
82
+ try {
83
+ // Fetch all blocks in parallel
84
+ const blocks = await Promise.all(blockNumbers.map(blockNumber => client.getBlock({
85
+ blockNumber,
86
+ includeTransactions: true,
87
+ }).catch(error => {
88
+ console.error(`Error fetching block ${blockNumber}:`, error);
89
+ return null;
90
+ })));
91
+ blocks.length;
92
+ console.log('blocks.length: ', blocks.length);
93
+ // Process blocks in order (newest to oldest)
94
+ for (const block of blocks) {
95
+ if (!block || !block.transactions)
96
+ continue;
97
+ for (let i = 0; i < block.transactions.length && txHashes.length < maxTransactions; i++) {
98
+ const tx = block.transactions[i];
99
+ if (typeof tx === 'object') {
100
+ // Check if wallet is sender or receiver
101
+ const isSender = tx.from.toLowerCase() === addressLower;
102
+ const isReceiver = tx.to?.toLowerCase() === addressLower;
103
+ if ((isSender || isReceiver) && !seenHashes.has(tx.hash)) {
104
+ seenHashes.set(tx.hash, true);
105
+ txHashes.push(tx.hash);
106
+ }
107
+ }
108
+ else {
109
+ console.log("Transaction is not an object: ", tx);
110
+ }
111
+ }
112
+ // Early exit if we found enough transactions
113
+ if (txHashes.length >= maxTransactions)
114
+ break;
115
+ }
116
+ blocksScanned += BigInt(blockNumbers.length);
117
+ // Log progress
118
+ if (blocksScanned % 50n === 0n || blocksScanned < 50n) {
119
+ console.log(`Scanned ${blocksScanned} blocks, found ${txHashes.length} transactions`);
120
+ }
121
+ }
122
+ catch (error) {
123
+ console.error(`Error fetching block batch:`, error);
124
+ continue;
125
+ }
126
+ }
127
+ console.log(`Found ${txHashes.length} transactions after scanning ${blocksScanned} blocks`);
128
+ return txHashes;
129
+ }
130
+ /**
131
+ * Alternative function that uses Etherscan-like API
132
+ * This is the recommended approach for production use
133
+ */
134
+ async function getEVMTransactionHistoryWithAPI(client, walletAddress, apiEndpoint, apiKey, options = {}) {
135
+ const { includeTokenTransfers = true, includeNFTTransfers = true } = options;
136
+ try {
137
+ // Fetch normal transactions
138
+ const normalTxResponse = await fetch(`${apiEndpoint}?module=account&action=txlist&address=${walletAddress}&startblock=0&endblock=99999999&sort=desc&apikey=${apiKey}`);
139
+ const normalTxData = await normalTxResponse.json();
140
+ const history = [];
141
+ if (normalTxData.status === '1' && normalTxData.result) {
142
+ for (const tx of normalTxData.result.slice(0, 50)) { // Limit to 50 most recent
143
+ const receipt = await client.getTransactionReceipt({ hash: tx.hash });
144
+ const parsed = await parseEVMTransaction(client, {
145
+ hash: tx.hash,
146
+ from: tx.from,
147
+ to: tx.to,
148
+ value: BigInt(tx.value),
149
+ blockNumber: BigInt(tx.blockNumber),
150
+ input: tx.input,
151
+ nonce: parseInt(tx.nonce),
152
+ gas: BigInt(tx.gas),
153
+ gasPrice: tx.gasPrice ? BigInt(tx.gasPrice) : undefined,
154
+ }, receipt, BigInt(tx.timeStamp), walletAddress, includeTokenTransfers, includeNFTTransfers);
155
+ history.push(parsed);
156
+ }
157
+ }
158
+ return history;
159
+ }
160
+ catch (error) {
161
+ console.error('Error fetching EVM transaction history with API:', error);
162
+ throw error;
163
+ }
164
+ }
165
+ /**
166
+ * Fetches transaction hashes for an address by iterating through blocks
167
+ * Efficient for recent transactions (last 10-15 txs)
168
+ */
169
+ async function getTransactionHashesByAddress(client, address, startBlock, endBlock, direction, maxTransactions = 15) {
170
+ const txHashes = [];
171
+ const addressLower = address.toLowerCase();
172
+ let currentBlock = endBlock;
173
+ console.log(`Scanning blocks backwards from ${endBlock} to ${startBlock}...`);
174
+ // Iterate backwards from most recent block
175
+ while (currentBlock >= startBlock && txHashes.length < maxTransactions) {
176
+ try {
177
+ const block = await client.getBlock({
178
+ blockNumber: currentBlock,
179
+ includeTransactions: true,
180
+ });
181
+ if (block.transactions) {
182
+ for (const tx of block.transactions) {
183
+ // Check if transaction matches the direction filter
184
+ if (typeof tx === 'object') {
185
+ const matchesDirection = (direction === 'from' && tx.from.toLowerCase() === addressLower) ||
186
+ (direction === 'to' && tx.to?.toLowerCase() === addressLower) ||
187
+ (direction === 'from' && tx.from.toLowerCase() === addressLower) ||
188
+ (direction === 'to' && tx.to?.toLowerCase() === addressLower);
189
+ if (matchesDirection) {
190
+ txHashes.push(tx.hash);
191
+ // Stop if we've found enough transactions
192
+ if (txHashes.length >= maxTransactions) {
193
+ break;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ currentBlock--;
200
+ // Log progress every 100 blocks
201
+ if ((endBlock - currentBlock) % 100n === 0n) {
202
+ console.log(`Scanned ${endBlock - currentBlock} blocks, found ${txHashes.length} transactions`);
203
+ }
204
+ }
205
+ catch (error) {
206
+ console.error(`Error fetching block ${currentBlock}:`, error);
207
+ currentBlock--;
208
+ continue;
209
+ }
210
+ }
211
+ console.log(`Found ${txHashes.length} transactions after scanning ${endBlock - currentBlock} blocks`);
212
+ return txHashes;
213
+ }
214
+ /**
215
+ * Fetches full transaction details in batches
216
+ */
217
+ async function fetchTransactionsInBatches(client, hashes, batchSize) {
218
+ const results = [];
219
+ for (let i = 0; i < hashes.length; i += batchSize) {
220
+ const batch = hashes.slice(i, i + batchSize);
221
+ const batchResults = await Promise.all(batch.map(async (hash) => {
222
+ try {
223
+ const [tx, receipt] = await Promise.all([
224
+ client.getTransaction({ hash }),
225
+ client.getTransactionReceipt({ hash }),
226
+ ]);
227
+ let block = null;
228
+ if (tx?.blockNumber) {
229
+ block = await client.getBlock({ blockNumber: tx.blockNumber });
230
+ }
231
+ return { tx, receipt, block };
232
+ }
233
+ catch (error) {
234
+ console.error(`Error fetching transaction ${hash}:`, error);
235
+ return { tx: null, receipt: null, block: null };
236
+ }
237
+ }));
238
+ results.push(...batchResults);
239
+ // Small delay to avoid rate limiting
240
+ if (i + batchSize < hashes.length) {
241
+ await new Promise(resolve => setTimeout(resolve, 100));
242
+ }
243
+ }
244
+ return results;
245
+ }
246
+ /**
247
+ * Parses a single EVM transaction
248
+ */
249
+ async function parseEVMTransaction(client, tx, receipt, timestamp, walletAddress, includeTokenTransfers, includeNFTTransfers) {
250
+ const gasUsed = receipt.gasUsed;
251
+ const effectiveGasPrice = receipt.effectiveGasPrice || tx.gasPrice || 0n;
252
+ const fee = (0, viem_1.formatEther)(gasUsed * effectiveGasPrice);
253
+ const gasPrice = (0, viem_1.formatUnits)(effectiveGasPrice, 9); // gwei
254
+ // Determine transaction type
255
+ const type = determineTransactionType(tx, receipt);
256
+ // Extract method signature
257
+ const method = tx.input && tx.input.length >= 10
258
+ ? tx.input.slice(0, 10)
259
+ : undefined;
260
+ // Parse token transfers from logs
261
+ let tokenTransfers = [];
262
+ let nftTransfers = [];
263
+ if (includeTokenTransfers || includeNFTTransfers) {
264
+ const transfers = await parseTransferLogs(client, receipt.logs, walletAddress, includeTokenTransfers, includeNFTTransfers);
265
+ tokenTransfers = transfers.tokens;
266
+ nftTransfers = transfers.nfts;
267
+ }
268
+ return {
269
+ hash: tx.hash,
270
+ timestamp: timestamp ? Number(timestamp) : null,
271
+ blockNumber: tx.blockNumber || 0n,
272
+ status: receipt.status === 'success' ? 'success' : 'failed',
273
+ fee,
274
+ gasUsed,
275
+ gasPrice,
276
+ type,
277
+ from: tx.from,
278
+ to: tx.to || null,
279
+ value: (0, viem_1.formatEther)(tx.value || 0n),
280
+ method,
281
+ tokenTransfers: tokenTransfers.length > 0 ? tokenTransfers : undefined,
282
+ nftTransfers: nftTransfers.length > 0 ? nftTransfers : undefined,
283
+ };
284
+ }
285
+ /**
286
+ * Determines the transaction type
287
+ */
288
+ function determineTransactionType(tx, receipt) {
289
+ // Contract creation
290
+ if (!tx.to)
291
+ return constant_1.TRANSACTION_TYPE.CONTRACT_CREATION;
292
+ // Check if it's a token/NFT transfer based on method signature
293
+ const methodSig = tx.input?.slice(0, 10);
294
+ if (methodSig === '0xa9059cbb')
295
+ return constant_1.TRANSACTION_TYPE.TOKEN_TRANSFER; // ERC20 transfer
296
+ if (methodSig === '0x23b872dd')
297
+ return constant_1.TRANSACTION_TYPE.TOKEN_TRANSFER; // ERC20 transferFrom
298
+ if (methodSig === '0x42842e0e')
299
+ return constant_1.TRANSACTION_TYPE.NFT_TRANSFER; // ERC721 safeTransferFrom
300
+ if (methodSig === '0xf242432a')
301
+ return constant_1.TRANSACTION_TYPE.NFT_TRANSFER; // ERC1155 safeTransferFrom
302
+ // Check value
303
+ if (tx.value && tx.value > 0n)
304
+ return constant_1.TRANSACTION_TYPE.NATIVE_TRANSFER;
305
+ // Check logs for common patterns
306
+ if (receipt.logs.some(log => log.topics[0]?.includes('Swap')))
307
+ return constant_1.TRANSACTION_TYPE.SWAP;
308
+ if (receipt.logs.some(log => log.topics[0]?.includes('Deposit')))
309
+ return constant_1.TRANSACTION_TYPE.DEPOSIT;
310
+ if (receipt.logs.some(log => log.topics[0]?.includes('Withdraw')))
311
+ return constant_1.TRANSACTION_TYPE.WITHDRAWAL;
312
+ return constant_1.TRANSACTION_TYPE.CONTRACT_INTERACTION;
313
+ }
314
+ /**
315
+ * Parses transfer events from transaction logs
316
+ */
317
+ async function parseTransferLogs(client, logs, walletAddress, includeTokenTransfers, includeNFTTransfers) {
318
+ const tokens = [];
319
+ const nfts = [];
320
+ for (const log of logs) {
321
+ try {
322
+ // Try ERC20 Transfer
323
+ if (includeTokenTransfers && log.topics.length === 3) {
324
+ try {
325
+ const decoded = (0, viem_1.decodeEventLog)({
326
+ abi: ERC20_TRANSFER_EVENT,
327
+ data: log.data,
328
+ topics: log.topics,
329
+ });
330
+ if (decoded.eventName === 'Transfer') {
331
+ const { from, to, value } = decoded.args;
332
+ // Only include if wallet is involved
333
+ if (from.toLowerCase() === walletAddress.toLowerCase() ||
334
+ to.toLowerCase() === walletAddress.toLowerCase()) {
335
+ // Try to get token info (this might fail for non-standard tokens)
336
+ let decimals = 18;
337
+ try {
338
+ decimals = await client.readContract({
339
+ address: log.address,
340
+ abi: (0, viem_1.parseAbi)(['function decimals() view returns (uint8)']),
341
+ functionName: 'decimals',
342
+ });
343
+ }
344
+ catch { }
345
+ tokens.push({
346
+ type: 'ERC20',
347
+ from,
348
+ to,
349
+ amount: (0, viem_1.formatUnits)(value, decimals),
350
+ tokenAddress: log.address,
351
+ tokenDecimals: decimals,
352
+ });
353
+ }
354
+ }
355
+ }
356
+ catch { }
357
+ }
358
+ // Try ERC721 Transfer (has indexed tokenId)
359
+ if (includeNFTTransfers && log.topics.length === 4) {
360
+ try {
361
+ const decoded = (0, viem_1.decodeEventLog)({
362
+ abi: ERC721_TRANSFER_EVENT,
363
+ data: log.data,
364
+ topics: log.topics,
365
+ });
366
+ if (decoded.eventName === 'Transfer') {
367
+ const { from, to, tokenId } = decoded.args;
368
+ if (from.toLowerCase() === walletAddress.toLowerCase() ||
369
+ to.toLowerCase() === walletAddress.toLowerCase()) {
370
+ nfts.push({
371
+ type: 'ERC721',
372
+ from,
373
+ to,
374
+ tokenId: tokenId.toString(),
375
+ tokenAddress: log.address,
376
+ });
377
+ }
378
+ }
379
+ }
380
+ catch { }
381
+ }
382
+ // Try ERC1155 TransferSingle
383
+ if (includeNFTTransfers) {
384
+ try {
385
+ const decoded = (0, viem_1.decodeEventLog)({
386
+ abi: ERC1155_TRANSFER_SINGLE_EVENT,
387
+ data: log.data,
388
+ topics: log.topics,
389
+ });
390
+ if (decoded.eventName === 'TransferSingle') {
391
+ const { from, to, id, value } = decoded.args;
392
+ if (from.toLowerCase() === walletAddress.toLowerCase() ||
393
+ to.toLowerCase() === walletAddress.toLowerCase()) {
394
+ nfts.push({
395
+ type: 'ERC1155',
396
+ from,
397
+ to,
398
+ tokenId: id.toString(),
399
+ amount: value.toString(),
400
+ tokenAddress: log.address,
401
+ });
402
+ }
403
+ }
404
+ }
405
+ catch { }
406
+ }
407
+ }
408
+ catch (error) {
409
+ // Skip logs that don't match our patterns
410
+ continue;
411
+ }
412
+ }
413
+ return { tokens, nfts };
414
+ }
415
+ /**
416
+ * Helper function to create a client
417
+ */
418
+ function createEVMClient(rpcUrl) {
419
+ return (0, viem_1.createPublicClient)({
420
+ transport: (0, viem_1.http)(rpcUrl),
421
+ });
422
+ }
423
+ // Example usage:
424
+ /*
425
+ import { mainnet } from 'viem/chains';
426
+
427
+ const client = createPublicClient({
428
+ chain: mainnet,
429
+ transport: http('https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY'),
430
+ });
431
+
432
+ const history = await getEVMTransactionHistoryWithAPI(
433
+ client,
434
+ '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb' as Address,
435
+ 'https://api.etherscan.io/api',
436
+ 'YOUR_ETHERSCAN_API_KEY'
437
+ );
438
+
439
+ console.log(history);
440
+ */
441
+ //# sourceMappingURL=transactionParsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionParsing.js","sourceRoot":"","sources":["../../utils/evm/transactionParsing.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Balance, TokenInfo } from '../types';
1
+ import { Balance, ChainWalletConfig, UserTokenBalance, TokenInfo } from '../types';
2
2
  import { JsonRpcProvider, Wallet, TransactionReceipt } from 'ethers';
3
3
  export interface TransactionParams {
4
4
  to: string;
@@ -186,6 +186,7 @@ export declare const safeApprove: (wallet: Wallet, tokenAddress: string, spender
186
186
  resetResult: TransactionResult;
187
187
  approveResult: TransactionResult;
188
188
  }>;
189
+ export declare const discoverTokens: (wallet: string, chain: ChainWalletConfig) => Promise<UserTokenBalance<string>[]>;
189
190
  export declare function getKyberSwapRoute(params: KyberSwapParams): Promise<KyberSwapResponse>;
190
191
  export declare function buildKyberSwapTransaction(chainId: string, routeSummary: KyberRoute, sender: string, recipient: string, slippageTolerance?: number, deadline?: number, clientId?: string): Promise<KyberBuildResponse>;
191
192
  export declare function performSwap(params: {
@@ -216,13 +217,5 @@ export declare function prepareSwapParams(tokenIn: string, tokenOut: string, amo
216
217
  tokenOutAddress: string;
217
218
  formattedAmountIn: string;
218
219
  };
219
- /**
220
- * Normalize token address for Debonk
221
- * Converts 'native' or variations to the standard 0xEeeee... address
222
- */
223
- /**
224
- * Convert slippage from basis points to percentage for Debonk
225
- * Input: 50 (0.5% in bps) -> Output: 0.5 (percentage)
226
- */
227
220
  export declare function convertSlippageForDebonk(slippageBps: number): number;
228
221
  export {};
package/dist/evm/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.safeApprove = exports.resetAllowance = exports.checkAndApprove = exports.approveTokenUnlimited = exports.approveToken = exports.isAllowanceSufficient = exports.checkAllowance = exports.estimateGas = exports.getGasPrices = exports.executeContractMethod = exports.sendERC20Token = exports.sendNativeToken = exports.signSendAndConfirm = exports.getTokenBalance = exports.getTokenInfo = exports.getNativeBalance = exports.DESERIALIZED_SUPPORTED_CHAINS = void 0;
6
+ exports.discoverTokens = exports.safeApprove = exports.resetAllowance = exports.checkAndApprove = exports.approveTokenUnlimited = exports.approveToken = exports.isAllowanceSufficient = exports.checkAllowance = exports.estimateGas = exports.getGasPrices = exports.executeContractMethod = exports.sendERC20Token = exports.sendNativeToken = exports.signSendAndConfirm = exports.getTokenBalance = exports.getTokenInfo = exports.getNativeBalance = exports.DESERIALIZED_SUPPORTED_CHAINS = void 0;
7
7
  exports.getKyberSwapRoute = getKyberSwapRoute;
8
8
  exports.buildKyberSwapTransaction = buildKyberSwapTransaction;
9
9
  exports.performSwap = performSwap;
@@ -17,6 +17,7 @@ exports.prepareSwapParams = prepareSwapParams;
17
17
  exports.convertSlippageForDebonk = convertSlippageForDebonk;
18
18
  const ethers_1 = require("ethers");
19
19
  const bn_js_1 = __importDefault(require("bn.js"));
20
+ const helpers_1 = require("../helpers");
20
21
  const KYBER_BASE_URL = 'https://aggregator-api.kyberswap.com';
21
22
  const KYBER_SUPPORTED_CHAINS = {
22
23
  '1': 'ethereum',
@@ -393,6 +394,21 @@ const safeApprove = async (wallet, tokenAddress, spender, amount, gasLimit, conf
393
394
  }
394
395
  };
395
396
  exports.safeApprove = safeApprove;
397
+ const discoverTokens = async (wallet, chain) => {
398
+ const balances = await helpers_1.HelperAPI.getUserToken(wallet, chain.vmType ?? "EVM", chain.chainId);
399
+ const formatBalances = balances.data.map((token) => {
400
+ return {
401
+ address: token.contractAddress,
402
+ name: token.name,
403
+ symbol: token.symbol,
404
+ decimals: token.decimals,
405
+ balance: token.balance,
406
+ owner: wallet
407
+ };
408
+ });
409
+ return formatBalances;
410
+ };
411
+ exports.discoverTokens = discoverTokens;
396
412
  //swaps
397
413
  //kyber swap here
398
414
  //docs -. https://docs.kyberswap.com/kyberswap-solutions/kyberswap-aggregator/developer-guides/execute-a-swap-with-the-aggregator-api
@@ -586,21 +602,6 @@ function prepareSwapParams(tokenIn, tokenOut, amountIn, tokenInDecimals, isNativ
586
602
  formattedAmountIn
587
603
  };
588
604
  }
589
- /**
590
- * Normalize token address for Debonk
591
- * Converts 'native' or variations to the standard 0xEeeee... address
592
- */
593
- // export function normalizeTokenAddressForDebonk(tokenAddress: string): string {
594
- // if (tokenAddress === 'native' ||
595
- // tokenAddress.toLowerCase() === '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee') {
596
- // return getNativeTokenAddress();
597
- // }
598
- // return tokenAddress;
599
- // }
600
- /**
601
- * Convert slippage from basis points to percentage for Debonk
602
- * Input: 50 (0.5% in bps) -> Output: 0.5 (percentage)
603
- */
604
605
  function convertSlippageForDebonk(slippageBps) {
605
606
  return slippageBps / 100;
606
607
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../utils/evm/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../utils/evm/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { vmTypes } from "../types";
2
+ export declare class HelperAPI {
3
+ static getUserToken(wallet: string, vm: vmTypes, chainId: number): Promise<any>;
4
+ }