web3-tools-mcp 1.2.1 → 1.2.3

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 (102) hide show
  1. package/README.md +91 -228
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js.map +1 -0
  4. package/dist/{src/index.d.ts.map → index.d.ts.map} +1 -1
  5. package/dist/index.js.map +1 -0
  6. package/dist/tools/advanced.d.ts.map +1 -0
  7. package/dist/tools/advanced.js.map +1 -0
  8. package/dist/tools/balance.d.ts.map +1 -0
  9. package/dist/tools/balance.js.map +1 -0
  10. package/dist/tools/contract-info.d.ts.map +1 -0
  11. package/dist/tools/contract-info.js.map +1 -0
  12. package/dist/tools/contract.d.ts.map +1 -0
  13. package/dist/tools/contract.js.map +1 -0
  14. package/dist/tools/ens.d.ts.map +1 -0
  15. package/dist/tools/ens.js.map +1 -0
  16. package/dist/tools/index.d.ts.map +1 -0
  17. package/dist/tools/index.js.map +1 -0
  18. package/dist/tools/logs.d.ts.map +1 -0
  19. package/dist/tools/logs.js.map +1 -0
  20. package/dist/tools/signatures.d.ts.map +1 -0
  21. package/dist/tools/signatures.js.map +1 -0
  22. package/dist/types.d.ts.map +1 -0
  23. package/dist/types.js.map +1 -0
  24. package/dist/utils.d.ts.map +1 -0
  25. package/dist/utils.js.map +1 -0
  26. package/package.json +4 -4
  27. package/dist/package.json +0 -63
  28. package/dist/src/client.d.ts.map +0 -1
  29. package/dist/src/client.js.map +0 -1
  30. package/dist/src/index.js.map +0 -1
  31. package/dist/src/tools/advanced.d.ts.map +0 -1
  32. package/dist/src/tools/advanced.js.map +0 -1
  33. package/dist/src/tools/balance.d.ts.map +0 -1
  34. package/dist/src/tools/balance.js.map +0 -1
  35. package/dist/src/tools/contract-info.d.ts.map +0 -1
  36. package/dist/src/tools/contract-info.js.map +0 -1
  37. package/dist/src/tools/contract.d.ts.map +0 -1
  38. package/dist/src/tools/contract.js.map +0 -1
  39. package/dist/src/tools/ens.d.ts.map +0 -1
  40. package/dist/src/tools/ens.js.map +0 -1
  41. package/dist/src/tools/index.d.ts.map +0 -1
  42. package/dist/src/tools/index.js.map +0 -1
  43. package/dist/src/tools/logs.d.ts.map +0 -1
  44. package/dist/src/tools/logs.js.map +0 -1
  45. package/dist/src/tools/signatures.d.ts.map +0 -1
  46. package/dist/src/tools/signatures.js.map +0 -1
  47. package/dist/src/types.d.ts.map +0 -1
  48. package/dist/src/types.js.map +0 -1
  49. package/dist/src/utils.d.ts.map +0 -1
  50. package/dist/src/utils.js.map +0 -1
  51. package/dist/test/tools/advanced.test.d.ts +0 -2
  52. package/dist/test/tools/advanced.test.d.ts.map +0 -1
  53. package/dist/test/tools/advanced.test.js +0 -235
  54. package/dist/test/tools/advanced.test.js.map +0 -1
  55. package/dist/test/tools/balance.test.d.ts +0 -2
  56. package/dist/test/tools/balance.test.d.ts.map +0 -1
  57. package/dist/test/tools/balance.test.js +0 -167
  58. package/dist/test/tools/balance.test.js.map +0 -1
  59. package/dist/test/tools/contract-info.test.d.ts +0 -2
  60. package/dist/test/tools/contract-info.test.d.ts.map +0 -1
  61. package/dist/test/tools/contract-info.test.js +0 -286
  62. package/dist/test/tools/contract-info.test.js.map +0 -1
  63. package/dist/test/tools/contract.test.d.ts +0 -2
  64. package/dist/test/tools/contract.test.d.ts.map +0 -1
  65. package/dist/test/tools/contract.test.js +0 -234
  66. package/dist/test/tools/contract.test.js.map +0 -1
  67. package/dist/test/tools/ens.test.d.ts +0 -2
  68. package/dist/test/tools/ens.test.d.ts.map +0 -1
  69. package/dist/test/tools/ens.test.js +0 -236
  70. package/dist/test/tools/ens.test.js.map +0 -1
  71. package/dist/test/tools/logs.test.d.ts +0 -2
  72. package/dist/test/tools/logs.test.d.ts.map +0 -1
  73. package/dist/test/tools/logs.test.js +0 -196
  74. package/dist/test/tools/logs.test.js.map +0 -1
  75. package/dist/test/tools/signatures.test.d.ts +0 -2
  76. package/dist/test/tools/signatures.test.d.ts.map +0 -1
  77. package/dist/test/tools/signatures.test.js +0 -112
  78. package/dist/test/tools/signatures.test.js.map +0 -1
  79. /package/dist/{src/client.d.ts → client.d.ts} +0 -0
  80. /package/dist/{src/client.js → client.js} +0 -0
  81. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  82. /package/dist/{src/index.js → index.js} +0 -0
  83. /package/dist/{src/tools → tools}/advanced.d.ts +0 -0
  84. /package/dist/{src/tools → tools}/advanced.js +0 -0
  85. /package/dist/{src/tools → tools}/balance.d.ts +0 -0
  86. /package/dist/{src/tools → tools}/balance.js +0 -0
  87. /package/dist/{src/tools → tools}/contract-info.d.ts +0 -0
  88. /package/dist/{src/tools → tools}/contract-info.js +0 -0
  89. /package/dist/{src/tools → tools}/contract.d.ts +0 -0
  90. /package/dist/{src/tools → tools}/contract.js +0 -0
  91. /package/dist/{src/tools → tools}/ens.d.ts +0 -0
  92. /package/dist/{src/tools → tools}/ens.js +0 -0
  93. /package/dist/{src/tools → tools}/index.d.ts +0 -0
  94. /package/dist/{src/tools → tools}/index.js +0 -0
  95. /package/dist/{src/tools → tools}/logs.d.ts +0 -0
  96. /package/dist/{src/tools → tools}/logs.js +0 -0
  97. /package/dist/{src/tools → tools}/signatures.d.ts +0 -0
  98. /package/dist/{src/tools → tools}/signatures.js +0 -0
  99. /package/dist/{src/types.d.ts → types.d.ts} +0 -0
  100. /package/dist/{src/types.js → types.js} +0 -0
  101. /package/dist/{src/utils.d.ts → utils.d.ts} +0 -0
  102. /package/dist/{src/utils.js → utils.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"advanced.test.js","sourceRoot":"","sources":["../../../test/tools/advanced.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=balance.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"balance.test.d.ts","sourceRoot":"","sources":["../../../test/tools/balance.test.ts"],"names":[],"mappings":""}
@@ -1,167 +0,0 @@
1
- import { describe, it, expect, beforeAll } from 'vitest';
2
- import { config } from 'dotenv';
3
- import { initializeClientManager } from '../../src/client.js';
4
- import balanceTools from '../../src/tools/balance.js';
5
- // Load environment variables
6
- config();
7
- describe('Balance Tools', () => {
8
- beforeAll(() => {
9
- // Initialize client manager with config
10
- initializeClientManager({
11
- alchemyApiKey: process.env.ALCHEMY_API_KEY,
12
- infuraApiKey: process.env.INFURA_API_KEY,
13
- etherscanApiKey: process.env.ETHERSCAN_API_KEY,
14
- hypersyncApiKey: process.env.HYPERSYNC_API_KEY
15
- });
16
- });
17
- describe('get_balance', () => {
18
- it('should fetch native ETH balance for an address', async () => {
19
- const VITALIK_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
20
- const result = await balanceTools.get_balance.handler({
21
- queries: [
22
- {
23
- chain: 'mainnet',
24
- address: VITALIK_ADDRESS
25
- }
26
- ]
27
- });
28
- const data = JSON.parse(result.content[0].text);
29
- expect(data.success).toBe(true);
30
- expect(data.results).toHaveLength(1);
31
- expect(data.results[0].success).toBe(true);
32
- expect(data.results[0].address).toBe(VITALIK_ADDRESS);
33
- expect(data.results[0].chain).toBe('mainnet');
34
- expect(data.results[0].balance).toBeDefined();
35
- expect(data.results[0].balanceFormatted).toBeDefined();
36
- }, 30000);
37
- it('should fetch ERC20 token balance (USDC)', async () => {
38
- const USDC_CONTRACT = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
39
- const HOLDER_ADDRESS = '0x28C6c06298d514Db089934071355E5743bf21d60'; // Binance 14
40
- const result = await balanceTools.get_balance.handler({
41
- queries: [
42
- {
43
- chain: 'mainnet',
44
- address: HOLDER_ADDRESS,
45
- tokenAddress: USDC_CONTRACT
46
- }
47
- ]
48
- });
49
- const data = JSON.parse(result.content[0].text);
50
- expect(data.success).toBe(true);
51
- expect(data.results).toHaveLength(1);
52
- expect(data.results[0].success).toBe(true);
53
- expect(data.results[0].address).toBe(HOLDER_ADDRESS);
54
- expect(data.results[0].tokenAddress).toBe(USDC_CONTRACT);
55
- expect(data.results[0].balance).toBeDefined();
56
- expect(data.results[0].balanceFormatted).toBeDefined();
57
- expect(data.results[0].decimals).toBe(6);
58
- expect(BigInt(data.results[0].balance)).toBeGreaterThan(0n);
59
- }, 30000);
60
- it('should handle batch queries efficiently', async () => {
61
- const VITALIK_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
62
- const USDC_CONTRACT = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
63
- const result = await balanceTools.get_balance.handler({
64
- queries: [
65
- {
66
- chain: 'mainnet',
67
- address: VITALIK_ADDRESS,
68
- label: 'Vitalik ETH'
69
- },
70
- {
71
- chain: 'mainnet',
72
- address: VITALIK_ADDRESS,
73
- tokenAddress: USDC_CONTRACT,
74
- label: 'Vitalik USDC'
75
- }
76
- ]
77
- });
78
- const data = JSON.parse(result.content[0].text);
79
- expect(data.success).toBe(true);
80
- expect(data.results).toHaveLength(2);
81
- expect(data.results[0].label).toBe('Vitalik ETH');
82
- expect(data.results[1].label).toBe('Vitalik USDC');
83
- expect(data.results[1].decimals).toBe(6);
84
- }, 30000);
85
- it('should fetch balance at specific block number', async () => {
86
- const VITALIK_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
87
- const BLOCK_NUMBER = '18000000';
88
- const result = await balanceTools.get_balance.handler({
89
- queries: [
90
- {
91
- chain: 'mainnet',
92
- address: VITALIK_ADDRESS,
93
- blockNumber: BLOCK_NUMBER
94
- }
95
- ]
96
- });
97
- const data = JSON.parse(result.content[0].text);
98
- expect(data.success).toBe(true);
99
- expect(data.results).toHaveLength(1);
100
- expect(data.results[0].success).toBe(true);
101
- expect(data.results[0].blockNumber).toBe(BLOCK_NUMBER);
102
- expect(data.results[0].balance).toBeDefined();
103
- }, 30000);
104
- it('should handle zero balance addresses', async () => {
105
- // Use an address that's extremely unlikely to have balance
106
- const ZERO_ADDRESS = '0x0000000000000000000000000000000000000002';
107
- const result = await balanceTools.get_balance.handler({
108
- queries: [
109
- {
110
- chain: 'mainnet',
111
- address: ZERO_ADDRESS
112
- }
113
- ]
114
- });
115
- const data = JSON.parse(result.content[0].text);
116
- expect(data.success).toBe(true);
117
- expect(data.results).toHaveLength(1);
118
- expect(data.results[0].success).toBe(true);
119
- // Balance might be 0 or very small
120
- expect(data.results[0].balance).toBeDefined();
121
- expect(data.results[0].balanceFormatted).toBeDefined();
122
- }, 30000);
123
- it('should handle invalid token address gracefully', async () => {
124
- const VITALIK_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
125
- const INVALID_TOKEN = '0x0000000000000000000000000000000000000001';
126
- const result = await balanceTools.get_balance.handler({
127
- queries: [
128
- {
129
- chain: 'mainnet',
130
- address: VITALIK_ADDRESS,
131
- tokenAddress: INVALID_TOKEN
132
- }
133
- ]
134
- });
135
- const data = JSON.parse(result.content[0].text);
136
- expect(data.success).toBe(true);
137
- expect(data.results).toHaveLength(1);
138
- // Should either succeed with 0 balance or fail gracefully
139
- expect(data.results[0]).toHaveProperty('success');
140
- }, 30000);
141
- it('should work across different chains', async () => {
142
- const TEST_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
143
- const result = await balanceTools.get_balance.handler({
144
- queries: [
145
- {
146
- chain: 'mainnet',
147
- address: TEST_ADDRESS,
148
- label: 'Ethereum'
149
- },
150
- {
151
- chain: 'base',
152
- address: TEST_ADDRESS,
153
- label: 'Base'
154
- }
155
- ]
156
- });
157
- const data = JSON.parse(result.content[0].text);
158
- expect(data.success).toBe(true);
159
- expect(data.results).toHaveLength(2);
160
- expect(data.results[0].chain).toBe('mainnet');
161
- expect(data.results[0].label).toBe('Ethereum');
162
- expect(data.results[1].chain).toBe('base');
163
- expect(data.results[1].label).toBe('Base');
164
- }, 30000);
165
- });
166
- });
167
- //# sourceMappingURL=balance.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"balance.test.js","sourceRoot":"","sources":["../../../test/tools/balance.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=contract-info.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract-info.test.d.ts","sourceRoot":"","sources":["../../../test/tools/contract-info.test.ts"],"names":[],"mappings":""}
@@ -1,286 +0,0 @@
1
- import { describe, it, expect, beforeAll } from 'vitest';
2
- import { config } from 'dotenv';
3
- import { initializeClientManager } from '../../src/client.js';
4
- import contractInfoTools from '../../src/tools/contract-info.js';
5
- // Load environment variables
6
- config();
7
- const USDC_ADDRESS = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
8
- const CHAIN = 'mainnet';
9
- const maybeDescribe = process.env.ETHERSCAN_API_KEY ? describe : describe.skip;
10
- maybeDescribe('Contract Info Tools (with Caching)', () => {
11
- beforeAll(() => {
12
- // Initialize client manager with config
13
- initializeClientManager({
14
- alchemyApiKey: process.env.ALCHEMY_API_KEY,
15
- infuraApiKey: process.env.INFURA_API_KEY,
16
- etherscanApiKey: process.env.ETHERSCAN_API_KEY,
17
- hypersyncApiKey: process.env.HYPERSYNC_API_KEY
18
- });
19
- });
20
- describe("get_contract_abi", () => {
21
- it("should fetch USDC contract ABI", async () => {
22
- const result = await contractInfoTools.get_contract_abi.handler({
23
- chain: CHAIN,
24
- address: USDC_ADDRESS,
25
- include: ["abi", "metadata"],
26
- });
27
- const data = JSON.parse(result.content[0].text);
28
- expect(data.address).toBe(USDC_ADDRESS);
29
- expect(data.chain).toBe(CHAIN);
30
- expect(data.abi).toBeDefined();
31
- expect(Array.isArray(data.abi)).toBe(true);
32
- expect(data.abi.length).toBeGreaterThan(0);
33
- expect(data.contractName).toBeDefined();
34
- expect(data.isVerified).toBe(true);
35
- });
36
- it("should include implementation ABI for proxy contracts", async () => {
37
- const result = await contractInfoTools.get_contract_abi.handler({
38
- chain: CHAIN,
39
- address: USDC_ADDRESS,
40
- include: ["abi", "implementationAbi", "metadata"],
41
- });
42
- const data = JSON.parse(result.content[0].text);
43
- expect(data.isProxy).toBe(true);
44
- expect(data.implementationAddress).toBeDefined();
45
- expect(data.implementationAbi).toBeDefined();
46
- expect(Array.isArray(data.implementationAbi)).toBe(true);
47
- });
48
- it("should include compilation info when requested", async () => {
49
- const result = await contractInfoTools.get_contract_abi.handler({
50
- chain: CHAIN,
51
- address: USDC_ADDRESS,
52
- include: ["abi", "metadata", "compilation"],
53
- });
54
- const data = JSON.parse(result.content[0].text);
55
- expect(data.compilerVersion).toBeDefined();
56
- expect(data.optimizationUsed).toBeDefined();
57
- });
58
- it('should include creation info when requested', async () => {
59
- const result = await contractInfoTools.get_contract_abi.handler({
60
- chain: CHAIN,
61
- address: USDC_ADDRESS,
62
- include: ['abi', 'metadata', 'creation']
63
- });
64
- const data = JSON.parse(result.content[0].text);
65
- expect(data.creationInfo).toBeDefined();
66
- expect(data.creationInfo.creator).toBeDefined();
67
- expect(data.creationInfo.transactionHash).toBeDefined();
68
- });
69
- it('should include ABI statistics when requested', async () => {
70
- const result = await contractInfoTools.get_contract_abi.handler({
71
- chain: CHAIN,
72
- address: USDC_ADDRESS,
73
- include: ['abi', 'metadata', 'stats']
74
- });
75
- const data = JSON.parse(result.content[0].text);
76
- expect(data.abiSize).toBeDefined();
77
- expect(data.functions).toBeGreaterThan(0);
78
- expect(data.events).toBeGreaterThan(0);
79
- });
80
- it("should use cached data on second call (no duplicate API call)", async () => {
81
- // First call - should hit API
82
- const result1 = await contractInfoTools.get_contract_abi.handler({
83
- chain: CHAIN,
84
- address: USDC_ADDRESS,
85
- include: ["abi", "metadata"],
86
- });
87
- // Second call - should use cache
88
- const result2 = await contractInfoTools.get_contract_abi.handler({
89
- chain: CHAIN,
90
- address: USDC_ADDRESS,
91
- include: ["abi", "metadata"],
92
- });
93
- const data1 = JSON.parse(result1.content[0].text);
94
- const data2 = JSON.parse(result2.content[0].text);
95
- // Data should be identical
96
- expect(data1.address).toBe(data2.address);
97
- expect(data1.contractName).toBe(data2.contractName);
98
- expect(data1.abi).toEqual(data2.abi);
99
- });
100
- });
101
- describe("get_contract_source_code", () => {
102
- it('should fetch USDC contract source code summary', async () => {
103
- const result = await contractInfoTools.get_contract_source_code.handler({
104
- chain: CHAIN,
105
- address: USDC_ADDRESS,
106
- includeImplementation: true,
107
- includeSource: 'summary'
108
- });
109
- const data = JSON.parse(result.content[0].text);
110
- expect(data.success).toBe(true);
111
- expect(data.isVerified).toBe(true);
112
- expect(data.contractName).toBe('FiatTokenProxy');
113
- expect(data.fileCount).toBeGreaterThan(0);
114
- expect(data.totalLines).toBeGreaterThan(0);
115
- expect(data.files).toBeDefined();
116
- expect(Array.isArray(data.files)).toBe(true);
117
- });
118
- it("should fetch full source code when requested", async () => {
119
- const result = await contractInfoTools.get_contract_source_code.handler({
120
- chain: CHAIN,
121
- address: USDC_ADDRESS,
122
- includeImplementation: false,
123
- includeSource: "full",
124
- });
125
- const data = JSON.parse(result.content[0].text);
126
- expect(data.sourceFiles).toBeDefined();
127
- expect(typeof data.sourceFiles).toBe('object');
128
- const firstFile = Object.values(data.sourceFiles)[0];
129
- expect(firstFile).toBeDefined();
130
- expect(firstFile.length).toBeGreaterThan(0);
131
- });
132
- it("should fetch metadata only when requested", async () => {
133
- const result = await contractInfoTools.get_contract_source_code.handler({
134
- chain: CHAIN,
135
- address: USDC_ADDRESS,
136
- includeImplementation: false,
137
- includeSource: "none",
138
- });
139
- const data = JSON.parse(result.content[0].text);
140
- expect(data.contractName).toBeDefined();
141
- expect(data.isVerified).toBe(true);
142
- expect(data.files).toBeUndefined();
143
- });
144
- it.skip("should include implementation source for proxy contracts", async () => {
145
- // TODO: This test depends on USDC being a proxy with accessible implementation
146
- const result = await contractInfoTools.get_contract_source_code.handler({
147
- chain: CHAIN,
148
- address: USDC_ADDRESS,
149
- includeImplementation: true,
150
- includeSource: "summary",
151
- });
152
- const data = JSON.parse(result.content[0].text);
153
- expect(data.isProxy).toBe(true);
154
- expect(data.implementationAddress).toBeDefined();
155
- expect(data.implementation).toBeDefined();
156
- expect(data.implementation.contractName).toBeDefined();
157
- expect(data.implementation.files).toBeDefined();
158
- });
159
- it("should reuse cached data from get_contract_abi", async () => {
160
- // Call get_contract_abi first
161
- await contractInfoTools.get_contract_abi.handler({
162
- chain: CHAIN,
163
- address: USDC_ADDRESS,
164
- include: ["abi", "metadata"],
165
- });
166
- // Call get_contract_source_code - should use cached rawInfo
167
- const result = await contractInfoTools.get_contract_source_code.handler({
168
- chain: CHAIN,
169
- address: USDC_ADDRESS,
170
- includeImplementation: false,
171
- includeSource: "summary",
172
- });
173
- const data = JSON.parse(result.content[0].text);
174
- expect(data.contractName).toBeDefined();
175
- expect(data.isVerified).toBe(true);
176
- });
177
- });
178
- describe("get_contract_source_file", () => {
179
- it("should list available files when no filePath specified", async () => {
180
- // First cache the contract
181
- await contractInfoTools.get_contract_source_code.handler({
182
- chain: CHAIN,
183
- address: USDC_ADDRESS,
184
- includeImplementation: false,
185
- includeSource: "full",
186
- });
187
- // Then list files
188
- const result = await contractInfoTools.get_contract_source_file.handler({
189
- chain: CHAIN,
190
- address: USDC_ADDRESS,
191
- useImplementation: false,
192
- });
193
- const data = JSON.parse(result.content[0].text);
194
- expect(data.files).toBeDefined();
195
- expect(Array.isArray(data.files)).toBe(true);
196
- expect(data.files.length).toBeGreaterThan(0);
197
- });
198
- it.skip("should fetch specific file content", async () => {
199
- // TODO: Fix caching behavior - test relies on proper sourceFiles caching
200
- // First cache the contract
201
- await contractInfoTools.get_contract_source_code.handler({
202
- chain: CHAIN,
203
- address: USDC_ADDRESS,
204
- includeImplementation: false,
205
- includeSource: "full",
206
- });
207
- // Get file list
208
- const listResult = await contractInfoTools.get_contract_source_file.handler({
209
- chain: CHAIN,
210
- address: USDC_ADDRESS,
211
- useImplementation: false,
212
- });
213
- const listData = JSON.parse(listResult.content[0].text);
214
- const firstFile = listData.files[0];
215
- // Get specific file
216
- const fileResult = await contractInfoTools.get_contract_source_file.handler({
217
- chain: CHAIN,
218
- address: USDC_ADDRESS,
219
- useImplementation: false,
220
- filePath: firstFile.path,
221
- });
222
- const fileData = JSON.parse(fileResult.content[0].text);
223
- expect(fileData.filePath).toBe(firstFile.path);
224
- expect(fileData.content).toBeDefined();
225
- expect(fileData.content.length).toBeGreaterThan(0);
226
- expect(fileData.size).toBe(firstFile.size);
227
- });
228
- it.skip("should error when requesting uncached contract", async () => {
229
- // TODO: Fix error handling - tool returns success:false instead of throwing
230
- const RANDOM_ADDRESS = "0x1234567890123456789012345678901234567890";
231
- await expect(contractInfoTools.get_contract_source_file.handler({
232
- chain: CHAIN,
233
- address: RANDOM_ADDRESS,
234
- useImplementation: false,
235
- })).rejects.toThrow();
236
- });
237
- });
238
- describe("Caching Optimization", () => {
239
- it.skip("should share cache between get_contract_abi and get_contract_source_code", async () => {
240
- // TODO: Verify caching behavior - test depends on specific contract metadata
241
- const TEST_ADDRESS = "0x6b175474e89094c44da98b954eedeac495271d0f"; // DAI
242
- // Call get_contract_abi first
243
- const abiResult = await contractInfoTools.get_contract_abi.handler({
244
- chain: CHAIN,
245
- address: TEST_ADDRESS,
246
- include: ["abi", "metadata"],
247
- });
248
- const abiData = JSON.parse(abiResult.content[0].text);
249
- // Call get_contract_source_code - should use cached data
250
- const sourceResult = await contractInfoTools.get_contract_source_code.handler({
251
- chain: CHAIN,
252
- address: TEST_ADDRESS,
253
- includeImplementation: false,
254
- includeSource: "summary",
255
- });
256
- const sourceData = JSON.parse(sourceResult.content[0].text);
257
- // Both should have same metadata
258
- expect(abiData.contractName).toBe(sourceData.contractName);
259
- expect(abiData.isVerified).toBe(sourceData.isVerified);
260
- expect(abiData.isProxy).toBe(sourceData.isProxy);
261
- });
262
- it("should cache rawInfo immediately on fetchContractInfo", async () => {
263
- const TEST_ADDRESS = "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"; // WBTC
264
- // First call should cache rawInfo
265
- await contractInfoTools.get_contract_abi.handler({
266
- chain: CHAIN,
267
- address: TEST_ADDRESS,
268
- include: ["abi"],
269
- });
270
- // Second call should use cached rawInfo (even with different include params)
271
- const result = await contractInfoTools.get_contract_abi.handler({
272
- chain: CHAIN,
273
- address: TEST_ADDRESS,
274
- include: ["abi", "metadata", "compilation", "creation", "stats"],
275
- });
276
- const data = JSON.parse(result.content[0].text);
277
- expect(data.contractName).toBeDefined();
278
- expect(data.compilerVersion).toBeDefined();
279
- expect(data.creationInfo).toBeDefined();
280
- expect(data.creationInfo.creator).toBeDefined();
281
- expect(data.abiSize).toBeDefined();
282
- expect(data.functions).toBeDefined();
283
- });
284
- });
285
- });
286
- //# sourceMappingURL=contract-info.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract-info.test.js","sourceRoot":"","sources":["../../../test/tools/contract-info.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=contract.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.test.d.ts","sourceRoot":"","sources":["../../../test/tools/contract.test.ts"],"names":[],"mappings":""}