web3-tools-mcp 1.5.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 (109) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +346 -164
  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 -216
  17. package/dist/client.js.map +1 -1
  18. package/dist/http-server.d.ts +18 -0
  19. package/dist/http-server.d.ts.map +1 -0
  20. package/dist/http-server.js +89 -0
  21. package/dist/http-server.js.map +1 -0
  22. package/dist/index.js +77 -32
  23. package/dist/index.js.map +1 -1
  24. package/dist/kv-storage.d.ts +23 -0
  25. package/dist/kv-storage.d.ts.map +1 -0
  26. package/dist/kv-storage.js +69 -0
  27. package/dist/kv-storage.js.map +1 -0
  28. package/dist/oauth.d.ts +31 -0
  29. package/dist/oauth.d.ts.map +1 -0
  30. package/dist/oauth.js +227 -0
  31. package/dist/oauth.js.map +1 -0
  32. package/dist/preview.d.ts.map +1 -1
  33. package/dist/preview.js +14 -4
  34. package/dist/preview.js.map +1 -1
  35. package/dist/tools/advanced.d.ts +4 -4
  36. package/dist/tools/advanced.d.ts.map +1 -1
  37. package/dist/tools/advanced.js +228 -247
  38. package/dist/tools/advanced.js.map +1 -1
  39. package/dist/tools/balance.d.ts +1 -1
  40. package/dist/tools/balance.d.ts.map +1 -1
  41. package/dist/tools/balance.js +97 -103
  42. package/dist/tools/balance.js.map +1 -1
  43. package/dist/tools/contract-info.d.ts +3 -3
  44. package/dist/tools/contract-info.d.ts.map +1 -1
  45. package/dist/tools/contract-info.js +150 -161
  46. package/dist/tools/contract-info.js.map +1 -1
  47. package/dist/tools/contract.d.ts +4 -4
  48. package/dist/tools/contract.d.ts.map +1 -1
  49. package/dist/tools/contract.js +91 -110
  50. package/dist/tools/contract.js.map +1 -1
  51. package/dist/tools/ens.d.ts +6 -6
  52. package/dist/tools/ens.d.ts.map +1 -1
  53. package/dist/tools/ens.js +239 -297
  54. package/dist/tools/ens.js.map +1 -1
  55. package/dist/tools/gas.d.ts +4 -4
  56. package/dist/tools/gas.d.ts.map +1 -1
  57. package/dist/tools/gas.js +90 -138
  58. package/dist/tools/gas.js.map +1 -1
  59. package/dist/tools/index.d.ts +1 -1
  60. package/dist/tools/index.d.ts.map +1 -1
  61. package/dist/tools/logs.d.ts +1 -1
  62. package/dist/tools/logs.d.ts.map +1 -1
  63. package/dist/tools/logs.js +36 -37
  64. package/dist/tools/logs.js.map +1 -1
  65. package/dist/tools/signatures.d.ts.map +1 -1
  66. package/dist/tools/signatures.js +67 -89
  67. package/dist/tools/signatures.js.map +1 -1
  68. package/dist/tools/transactions.d.ts +48 -4
  69. package/dist/tools/transactions.d.ts.map +1 -1
  70. package/dist/tools/transactions.js +228 -44
  71. package/dist/tools/transactions.js.map +1 -1
  72. package/dist/types.d.ts +2 -1
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/utils.d.ts +3 -8
  75. package/dist/utils.d.ts.map +1 -1
  76. package/dist/utils.js +36 -98
  77. package/dist/utils.js.map +1 -1
  78. package/dist/wallet-client.d.ts +11 -1
  79. package/dist/wallet-client.d.ts.map +1 -1
  80. package/dist/wallet-client.js +27 -9
  81. package/dist/wallet-client.js.map +1 -1
  82. package/dist/walletconnect.d.ts +52 -0
  83. package/dist/walletconnect.d.ts.map +1 -0
  84. package/dist/walletconnect.js +221 -0
  85. package/dist/walletconnect.js.map +1 -0
  86. package/package.json +21 -9
  87. package/src/anvil.ts +15 -18
  88. package/src/chain-meta.ts +8 -4
  89. package/src/chains.ts +145 -0
  90. package/src/client.ts +39 -252
  91. package/src/http-server.ts +117 -0
  92. package/src/index.ts +98 -49
  93. package/src/kv-storage.ts +83 -0
  94. package/src/oauth.ts +270 -0
  95. package/src/preview.ts +15 -14
  96. package/src/tools/advanced.ts +195 -213
  97. package/src/tools/balance.ts +103 -108
  98. package/src/tools/contract-info.ts +163 -184
  99. package/src/tools/contract.ts +123 -144
  100. package/src/tools/ens.ts +290 -345
  101. package/src/tools/gas.ts +122 -170
  102. package/src/tools/index.ts +2 -2
  103. package/src/tools/logs.ts +45 -43
  104. package/src/tools/signatures.ts +68 -86
  105. package/src/tools/transactions.ts +283 -50
  106. package/src/types.ts +2 -15
  107. package/src/utils.ts +56 -127
  108. package/src/wallet-client.ts +31 -9
  109. package/src/walletconnect.ts +269 -0
@@ -1,143 +1,124 @@
1
- import { 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";
1
+ import { 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
  const ContractCallSchema = z.object({
6
- chain: z
7
- .enum(SUPPORTED_CHAINS)
8
- .describe("Blockchain network (mainnet, base, arbitrum, polygon, optimism, celo, localhost)"),
9
- contractAddress: z
10
- .string()
11
- .describe("Contract address to call (must be valid checksummed address)"),
6
+ chain: z.enum(SUPPORTED_CHAINS).describe('Blockchain network (mainnet, base, arbitrum, polygon, optimism, celo, localhost)'),
7
+ contractAddress: z.string().describe('Contract address to call (must be valid checksummed address)'),
12
8
  functionAbi: z
13
9
  .string()
14
10
  .describe('Function ABI signature string (e.g., "function balanceOf(address owner) view returns (uint256)"). Only view/pure functions allowed.'),
15
11
  args: z
16
12
  .array(z.union([z.string(), z.number(), z.boolean(), z.null()]))
17
13
  .optional()
18
- .describe("Function arguments in order matching the ABI signature. Automatically type-converted."),
19
- blockNumber: z
20
- .string()
21
- .optional()
22
- .describe("Block number for historical queries (defaults to latest)"),
23
- label: z.string().optional().describe("Optional label to identify this call in batch results"),
14
+ .describe('Function arguments in order matching the ABI signature. Automatically type-converted.'),
15
+ blockNumber: z.string().optional().describe('Block number for historical queries (defaults to latest)'),
16
+ label: z.string().optional().describe('Optional label to identify this call in batch results')
24
17
  });
25
18
  export default {
26
- call_contract_function: createTool("Call Contract Functions", "Execute multiple view/pure contract functions efficiently. BATCH OPTIMIZED - use for reading contract state, token metadata.", z.object({
19
+ read_contract: createTool('Read Contract', 'Read state from contracts by calling view/pure functions. Nothing is sent on-chain and no wallet is involved. BATCH OPTIMIZED - use for reading contract state, token metadata.', z.object({
27
20
  calls: z
28
21
  .array(ContractCallSchema)
29
- .describe("Array of contract function calls. Automatically batched by chain/block for optimal performance."),
22
+ .describe('Array of contract function calls. Automatically batched by chain/block for optimal performance.')
30
23
  }), async (args) => {
31
24
  // Group by chain and blockNumber for efficient multicall
32
25
  const groupedCalls = new Map();
33
26
  for (const item of args.calls) {
34
- const key = `${item.chain}:${item.blockNumber || "latest"}`;
27
+ const key = `${item.chain}:${item.blockNumber || 'latest'}`;
35
28
  if (!groupedCalls.has(key)) {
36
29
  groupedCalls.set(key, []);
37
30
  }
38
31
  groupedCalls.get(key).push(item);
39
32
  }
40
33
  const allResults = [];
41
- try {
42
- // Process each group
43
- for (const [key, calls] of groupedCalls) {
44
- const [chain, blockNum] = key.split(":");
45
- const clientManager = getClientManager();
46
- const client = clientManager.getClient(chain);
47
- const blockTag = blockNum === "latest" ? "latest" : BigInt(blockNum);
48
- // Prepare multicall contracts
49
- const multicallContracts = calls.map((call) => {
50
- if (!isAddress(call.contractAddress)) {
51
- throw new Error(`Invalid contract address: ${call.contractAddress}`);
52
- }
53
- const abiItem = parseAbiItem(call.functionAbi);
54
- if (abiItem.stateMutability !== "view" && abiItem.stateMutability !== "pure") {
55
- throw new Error(`Only view and pure functions can be called: ${call.functionAbi}`);
56
- }
57
- const convertedArgs = convertArgumentsToTypes(call.args || [], abiItem.inputs);
58
- return {
59
- address: call.contractAddress,
60
- abi: [abiItem],
34
+ // Process each group
35
+ for (const [key, calls] of groupedCalls) {
36
+ const [chain, blockNum] = key.split(':');
37
+ const clientManager = getClientManager();
38
+ const client = clientManager.getClient(chain);
39
+ const blockTag = blockNum === 'latest' ? 'latest' : BigInt(blockNum);
40
+ // Prepare multicall contracts
41
+ const multicallContracts = calls.map((call) => {
42
+ if (!isAddress(call.contractAddress)) {
43
+ throw new Error(`Invalid contract address: ${call.contractAddress}`);
44
+ }
45
+ const abiItem = parseAbiItem(call.functionAbi);
46
+ if (abiItem.stateMutability !== 'view' && abiItem.stateMutability !== 'pure') {
47
+ throw new Error(`Only view and pure functions can be called: ${call.functionAbi}`);
48
+ }
49
+ const convertedArgs = convertArgumentsToTypes(call.args || [], abiItem.inputs);
50
+ return {
51
+ address: call.contractAddress,
52
+ abi: [abiItem],
53
+ functionName: abiItem.name,
54
+ args: convertedArgs
55
+ };
56
+ });
57
+ // Execute multicall
58
+ // Use deployless mode for localhost/anvil since Multicall3 may not be deployed
59
+ const useDeployless = chain === 'localhost';
60
+ const multicallResults = await client.multicall({
61
+ contracts: multicallContracts,
62
+ blockNumber: blockTag === 'latest' ? undefined : blockTag,
63
+ ...(useDeployless && { deployless: true })
64
+ });
65
+ // Process results
66
+ multicallResults.forEach((result, idx) => {
67
+ const call = calls[idx];
68
+ const abiItem = parseAbiItem(call.functionAbi);
69
+ const originalIndex = args.calls.indexOf(call);
70
+ if (result.status === 'success') {
71
+ allResults[originalIndex] = {
72
+ index: originalIndex,
73
+ label: call.label,
74
+ contractAddress: call.contractAddress,
61
75
  functionName: abiItem.name,
62
- args: convertedArgs,
76
+ success: true,
77
+ result: result.result,
78
+ chain: call.chain,
79
+ blockNumber: call.blockNumber || 'latest'
63
80
  };
64
- });
65
- // Execute multicall
66
- // Use deployless mode for localhost/anvil since Multicall3 may not be deployed
67
- const useDeployless = chain === "localhost";
68
- const multicallResults = await client.multicall({
69
- contracts: multicallContracts,
70
- blockNumber: blockTag === "latest" ? undefined : blockTag,
71
- ...(useDeployless && { deployless: true }),
72
- });
73
- // Process results
74
- multicallResults.forEach((result, idx) => {
75
- const call = calls[idx];
76
- const abiItem = parseAbiItem(call.functionAbi);
77
- const originalIndex = args.calls.indexOf(call);
78
- if (result.status === "success") {
79
- allResults[originalIndex] = {
80
- index: originalIndex,
81
- label: call.label,
82
- contractAddress: call.contractAddress,
83
- functionName: abiItem.name,
84
- success: true,
85
- result: result.result,
86
- chain: call.chain,
87
- blockNumber: call.blockNumber || "latest",
88
- };
89
- }
90
- else {
91
- allResults[originalIndex] = {
92
- index: originalIndex,
93
- label: call.label,
94
- contractAddress: call.contractAddress,
95
- functionName: abiItem.name,
96
- success: false,
97
- error: result.error instanceof Error ? result.error.message : String(result.error),
98
- chain: call.chain,
99
- blockNumber: call.blockNumber || "latest",
100
- };
101
- }
102
- });
103
- }
104
- return formatResponse({
105
- success: true,
106
- totalCalls: args.calls.length,
107
- successfulCalls: allResults.filter((r) => r.success).length,
108
- failedCalls: allResults.filter((r) => !r.success).length,
109
- results: allResults,
81
+ }
82
+ else {
83
+ allResults[originalIndex] = {
84
+ index: originalIndex,
85
+ label: call.label,
86
+ contractAddress: call.contractAddress,
87
+ functionName: abiItem.name,
88
+ success: false,
89
+ error: result.error instanceof Error ? result.error.message : String(result.error),
90
+ chain: call.chain,
91
+ blockNumber: call.blockNumber || 'latest'
92
+ };
93
+ }
110
94
  });
111
95
  }
112
- catch (error) {
113
- throw new Error(`Contract call failed: ${error}`);
114
- }
96
+ return formatResponse({
97
+ success: true,
98
+ totalCalls: args.calls.length,
99
+ successfulCalls: allResults.filter((r) => r.success).length,
100
+ failedCalls: allResults.filter((r) => !r.success).length,
101
+ results: allResults
102
+ });
115
103
  }),
116
- is_contract: createTool("Check Address Type", "Determine if address is smart contract or EOA. Returns contract status and bytecode length.", z.object({
117
- chain: z.enum(SUPPORTED_CHAINS).describe("Blockchain network to query"),
118
- address: z
119
- .string()
120
- .describe("Address to check (returns true if contract, false if EOA/wallet)"),
104
+ is_contract: createTool('Check Address Type', 'Determine if address is smart contract or EOA. Returns contract status and bytecode length.', z.object({
105
+ chain: z.enum(SUPPORTED_CHAINS).describe('Blockchain network to query'),
106
+ address: z.string().describe('Address to check (returns true if contract, false if EOA/wallet)')
121
107
  }), async (args) => {
122
108
  if (!isAddress(args.address)) {
123
- throw new Error("Invalid address format");
109
+ throw new Error('Invalid address format');
124
110
  }
125
111
  const clientManager = getClientManager();
126
112
  const client = clientManager.getClient(args.chain);
127
- try {
128
- const bytecode = await client.getBytecode({ address: args.address });
129
- const isContractFlag = bytecode !== undefined && bytecode !== "0x";
130
- return formatResponse({
131
- address: args.address,
132
- isContract: isContractFlag,
133
- type: isContractFlag ? "contract" : "EOA",
134
- chain: args.chain,
135
- bytecodeLength: bytecode ? bytecode.length - 2 : 0, // -2 for '0x' prefix
136
- });
137
- }
138
- catch (error) {
139
- throw new Error(`Failed to check address type: ${error}`);
140
- }
141
- }),
113
+ const bytecode = await client.getBytecode({ address: args.address });
114
+ const isContractFlag = bytecode !== undefined && bytecode !== '0x';
115
+ return formatResponse({
116
+ address: args.address,
117
+ isContract: isContractFlag,
118
+ type: isContractFlag ? 'contract' : 'EOA',
119
+ chain: args.chain,
120
+ bytecodeLength: bytecode ? bytecode.length - 2 : 0 // -2 for '0x' prefix
121
+ });
122
+ })
142
123
  };
143
124
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tools/contract.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
  resolve_ens_name: {
4
4
  title: string;
5
5
  description: string;
6
6
  schema: z.ZodObject<{
7
- chain: z.ZodDefault<z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>>;
7
+ chain: z.ZodDefault<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
  name: z.ZodString;
9
9
  universalResolver: z.ZodOptional<z.ZodBoolean>;
10
10
  }, "strip", z.ZodTypeAny, {
@@ -26,7 +26,7 @@ declare const _default: {
26
26
  title: string;
27
27
  description: string;
28
28
  schema: z.ZodObject<{
29
- chain: z.ZodDefault<z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>>;
29
+ chain: z.ZodDefault<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")[]]>>;
30
30
  address: z.ZodString;
31
31
  universalResolver: z.ZodOptional<z.ZodBoolean>;
32
32
  }, "strip", z.ZodTypeAny, {
@@ -48,7 +48,7 @@ declare const _default: {
48
48
  title: string;
49
49
  description: string;
50
50
  schema: z.ZodObject<{
51
- chain: z.ZodDefault<z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>>;
51
+ chain: z.ZodDefault<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")[]]>>;
52
52
  name: z.ZodString;
53
53
  key: z.ZodString;
54
54
  universalResolver: z.ZodOptional<z.ZodBoolean>;
@@ -74,7 +74,7 @@ declare const _default: {
74
74
  title: string;
75
75
  description: string;
76
76
  schema: z.ZodObject<{
77
- chain: z.ZodDefault<z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>>;
77
+ chain: z.ZodDefault<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")[]]>>;
78
78
  name: z.ZodString;
79
79
  universalResolver: z.ZodOptional<z.ZodBoolean>;
80
80
  }, "strip", z.ZodTypeAny, {
@@ -96,7 +96,7 @@ declare const _default: {
96
96
  title: string;
97
97
  description: string;
98
98
  schema: z.ZodObject<{
99
- chain: z.ZodDefault<z.ZodEnum<["mainnet", "arbitrum", "avalanche", "base", "bnb", "gnosis", "sonic", "optimism", "polygon", "zksync", "linea", "unichain", "localhost"]>>;
99
+ chain: z.ZodDefault<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")[]]>>;
100
100
  names: z.ZodArray<z.ZodString, "many">;
101
101
  universalResolver: z.ZodOptional<z.ZodBoolean>;
102
102
  }, "strip", z.ZodTypeAny, {
@@ -1 +1 @@
1
- {"version":3,"file":"ens.d.ts","sourceRoot":"","sources":["../../src/tools/ens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwNxB,wBAkRE"}
1
+ {"version":3,"file":"ens.d.ts","sourceRoot":"","sources":["../../src/tools/ens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2LvB,wBAwPC"}