web3-tools-mcp 1.1.0 → 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 (68) hide show
  1. package/README.md +28 -4
  2. package/dist/package.json +5 -2
  3. package/dist/src/tools/ens.d.ts +119 -0
  4. package/dist/src/tools/ens.d.ts.map +1 -0
  5. package/dist/src/tools/ens.js +425 -0
  6. package/dist/src/tools/ens.js.map +1 -0
  7. package/dist/src/tools/index.d.ts.map +1 -1
  8. package/dist/src/tools/index.js +3 -1
  9. package/dist/src/tools/index.js.map +1 -1
  10. package/dist/test/tools/ens.test.d.ts +2 -0
  11. package/dist/test/tools/ens.test.d.ts.map +1 -0
  12. package/dist/test/tools/ens.test.js +236 -0
  13. package/dist/test/tools/ens.test.js.map +1 -0
  14. package/package.json +5 -2
  15. package/src/tools/ens.ts +493 -0
  16. package/src/tools/index.ts +3 -1
  17. package/dist/client.d.ts +0 -1653
  18. package/dist/client.d.ts.map +0 -1
  19. package/dist/client.js +0 -142
  20. package/dist/client.js.map +0 -1
  21. package/dist/index.d.ts +0 -3
  22. package/dist/index.d.ts.map +0 -1
  23. package/dist/index.js +0 -88
  24. package/dist/index.js.map +0 -1
  25. package/dist/test/mcp-client.test.d.ts +0 -2
  26. package/dist/test/mcp-client.test.d.ts.map +0 -1
  27. package/dist/test/mcp-client.test.js +0 -376
  28. package/dist/test/mcp-client.test.js.map +0 -1
  29. package/dist/tools/advanced.d.ts +0 -75
  30. package/dist/tools/advanced.d.ts.map +0 -1
  31. package/dist/tools/advanced.js +0 -234
  32. package/dist/tools/advanced.js.map +0 -1
  33. package/dist/tools/balance.d.ts +0 -55
  34. package/dist/tools/balance.d.ts.map +0 -1
  35. package/dist/tools/balance.js +0 -146
  36. package/dist/tools/balance.js.map +0 -1
  37. package/dist/tools/batch.d.ts +0 -122
  38. package/dist/tools/batch.d.ts.map +0 -1
  39. package/dist/tools/batch.js +0 -243
  40. package/dist/tools/batch.js.map +0 -1
  41. package/dist/tools/contract-info.d.ts +0 -79
  42. package/dist/tools/contract-info.d.ts.map +0 -1
  43. package/dist/tools/contract-info.js +0 -450
  44. package/dist/tools/contract-info.js.map +0 -1
  45. package/dist/tools/contract.d.ts +0 -79
  46. package/dist/tools/contract.d.ts.map +0 -1
  47. package/dist/tools/contract.js +0 -140
  48. package/dist/tools/contract.js.map +0 -1
  49. package/dist/tools/index.d.ts +0 -3
  50. package/dist/tools/index.d.ts.map +0 -1
  51. package/dist/tools/index.js +0 -27
  52. package/dist/tools/index.js.map +0 -1
  53. package/dist/tools/logs.d.ts +0 -39
  54. package/dist/tools/logs.d.ts.map +0 -1
  55. package/dist/tools/logs.js +0 -231
  56. package/dist/tools/logs.js.map +0 -1
  57. package/dist/tools/signatures.d.ts +0 -83
  58. package/dist/tools/signatures.d.ts.map +0 -1
  59. package/dist/tools/signatures.js +0 -93
  60. package/dist/tools/signatures.js.map +0 -1
  61. package/dist/types.d.ts +0 -22
  62. package/dist/types.d.ts.map +0 -1
  63. package/dist/types.js +0 -2
  64. package/dist/types.js.map +0 -1
  65. package/dist/utils.d.ts +0 -22
  66. package/dist/utils.d.ts.map +0 -1
  67. package/dist/utils.js +0 -183
  68. package/dist/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-client.test.js","sourceRoot":"","sources":["../../test/mcp-client.test.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import { z } from 'zod';
2
- declare const _default: {
3
- get_storage_at: {
4
- title: string;
5
- description: string;
6
- schema: z.ZodObject<{
7
- chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
8
- address: z.ZodString;
9
- slot: z.ZodString;
10
- abiType: z.ZodString;
11
- blockNumber: z.ZodOptional<z.ZodString>;
12
- }, "strip", z.ZodTypeAny, {
13
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
14
- address: string;
15
- slot: string;
16
- abiType: string;
17
- blockNumber?: string | undefined;
18
- }, {
19
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
20
- address: string;
21
- slot: string;
22
- abiType: string;
23
- blockNumber?: string | undefined;
24
- }>;
25
- handler: (args: {
26
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
27
- address: string;
28
- slot: string;
29
- abiType: string;
30
- blockNumber?: string | undefined;
31
- }) => Promise<import("../types.js").ToolResult>;
32
- };
33
- get_block_info: {
34
- title: string;
35
- description: string;
36
- schema: z.ZodObject<{
37
- chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
38
- blockNumber: z.ZodOptional<z.ZodString>;
39
- }, "strip", z.ZodTypeAny, {
40
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
41
- blockNumber?: string | undefined;
42
- }, {
43
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
44
- blockNumber?: string | undefined;
45
- }>;
46
- handler: (args: {
47
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
48
- blockNumber?: string | undefined;
49
- }) => Promise<import("../types.js").ToolResult>;
50
- };
51
- trace_transaction: {
52
- title: string;
53
- description: string;
54
- schema: z.ZodObject<{
55
- chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
56
- transactionHash: z.ZodString;
57
- traceType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["trace", "vmTrace", "stateDiff"]>>>;
58
- }, "strip", z.ZodTypeAny, {
59
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
60
- transactionHash: string;
61
- traceType: "trace" | "vmTrace" | "stateDiff";
62
- }, {
63
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
64
- transactionHash: string;
65
- traceType?: "trace" | "vmTrace" | "stateDiff" | undefined;
66
- }>;
67
- handler: (args: {
68
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
69
- transactionHash: string;
70
- traceType: "trace" | "vmTrace" | "stateDiff";
71
- }) => Promise<import("../types.js").ToolResult>;
72
- };
73
- };
74
- export default _default;
75
- //# sourceMappingURL=advanced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/tools/advanced.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKvB,wBA+PC"}
@@ -1,234 +0,0 @@
1
- import { decodeAbiParameters, isAddress, parseAbiParameters } from 'viem';
2
- import { z } from 'zod';
3
- import { getClientManager, SUPPORTED_CHAINS } from '../client.js';
4
- import { createTool, formatResponse } from '../utils.js';
5
- export default {
6
- get_storage_at: createTool('Read Contract Storage', '⚠️ ADVANCED: Direct storage slot access with type decoding. Use for low-level contract inspection.', z.object({
7
- chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
8
- address: z.string().describe('The contract address to inspect'),
9
- slot: z.string().describe('Storage slot (hex string, e.g., "0x0")'),
10
- abiType: z
11
- .string()
12
- .describe('ABI type for decoding (e.g., "uint256", "address", "bool", "bytes32")'),
13
- blockNumber: z.string().optional().describe('Block number (optional, defaults to latest)')
14
- }), async (args) => {
15
- if (!isAddress(args.address)) {
16
- throw new Error('Invalid address format');
17
- }
18
- const clientManager = getClientManager();
19
- const client = clientManager.getClient(args.chain);
20
- const blockTag = args.blockNumber ? BigInt(args.blockNumber) : 'latest';
21
- try {
22
- const storageValue = await client.getStorageAt({
23
- address: args.address,
24
- slot: args.slot,
25
- blockNumber: blockTag === 'latest' ? undefined : blockTag
26
- });
27
- if (!storageValue) {
28
- throw new Error('No storage value found');
29
- }
30
- // Decode based on ABI type
31
- let decodedValue;
32
- let formattedValue;
33
- try {
34
- switch (args.abiType.toLowerCase()) {
35
- case 'uint256':
36
- case 'uint': {
37
- decodedValue = BigInt(storageValue);
38
- formattedValue = decodedValue.toString();
39
- break;
40
- }
41
- case 'int256':
42
- case 'int': {
43
- // Handle two's complement for negative numbers
44
- const uint256Value = BigInt(storageValue);
45
- const maxUint256 = BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff');
46
- decodedValue = uint256Value > maxUint256 / 2n ? uint256Value - maxUint256 - 1n : uint256Value;
47
- formattedValue = decodedValue.toString();
48
- break;
49
- }
50
- case 'address': {
51
- decodedValue = `0x${storageValue.slice(-40)}`;
52
- formattedValue = decodedValue;
53
- break;
54
- }
55
- case 'bool': {
56
- decodedValue = BigInt(storageValue) !== 0n;
57
- formattedValue = String(decodedValue);
58
- break;
59
- }
60
- case 'bytes32': {
61
- decodedValue = storageValue;
62
- formattedValue = storageValue;
63
- break;
64
- }
65
- default: {
66
- // Try to decode as ABI parameters
67
- try {
68
- const parsedTypes = parseAbiParameters([args.abiType]);
69
- if (parsedTypes.length > 0) {
70
- const decoded = decodeAbiParameters(parsedTypes, storageValue);
71
- decodedValue = decoded.length > 0 ? decoded[0] : null;
72
- formattedValue = decodedValue ? String(decodedValue) : 'No data';
73
- }
74
- else {
75
- decodedValue = null;
76
- formattedValue = 'Invalid ABI type';
77
- }
78
- }
79
- catch {
80
- decodedValue = null;
81
- formattedValue = 'Failed to decode with custom ABI type';
82
- }
83
- break;
84
- }
85
- }
86
- }
87
- catch {
88
- decodedValue = null;
89
- formattedValue = 'Failed to decode';
90
- }
91
- return formatResponse({
92
- rawValue: storageValue,
93
- decodedValue,
94
- formattedValue,
95
- abiType: args.abiType,
96
- slot: args.slot,
97
- address: args.address,
98
- chain: args.chain,
99
- blockNumber: blockTag === 'latest' ? 'latest' : blockTag.toString()
100
- });
101
- }
102
- catch (error) {
103
- throw new Error(`Failed to get storage: ${error}`);
104
- }
105
- }),
106
- get_block_info: createTool('Get Block Information', 'Retrieve block data including timestamps, hashes, and dates. Use for time-based analysis.', z.object({
107
- chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
108
- blockNumber: z.string().optional().describe('Block number (optional, defaults to latest)')
109
- }), async (args) => {
110
- const clientManager = getClientManager();
111
- const client = clientManager.getClient(args.chain);
112
- const blockTag = args.blockNumber ? BigInt(args.blockNumber) : 'latest';
113
- try {
114
- const block = await client.getBlock({
115
- blockNumber: blockTag === 'latest' ? undefined : blockTag,
116
- includeTransactions: false
117
- });
118
- const timestamp = Number(block.timestamp);
119
- const date = new Date(timestamp * 1000);
120
- return formatResponse({
121
- blockNumber: block.number,
122
- timestamp: block.timestamp,
123
- timestampMs: timestamp * 1000,
124
- dateIso: date.toISOString(),
125
- dateReadable: date.toLocaleString(),
126
- hash: block.hash,
127
- parentHash: block.parentHash,
128
- chain: args.chain
129
- });
130
- }
131
- catch (error) {
132
- throw new Error(`Failed to get block time: ${error}`);
133
- }
134
- }),
135
- trace_transaction: createTool('Trace Transaction', '⚠️ INTENSIVE: Detailed transaction analysis including call traces and state changes. Use sparingly.', z.object({
136
- chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
137
- transactionHash: z.string().describe('Transaction hash to trace (0x prefixed)'),
138
- traceType: z
139
- .enum(['trace', 'vmTrace', 'stateDiff'])
140
- .optional()
141
- .describe('Trace type: "trace" (call tree, recommended), "vmTrace" (VM execution), "stateDiff" (state changes)')
142
- .default('trace')
143
- }), async (args) => {
144
- const clientManager = getClientManager();
145
- const client = clientManager.getClient(args.chain);
146
- try {
147
- // First get the transaction receipt to make sure it exists
148
- const transaction = await client.getTransaction({ hash: args.transactionHash });
149
- const receipt = await client.getTransactionReceipt({ hash: args.transactionHash });
150
- let traceResult = null;
151
- // Perform the requested trace type
152
- switch (args.traceType) {
153
- case 'trace':
154
- try {
155
- // Use debug_traceTransaction for call trace
156
- traceResult = await client.request({
157
- method: 'debug_traceTransaction',
158
- params: [args.transactionHash, { tracer: 'callTracer' }]
159
- });
160
- }
161
- catch (e) {
162
- traceResult = { error: e.message };
163
- }
164
- break;
165
- case 'vmTrace':
166
- try {
167
- traceResult = await client.request({
168
- method: 'debug_traceTransaction',
169
- params: [args.transactionHash, { tracer: 'prestateTracer' }]
170
- });
171
- }
172
- catch (e) {
173
- traceResult = { error: e.message };
174
- }
175
- break;
176
- case 'stateDiff':
177
- try {
178
- traceResult = await client.request({
179
- method: 'debug_traceTransaction',
180
- params: [args.transactionHash, { tracer: 'stateDiffTracer' }]
181
- });
182
- }
183
- catch (e) {
184
- traceResult = { error: e.message };
185
- }
186
- break;
187
- default:
188
- traceResult = {
189
- type: 'CALL',
190
- from: transaction.from,
191
- to: transaction.to,
192
- value: transaction.value?.toString() || '0',
193
- gas: transaction.gas?.toString() || '0',
194
- gasUsed: receipt.gasUsed?.toString() || '0',
195
- input: transaction.input,
196
- output: '0x',
197
- error: receipt.status === 'success' ? null : 'Transaction failed'
198
- };
199
- }
200
- const result = {
201
- success: true,
202
- chain: args.chain,
203
- transactionHash: args.transactionHash,
204
- traceType: args.traceType,
205
- transaction: {
206
- blockNumber: transaction.blockNumber?.toString(),
207
- from: transaction.from,
208
- to: transaction.to,
209
- value: transaction.value?.toString() || '0',
210
- gas: transaction.gas?.toString() || '0',
211
- gasPrice: transaction.gasPrice?.toString() || '0',
212
- nonce: transaction.nonce?.toString() || '0',
213
- input: transaction.input
214
- },
215
- receipt: {
216
- status: receipt.status,
217
- gasUsed: receipt.gasUsed?.toString() || '0',
218
- effectiveGasPrice: receipt.effectiveGasPrice?.toString() || '0',
219
- logs: receipt.logs.map(log => ({
220
- address: log.address,
221
- topics: log.topics,
222
- data: log.data
223
- }))
224
- },
225
- trace: traceResult
226
- };
227
- return formatResponse(result);
228
- }
229
- catch (error) {
230
- throw new Error(`Transaction trace failed: ${error}`);
231
- }
232
- })
233
- };
234
- //# sourceMappingURL=advanced.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../src/tools/advanced.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import { z } from 'zod';
2
- declare const _default: {
3
- get_balance: {
4
- title: string;
5
- description: string;
6
- schema: z.ZodObject<{
7
- queries: z.ZodArray<z.ZodObject<{
8
- chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
9
- address: z.ZodString;
10
- tokenAddress: z.ZodOptional<z.ZodString>;
11
- blockNumber: z.ZodOptional<z.ZodString>;
12
- label: z.ZodOptional<z.ZodString>;
13
- }, "strip", z.ZodTypeAny, {
14
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
15
- address: string;
16
- blockNumber?: string | undefined;
17
- tokenAddress?: string | undefined;
18
- label?: string | undefined;
19
- }, {
20
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
21
- address: string;
22
- blockNumber?: string | undefined;
23
- tokenAddress?: string | undefined;
24
- label?: string | undefined;
25
- }>, "many">;
26
- }, "strip", z.ZodTypeAny, {
27
- queries: {
28
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
29
- address: string;
30
- blockNumber?: string | undefined;
31
- tokenAddress?: string | undefined;
32
- label?: string | undefined;
33
- }[];
34
- }, {
35
- queries: {
36
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
37
- address: string;
38
- blockNumber?: string | undefined;
39
- tokenAddress?: string | undefined;
40
- label?: string | undefined;
41
- }[];
42
- }>;
43
- handler: (args: {
44
- queries: {
45
- chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
46
- address: string;
47
- blockNumber?: string | undefined;
48
- tokenAddress?: string | undefined;
49
- label?: string | undefined;
50
- }[];
51
- }) => Promise<import("../types.js").ToolResult>;
52
- };
53
- };
54
- export default _default;
55
- //# sourceMappingURL=balance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBvB,wBA8JC"}
@@ -1,146 +0,0 @@
1
- import { formatEther, formatUnits, isAddress } from 'viem';
2
- import { z } from 'zod';
3
- import { getClientManager, SUPPORTED_CHAINS } from '../client.js';
4
- import { createTool, formatResponse } from '../utils.js';
5
- const BalanceQuerySchema = z.object({
6
- chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
7
- address: z.string().describe('The address to check balance for'),
8
- tokenAddress: z
9
- .string()
10
- .optional()
11
- .describe('Token contract address (optional, if not provided returns native token balance)'),
12
- blockNumber: z.string().optional().describe('Block number to query (optional, defaults to latest)'),
13
- label: z.string().optional().describe('Optional label for batch results')
14
- });
15
- export default {
16
- get_balance: createTool('Get Token Balances', 'Retrieve native and ERC20 token balances for multiple addresses. BATCH OPTIMIZED - use for portfolio tracking, wallet monitoring.', z.object({
17
- queries: z.array(BalanceQuerySchema).describe('Array of balance queries. Omit tokenAddress for native balance, include for ERC20.')
18
- }), async (args) => {
19
- // Group by chain and blockNumber for efficient processing
20
- const groupedQueries = new Map();
21
- for (const item of args.queries) {
22
- const key = `${item.chain}:${item.blockNumber || 'latest'}`;
23
- if (!groupedQueries.has(key)) {
24
- groupedQueries.set(key, []);
25
- }
26
- groupedQueries.get(key).push(item);
27
- }
28
- const allResults = [];
29
- try {
30
- // Process each group
31
- for (const [key, queries] of groupedQueries) {
32
- const [chain, blockNum] = key.split(':');
33
- const clientManager = getClientManager();
34
- const client = clientManager.getClient(chain);
35
- const blockTag = blockNum === 'latest' ? 'latest' : BigInt(blockNum);
36
- // Process all queries in this group
37
- const results = await Promise.allSettled(queries.map(async (query) => {
38
- if (!isAddress(query.address)) {
39
- throw new Error(`Invalid address format: ${query.address}`);
40
- }
41
- const originalIndex = args.queries.indexOf(query);
42
- // Native token balance
43
- if (!query.tokenAddress) {
44
- const balance = await client.getBalance({
45
- address: query.address,
46
- blockNumber: blockTag === 'latest' ? undefined : blockTag
47
- });
48
- return {
49
- index: originalIndex,
50
- label: query.label,
51
- address: query.address,
52
- chain: query.chain,
53
- blockNumber: query.blockNumber || 'latest',
54
- success: true,
55
- balance,
56
- balanceFormatted: formatEther(balance)
57
- };
58
- }
59
- // ERC20 token balance
60
- if (!isAddress(query.tokenAddress)) {
61
- throw new Error(`Invalid token address format: ${query.tokenAddress}`);
62
- }
63
- const balance = await client.readContract({
64
- address: query.tokenAddress,
65
- abi: [
66
- {
67
- name: 'balanceOf',
68
- type: 'function',
69
- stateMutability: 'view',
70
- inputs: [{ name: 'account', type: 'address' }],
71
- outputs: [{ name: '', type: 'uint256' }]
72
- }
73
- ],
74
- functionName: 'balanceOf',
75
- args: [query.address],
76
- blockNumber: blockTag === 'latest' ? undefined : blockTag
77
- });
78
- // Try to get decimals
79
- let decimals = 18;
80
- try {
81
- decimals = (await client.readContract({
82
- address: query.tokenAddress,
83
- abi: [
84
- {
85
- name: 'decimals',
86
- type: 'function',
87
- stateMutability: 'view',
88
- inputs: [],
89
- outputs: [{ name: '', type: 'uint8' }]
90
- }
91
- ],
92
- functionName: 'decimals',
93
- blockNumber: blockTag === 'latest' ? undefined : blockTag
94
- }));
95
- }
96
- catch {
97
- // Use default decimals if call fails
98
- }
99
- return {
100
- index: originalIndex,
101
- label: query.label,
102
- address: query.address,
103
- tokenAddress: query.tokenAddress,
104
- chain: query.chain,
105
- blockNumber: query.blockNumber || 'latest',
106
- success: true,
107
- balance,
108
- balanceFormatted: formatUnits(balance, decimals),
109
- decimals
110
- };
111
- }));
112
- // Process results
113
- results.forEach((result, idx) => {
114
- if (result.status === 'fulfilled') {
115
- allResults[result.value.index] = result.value;
116
- }
117
- else {
118
- const query = queries[idx];
119
- const originalIndex = args.queries.indexOf(query);
120
- allResults[originalIndex] = {
121
- index: originalIndex,
122
- label: query.label,
123
- address: query.address,
124
- tokenAddress: query.tokenAddress,
125
- chain: query.chain,
126
- blockNumber: query.blockNumber || 'latest',
127
- success: false,
128
- error: result.reason instanceof Error ? result.reason.message : String(result.reason)
129
- };
130
- }
131
- });
132
- }
133
- return formatResponse({
134
- success: true,
135
- totalQueries: args.queries.length,
136
- successfulQueries: allResults.filter((r) => r.success).length,
137
- failedQueries: allResults.filter((r) => !r.success).length,
138
- results: allResults
139
- });
140
- }
141
- catch (error) {
142
- throw new Error(`Balance query failed: ${error}`);
143
- }
144
- })
145
- };
146
- //# sourceMappingURL=balance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"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"}