web3-tools-mcp 1.0.0 → 1.1.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 (135) hide show
  1. package/README.md +92 -259
  2. package/dist/client.d.ts +1653 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +142 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +78 -28274
  9. package/dist/index.js.map +1 -0
  10. package/dist/package.json +60 -0
  11. package/dist/src/client.d.ts +1653 -0
  12. package/dist/src/client.d.ts.map +1 -0
  13. package/dist/src/client.js +142 -0
  14. package/dist/src/client.js.map +1 -0
  15. package/dist/src/index.d.ts +3 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/src/index.js +88 -0
  18. package/dist/src/index.js.map +1 -0
  19. package/dist/src/tools/advanced.d.ts +75 -0
  20. package/dist/src/tools/advanced.d.ts.map +1 -0
  21. package/dist/src/tools/advanced.js +234 -0
  22. package/dist/src/tools/advanced.js.map +1 -0
  23. package/dist/src/tools/balance.d.ts +55 -0
  24. package/dist/src/tools/balance.d.ts.map +1 -0
  25. package/dist/src/tools/balance.js +146 -0
  26. package/dist/src/tools/balance.js.map +1 -0
  27. package/dist/src/tools/contract-info.d.ts +79 -0
  28. package/dist/src/tools/contract-info.d.ts.map +1 -0
  29. package/dist/src/tools/contract-info.js +450 -0
  30. package/dist/src/tools/contract-info.js.map +1 -0
  31. package/dist/src/tools/contract.d.ts +79 -0
  32. package/dist/src/tools/contract.d.ts.map +1 -0
  33. package/dist/src/tools/contract.js +140 -0
  34. package/dist/src/tools/contract.js.map +1 -0
  35. package/dist/src/tools/index.d.ts +3 -0
  36. package/dist/src/tools/index.d.ts.map +1 -0
  37. package/dist/src/tools/index.js +27 -0
  38. package/dist/src/tools/index.js.map +1 -0
  39. package/dist/src/tools/logs.d.ts +39 -0
  40. package/dist/src/tools/logs.d.ts.map +1 -0
  41. package/dist/src/tools/logs.js +231 -0
  42. package/dist/src/tools/logs.js.map +1 -0
  43. package/dist/src/tools/signatures.d.ts +83 -0
  44. package/dist/src/tools/signatures.d.ts.map +1 -0
  45. package/dist/src/tools/signatures.js +93 -0
  46. package/dist/src/tools/signatures.js.map +1 -0
  47. package/dist/src/types.d.ts +22 -0
  48. package/dist/src/types.d.ts.map +1 -0
  49. package/dist/src/types.js +2 -0
  50. package/dist/src/types.js.map +1 -0
  51. package/dist/src/utils.d.ts +22 -0
  52. package/dist/src/utils.d.ts.map +1 -0
  53. package/dist/src/utils.js +183 -0
  54. package/dist/src/utils.js.map +1 -0
  55. package/dist/test/mcp-client.test.d.ts +2 -0
  56. package/dist/test/mcp-client.test.d.ts.map +1 -0
  57. package/dist/test/mcp-client.test.js +376 -0
  58. package/dist/test/mcp-client.test.js.map +1 -0
  59. package/dist/test/tools/advanced.test.d.ts +2 -0
  60. package/dist/test/tools/advanced.test.d.ts.map +1 -0
  61. package/dist/test/tools/advanced.test.js +235 -0
  62. package/dist/test/tools/advanced.test.js.map +1 -0
  63. package/dist/test/tools/balance.test.d.ts +2 -0
  64. package/dist/test/tools/balance.test.d.ts.map +1 -0
  65. package/dist/test/tools/balance.test.js +167 -0
  66. package/dist/test/tools/balance.test.js.map +1 -0
  67. package/dist/test/tools/contract-info.test.d.ts +2 -0
  68. package/dist/test/tools/contract-info.test.d.ts.map +1 -0
  69. package/dist/test/tools/contract-info.test.js +286 -0
  70. package/dist/test/tools/contract-info.test.js.map +1 -0
  71. package/dist/test/tools/contract.test.d.ts +2 -0
  72. package/dist/test/tools/contract.test.d.ts.map +1 -0
  73. package/dist/test/tools/contract.test.js +234 -0
  74. package/dist/test/tools/contract.test.js.map +1 -0
  75. package/dist/test/tools/logs.test.d.ts +2 -0
  76. package/dist/test/tools/logs.test.d.ts.map +1 -0
  77. package/dist/test/tools/logs.test.js +196 -0
  78. package/dist/test/tools/logs.test.js.map +1 -0
  79. package/dist/test/tools/signatures.test.d.ts +2 -0
  80. package/dist/test/tools/signatures.test.d.ts.map +1 -0
  81. package/dist/test/tools/signatures.test.js +112 -0
  82. package/dist/test/tools/signatures.test.js.map +1 -0
  83. package/dist/tools/advanced.d.ts +75 -0
  84. package/dist/tools/advanced.d.ts.map +1 -0
  85. package/dist/tools/advanced.js +234 -0
  86. package/dist/tools/advanced.js.map +1 -0
  87. package/dist/tools/balance.d.ts +55 -0
  88. package/dist/tools/balance.d.ts.map +1 -0
  89. package/dist/tools/balance.js +146 -0
  90. package/dist/tools/balance.js.map +1 -0
  91. package/dist/tools/batch.d.ts +122 -0
  92. package/dist/tools/batch.d.ts.map +1 -0
  93. package/dist/tools/batch.js +243 -0
  94. package/dist/tools/batch.js.map +1 -0
  95. package/dist/tools/contract-info.d.ts +79 -0
  96. package/dist/tools/contract-info.d.ts.map +1 -0
  97. package/dist/tools/contract-info.js +450 -0
  98. package/dist/tools/contract-info.js.map +1 -0
  99. package/dist/tools/contract.d.ts +79 -0
  100. package/dist/tools/contract.d.ts.map +1 -0
  101. package/dist/tools/contract.js +140 -0
  102. package/dist/tools/contract.js.map +1 -0
  103. package/dist/tools/index.d.ts +3 -0
  104. package/dist/tools/index.d.ts.map +1 -0
  105. package/dist/tools/index.js +27 -0
  106. package/dist/tools/index.js.map +1 -0
  107. package/dist/tools/logs.d.ts +39 -0
  108. package/dist/tools/logs.d.ts.map +1 -0
  109. package/dist/tools/logs.js +231 -0
  110. package/dist/tools/logs.js.map +1 -0
  111. package/dist/tools/signatures.d.ts +83 -0
  112. package/dist/tools/signatures.d.ts.map +1 -0
  113. package/dist/tools/signatures.js +93 -0
  114. package/dist/tools/signatures.js.map +1 -0
  115. package/dist/types.d.ts +22 -0
  116. package/dist/types.d.ts.map +1 -0
  117. package/dist/types.js +2 -0
  118. package/dist/types.js.map +1 -0
  119. package/dist/utils.d.ts +22 -0
  120. package/dist/utils.d.ts.map +1 -0
  121. package/dist/utils.js +183 -0
  122. package/dist/utils.js.map +1 -0
  123. package/package.json +35 -23
  124. package/src/client.ts +160 -0
  125. package/src/index.ts +96 -0
  126. package/src/tools/advanced.ts +262 -0
  127. package/src/tools/balance.ts +176 -0
  128. package/src/tools/contract-info.ts +582 -0
  129. package/src/tools/contract.ts +180 -0
  130. package/src/tools/index.ts +35 -0
  131. package/src/tools/logs.ts +291 -0
  132. package/src/tools/signatures.ts +126 -0
  133. package/src/types.ts +29 -0
  134. package/src/utils.ts +222 -0
  135. package/dist/hypersync-client.darwin-arm64-7fegfwn5.node +0 -0
@@ -0,0 +1,122 @@
1
+ import { z } from 'zod';
2
+ declare const _default: {
3
+ batch_contract_calls: {
4
+ description: string;
5
+ schema: z.ZodObject<{
6
+ chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
7
+ calls: z.ZodArray<z.ZodObject<{
8
+ contractAddress: z.ZodString;
9
+ functionAbi: z.ZodString;
10
+ args: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">>;
11
+ label: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ contractAddress: string;
14
+ functionAbi: string;
15
+ args?: (string | number | boolean | null)[] | undefined;
16
+ label?: string | undefined;
17
+ }, {
18
+ contractAddress: string;
19
+ functionAbi: string;
20
+ args?: (string | number | boolean | null)[] | undefined;
21
+ label?: string | undefined;
22
+ }>, "many">;
23
+ blockNumber: z.ZodOptional<z.ZodString>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
26
+ calls: {
27
+ contractAddress: string;
28
+ functionAbi: string;
29
+ args?: (string | number | boolean | null)[] | undefined;
30
+ label?: string | undefined;
31
+ }[];
32
+ blockNumber?: string | undefined;
33
+ }, {
34
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
35
+ calls: {
36
+ contractAddress: string;
37
+ functionAbi: string;
38
+ args?: (string | number | boolean | null)[] | undefined;
39
+ label?: string | undefined;
40
+ }[];
41
+ blockNumber?: string | undefined;
42
+ }>;
43
+ handler: (args: {
44
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
45
+ calls: {
46
+ contractAddress: string;
47
+ functionAbi: string;
48
+ args?: (string | number | boolean | null)[] | undefined;
49
+ label?: string | undefined;
50
+ }[];
51
+ blockNumber?: string | undefined;
52
+ }) => Promise<import("../types.js").ToolResult>;
53
+ };
54
+ batch_token_balances: {
55
+ description: string;
56
+ schema: z.ZodObject<{
57
+ chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
58
+ queries: z.ZodArray<z.ZodObject<{
59
+ tokenAddress: z.ZodString;
60
+ holderAddress: z.ZodString;
61
+ label: z.ZodOptional<z.ZodString>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ tokenAddress: string;
64
+ holderAddress: string;
65
+ label?: string | undefined;
66
+ }, {
67
+ tokenAddress: string;
68
+ holderAddress: string;
69
+ label?: string | undefined;
70
+ }>, "many">;
71
+ blockNumber: z.ZodOptional<z.ZodString>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
74
+ queries: {
75
+ tokenAddress: string;
76
+ holderAddress: string;
77
+ label?: string | undefined;
78
+ }[];
79
+ blockNumber?: string | undefined;
80
+ }, {
81
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
82
+ queries: {
83
+ tokenAddress: string;
84
+ holderAddress: string;
85
+ label?: string | undefined;
86
+ }[];
87
+ blockNumber?: string | undefined;
88
+ }>;
89
+ handler: (args: {
90
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
91
+ queries: {
92
+ tokenAddress: string;
93
+ holderAddress: string;
94
+ label?: string | undefined;
95
+ }[];
96
+ blockNumber?: string | undefined;
97
+ }) => Promise<import("../types.js").ToolResult>;
98
+ };
99
+ batch_native_balances: {
100
+ description: string;
101
+ schema: z.ZodObject<{
102
+ chain: z.ZodEnum<["mainnet", "base", "arbitrum", "polygon", "optimism", "celo", "localhost"]>;
103
+ addresses: z.ZodArray<z.ZodString, "many">;
104
+ blockNumber: z.ZodOptional<z.ZodString>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
107
+ addresses: string[];
108
+ blockNumber?: string | undefined;
109
+ }, {
110
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
111
+ addresses: string[];
112
+ blockNumber?: string | undefined;
113
+ }>;
114
+ handler: (args: {
115
+ chain: "mainnet" | "base" | "arbitrum" | "polygon" | "optimism" | "celo" | "localhost";
116
+ addresses: string[];
117
+ blockNumber?: string | undefined;
118
+ }) => Promise<import("../types.js").ToolResult>;
119
+ };
120
+ };
121
+ export default _default;
122
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKvB,wBAqRC"}
@@ -0,0 +1,243 @@
1
+ import { formatEther, formatUnits, isAddress, parseAbiItem } from 'viem';
2
+ import { z } from 'zod';
3
+ import { getClientManager, SUPPORTED_CHAINS } from '../client.js';
4
+ import { convertArgumentsToTypes, createTool, formatResponse } from '../utils.js';
5
+ export default {
6
+ batch_contract_calls: createTool('Execute multiple contract calls in a single batch operation - Efficient for multiple onchain queries. PREFERRED over multiple individual calls when you need related data from multiple contracts or functions.', z.object({
7
+ chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
8
+ calls: z
9
+ .array(z.object({
10
+ contractAddress: z.string().describe('The contract address to call'),
11
+ functionAbi: z.string().describe('Function ABI definition'),
12
+ args: z
13
+ .array(z.union([z.string(), z.number(), z.boolean(), z.null()]))
14
+ .optional()
15
+ .describe('Function arguments'),
16
+ label: z.string().optional().describe('Optional label to identify this call in results')
17
+ }))
18
+ .describe('Array of contract calls to execute'),
19
+ blockNumber: z.string().optional().describe('Block number to query (optional, defaults to latest)')
20
+ }), async (args) => {
21
+ const clientManager = getClientManager();
22
+ const client = clientManager.getClient(args.chain);
23
+ const blockTag = args.blockNumber ? BigInt(args.blockNumber) : 'latest';
24
+ try {
25
+ // Prepare multicall contracts
26
+ const multicallContracts = args.calls.map((call, index) => {
27
+ if (!isAddress(call.contractAddress)) {
28
+ throw new Error(`Invalid contract address at index ${index}: ${call.contractAddress}`);
29
+ }
30
+ const abiItem = parseAbiItem(call.functionAbi);
31
+ // Validate that this is a view/pure function
32
+ if (abiItem.stateMutability !== 'view' && abiItem.stateMutability !== 'pure') {
33
+ throw new Error(`Only view and pure functions can be called (index ${index})`);
34
+ }
35
+ // Convert arguments to appropriate types
36
+ const convertedArgs = convertArgumentsToTypes(call.args || [], abiItem.inputs);
37
+ return {
38
+ address: call.contractAddress,
39
+ abi: [abiItem],
40
+ functionName: abiItem.name,
41
+ args: convertedArgs
42
+ };
43
+ });
44
+ // Execute multicall
45
+ const multicallResults = await client.multicall({
46
+ contracts: multicallContracts,
47
+ blockNumber: blockTag === 'latest' ? undefined : blockTag
48
+ });
49
+ // Process results
50
+ const processedResults = multicallResults.map((result, index) => {
51
+ const call = args.calls[index];
52
+ if (!call) {
53
+ return {
54
+ index,
55
+ label: `Call ${index}`,
56
+ contractAddress: 'unknown',
57
+ functionName: 'unknown',
58
+ success: false,
59
+ error: 'Call configuration missing'
60
+ };
61
+ }
62
+ const abiItem = parseAbiItem(call.functionAbi);
63
+ if (result.status === 'success') {
64
+ return {
65
+ index,
66
+ label: call.label || `Call ${index}`,
67
+ contractAddress: call.contractAddress,
68
+ functionName: abiItem.name,
69
+ success: true,
70
+ result: result.result
71
+ };
72
+ }
73
+ return {
74
+ index,
75
+ label: call.label || `Call ${index}`,
76
+ contractAddress: call.contractAddress,
77
+ functionName: abiItem.name,
78
+ success: false,
79
+ error: result.error instanceof Error ? result.error.message : String(result.error)
80
+ };
81
+ });
82
+ return formatResponse({
83
+ success: true,
84
+ chain: args.chain,
85
+ blockNumber: blockTag === 'latest' ? 'latest' : blockTag.toString(),
86
+ totalCalls: args.calls.length,
87
+ successfulCalls: processedResults.filter(r => r.success).length,
88
+ failedCalls: processedResults.filter(r => !r.success).length,
89
+ results: processedResults
90
+ });
91
+ }
92
+ catch (error) {
93
+ throw new Error(`Batch contract calls failed: ${error}`);
94
+ }
95
+ }),
96
+ batch_token_balances: createTool('Get multiple token balances for multiple addresses in a single call - Efficient for portfolio tracking', z.object({
97
+ chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
98
+ queries: z
99
+ .array(z.object({
100
+ tokenAddress: z.string().describe('Token contract address'),
101
+ holderAddress: z.string().describe('Address to check balance for'),
102
+ label: z.string().optional().describe('Optional label to identify this query in results')
103
+ }))
104
+ .describe('Array of balance queries'),
105
+ blockNumber: z.string().optional().describe('Block number to query (optional, defaults to latest)')
106
+ }), async (args) => {
107
+ const clientManager = getClientManager();
108
+ const client = clientManager.getClient(args.chain);
109
+ const blockTag = args.blockNumber ? BigInt(args.blockNumber) : 'latest';
110
+ try {
111
+ const results = await Promise.allSettled(args.queries.map(async (query, index) => {
112
+ if (!isAddress(query.tokenAddress) || !isAddress(query.holderAddress)) {
113
+ throw new Error(`Invalid address format at index ${index}`);
114
+ }
115
+ // Get balance
116
+ const balance = await client.readContract({
117
+ address: query.tokenAddress,
118
+ abi: [
119
+ {
120
+ name: 'balanceOf',
121
+ type: 'function',
122
+ stateMutability: 'view',
123
+ inputs: [{ name: 'account', type: 'address' }],
124
+ outputs: [{ name: '', type: 'uint256' }]
125
+ }
126
+ ],
127
+ functionName: 'balanceOf',
128
+ args: [query.holderAddress],
129
+ blockNumber: blockTag === 'latest' ? undefined : blockTag
130
+ });
131
+ // Try to get decimals
132
+ let decimals = 18;
133
+ try {
134
+ decimals = (await client.readContract({
135
+ address: query.tokenAddress,
136
+ abi: [
137
+ {
138
+ name: 'decimals',
139
+ type: 'function',
140
+ stateMutability: 'view',
141
+ inputs: [],
142
+ outputs: [{ name: '', type: 'uint8' }]
143
+ }
144
+ ],
145
+ functionName: 'decimals',
146
+ blockNumber: blockTag === 'latest' ? undefined : blockTag
147
+ }));
148
+ }
149
+ catch {
150
+ // Use default decimals if call fails
151
+ }
152
+ return {
153
+ index,
154
+ label: query.label || `Query ${index}`,
155
+ tokenAddress: query.tokenAddress,
156
+ holderAddress: query.holderAddress,
157
+ success: true,
158
+ balance,
159
+ balanceFormatted: formatUnits(balance, decimals),
160
+ decimals
161
+ };
162
+ }));
163
+ const processedResults = results.map((result, index) => {
164
+ if (result.status === 'fulfilled') {
165
+ return result.value;
166
+ }
167
+ return {
168
+ index,
169
+ label: args.queries[index]?.label || `Query ${index}`,
170
+ tokenAddress: args.queries[index]?.tokenAddress || 'unknown',
171
+ holderAddress: args.queries[index]?.holderAddress || 'unknown',
172
+ success: false,
173
+ error: result.reason instanceof Error ? result.reason.message : String(result.reason)
174
+ };
175
+ });
176
+ return formatResponse({
177
+ success: true,
178
+ chain: args.chain,
179
+ blockNumber: blockTag === 'latest' ? 'latest' : blockTag.toString(),
180
+ totalQueries: args.queries.length,
181
+ successfulQueries: processedResults.filter(r => r.success).length,
182
+ failedQueries: processedResults.filter(r => !r.success).length,
183
+ results: processedResults
184
+ });
185
+ }
186
+ catch (error) {
187
+ throw new Error(`Batch token balances failed: ${error}`);
188
+ }
189
+ }),
190
+ batch_native_balances: createTool('Get native token balances for multiple addresses in a single call - Efficient for wallet monitoring', z.object({
191
+ chain: z.enum(SUPPORTED_CHAINS).describe('The blockchain network to use'),
192
+ addresses: z
193
+ .array(z.string().describe('Address to check balance for'))
194
+ .describe('Array of addresses to check balances for'),
195
+ blockNumber: z.string().optional().describe('Block number to query (optional, defaults to latest)')
196
+ }), async (args) => {
197
+ const clientManager = getClientManager();
198
+ const client = clientManager.getClient(args.chain);
199
+ const blockTag = args.blockNumber ? BigInt(args.blockNumber) : 'latest';
200
+ try {
201
+ const results = await Promise.allSettled(args.addresses.map(async (address, index) => {
202
+ if (!isAddress(address)) {
203
+ throw new Error(`Invalid address format at index ${index}: ${address}`);
204
+ }
205
+ const balance = await client.getBalance({
206
+ address: address,
207
+ blockNumber: blockTag === 'latest' ? undefined : blockTag
208
+ });
209
+ return {
210
+ index,
211
+ address,
212
+ success: true,
213
+ balance,
214
+ balanceFormatted: formatEther(balance)
215
+ };
216
+ }));
217
+ const processedResults = results.map((result, index) => {
218
+ if (result.status === 'fulfilled') {
219
+ return result.value;
220
+ }
221
+ return {
222
+ index,
223
+ address: args.addresses[index] || 'unknown',
224
+ success: false,
225
+ error: result.reason instanceof Error ? result.reason.message : String(result.reason)
226
+ };
227
+ });
228
+ return formatResponse({
229
+ success: true,
230
+ chain: args.chain,
231
+ blockNumber: blockTag === 'latest' ? 'latest' : blockTag.toString(),
232
+ totalAddresses: args.addresses.length,
233
+ successfulQueries: processedResults.filter(r => r.success).length,
234
+ failedQueries: processedResults.filter(r => !r.success).length,
235
+ results: processedResults
236
+ });
237
+ }
238
+ catch (error) {
239
+ throw new Error(`Batch native balances failed: ${error}`);
240
+ }
241
+ })
242
+ };
243
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.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"}