web3-tools-mcp 1.0.1 → 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 (93) hide show
  1. package/README.md +46 -230
  2. package/dist/package.json +63 -0
  3. package/dist/src/client.d.ts +1653 -0
  4. package/dist/src/client.d.ts.map +1 -0
  5. package/dist/src/client.js +142 -0
  6. package/dist/src/client.js.map +1 -0
  7. package/dist/src/index.d.ts +3 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +88 -0
  10. package/dist/src/index.js.map +1 -0
  11. package/dist/src/tools/advanced.d.ts +75 -0
  12. package/dist/src/tools/advanced.d.ts.map +1 -0
  13. package/dist/src/tools/advanced.js +234 -0
  14. package/dist/src/tools/advanced.js.map +1 -0
  15. package/dist/src/tools/balance.d.ts +55 -0
  16. package/dist/src/tools/balance.d.ts.map +1 -0
  17. package/dist/src/tools/balance.js +146 -0
  18. package/dist/src/tools/balance.js.map +1 -0
  19. package/dist/src/tools/contract-info.d.ts +79 -0
  20. package/dist/src/tools/contract-info.d.ts.map +1 -0
  21. package/dist/src/tools/contract-info.js +450 -0
  22. package/dist/src/tools/contract-info.js.map +1 -0
  23. package/dist/src/tools/contract.d.ts +79 -0
  24. package/dist/src/tools/contract.d.ts.map +1 -0
  25. package/dist/src/tools/contract.js +140 -0
  26. package/dist/src/tools/contract.js.map +1 -0
  27. package/dist/src/tools/ens.d.ts +119 -0
  28. package/dist/src/tools/ens.d.ts.map +1 -0
  29. package/dist/src/tools/ens.js +425 -0
  30. package/dist/src/tools/ens.js.map +1 -0
  31. package/dist/src/tools/index.d.ts +3 -0
  32. package/dist/src/tools/index.d.ts.map +1 -0
  33. package/dist/src/tools/index.js +29 -0
  34. package/dist/src/tools/index.js.map +1 -0
  35. package/dist/src/tools/logs.d.ts +39 -0
  36. package/dist/src/tools/logs.d.ts.map +1 -0
  37. package/dist/src/tools/logs.js +231 -0
  38. package/dist/src/tools/logs.js.map +1 -0
  39. package/dist/src/tools/signatures.d.ts +83 -0
  40. package/dist/src/tools/signatures.d.ts.map +1 -0
  41. package/dist/src/tools/signatures.js +93 -0
  42. package/dist/src/tools/signatures.js.map +1 -0
  43. package/dist/src/types.d.ts +22 -0
  44. package/dist/src/types.d.ts.map +1 -0
  45. package/dist/src/types.js +2 -0
  46. package/dist/src/types.js.map +1 -0
  47. package/dist/src/utils.d.ts +22 -0
  48. package/dist/src/utils.d.ts.map +1 -0
  49. package/dist/src/utils.js +183 -0
  50. package/dist/src/utils.js.map +1 -0
  51. package/dist/test/tools/advanced.test.d.ts +2 -0
  52. package/dist/test/tools/advanced.test.d.ts.map +1 -0
  53. package/dist/test/tools/advanced.test.js +235 -0
  54. package/dist/test/tools/advanced.test.js.map +1 -0
  55. package/dist/test/tools/balance.test.d.ts +2 -0
  56. package/dist/test/tools/balance.test.d.ts.map +1 -0
  57. package/dist/test/tools/balance.test.js +167 -0
  58. package/dist/test/tools/balance.test.js.map +1 -0
  59. package/dist/test/tools/contract-info.test.d.ts +2 -0
  60. package/dist/test/tools/contract-info.test.d.ts.map +1 -0
  61. package/dist/test/tools/contract-info.test.js +286 -0
  62. package/dist/test/tools/contract-info.test.js.map +1 -0
  63. package/dist/test/tools/contract.test.d.ts +2 -0
  64. package/dist/test/tools/contract.test.d.ts.map +1 -0
  65. package/dist/test/tools/contract.test.js +234 -0
  66. package/dist/test/tools/contract.test.js.map +1 -0
  67. package/dist/test/tools/ens.test.d.ts +2 -0
  68. package/dist/test/tools/ens.test.d.ts.map +1 -0
  69. package/dist/test/tools/ens.test.js +236 -0
  70. package/dist/test/tools/ens.test.js.map +1 -0
  71. package/dist/test/tools/logs.test.d.ts +2 -0
  72. package/dist/test/tools/logs.test.d.ts.map +1 -0
  73. package/dist/test/tools/logs.test.js +196 -0
  74. package/dist/test/tools/logs.test.js.map +1 -0
  75. package/dist/test/tools/signatures.test.d.ts +2 -0
  76. package/dist/test/tools/signatures.test.d.ts.map +1 -0
  77. package/dist/test/tools/signatures.test.js +112 -0
  78. package/dist/test/tools/signatures.test.js.map +1 -0
  79. package/package.json +37 -22
  80. package/src/client.ts +160 -0
  81. package/src/index.ts +96 -0
  82. package/src/tools/advanced.ts +262 -0
  83. package/src/tools/balance.ts +176 -0
  84. package/src/tools/contract-info.ts +582 -0
  85. package/src/tools/contract.ts +180 -0
  86. package/src/tools/ens.ts +493 -0
  87. package/src/tools/index.ts +37 -0
  88. package/src/tools/logs.ts +291 -0
  89. package/src/tools/signatures.ts +126 -0
  90. package/src/types.ts +29 -0
  91. package/src/utils.ts +222 -0
  92. package/dist/hypersync-client.darwin-arm64-7fegfwn5.node +0 -0
  93. package/dist/index.js +0 -28282
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,146 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/tools/balance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod';
2
+ declare const _default: {
3
+ get_contract_abi: {
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
+ include: z.ZodOptional<z.ZodArray<z.ZodEnum<["abi", "implementationAbi", "metadata", "compilation", "creation", "stats"]>, "many">>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
12
+ address: string;
13
+ include?: ("abi" | "implementationAbi" | "metadata" | "compilation" | "creation" | "stats")[] | undefined;
14
+ }, {
15
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
16
+ address: string;
17
+ include?: ("abi" | "implementationAbi" | "metadata" | "compilation" | "creation" | "stats")[] | undefined;
18
+ }>;
19
+ handler: (args: {
20
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
21
+ address: string;
22
+ include?: ("abi" | "implementationAbi" | "metadata" | "compilation" | "creation" | "stats")[] | undefined;
23
+ }) => Promise<import("../types.js").ToolResult>;
24
+ };
25
+ get_contract_source_code: {
26
+ title: string;
27
+ description: string;
28
+ schema: z.ZodObject<{
29
+ chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
30
+ address: z.ZodString;
31
+ includeImplementation: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
+ includeSource: z.ZodDefault<z.ZodOptional<z.ZodEnum<["full", "summary", "none"]>>>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
35
+ address: string;
36
+ includeImplementation: boolean;
37
+ includeSource: "full" | "summary" | "none";
38
+ }, {
39
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
40
+ address: string;
41
+ includeImplementation?: boolean | undefined;
42
+ includeSource?: "full" | "summary" | "none" | undefined;
43
+ }>;
44
+ handler: (args: {
45
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
46
+ address: string;
47
+ includeImplementation: boolean;
48
+ includeSource: "full" | "summary" | "none";
49
+ }) => Promise<import("../types.js").ToolResult>;
50
+ };
51
+ get_contract_source_file: {
52
+ title: string;
53
+ description: string;
54
+ schema: z.ZodObject<{
55
+ chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
56
+ address: z.ZodString;
57
+ filePath: z.ZodOptional<z.ZodString>;
58
+ useImplementation: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
61
+ address: string;
62
+ useImplementation: boolean;
63
+ filePath?: string | undefined;
64
+ }, {
65
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
66
+ address: string;
67
+ filePath?: string | undefined;
68
+ useImplementation?: boolean | undefined;
69
+ }>;
70
+ handler: (args: {
71
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
72
+ address: string;
73
+ useImplementation: boolean;
74
+ filePath?: string | undefined;
75
+ }) => Promise<import("../types.js").ToolResult>;
76
+ };
77
+ };
78
+ export default _default;
79
+ //# sourceMappingURL=contract-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-info.d.ts","sourceRoot":"","sources":["../../../src/tools/contract-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FvB,wBAyeC"}