@missionsquad/mcp-server-tron 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +537 -0
  3. package/bin/cli.js +51 -0
  4. package/build/core/chains.d.ts +17 -0
  5. package/build/core/chains.js +87 -0
  6. package/build/core/chains.js.map +1 -0
  7. package/build/core/prompts.d.ts +19 -0
  8. package/build/core/prompts.js +485 -0
  9. package/build/core/prompts.js.map +1 -0
  10. package/build/core/resources.d.ts +14 -0
  11. package/build/core/resources.js +42 -0
  12. package/build/core/resources.js.map +1 -0
  13. package/build/core/services/account-data.d.ts +144 -0
  14. package/build/core/services/account-data.js +228 -0
  15. package/build/core/services/account-data.js.map +1 -0
  16. package/build/core/services/account-resource.d.ts +56 -0
  17. package/build/core/services/account-resource.js +133 -0
  18. package/build/core/services/account-resource.js.map +1 -0
  19. package/build/core/services/account.d.ts +141 -0
  20. package/build/core/services/account.js +191 -0
  21. package/build/core/services/account.js.map +1 -0
  22. package/build/core/services/address.d.ts +8 -0
  23. package/build/core/services/address.js +52 -0
  24. package/build/core/services/address.js.map +1 -0
  25. package/build/core/services/agent-wallet.d.ts +62 -0
  26. package/build/core/services/agent-wallet.js +234 -0
  27. package/build/core/services/agent-wallet.js.map +1 -0
  28. package/build/core/services/balance.d.ts +26 -0
  29. package/build/core/services/balance.js +60 -0
  30. package/build/core/services/balance.js.map +1 -0
  31. package/build/core/services/blocks.d.ts +25 -0
  32. package/build/core/services/blocks.js +65 -0
  33. package/build/core/services/blocks.js.map +1 -0
  34. package/build/core/services/broadcast.d.ts +13 -0
  35. package/build/core/services/broadcast.js +24 -0
  36. package/build/core/services/broadcast.js.map +1 -0
  37. package/build/core/services/clients.d.ts +5 -0
  38. package/build/core/services/clients.js +29 -0
  39. package/build/core/services/clients.js.map +1 -0
  40. package/build/core/services/contract-data.d.ts +31 -0
  41. package/build/core/services/contract-data.js +54 -0
  42. package/build/core/services/contract-data.js.map +1 -0
  43. package/build/core/services/contracts.d.ts +108 -0
  44. package/build/core/services/contracts.js +482 -0
  45. package/build/core/services/contracts.js.map +1 -0
  46. package/build/core/services/events.d.ts +56 -0
  47. package/build/core/services/events.js +99 -0
  48. package/build/core/services/events.js.map +1 -0
  49. package/build/core/services/governance.d.ts +78 -0
  50. package/build/core/services/governance.js +207 -0
  51. package/build/core/services/governance.js.map +1 -0
  52. package/build/core/services/index.d.ts +28 -0
  53. package/build/core/services/index.js +81 -0
  54. package/build/core/services/index.js.map +1 -0
  55. package/build/core/services/mempool.d.ts +12 -0
  56. package/build/core/services/mempool.js +32 -0
  57. package/build/core/services/mempool.js.map +1 -0
  58. package/build/core/services/multicall-abi.d.ts +55 -0
  59. package/build/core/services/multicall-abi.js +61 -0
  60. package/build/core/services/multicall-abi.js.map +1 -0
  61. package/build/core/services/nodes.d.ts +8 -0
  62. package/build/core/services/nodes.js +18 -0
  63. package/build/core/services/nodes.js.map +1 -0
  64. package/build/core/services/proposals.d.ts +33 -0
  65. package/build/core/services/proposals.js +95 -0
  66. package/build/core/services/proposals.js.map +1 -0
  67. package/build/core/services/query.d.ts +34 -0
  68. package/build/core/services/query.js +60 -0
  69. package/build/core/services/query.js.map +1 -0
  70. package/build/core/services/staking.d.ts +40 -0
  71. package/build/core/services/staking.js +113 -0
  72. package/build/core/services/staking.js.map +1 -0
  73. package/build/core/services/tokens.d.ts +22 -0
  74. package/build/core/services/tokens.js +68 -0
  75. package/build/core/services/tokens.js.map +1 -0
  76. package/build/core/services/transactions.d.ts +16 -0
  77. package/build/core/services/transactions.js +42 -0
  78. package/build/core/services/transactions.js.map +1 -0
  79. package/build/core/services/transfer.d.ts +24 -0
  80. package/build/core/services/transfer.js +84 -0
  81. package/build/core/services/transfer.js.map +1 -0
  82. package/build/core/services/trongrid-client.d.ts +14 -0
  83. package/build/core/services/trongrid-client.js +19 -0
  84. package/build/core/services/trongrid-client.js.map +1 -0
  85. package/build/core/services/utils.d.ts +13 -0
  86. package/build/core/services/utils.js +39 -0
  87. package/build/core/services/utils.js.map +1 -0
  88. package/build/core/services/wallet.d.ts +13 -0
  89. package/build/core/services/wallet.js +18 -0
  90. package/build/core/services/wallet.js.map +1 -0
  91. package/build/core/tools/account-data.d.ts +2 -0
  92. package/build/core/tools/account-data.js +253 -0
  93. package/build/core/tools/account-data.js.map +1 -0
  94. package/build/core/tools/account-resource.d.ts +2 -0
  95. package/build/core/tools/account-resource.js +269 -0
  96. package/build/core/tools/account-resource.js.map +1 -0
  97. package/build/core/tools/account.d.ts +2 -0
  98. package/build/core/tools/account.js +451 -0
  99. package/build/core/tools/account.js.map +1 -0
  100. package/build/core/tools/address.d.ts +2 -0
  101. package/build/core/tools/address.js +45 -0
  102. package/build/core/tools/address.js.map +1 -0
  103. package/build/core/tools/balance.d.ts +2 -0
  104. package/build/core/tools/balance.js +94 -0
  105. package/build/core/tools/balance.js.map +1 -0
  106. package/build/core/tools/block.d.ts +2 -0
  107. package/build/core/tools/block.js +74 -0
  108. package/build/core/tools/block.js.map +1 -0
  109. package/build/core/tools/broadcast.d.ts +2 -0
  110. package/build/core/tools/broadcast.js +102 -0
  111. package/build/core/tools/broadcast.js.map +1 -0
  112. package/build/core/tools/contract-data.d.ts +2 -0
  113. package/build/core/tools/contract-data.js +159 -0
  114. package/build/core/tools/contract-data.js.map +1 -0
  115. package/build/core/tools/contract.d.ts +2 -0
  116. package/build/core/tools/contract.js +600 -0
  117. package/build/core/tools/contract.js.map +1 -0
  118. package/build/core/tools/event.d.ts +2 -0
  119. package/build/core/tools/event.js +159 -0
  120. package/build/core/tools/event.js.map +1 -0
  121. package/build/core/tools/governance.d.ts +6 -0
  122. package/build/core/tools/governance.js +424 -0
  123. package/build/core/tools/governance.js.map +1 -0
  124. package/build/core/tools/index.d.ts +15 -0
  125. package/build/core/tools/index.js +93 -0
  126. package/build/core/tools/index.js.map +1 -0
  127. package/build/core/tools/mempool.d.ts +2 -0
  128. package/build/core/tools/mempool.js +116 -0
  129. package/build/core/tools/mempool.js.map +1 -0
  130. package/build/core/tools/network.d.ts +2 -0
  131. package/build/core/tools/network.js +114 -0
  132. package/build/core/tools/network.js.map +1 -0
  133. package/build/core/tools/node.d.ts +2 -0
  134. package/build/core/tools/node.js +75 -0
  135. package/build/core/tools/node.js.map +1 -0
  136. package/build/core/tools/proposals.d.ts +6 -0
  137. package/build/core/tools/proposals.js +219 -0
  138. package/build/core/tools/proposals.js.map +1 -0
  139. package/build/core/tools/query.d.ts +2 -0
  140. package/build/core/tools/query.js +399 -0
  141. package/build/core/tools/query.js.map +1 -0
  142. package/build/core/tools/staking.d.ts +2 -0
  143. package/build/core/tools/staking.js +281 -0
  144. package/build/core/tools/staking.js.map +1 -0
  145. package/build/core/tools/transaction.d.ts +2 -0
  146. package/build/core/tools/transaction.js +65 -0
  147. package/build/core/tools/transaction.js.map +1 -0
  148. package/build/core/tools/transfer.d.ts +2 -0
  149. package/build/core/tools/transfer.js +101 -0
  150. package/build/core/tools/transfer.js.map +1 -0
  151. package/build/core/tools/types.d.ts +13 -0
  152. package/build/core/tools/types.js +2 -0
  153. package/build/core/tools/types.js.map +1 -0
  154. package/build/core/tools/wallet.d.ts +2 -0
  155. package/build/core/tools/wallet.js +172 -0
  156. package/build/core/tools/wallet.js.map +1 -0
  157. package/build/index.d.ts +1 -0
  158. package/build/index.js +21 -0
  159. package/build/index.js.map +1 -0
  160. package/build/middleware/auth.d.ts +16 -0
  161. package/build/middleware/auth.js +44 -0
  162. package/build/middleware/auth.js.map +1 -0
  163. package/build/oauth/OAuthService.d.ts +100 -0
  164. package/build/oauth/OAuthService.js +507 -0
  165. package/build/oauth/OAuthService.js.map +1 -0
  166. package/build/oauth/page.d.ts +1 -0
  167. package/build/oauth/page.js +255 -0
  168. package/build/oauth/page.js.map +1 -0
  169. package/build/oauth/types.d.ts +65 -0
  170. package/build/oauth/types.js +2 -0
  171. package/build/oauth/types.js.map +1 -0
  172. package/build/server/http-app.d.ts +9 -0
  173. package/build/server/http-app.js +128 -0
  174. package/build/server/http-app.js.map +1 -0
  175. package/build/server/http-server.d.ts +1 -0
  176. package/build/server/http-server.js +35 -0
  177. package/build/server/http-server.js.map +1 -0
  178. package/build/server/oauth-routes.d.ts +7 -0
  179. package/build/server/oauth-routes.js +157 -0
  180. package/build/server/oauth-routes.js.map +1 -0
  181. package/build/server/server.d.ts +9 -0
  182. package/build/server/server.js +54 -0
  183. package/build/server/server.js.map +1 -0
  184. package/build/tenant/TenantManager.d.ts +35 -0
  185. package/build/tenant/TenantManager.js +167 -0
  186. package/build/tenant/TenantManager.js.map +1 -0
  187. package/build/tenant/context.d.ts +11 -0
  188. package/build/tenant/context.js +23 -0
  189. package/build/tenant/context.js.map +1 -0
  190. package/build/tenant/types.d.ts +16 -0
  191. package/build/tenant/types.js +2 -0
  192. package/build/tenant/types.js.map +1 -0
  193. package/package.json +95 -0
@@ -0,0 +1,600 @@
1
+ import { z } from "zod";
2
+ import * as services from "../services/index.js";
3
+ export function registerContractTools(registerTool) {
4
+ registerTool("read_contract", {
5
+ description: "Call read-only functions on a smart contract.",
6
+ inputSchema: {
7
+ contractAddress: z.string().describe("The contract address"),
8
+ functionName: z.string().describe("Function name (e.g., 'name', 'symbol', 'balanceOf')"),
9
+ args: z
10
+ .array(z.union([
11
+ z.string(),
12
+ z.number(),
13
+ z.boolean(),
14
+ z.array(z.string()), // String array
15
+ z.array(z.number()), // Number array
16
+ z.record(z.unknown()), // Object (tuple)
17
+ ]))
18
+ .optional()
19
+ .describe("Function arguments (supports arrays and objects for complex types)"),
20
+ abi: z
21
+ .array(z.record(z.unknown()))
22
+ .optional()
23
+ .describe("Optional contract ABI array. If not provided, will fetch from chain. Use for contracts with incomplete on-chain ABI."),
24
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
25
+ },
26
+ annotations: {
27
+ title: "Read Smart Contract",
28
+ readOnlyHint: true,
29
+ destructiveHint: false,
30
+ idempotentHint: true,
31
+ openWorldHint: true,
32
+ },
33
+ }, async ({ contractAddress, functionName, args = [], abi, network = "mainnet" }) => {
34
+ try {
35
+ const result = await services.readContract({
36
+ address: contractAddress,
37
+ functionName,
38
+ args,
39
+ abi,
40
+ }, network);
41
+ return {
42
+ content: [
43
+ {
44
+ type: "text",
45
+ text: services.helpers.formatJson({
46
+ contractAddress,
47
+ function: functionName,
48
+ args: args.length > 0 ? args : undefined,
49
+ result,
50
+ }),
51
+ },
52
+ ],
53
+ };
54
+ }
55
+ catch (error) {
56
+ return {
57
+ content: [
58
+ {
59
+ type: "text",
60
+ text: `Error reading contract: ${error instanceof Error ? error.message : String(error)}`,
61
+ },
62
+ ],
63
+ isError: true,
64
+ };
65
+ }
66
+ });
67
+ // Raw contract metadata helpers
68
+ registerTool("get_contract", {
69
+ description: "Get raw contract metadata from the chain, including ABI (if verified) and bytecode.",
70
+ inputSchema: {
71
+ contractAddress: z.string().describe("The contract address"),
72
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
73
+ },
74
+ annotations: {
75
+ title: "Get Contract",
76
+ readOnlyHint: true,
77
+ destructiveHint: false,
78
+ idempotentHint: true,
79
+ openWorldHint: true,
80
+ },
81
+ }, async ({ contractAddress, network = "mainnet" }) => {
82
+ try {
83
+ const contract = await services.getContract(contractAddress, network);
84
+ return {
85
+ content: [
86
+ {
87
+ type: "text",
88
+ text: services.helpers.formatJson({
89
+ network,
90
+ contractAddress,
91
+ contract,
92
+ }),
93
+ },
94
+ ],
95
+ };
96
+ }
97
+ catch (error) {
98
+ return {
99
+ content: [
100
+ {
101
+ type: "text",
102
+ text: `Error getting contract: ${error instanceof Error ? error.message : String(error)}`,
103
+ },
104
+ ],
105
+ isError: true,
106
+ };
107
+ }
108
+ });
109
+ registerTool("get_contract_info", {
110
+ description: "Get high-level information about a contract: ABI, readable function signatures, and raw metadata.",
111
+ inputSchema: {
112
+ contractAddress: z.string().describe("The contract address"),
113
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
114
+ },
115
+ annotations: {
116
+ title: "Get Contract Info",
117
+ readOnlyHint: true,
118
+ destructiveHint: false,
119
+ idempotentHint: true,
120
+ openWorldHint: true,
121
+ },
122
+ }, async ({ contractAddress, network = "mainnet" }) => {
123
+ try {
124
+ const info = await services.getContractInfo(contractAddress, network);
125
+ return {
126
+ content: [
127
+ {
128
+ type: "text",
129
+ text: services.helpers.formatJson(info),
130
+ },
131
+ ],
132
+ };
133
+ }
134
+ catch (error) {
135
+ return {
136
+ content: [
137
+ {
138
+ type: "text",
139
+ text: `Error getting contract info: ${error instanceof Error ? error.message : String(error)}`,
140
+ },
141
+ ],
142
+ isError: true,
143
+ };
144
+ }
145
+ });
146
+ registerTool("fetch_contract_abi", {
147
+ description: "Fetch contract ABI from the chain (for verified contracts). Returns the ABI entry array.",
148
+ inputSchema: {
149
+ contractAddress: z.string().describe("The contract address"),
150
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
151
+ },
152
+ annotations: {
153
+ title: "Fetch Contract ABI",
154
+ readOnlyHint: true,
155
+ destructiveHint: false,
156
+ idempotentHint: true,
157
+ openWorldHint: true,
158
+ },
159
+ }, async ({ contractAddress, network = "mainnet" }) => {
160
+ try {
161
+ const abi = await services.fetchContractABI(contractAddress, network);
162
+ return {
163
+ content: [
164
+ {
165
+ type: "text",
166
+ text: services.helpers.formatJson({
167
+ network,
168
+ contractAddress,
169
+ abi,
170
+ }),
171
+ },
172
+ ],
173
+ };
174
+ }
175
+ catch (error) {
176
+ return {
177
+ content: [
178
+ {
179
+ type: "text",
180
+ text: `Error fetching contract ABI: ${error instanceof Error ? error.message : String(error)}`,
181
+ },
182
+ ],
183
+ isError: true,
184
+ };
185
+ }
186
+ });
187
+ registerTool("multicall", {
188
+ description: "Execute multiple read-only functions in a single batch call.",
189
+ inputSchema: {
190
+ calls: z
191
+ .array(z.object({
192
+ address: z.string().describe("Target contract address"),
193
+ functionName: z.string().describe("Function name"),
194
+ args: z
195
+ .array(z.union([
196
+ z.string(),
197
+ z.number(),
198
+ z.boolean(),
199
+ z.array(z.string()), // String array
200
+ z.array(z.number()), // Number array
201
+ z.record(z.unknown()), // Object (tuple)
202
+ ]))
203
+ .optional()
204
+ .describe("Function arguments (supports arrays and objects for complex types)"),
205
+ abi: z.array(z.record(z.unknown())).describe("Function ABI (required for multicall)"),
206
+ allowFailure: z
207
+ .boolean()
208
+ .optional()
209
+ .describe("Whether to allow this specific call to fail"),
210
+ }))
211
+ .describe("Array of calls to execute"),
212
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
213
+ multicallAddress: z
214
+ .string()
215
+ .optional()
216
+ .describe("Optional Multicall contract address override"),
217
+ version: z
218
+ .enum(["2", "3"])
219
+ .optional()
220
+ .describe("Multicall version (2 or 3). Defaults to 3."),
221
+ allowFailure: z
222
+ .boolean()
223
+ .optional()
224
+ .describe("Whether to allow individual calls to fail. Defaults to true."),
225
+ },
226
+ annotations: {
227
+ title: "Multicall",
228
+ readOnlyHint: true,
229
+ destructiveHint: false,
230
+ idempotentHint: true,
231
+ openWorldHint: true,
232
+ },
233
+ }, async ({ calls, network = "mainnet", multicallAddress, version: versionArg, allowFailure = true, }) => {
234
+ try {
235
+ const version = versionArg ? parseInt(versionArg) : 3;
236
+ const results = await services.multicall({
237
+ calls,
238
+ multicallAddress,
239
+ version: version,
240
+ allowFailure,
241
+ }, network);
242
+ return {
243
+ content: [
244
+ {
245
+ type: "text",
246
+ text: services.helpers.formatJson({
247
+ network,
248
+ count: calls.length,
249
+ results,
250
+ }),
251
+ },
252
+ ],
253
+ };
254
+ }
255
+ catch (error) {
256
+ return {
257
+ content: [
258
+ {
259
+ type: "text",
260
+ text: `Error executing multicall: ${error instanceof Error ? error.message : String(error)}`,
261
+ },
262
+ ],
263
+ isError: true,
264
+ };
265
+ }
266
+ });
267
+ registerTool("write_contract", {
268
+ description: "Execute state-changing functions on a smart contract. Requires configured wallet.",
269
+ inputSchema: {
270
+ contractAddress: z.string().describe("The contract address"),
271
+ functionName: z.string().describe("Function name to call"),
272
+ args: z
273
+ .array(z.union([
274
+ z.string(),
275
+ z.number(),
276
+ z.boolean(),
277
+ z.array(z.string()), // String array
278
+ z.array(z.number()), // Number array
279
+ z.record(z.unknown()), // Object (tuple)
280
+ ]))
281
+ .optional()
282
+ .describe("Function arguments (supports arrays and objects for complex types)"),
283
+ abi: z
284
+ .array(z.record(z.unknown()))
285
+ .optional()
286
+ .describe("Optional contract ABI array. If not provided, will fetch from chain. Use for contracts with incomplete on-chain ABI."),
287
+ value: z.coerce.string().optional().describe("TRX value to send (in Sun)"),
288
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
289
+ },
290
+ annotations: {
291
+ title: "Write to Smart Contract",
292
+ readOnlyHint: false,
293
+ destructiveHint: true,
294
+ idempotentHint: false,
295
+ openWorldHint: true,
296
+ },
297
+ }, async ({ contractAddress, functionName, args = [], abi, value, network = "mainnet" }) => {
298
+ try {
299
+ const senderAddress = await services.getOwnerAddress();
300
+ const txHash = await services.writeContract({
301
+ address: contractAddress,
302
+ functionName,
303
+ args,
304
+ abi,
305
+ value,
306
+ }, network);
307
+ return {
308
+ content: [
309
+ {
310
+ type: "text",
311
+ text: JSON.stringify({
312
+ network,
313
+ contractAddress,
314
+ function: functionName,
315
+ args: args.length > 0 ? args : undefined,
316
+ value: value || undefined,
317
+ from: senderAddress,
318
+ txHash,
319
+ message: "Transaction sent. Use get_transaction_info to check confirmation.",
320
+ }, null, 2),
321
+ },
322
+ ],
323
+ };
324
+ }
325
+ catch (error) {
326
+ return {
327
+ content: [
328
+ {
329
+ type: "text",
330
+ text: `Error writing to contract: ${error instanceof Error ? error.message : String(error)}`,
331
+ },
332
+ ],
333
+ isError: true,
334
+ };
335
+ }
336
+ });
337
+ registerTool("deploy_contract", {
338
+ description: "Deploy a smart contract to the TRON network using ABI and Bytecode.",
339
+ inputSchema: {
340
+ abi: z.array(z.record(z.unknown())).describe("The contract ABI (array of objects)"),
341
+ bytecode: z.string().describe("The compiled contract bytecode (hex string)"),
342
+ args: z
343
+ .array(z.union([
344
+ z.string(),
345
+ z.number(),
346
+ z.boolean(),
347
+ z.array(z.string()), // String array
348
+ z.array(z.number()), // Number array
349
+ z.record(z.unknown()), // Object (tuple)
350
+ ]))
351
+ .optional()
352
+ .describe("Constructor arguments"),
353
+ name: z.string().optional().describe("Contract name (optional)"),
354
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
355
+ feeLimit: z
356
+ .number()
357
+ .optional()
358
+ .describe("Fee limit in Sun (default: 1,000,000,000 = 1000 TRX)"),
359
+ },
360
+ annotations: {
361
+ title: "Deploy Smart Contract",
362
+ readOnlyHint: false,
363
+ destructiveHint: true,
364
+ idempotentHint: false,
365
+ openWorldHint: true,
366
+ },
367
+ }, async ({ abi, bytecode, args = [], name, network = "mainnet", feeLimit }) => {
368
+ try {
369
+ const senderAddress = await services.getOwnerAddress();
370
+ const result = await services.deployContract({
371
+ abi,
372
+ bytecode,
373
+ args,
374
+ name,
375
+ feeLimit,
376
+ }, network);
377
+ return {
378
+ content: [
379
+ {
380
+ type: "text",
381
+ text: JSON.stringify({
382
+ network,
383
+ from: senderAddress,
384
+ constructorArgs: args.length > 0 ? args : undefined,
385
+ ...result, // result contains contractAddress, txHash, message, etc.
386
+ }, null, 2),
387
+ },
388
+ ],
389
+ };
390
+ }
391
+ catch (error) {
392
+ return {
393
+ content: [
394
+ {
395
+ type: "text",
396
+ text: `Error deploying contract: ${error instanceof Error ? error.message : String(error)}`,
397
+ },
398
+ ],
399
+ isError: true,
400
+ };
401
+ }
402
+ });
403
+ registerTool("estimate_energy", {
404
+ description: "Estimate energy consumption for a smart contract call (simulation).",
405
+ inputSchema: {
406
+ address: z.string().describe("Contract address"),
407
+ functionName: z.string().describe("Function name to call"),
408
+ args: z.array(z.unknown()).optional().describe("Function arguments"),
409
+ abi: z.array(z.object({}).passthrough()).describe("Contract ABI (required for encoding)"),
410
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
411
+ ownerAddress: z
412
+ .string()
413
+ .optional()
414
+ .describe("Caller address for simulation. Defaults to configured wallet."),
415
+ },
416
+ annotations: {
417
+ title: "Estimate Energy",
418
+ readOnlyHint: true,
419
+ destructiveHint: false,
420
+ idempotentHint: true,
421
+ openWorldHint: true,
422
+ },
423
+ }, async ({ address, functionName, args = [], abi, network = "mainnet", ownerAddress }) => {
424
+ try {
425
+ const result = await services.estimateEnergy({
426
+ address,
427
+ functionName,
428
+ args,
429
+ abi,
430
+ ownerAddress,
431
+ }, network);
432
+ return {
433
+ content: [
434
+ {
435
+ type: "text",
436
+ text: JSON.stringify({
437
+ network,
438
+ address,
439
+ functionName,
440
+ ...result,
441
+ }, null, 2),
442
+ },
443
+ ],
444
+ };
445
+ }
446
+ catch (error) {
447
+ return {
448
+ content: [
449
+ {
450
+ type: "text",
451
+ text: `Error estimating energy: ${error instanceof Error ? error.message : String(error)}`,
452
+ },
453
+ ],
454
+ isError: true,
455
+ };
456
+ }
457
+ });
458
+ // Contract admin / configuration helpers
459
+ registerTool("update_contract_setting", {
460
+ description: "Update a contract's consume_user_resource_percent (user pay ratio). Requires the contract creator's wallet.",
461
+ inputSchema: {
462
+ contractAddress: z.string().describe("The contract address"),
463
+ consumeUserResourcePercent: z
464
+ .number()
465
+ .describe("New consume_user_resource_percent value (0-100)"),
466
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
467
+ },
468
+ annotations: {
469
+ title: "Update Contract Setting",
470
+ readOnlyHint: false,
471
+ destructiveHint: true,
472
+ idempotentHint: false,
473
+ openWorldHint: true,
474
+ },
475
+ }, async ({ contractAddress, consumeUserResourcePercent, network = "mainnet" }) => {
476
+ try {
477
+ const senderAddress = await services.getOwnerAddress();
478
+ const txHash = await services.updateSetting(contractAddress, consumeUserResourcePercent, network);
479
+ return {
480
+ content: [
481
+ {
482
+ type: "text",
483
+ text: JSON.stringify({
484
+ network,
485
+ contractAddress,
486
+ from: senderAddress,
487
+ consumeUserResourcePercent,
488
+ txHash,
489
+ message: "Contract setting updated. This changes the user pay ratio for contract execution.",
490
+ }, null, 2),
491
+ },
492
+ ],
493
+ };
494
+ }
495
+ catch (error) {
496
+ return {
497
+ content: [
498
+ {
499
+ type: "text",
500
+ text: `Error updating contract setting: ${error instanceof Error ? error.message : String(error)}`,
501
+ },
502
+ ],
503
+ isError: true,
504
+ };
505
+ }
506
+ });
507
+ registerTool("update_energy_limit", {
508
+ description: "Update a contract's originEnergyLimit (max energy the contract creator will pay per execution). Requires the contract creator's wallet.",
509
+ inputSchema: {
510
+ contractAddress: z.string().describe("The contract address"),
511
+ originEnergyLimit: z
512
+ .number()
513
+ .describe("New originEnergyLimit value (energy units, must be > 0)"),
514
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
515
+ },
516
+ annotations: {
517
+ title: "Update Energy Limit",
518
+ readOnlyHint: false,
519
+ destructiveHint: true,
520
+ idempotentHint: false,
521
+ openWorldHint: true,
522
+ },
523
+ }, async ({ contractAddress, originEnergyLimit, network = "mainnet" }) => {
524
+ try {
525
+ const senderAddress = await services.getOwnerAddress();
526
+ const txHash = await services.updateEnergyLimit(contractAddress, originEnergyLimit, network);
527
+ return {
528
+ content: [
529
+ {
530
+ type: "text",
531
+ text: JSON.stringify({
532
+ network,
533
+ contractAddress,
534
+ from: senderAddress,
535
+ originEnergyLimit,
536
+ txHash,
537
+ message: "Contract energy limit updated. This changes the maximum energy the contract creator will pay per execution.",
538
+ }, null, 2),
539
+ },
540
+ ],
541
+ };
542
+ }
543
+ catch (error) {
544
+ return {
545
+ content: [
546
+ {
547
+ type: "text",
548
+ text: `Error updating energy limit: ${error instanceof Error ? error.message : String(error)}`,
549
+ },
550
+ ],
551
+ isError: true,
552
+ };
553
+ }
554
+ });
555
+ registerTool("clear_abi", {
556
+ description: "Clear the on-chain ABI metadata of a contract (ClearABIContract). Requires the contract creator's wallet.",
557
+ inputSchema: {
558
+ contractAddress: z.string().describe("The contract address whose ABI will be cleared"),
559
+ network: z.string().optional().describe("Network name. Defaults to mainnet."),
560
+ },
561
+ annotations: {
562
+ title: "Clear Contract ABI",
563
+ readOnlyHint: false,
564
+ destructiveHint: true,
565
+ idempotentHint: false,
566
+ openWorldHint: true,
567
+ },
568
+ }, async ({ contractAddress, network = "mainnet" }) => {
569
+ try {
570
+ const senderAddress = await services.getOwnerAddress();
571
+ const txHash = await services.clearABI(contractAddress, network);
572
+ return {
573
+ content: [
574
+ {
575
+ type: "text",
576
+ text: JSON.stringify({
577
+ network,
578
+ contractAddress,
579
+ from: senderAddress,
580
+ txHash,
581
+ message: "Contract ABI cleared on-chain. This removes ABI metadata from the contract.",
582
+ }, null, 2),
583
+ },
584
+ ],
585
+ };
586
+ }
587
+ catch (error) {
588
+ return {
589
+ content: [
590
+ {
591
+ type: "text",
592
+ text: `Error clearing contract ABI: ${error instanceof Error ? error.message : String(error)}`,
593
+ },
594
+ ],
595
+ isError: true,
596
+ };
597
+ }
598
+ });
599
+ }
600
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/core/tools/contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { RegisterToolFn } from "./types.js";
2
+ export declare function registerEventTools(registerTool: RegisterToolFn): void;