web3-tools-mcp 1.6.0 → 2.0.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 (104) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +328 -234
  3. package/dist/anvil.d.ts +1 -1
  4. package/dist/anvil.d.ts.map +1 -1
  5. package/dist/anvil.js +11 -9
  6. package/dist/anvil.js.map +1 -1
  7. package/dist/chain-meta.d.ts.map +1 -1
  8. package/dist/chain-meta.js +7 -3
  9. package/dist/chain-meta.js.map +1 -1
  10. package/dist/chains.d.ts +960 -0
  11. package/dist/chains.d.ts.map +1 -0
  12. package/dist/chains.js +108 -0
  13. package/dist/chains.js.map +1 -0
  14. package/dist/client.d.ts +10 -1717
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +33 -218
  17. package/dist/client.js.map +1 -1
  18. package/dist/http-server.d.ts +6 -0
  19. package/dist/http-server.d.ts.map +1 -1
  20. package/dist/http-server.js +55 -40
  21. package/dist/http-server.js.map +1 -1
  22. package/dist/index.js +50 -29
  23. package/dist/index.js.map +1 -1
  24. package/dist/oauth.d.ts +31 -0
  25. package/dist/oauth.d.ts.map +1 -0
  26. package/dist/oauth.js +227 -0
  27. package/dist/oauth.js.map +1 -0
  28. package/dist/preview.d.ts.map +1 -1
  29. package/dist/preview.js +2 -2
  30. package/dist/preview.js.map +1 -1
  31. package/dist/tools/advanced.d.ts +4 -4
  32. package/dist/tools/advanced.d.ts.map +1 -1
  33. package/dist/tools/advanced.js +228 -247
  34. package/dist/tools/advanced.js.map +1 -1
  35. package/dist/tools/balance.d.ts +1 -1
  36. package/dist/tools/balance.d.ts.map +1 -1
  37. package/dist/tools/balance.js +97 -103
  38. package/dist/tools/balance.js.map +1 -1
  39. package/dist/tools/contract-info.d.ts +3 -3
  40. package/dist/tools/contract-info.d.ts.map +1 -1
  41. package/dist/tools/contract-info.js +150 -161
  42. package/dist/tools/contract-info.js.map +1 -1
  43. package/dist/tools/contract.d.ts +4 -4
  44. package/dist/tools/contract.d.ts.map +1 -1
  45. package/dist/tools/contract.js +91 -110
  46. package/dist/tools/contract.js.map +1 -1
  47. package/dist/tools/ens.d.ts +6 -6
  48. package/dist/tools/ens.d.ts.map +1 -1
  49. package/dist/tools/ens.js +239 -297
  50. package/dist/tools/ens.js.map +1 -1
  51. package/dist/tools/gas.d.ts +4 -4
  52. package/dist/tools/gas.d.ts.map +1 -1
  53. package/dist/tools/gas.js +90 -138
  54. package/dist/tools/gas.js.map +1 -1
  55. package/dist/tools/index.d.ts +1 -1
  56. package/dist/tools/index.d.ts.map +1 -1
  57. package/dist/tools/logs.d.ts +1 -1
  58. package/dist/tools/logs.d.ts.map +1 -1
  59. package/dist/tools/logs.js +36 -37
  60. package/dist/tools/logs.js.map +1 -1
  61. package/dist/tools/signatures.d.ts.map +1 -1
  62. package/dist/tools/signatures.js +67 -89
  63. package/dist/tools/signatures.js.map +1 -1
  64. package/dist/tools/transactions.d.ts +35 -5
  65. package/dist/tools/transactions.d.ts.map +1 -1
  66. package/dist/tools/transactions.js +148 -74
  67. package/dist/tools/transactions.js.map +1 -1
  68. package/dist/types.d.ts +1 -1
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/utils.d.ts +1 -1
  71. package/dist/utils.d.ts.map +1 -1
  72. package/dist/utils.js +35 -98
  73. package/dist/utils.js.map +1 -1
  74. package/dist/wallet-client.d.ts +11 -1
  75. package/dist/wallet-client.d.ts.map +1 -1
  76. package/dist/wallet-client.js +27 -9
  77. package/dist/wallet-client.js.map +1 -1
  78. package/dist/walletconnect.d.ts +22 -1
  79. package/dist/walletconnect.d.ts.map +1 -1
  80. package/dist/walletconnect.js +101 -8
  81. package/dist/walletconnect.js.map +1 -1
  82. package/package.json +17 -9
  83. package/src/anvil.ts +15 -18
  84. package/src/chain-meta.ts +8 -4
  85. package/src/chains.ts +145 -0
  86. package/src/client.ts +39 -254
  87. package/src/http-server.ts +67 -44
  88. package/src/index.ts +77 -53
  89. package/src/oauth.ts +270 -0
  90. package/src/preview.ts +3 -12
  91. package/src/tools/advanced.ts +195 -213
  92. package/src/tools/balance.ts +103 -108
  93. package/src/tools/contract-info.ts +163 -184
  94. package/src/tools/contract.ts +123 -144
  95. package/src/tools/ens.ts +290 -345
  96. package/src/tools/gas.ts +122 -170
  97. package/src/tools/index.ts +2 -2
  98. package/src/tools/logs.ts +45 -43
  99. package/src/tools/signatures.ts +68 -86
  100. package/src/tools/transactions.ts +194 -87
  101. package/src/types.ts +1 -15
  102. package/src/utils.ts +52 -110
  103. package/src/wallet-client.ts +31 -9
  104. package/src/walletconnect.ts +119 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ens.js","sourceRoot":"","sources":["../../src/tools/ens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ens.js","sourceRoot":"","sources":["../../src/tools/ens.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { z } from "zod";
1
+ import { z } from 'zod';
2
2
  declare const _default: {
3
3
  simulate_contract: {
4
4
  title: string;
5
5
  description: string;
6
6
  schema: z.ZodObject<{
7
- chain: z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>;
7
+ chain: z.ZodEnum<["arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost", ...("arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost")[]]>;
8
8
  contractAddress: z.ZodString;
9
9
  functionAbi: z.ZodString;
10
10
  args: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">>;
@@ -42,7 +42,7 @@ declare const _default: {
42
42
  title: string;
43
43
  description: string;
44
44
  schema: z.ZodObject<{
45
- chain: z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>;
45
+ chain: z.ZodEnum<["arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost", ...("arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost")[]]>;
46
46
  to: z.ZodOptional<z.ZodString>;
47
47
  from: z.ZodOptional<z.ZodString>;
48
48
  value: z.ZodOptional<z.ZodString>;
@@ -80,7 +80,7 @@ declare const _default: {
80
80
  title: string;
81
81
  description: string;
82
82
  schema: z.ZodObject<{
83
- chain: z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>;
83
+ chain: z.ZodEnum<["arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost", ...("arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost")[]]>;
84
84
  formatted: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
85
85
  }, "strip", z.ZodTypeAny, {
86
86
  chain: "arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost";
@@ -1 +1 @@
1
- {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/tools/gas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKxB,wBAoQE"}
1
+ {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/tools/gas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKvB,wBAoNC"}
package/dist/tools/gas.js CHANGED
@@ -1,34 +1,21 @@
1
- import { isAddress, parseAbiItem, encodeFunctionData, decodeFunctionResult } from "viem";
2
- import { z } from "zod";
3
- import { getClientManager, SUPPORTED_CHAINS } from "../client.js";
4
- import { convertArgumentsToTypes, createTool, formatResponse } from "../utils.js";
1
+ import { decodeFunctionResult, encodeFunctionData, 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
5
  export default {
6
- simulate_contract: createTool("Simulate Contract Call", "Simulate a contract call (including state-changing functions) without broadcasting. Returns simulation result and estimated gas.", z.object({
7
- chain: z
8
- .enum(SUPPORTED_CHAINS)
9
- .describe("Blockchain network to simulate on"),
10
- contractAddress: z
11
- .string()
12
- .describe("Contract address to call"),
6
+ simulate_contract: createTool('Simulate Contract Call', 'Simulate a contract call (including state-changing functions) without broadcasting. Returns simulation result and estimated gas.', z.object({
7
+ chain: z.enum(SUPPORTED_CHAINS).describe('Blockchain network to simulate on'),
8
+ contractAddress: z.string().describe('Contract address to call'),
13
9
  functionAbi: z
14
10
  .string()
15
11
  .describe('Function ABI signature (e.g., "function transfer(address to, uint256 amount)"). Can be any function type.'),
16
12
  args: z
17
13
  .array(z.union([z.string(), z.number(), z.boolean(), z.null()]))
18
14
  .optional()
19
- .describe("Function arguments in order matching the ABI signature"),
20
- from: z
21
- .string()
22
- .optional()
23
- .describe("Sender address (defaults to zero address)"),
24
- value: z
25
- .string()
26
- .optional()
27
- .describe("ETH value to send with the transaction (in wei as string)"),
28
- blockNumber: z
29
- .string()
30
- .optional()
31
- .describe("Block number for simulation (defaults to latest)"),
15
+ .describe('Function arguments in order matching the ABI signature'),
16
+ from: z.string().optional().describe('Sender address (defaults to zero address)'),
17
+ value: z.string().optional().describe('ETH value to send with the transaction (in wei as string)'),
18
+ blockNumber: z.string().optional().describe('Block number for simulation (defaults to latest)')
32
19
  }), async (args) => {
33
20
  if (!isAddress(args.contractAddress)) {
34
21
  throw new Error(`Invalid contract address: ${args.contractAddress}`);
@@ -48,11 +35,11 @@ export default {
48
35
  data: encodeFunctionData({
49
36
  abi: [abiItem],
50
37
  functionName: abiItem.name,
51
- args: convertedArgs,
38
+ args: convertedArgs
52
39
  }),
53
40
  account: args.from ? args.from : undefined,
54
41
  value: args.value ? BigInt(args.value) : undefined,
55
- blockNumber: blockTag,
42
+ blockNumber: blockTag
56
43
  });
57
44
  // Also estimate gas
58
45
  const gasEstimate = await client.estimateGas({
@@ -60,11 +47,11 @@ export default {
60
47
  data: encodeFunctionData({
61
48
  abi: [abiItem],
62
49
  functionName: abiItem.name,
63
- args: convertedArgs,
50
+ args: convertedArgs
64
51
  }),
65
52
  account: args.from ? args.from : undefined,
66
53
  value: args.value ? BigInt(args.value) : undefined,
67
- blockNumber: blockTag,
54
+ blockNumber: blockTag
68
55
  });
69
56
  // Decode the result if the function has outputs
70
57
  let decodedResult = result.data;
@@ -72,7 +59,7 @@ export default {
72
59
  decodedResult = decodeFunctionResult({
73
60
  abi: [abiItem],
74
61
  functionName: abiItem.name,
75
- data: result.data,
62
+ data: result.data
76
63
  });
77
64
  }
78
65
  return formatResponse({
@@ -83,7 +70,7 @@ export default {
83
70
  result: decodedResult,
84
71
  rawData: result.data,
85
72
  gasEstimate: gasEstimate.toString(),
86
- blockNumber: args.blockNumber || "latest",
73
+ blockNumber: args.blockNumber || 'latest'
87
74
  });
88
75
  }
89
76
  catch (error) {
@@ -94,38 +81,21 @@ export default {
94
81
  chain: args.chain,
95
82
  contractAddress: args.contractAddress,
96
83
  error: errorMessage,
97
- reverted: errorMessage.includes("revert") || errorMessage.includes("execution reverted"),
84
+ reverted: errorMessage.includes('revert') || errorMessage.includes('execution reverted')
98
85
  });
99
86
  }
100
87
  }),
101
- estimate_gas: createTool("Estimate Gas", "Estimate gas required for a transaction. Supports contract calls, transfers, and deployments.", z.object({
102
- chain: z
103
- .enum(SUPPORTED_CHAINS)
104
- .describe("Blockchain network"),
105
- to: z
106
- .string()
107
- .optional()
108
- .describe("Recipient address (omit for contract deployment)"),
109
- from: z
110
- .string()
111
- .optional()
112
- .describe("Sender address (optional)"),
113
- value: z
114
- .string()
115
- .optional()
116
- .describe("ETH value to send (in wei as string)"),
117
- data: z
118
- .string()
119
- .optional()
120
- .describe("Transaction data (hex string for contract calls or deployment bytecode)"),
121
- functionAbi: z
122
- .string()
123
- .optional()
124
- .describe("Optional: Function ABI signature to encode call data automatically"),
88
+ estimate_gas: createTool('Estimate Gas', 'Estimate gas required for a transaction. Supports contract calls, transfers, and deployments.', z.object({
89
+ chain: z.enum(SUPPORTED_CHAINS).describe('Blockchain network'),
90
+ to: z.string().optional().describe('Recipient address (omit for contract deployment)'),
91
+ from: z.string().optional().describe('Sender address (optional)'),
92
+ value: z.string().optional().describe('ETH value to send (in wei as string)'),
93
+ data: z.string().optional().describe('Transaction data (hex string for contract calls or deployment bytecode)'),
94
+ functionAbi: z.string().optional().describe('Optional: Function ABI signature to encode call data automatically'),
125
95
  args: z
126
96
  .array(z.union([z.string(), z.number(), z.boolean(), z.null()]))
127
97
  .optional()
128
- .describe("Optional: Function arguments (only used with functionAbi)"),
98
+ .describe('Optional: Function arguments (only used with functionAbi)')
129
99
  }), async (args) => {
130
100
  if (args.to && !isAddress(args.to)) {
131
101
  throw new Error(`Invalid to address: ${args.to}`);
@@ -135,95 +105,77 @@ export default {
135
105
  }
136
106
  const clientManager = getClientManager();
137
107
  const client = clientManager.getClient(args.chain);
138
- try {
139
- let callData = args.data;
140
- // If functionAbi is provided, encode the call data
141
- if (args.functionAbi) {
142
- const abiItem = parseAbiItem(args.functionAbi);
143
- const convertedArgs = convertArgumentsToTypes(args.args || [], abiItem.inputs);
144
- callData = encodeFunctionData({
145
- abi: [abiItem],
146
- functionName: abiItem.name,
147
- args: convertedArgs,
148
- });
149
- }
150
- const gasEstimate = await client.estimateGas({
151
- to: args.to ? args.to : undefined,
152
- account: args.from ? args.from : undefined,
153
- value: args.value ? BigInt(args.value) : undefined,
154
- data: callData,
155
- });
156
- return formatResponse({
157
- success: true,
158
- chain: args.chain,
159
- gasEstimate: gasEstimate.toString(),
160
- to: args.to,
161
- from: args.from,
162
- value: args.value,
108
+ let callData = args.data;
109
+ // If functionAbi is provided, encode the call data
110
+ if (args.functionAbi) {
111
+ const abiItem = parseAbiItem(args.functionAbi);
112
+ const convertedArgs = convertArgumentsToTypes(args.args || [], abiItem.inputs);
113
+ callData = encodeFunctionData({
114
+ abi: [abiItem],
115
+ functionName: abiItem.name,
116
+ args: convertedArgs
163
117
  });
164
118
  }
165
- catch (error) {
166
- throw new Error(`Gas estimation failed: ${error}`);
167
- }
119
+ const gasEstimate = await client.estimateGas({
120
+ to: args.to ? args.to : undefined,
121
+ account: args.from ? args.from : undefined,
122
+ value: args.value ? BigInt(args.value) : undefined,
123
+ data: callData
124
+ });
125
+ return formatResponse({
126
+ success: true,
127
+ chain: args.chain,
128
+ gasEstimate: gasEstimate.toString(),
129
+ to: args.to,
130
+ from: args.from,
131
+ value: args.value
132
+ });
168
133
  }),
169
- get_gas_price: createTool("Get Gas Price", "Get current gas prices for a chain. Returns both legacy gasPrice and EIP-1559 fees (maxFeePerGas, maxPriorityFeePerGas).", z.object({
170
- chain: z
171
- .enum(SUPPORTED_CHAINS)
172
- .describe("Blockchain network"),
173
- formatted: z
174
- .boolean()
175
- .optional()
176
- .default(true)
177
- .describe("Return prices in Gwei (default: true). If false, returns wei."),
134
+ get_gas_price: createTool('Get Gas Price', 'Get current gas prices for a chain. Returns both legacy gasPrice and EIP-1559 fees (maxFeePerGas, maxPriorityFeePerGas).', z.object({
135
+ chain: z.enum(SUPPORTED_CHAINS).describe('Blockchain network'),
136
+ formatted: z.boolean().optional().default(true).describe('Return prices in Gwei (default: true). If false, returns wei.')
178
137
  }), async (args) => {
179
138
  const clientManager = getClientManager();
180
139
  const client = clientManager.getClient(args.chain);
181
- try {
182
- // Get both legacy and EIP-1559 gas prices
183
- const [gasPrice, feeData] = await Promise.all([
184
- client.getGasPrice(),
185
- client.estimateFeesPerGas().catch(() => null), // Some chains don't support EIP-1559
186
- ]);
187
- const formatPrice = (wei) => {
188
- if (args.formatted) {
189
- // Convert to Gwei (1 Gwei = 1e9 wei)
190
- const gwei = Number(wei) / 1e9;
191
- return `${gwei.toFixed(2)} Gwei`;
192
- }
193
- return wei.toString();
194
- };
195
- const response = {
196
- chain: args.chain,
197
- timestamp: new Date().toISOString(),
198
- legacy: {
199
- gasPrice: args.formatted ? formatPrice(gasPrice) : gasPrice.toString(),
200
- gasPriceWei: gasPrice.toString(),
201
- },
202
- };
203
- // Add EIP-1559 data if available
204
- if (feeData) {
205
- response.eip1559 = {
206
- maxFeePerGas: args.formatted
207
- ? formatPrice(feeData.maxFeePerGas)
208
- : feeData.maxFeePerGas.toString(),
209
- maxPriorityFeePerGas: args.formatted
210
- ? formatPrice(feeData.maxPriorityFeePerGas)
211
- : feeData.maxPriorityFeePerGas.toString(),
212
- maxFeePerGasWei: feeData.maxFeePerGas.toString(),
213
- maxPriorityFeePerGasWei: feeData.maxPriorityFeePerGas.toString(),
214
- };
215
- // Calculate estimated total cost for a standard 21000 gas transaction
216
- const standardGasLimit = 21000n;
217
- const estimatedCost = feeData.maxFeePerGas * standardGasLimit;
218
- response.eip1559.estimatedCostFor21kGas = args.formatted
219
- ? `${(Number(estimatedCost) / 1e18).toFixed(6)} ETH`
220
- : estimatedCost.toString();
140
+ // Get both legacy and EIP-1559 gas prices
141
+ const [gasPrice, feeData] = await Promise.all([
142
+ client.getGasPrice(),
143
+ client.estimateFeesPerGas().catch(() => null) // Some chains don't support EIP-1559
144
+ ]);
145
+ const formatPrice = (wei) => {
146
+ if (args.formatted) {
147
+ // Convert to Gwei (1 Gwei = 1e9 wei)
148
+ const gwei = Number(wei) / 1e9;
149
+ return `${gwei.toFixed(2)} Gwei`;
221
150
  }
222
- return formatResponse(response);
223
- }
224
- catch (error) {
225
- throw new Error(`Failed to get gas price: ${error}`);
151
+ return wei.toString();
152
+ };
153
+ const response = {
154
+ chain: args.chain,
155
+ timestamp: new Date().toISOString(),
156
+ legacy: {
157
+ gasPrice: args.formatted ? formatPrice(gasPrice) : gasPrice.toString(),
158
+ gasPriceWei: gasPrice.toString()
159
+ }
160
+ };
161
+ // Add EIP-1559 data if available
162
+ if (feeData) {
163
+ response.eip1559 = {
164
+ maxFeePerGas: args.formatted ? formatPrice(feeData.maxFeePerGas) : feeData.maxFeePerGas.toString(),
165
+ maxPriorityFeePerGas: args.formatted
166
+ ? formatPrice(feeData.maxPriorityFeePerGas)
167
+ : feeData.maxPriorityFeePerGas.toString(),
168
+ maxFeePerGasWei: feeData.maxFeePerGas.toString(),
169
+ maxPriorityFeePerGasWei: feeData.maxPriorityFeePerGas.toString()
170
+ };
171
+ // Calculate estimated total cost for a standard 21000 gas transaction
172
+ const standardGasLimit = 21000n;
173
+ const estimatedCost = feeData.maxFeePerGas * standardGasLimit;
174
+ response.eip1559.estimatedCostFor21kGas = args.formatted
175
+ ? `${(Number(estimatedCost) / 1e18).toFixed(6)} ETH`
176
+ : estimatedCost.toString();
226
177
  }
227
- }),
178
+ return formatResponse(response);
179
+ })
228
180
  };
229
181
  //# sourceMappingURL=gas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/tools/gas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/tools/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEjE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjF,eAAe;IACb,iBAAiB,EAAE,UAAU,CAC3B,wBAAwB,EACxB,kIAAkI,EAClI,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC7E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CAAC,2GAA2G,CAAC;QACxH,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC/D,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QAClG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KAChG,CAAC,EACF,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAkB,CAAC,CAAA;QAE/D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAgB,CAAA;YAC7D,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAExE,oBAAoB;YACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC/B,EAAE,EAAE,IAAI,CAAC,eAA0B;gBACnC,IAAI,EAAE,kBAAkB,CAAC;oBACvB,GAAG,EAAE,CAAC,OAAO,CAAC;oBACd,YAAY,EAAE,OAAO,CAAC,IAAI;oBAC1B,IAAI,EAAE,aAAa;iBACpB,CAAC;gBACF,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAgB,CAAC,CAAC,CAAC,SAAS;gBACvD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClD,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAA;YAEF,oBAAoB;YACpB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;gBAC3C,EAAE,EAAE,IAAI,CAAC,eAA0B;gBACnC,IAAI,EAAE,kBAAkB,CAAC;oBACvB,GAAG,EAAE,CAAC,OAAO,CAAC;oBACd,YAAY,EAAE,OAAO,CAAC,IAAI;oBAC1B,IAAI,EAAE,aAAa;iBACpB,CAAC;gBACF,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAgB,CAAC,CAAC,CAAC,SAAS;gBACvD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClD,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAA;YAEF,gDAAgD;YAChD,IAAI,aAAa,GAAY,MAAM,CAAC,IAAI,CAAA;YACxC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjE,aAAa,GAAG,oBAAoB,CAAC;oBACnC,GAAG,EAAE,CAAC,OAAO,CAAC;oBACd,YAAY,EAAE,OAAO,CAAC,IAAI;oBAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,cAAc,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ;aAC1C,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAE3E,OAAO,cAAc,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;aACzF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CACF;IAED,YAAY,EAAE,UAAU,CACtB,cAAc,EACd,+FAA+F,EAC/F,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;QAC/G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;QACjH,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC/D,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;KACzE,CAAC,EACF,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAkB,CAAC,CAAA;QAE/D,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QAExB,mDAAmD;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAgB,CAAA;YAC7D,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9E,QAAQ,GAAG,kBAAkB,CAAC;gBAC5B,GAAG,EAAE,CAAC,OAAO,CAAC;gBACd,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,IAAI,EAAE,aAAa;aACpB,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YAC3C,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,IAAI,CAAC,EAAc,CAAC,CAAC,CAAC,SAAS;YAC9C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAgB,CAAC,CAAC,CAAC,SAAS;YACvD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAClD,IAAI,EAAE,QAAqC;SAC5C,CAAC,CAAA;QAEF,OAAO,cAAc,CAAC;YACpB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;IACJ,CAAC,CACF;IAED,aAAa,EAAE,UAAU,CACvB,eAAe,EACf,0HAA0H,EAC1H,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC;KAC1H,CAAC,EACF,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAkB,CAAC,CAAA;QAE/D,0CAA0C;QAC1C,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,MAAM,CAAC,WAAW,EAAE;YACpB,MAAM,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,qCAAqC;SACpF,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;YAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,qCAAqC;gBACrC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;gBAC9B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;YAClC,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAA;QAED,MAAM,QAAQ,GAAQ;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE;aACjC;SACF,CAAA;QAED,iCAAiC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG;gBACjB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;gBAClG,oBAAoB,EAAE,IAAI,CAAC,SAAS;oBAClC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC;oBAC3C,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBAC3C,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;gBAChD,uBAAuB,EAAE,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;aACjE,CAAA;YAED,sEAAsE;YACtE,MAAM,gBAAgB,GAAG,MAAM,CAAA;YAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAA;YAC7D,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS;gBACtD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACpD,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;QAC9B,CAAC;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC,CACF;CACF,CAAA"}
@@ -1,3 +1,3 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export declare function registerAllTools(server: McpServer): void;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AA0BnE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAcjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AA0BxE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAcjD"}
@@ -4,7 +4,7 @@ declare const _default: {
4
4
  title: string;
5
5
  description: string;
6
6
  schema: z.ZodObject<{
7
- chain: z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>;
7
+ chain: z.ZodEnum<["arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost", ...("arbitrum" | "mainnet" | "avalanche" | "base" | "bnb" | "gnosis" | "sonic" | "optimism" | "polygon" | "zksync" | "linea" | "unichain" | "localhost")[]]>;
8
8
  eventAbi: z.ZodString;
9
9
  address: z.ZodOptional<z.ZodString>;
10
10
  fromBlock: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GvB,wBAyKC"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/tools/logs.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwHvB,wBA8JC"}
@@ -1,10 +1,26 @@
1
1
  import { HypersyncClient, LogField } from '@envio-dev/hypersync-client';
2
- import { isAddress, keccak256, parseAbiItem, toBytes, toEventSignature } from 'viem';
2
+ import { decodeEventLog, isAddress, keccak256, numberToHex, padHex, parseAbiItem, toBytes, toEventSignature } from 'viem';
3
3
  import { z } from 'zod';
4
- import { getClientManager, HYPERSYNC_URLS, SUPPORTED_CHAINS } from '../client.js';
4
+ import { getClientManager, SUPPORTED_CHAINS } from '../client.js';
5
5
  import { convertEventArgsToTypes, createTool, formatResponse } from '../utils.js';
6
+ /**
7
+ * A topic is always 32 bytes, so an address, a number or a short hex value has to be
8
+ * left-padded to fit. Passing one through unpadded is rejected outright by Hypersync.
9
+ */
10
+ function toTopic(value) {
11
+ if (typeof value === 'number' || typeof value === 'bigint') {
12
+ return padHex(numberToHex(value), { size: 32 });
13
+ }
14
+ if (typeof value === 'boolean') {
15
+ return padHex(value ? '0x01' : '0x00', { size: 32 });
16
+ }
17
+ if (typeof value === 'string' && (isAddress(value) || value.startsWith('0x'))) {
18
+ return padHex(value.toLowerCase(), { size: 32 });
19
+ }
20
+ throw new Error(`Cannot filter on indexed value ${JSON.stringify(value)} — expected an address, number or hex string`);
21
+ }
6
22
  async function getLogsWithHypersync(chainName, eventAbi, hypersyncApiKey, address, fromBlock, toBlock, eventArgs) {
7
- const hypersyncUrl = HYPERSYNC_URLS[chainName];
23
+ const hypersyncUrl = getClientManager().getHypersyncUrl(chainName);
8
24
  if (!hypersyncUrl) {
9
25
  throw new Error(`Hypersync not supported for chain: ${chainName}`);
10
26
  }
@@ -19,28 +35,11 @@ async function getLogsWithHypersync(chainName, eventAbi, hypersyncApiKey, addres
19
35
  const topics = [topic0];
20
36
  // Add indexed parameter filtering if eventArgs provided
21
37
  if (eventArgs && Object.keys(eventArgs).length > 0) {
22
- const indexedInputs = abiItem.inputs.filter(input => input.indexed);
38
+ const indexedInputs = abiItem.inputs.filter((input) => input.indexed);
23
39
  for (let i = 0; i < indexedInputs.length && i < 3; i++) {
24
40
  const input = indexedInputs[i];
25
41
  const argValue = input?.name ? eventArgs[input.name] : undefined;
26
- if (argValue !== undefined) {
27
- // Convert the argument to the proper format for topic filtering
28
- let topicValue;
29
- if (typeof argValue === 'string' && argValue.startsWith('0x')) {
30
- topicValue = argValue;
31
- }
32
- else if (typeof argValue === 'string' && isAddress(argValue)) {
33
- topicValue = argValue.toLowerCase().padStart(66, '0x000000000000000000000000');
34
- }
35
- else {
36
- // For other types, we'd need more sophisticated encoding
37
- topicValue = String(argValue);
38
- }
39
- topics.push(topicValue);
40
- }
41
- else {
42
- topics.push(null);
43
- }
42
+ topics.push(argValue === undefined ? null : toTopic(argValue));
44
43
  }
45
44
  }
46
45
  const query = {
@@ -59,12 +58,14 @@ async function getLogsWithHypersync(chainName, eventAbi, hypersyncApiKey, addres
59
58
  LogField.LogIndex
60
59
  ]
61
60
  },
62
- fromBlock: fromBlock ? Number.parseInt(fromBlock) : 0,
63
- toBlock: toBlock ? Number.parseInt(toBlock) : undefined,
61
+ fromBlock: fromBlock ? Number.parseInt(fromBlock, 10) : 0,
62
+ toBlock: toBlock ? Number.parseInt(toBlock, 10) : undefined,
64
63
  logs: [
65
64
  {
66
65
  address: address ? [address] : undefined,
67
- topics: topics.filter(t => t !== null).map(t => (Array.isArray(t) ? t : [t]))
66
+ // An unfiltered position is an empty list, not a dropped entry: removing it would
67
+ // slide every later filter up a slot and match on the wrong parameter.
68
+ topics: topics.map((t) => (t === null ? [] : Array.isArray(t) ? t : [t]))
68
69
  }
69
70
  ]
70
71
  };
@@ -72,18 +73,21 @@ async function getLogsWithHypersync(chainName, eventAbi, hypersyncApiKey, addres
72
73
  // Convert hypersync logs to viem-compatible format
73
74
  const decodedLogs = res.data.logs
74
75
  .map((log) => {
76
+ const topics = log.topics.filter((topic) => Boolean(topic));
77
+ const data = (log.data ?? '0x');
75
78
  try {
79
+ const { args } = decodeEventLog({ abi: [abiItem], data, topics });
76
80
  return {
77
81
  address: log.address,
78
82
  blockHash: log.blockHash,
79
83
  blockNumber: log.blockNumber ? BigInt(log.blockNumber) : 0n,
80
- data: log.data,
84
+ data,
81
85
  logIndex: log.logIndex,
82
- topics: log.topics,
86
+ topics,
83
87
  transactionHash: log.transactionHash,
84
88
  transactionIndex: log.transactionIndex,
85
89
  eventName: abiItem.name,
86
- args: {}
90
+ args: args ?? {}
87
91
  };
88
92
  }
89
93
  catch (error) {
@@ -104,12 +108,7 @@ export default {
104
108
  fromBlock: z.string().optional().describe('Start block (defaults to latest-1000)'),
105
109
  toBlock: z.string().optional().describe('End block (defaults to latest)'),
106
110
  eventArgs: z
107
- .record(z.union([
108
- z.string(),
109
- z.number(),
110
- z.boolean(),
111
- z.array(z.union([z.string(), z.number(), z.boolean()]))
112
- ]))
111
+ .record(z.union([z.string(), z.number(), z.boolean(), z.array(z.union([z.string(), z.number(), z.boolean()]))]))
113
112
  .optional()
114
113
  .describe('Filter by indexed parameters: {"from": "0x123...", "to": "0x456..."}')
115
114
  }), async (args) => {
@@ -141,7 +140,7 @@ export default {
141
140
  // Use client.getLogs with proper typing
142
141
  const logs = await client.getLogs(getLogsParams);
143
142
  // Convert logs to serializable format
144
- const serializedLogs = logs.map(log => {
143
+ const serializedLogs = logs.map((log) => {
145
144
  const baseLogData = {
146
145
  address: log.address,
147
146
  blockHash: log.blockHash,
@@ -176,7 +175,7 @@ export default {
176
175
  }
177
176
  catch (viemError) {
178
177
  // If viem fails and we have hypersync support for this chain, try hypersync as fallback
179
- if (HYPERSYNC_URLS[args.chain] && args.chain !== 'localhost') {
178
+ if (clientManager.getHypersyncUrl(args.chain)) {
180
179
  console.warn(`Viem getLogs failed for ${args.chain}, trying hypersync fallback:`, viemError);
181
180
  try {
182
181
  const hypersyncLogs = await getLogsWithHypersync(args.chain, args.eventAbi, config.hypersyncApiKey, args.address, args.fromBlock, args.toBlock, args.eventArgs);
@@ -184,7 +183,7 @@ export default {
184
183
  const fromBlockNum = args.fromBlock ? BigInt(args.fromBlock) : undefined;
185
184
  const toBlockNum = args.toBlock ? BigInt(args.toBlock) : undefined;
186
185
  // Convert hypersync logs to the same format as viem logs
187
- const serializedLogs = hypersyncLogs.map(log => {
186
+ const serializedLogs = hypersyncLogs.map((log) => {
188
187
  const baseLogData = {
189
188
  address: log.address,
190
189
  blockHash: log.blockHash,