@continuumdao/ctm-mpc-defi 0.1.3 → 0.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 (68) hide show
  1. package/README.md +16 -1
  2. package/dist/agent/catalog.cjs +913 -142
  3. package/dist/agent/catalog.cjs.map +1 -1
  4. package/dist/agent/catalog.d.cts +834 -12
  5. package/dist/agent/catalog.d.ts +834 -12
  6. package/dist/agent/catalog.js +863 -143
  7. package/dist/agent/catalog.js.map +1 -1
  8. package/dist/chains/evm/index.cjs +13 -0
  9. package/dist/chains/evm/index.cjs.map +1 -1
  10. package/dist/chains/evm/index.d.cts +3 -1
  11. package/dist/chains/evm/index.d.ts +3 -1
  12. package/dist/chains/evm/index.js +13 -1
  13. package/dist/chains/evm/index.js.map +1 -1
  14. package/dist/core/index.cjs +76 -0
  15. package/dist/core/index.cjs.map +1 -1
  16. package/dist/core/index.d.cts +35 -2
  17. package/dist/core/index.d.ts +35 -2
  18. package/dist/core/index.js +70 -1
  19. package/dist/core/index.js.map +1 -1
  20. package/dist/index.cjs +934 -141
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +3 -2
  23. package/dist/index.d.ts +3 -2
  24. package/dist/index.js +927 -142
  25. package/dist/index.js.map +1 -1
  26. package/dist/protocols/evm/aave-v4/index.cjs +1987 -0
  27. package/dist/protocols/evm/aave-v4/index.cjs.map +1 -0
  28. package/dist/protocols/evm/aave-v4/index.d.cts +500 -0
  29. package/dist/protocols/evm/aave-v4/index.d.ts +500 -0
  30. package/dist/protocols/evm/aave-v4/index.js +1943 -0
  31. package/dist/protocols/evm/aave-v4/index.js.map +1 -0
  32. package/dist/protocols/evm/ethena/index.cjs +965 -0
  33. package/dist/protocols/evm/ethena/index.cjs.map +1 -0
  34. package/dist/protocols/evm/ethena/index.d.cts +161 -0
  35. package/dist/protocols/evm/ethena/index.d.ts +161 -0
  36. package/dist/protocols/evm/ethena/index.js +943 -0
  37. package/dist/protocols/evm/ethena/index.js.map +1 -0
  38. package/dist/protocols/evm/euler-v2/index.cjs +2263 -0
  39. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -0
  40. package/dist/protocols/evm/euler-v2/index.d.cts +317 -0
  41. package/dist/protocols/evm/euler-v2/index.d.ts +317 -0
  42. package/dist/protocols/evm/euler-v2/index.js +2238 -0
  43. package/dist/protocols/evm/euler-v2/index.js.map +1 -0
  44. package/dist/protocols/evm/lido/index.cjs +834 -0
  45. package/dist/protocols/evm/lido/index.cjs.map +1 -0
  46. package/dist/protocols/evm/lido/index.d.cts +120 -0
  47. package/dist/protocols/evm/lido/index.d.ts +120 -0
  48. package/dist/protocols/evm/lido/index.js +809 -0
  49. package/dist/protocols/evm/lido/index.js.map +1 -0
  50. package/dist/protocols/evm/maple/index.cjs +707 -0
  51. package/dist/protocols/evm/maple/index.cjs.map +1 -0
  52. package/dist/protocols/evm/maple/index.d.cts +109 -0
  53. package/dist/protocols/evm/maple/index.d.ts +109 -0
  54. package/dist/protocols/evm/maple/index.js +693 -0
  55. package/dist/protocols/evm/maple/index.js.map +1 -0
  56. package/dist/protocols/evm/sky/index.cjs +1254 -0
  57. package/dist/protocols/evm/sky/index.cjs.map +1 -0
  58. package/dist/protocols/evm/sky/index.d.cts +218 -0
  59. package/dist/protocols/evm/sky/index.d.ts +218 -0
  60. package/dist/protocols/evm/sky/index.js +1229 -0
  61. package/dist/protocols/evm/sky/index.js.map +1 -0
  62. package/dist/protocols/evm/uniswap-v4/index.cjs +31 -11
  63. package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
  64. package/dist/protocols/evm/uniswap-v4/index.d.cts +2 -1
  65. package/dist/protocols/evm/uniswap-v4/index.d.ts +2 -1
  66. package/dist/protocols/evm/uniswap-v4/index.js +31 -11
  67. package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
  68. package/package.json +37 -3
@@ -1,7 +1,9 @@
1
+ import * as zod from 'zod';
2
+ import { z } from 'zod';
1
3
  import { C as ChainCategory, d as ProtocolModule, P as ParamDoc, c as ProtocolActionDescriptor } from '../types-Ce2qNHai.cjs';
2
4
  export { g as getActionsByChainCategory, b as getProtocolModules } from '../registry-BwZoE668.cjs';
3
5
 
4
- /** JSON-schema-like object for MCP tool `inputSchema` / `outputSchema`. */
6
+ /** JSON-schema-like object for MCP tool `inputSchema` / `outputSchema` (derived from Zod). */
5
7
  type McpSchemaProperty = {
6
8
  type: string;
7
9
  description?: string;
@@ -20,30 +22,51 @@ type McpToolHandler = {
20
22
  /** Named export to invoke */
21
23
  exportName: string;
22
24
  };
23
- type McpToolDefinition = {
24
- /** Stable MCP tool name (snake_case). */
25
+ /**
26
+ * MCP tool definition. **Zod schemas are the source of truth** for types and runtime validation;
27
+ * `inputSchema` / `outputSchema` are JSON Schema snapshots for MCP server registration.
28
+ */
29
+ type McpToolDefinition<TInput = unknown, TOutput = unknown> = {
25
30
  name: string;
26
- /** Registry action id, e.g. uniswap-v4.quote */
27
31
  actionId: string;
28
32
  protocolId: string;
29
33
  chainCategory: ChainCategory;
30
- /** Long description for the LLM — what it does, when to use it, what it does NOT do. */
31
34
  description: string;
32
- /** Prerequisites (other tools or data that must exist first). */
33
35
  prerequisites: string[];
34
- /** Typical next tools after this one succeeds. */
35
36
  followUp: string[];
37
+ inputZod: z.ZodType<TInput>;
38
+ outputZod: z.ZodType<TOutput>;
36
39
  inputSchema: McpJsonSchema;
37
40
  outputSchema: McpJsonSchema;
38
41
  handler: McpToolHandler;
42
+ parseInput: (data: unknown) => TInput;
43
+ parseOutput: (data: unknown) => TOutput;
44
+ };
45
+
46
+ declare const MCP_TOOL_DEFINITIONS: readonly McpToolDefinition[];
47
+ /** Map tool name → input Zod schema (for typed dispatch in MCP servers). */
48
+ declare const MCP_TOOL_INPUT_SCHEMAS: Record<string, z.ZodType<any, z.ZodTypeDef, any>>;
49
+ /** Map tool name → output Zod schema. */
50
+ declare const MCP_TOOL_OUTPUT_SCHEMAS: Record<string, z.ZodType<any, z.ZodTypeDef, any>>;
51
+ /** Union of registered MCP tool names. */
52
+ type McpToolName = (typeof MCP_TOOL_DEFINITIONS)[number]['name'];
53
+ type McpToolInputMap = {
54
+ [K in McpToolName]: z.infer<(typeof MCP_TOOL_INPUT_SCHEMAS)[K]>;
55
+ };
56
+ type McpToolOutputMap = {
57
+ [K in McpToolName]: z.infer<(typeof MCP_TOOL_OUTPUT_SCHEMAS)[K]>;
39
58
  };
40
- /** Curated MCP tools with rich descriptions — use this to register MCP server tools. */
41
- declare const MCP_TOOL_DEFINITIONS: McpToolDefinition[];
42
59
  declare function getMcpToolDefinitions(): readonly McpToolDefinition[];
43
60
  declare function getMcpToolByName(name: string): McpToolDefinition | undefined;
61
+ declare function getMcpToolInputSchema(name: McpToolName): z.ZodType;
62
+ declare function getMcpToolOutputSchema(name: McpToolName): z.ZodType;
63
+ /** Parse and validate MCP tool arguments with the registered Zod schema. */
64
+ declare function parseMcpToolInput(name: McpToolName, data: unknown): unknown;
65
+ /** Parse and validate MCP tool handler output. */
66
+ declare function parseMcpToolOutput(name: McpToolName, data: unknown): unknown;
44
67
  /** Summary from protocol registry (shorter) plus full MCP tool list. */
45
68
  declare function getAgentCatalogForMcp(): {
46
- tools: McpToolDefinition[];
69
+ tools: readonly McpToolDefinition[];
47
70
  protocols: readonly ProtocolModule[];
48
71
  commonParams: Record<string, ParamDoc>;
49
72
  multisignOutput: {
@@ -59,8 +82,37 @@ declare function getAgentCatalogForMcp(): {
59
82
  };
60
83
  };
61
84
  };
85
+ managementSig: {
86
+ readonly description: "Management POST bodies embed NodeMgtKeySig: { nonce, clientSig, nodeKey }. Sign JSON with clientSig cleared; POST with clientSig set to the Ed25519 128-hex or EIP-191 signature. Legacy Nonce/Sig/sig field names are not accepted.";
87
+ readonly fields: {
88
+ readonly nonce: {
89
+ readonly type: "number";
90
+ readonly description: "From GET /getPublicMgtKeyNonce (Ed25519) or GET /getNodeMgtKeyNonce (Ethereum NodeMgtKey).";
91
+ };
92
+ readonly clientSig: {
93
+ readonly type: "string";
94
+ readonly description: "Management signature; empty string in the message to sign.";
95
+ };
96
+ readonly nodeKey: {
97
+ readonly type: "string";
98
+ readonly description: "Required. 128-hex MPC node id from GET /getNodeKey (no 0x prefix).";
99
+ };
100
+ };
101
+ readonly helpers: {
102
+ readonly managementSigFields: "Base envelope with clientSig cleared.";
103
+ readonly buildManagementPostBody: "Spread managementSigFields then endpoint fields.";
104
+ readonly messageToSignManagementBody: "Canonical JSON string to sign.";
105
+ readonly withManagementClientSig: "Attach signature to POST body.";
106
+ readonly fetchNodeKey: "GET /getNodeKey via nodeFetchWithReadAuth.";
107
+ readonly fetchManagementNonce: "GET nonce for Ed25519 or Ethereum management key.";
108
+ };
109
+ };
110
+ /** Zod schemas for MCP tool I/O — source of truth for continuum-mcp-server validation. */
111
+ inputSchemas: Record<string, z.ZodType<any, z.ZodTypeDef, any>>;
112
+ outputSchemas: Record<string, z.ZodType<any, z.ZodTypeDef, any>>;
62
113
  workflow: {
63
114
  evmSwapTypical: string[];
115
+ managementPostTypical: string[];
64
116
  };
65
117
  };
66
118
 
@@ -79,6 +131,742 @@ declare const MULTISIGN_OUTPUT_DOC: {
79
131
  };
80
132
  };
81
133
  };
134
+ /** mpc-auth NodeMgtKeySig envelope for management POST routes (Get Sig, shelve, keyGen, groups, …). */
135
+ declare const MANAGEMENT_SIG_DOC: {
136
+ readonly description: "Management POST bodies embed NodeMgtKeySig: { nonce, clientSig, nodeKey }. Sign JSON with clientSig cleared; POST with clientSig set to the Ed25519 128-hex or EIP-191 signature. Legacy Nonce/Sig/sig field names are not accepted.";
137
+ readonly fields: {
138
+ readonly nonce: {
139
+ readonly type: "number";
140
+ readonly description: "From GET /getPublicMgtKeyNonce (Ed25519) or GET /getNodeMgtKeyNonce (Ethereum NodeMgtKey).";
141
+ };
142
+ readonly clientSig: {
143
+ readonly type: "string";
144
+ readonly description: "Management signature; empty string in the message to sign.";
145
+ };
146
+ readonly nodeKey: {
147
+ readonly type: "string";
148
+ readonly description: "Required. 128-hex MPC node id from GET /getNodeKey (no 0x prefix).";
149
+ };
150
+ };
151
+ readonly helpers: {
152
+ readonly managementSigFields: "Base envelope with clientSig cleared.";
153
+ readonly buildManagementPostBody: "Spread managementSigFields then endpoint fields.";
154
+ readonly messageToSignManagementBody: "Canonical JSON string to sign.";
155
+ readonly withManagementClientSig: "Attach signature to POST body.";
156
+ readonly fetchNodeKey: "GET /getNodeKey via nodeFetchWithReadAuth.";
157
+ readonly fetchManagementNonce: "GET nonce for Ed25519 or Ethereum management key.";
158
+ };
159
+ };
160
+
161
+ /**
162
+ * Convert a Zod schema to MCP-compatible JSON Schema (`inputSchema` / `outputSchema`).
163
+ * Zod is the source of truth; JSON Schema is derived for MCP server registration only.
164
+ */
165
+ declare function zodSchemaToMcpJsonSchema(schema: z.ZodType): McpJsonSchema;
166
+
167
+ /** EVM address (0x + 40 hex). Handlers may normalize via viem `getAddress`. */
168
+ declare const evmAddressSchema: z.ZodString;
169
+ /** MPC key slice for POST /multiSignRequest (pubKey, keyList). */
170
+ declare const keyGenSchema: z.ZodObject<{
171
+ pubkeyhex: z.ZodString;
172
+ keylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
173
+ ClientKeys: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ pubkeyhex: string;
176
+ keylist?: string[] | undefined;
177
+ ClientKeys?: Record<string, string> | undefined;
178
+ }, {
179
+ pubkeyhex: string;
180
+ keylist?: string[] | undefined;
181
+ ClientKeys?: Record<string, string> | undefined;
182
+ }>;
183
+ /** Chain gas config row from GET /getChainDetails (subset). */
184
+ declare const chainDetailSchema: z.ZodObject<{
185
+ legacy: z.ZodOptional<z.ZodBoolean>;
186
+ gasLimit: z.ZodOptional<z.ZodNumber>;
187
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
188
+ gasPrice: z.ZodOptional<z.ZodNumber>;
189
+ baseFee: z.ZodOptional<z.ZodNumber>;
190
+ priorityFee: z.ZodOptional<z.ZodNumber>;
191
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
192
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
193
+ legacy: z.ZodOptional<z.ZodBoolean>;
194
+ gasLimit: z.ZodOptional<z.ZodNumber>;
195
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
196
+ gasPrice: z.ZodOptional<z.ZodNumber>;
197
+ baseFee: z.ZodOptional<z.ZodNumber>;
198
+ priorityFee: z.ZodOptional<z.ZodNumber>;
199
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
200
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
201
+ legacy: z.ZodOptional<z.ZodBoolean>;
202
+ gasLimit: z.ZodOptional<z.ZodNumber>;
203
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
204
+ gasPrice: z.ZodOptional<z.ZodNumber>;
205
+ baseFee: z.ZodOptional<z.ZodNumber>;
206
+ priorityFee: z.ZodOptional<z.ZodNumber>;
207
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
208
+ }, z.ZodTypeAny, "passthrough">>;
209
+ /** Shared inputs for all EVM multisign MCP tools. */
210
+ declare const evmMultisignCommonInputSchema: z.ZodObject<{
211
+ keyGen: z.ZodObject<{
212
+ pubkeyhex: z.ZodString;
213
+ keylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
214
+ ClientKeys: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ pubkeyhex: string;
217
+ keylist?: string[] | undefined;
218
+ ClientKeys?: Record<string, string> | undefined;
219
+ }, {
220
+ pubkeyhex: string;
221
+ keylist?: string[] | undefined;
222
+ ClientKeys?: Record<string, string> | undefined;
223
+ }>;
224
+ purposeText: z.ZodString;
225
+ useCustomGas: z.ZodBoolean;
226
+ chainId: z.ZodNumber;
227
+ rpcUrl: z.ZodString;
228
+ executorAddress: z.ZodString;
229
+ chainDetail: z.ZodObject<{
230
+ legacy: z.ZodOptional<z.ZodBoolean>;
231
+ gasLimit: z.ZodOptional<z.ZodNumber>;
232
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
233
+ gasPrice: z.ZodOptional<z.ZodNumber>;
234
+ baseFee: z.ZodOptional<z.ZodNumber>;
235
+ priorityFee: z.ZodOptional<z.ZodNumber>;
236
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
237
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
238
+ legacy: z.ZodOptional<z.ZodBoolean>;
239
+ gasLimit: z.ZodOptional<z.ZodNumber>;
240
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
241
+ gasPrice: z.ZodOptional<z.ZodNumber>;
242
+ baseFee: z.ZodOptional<z.ZodNumber>;
243
+ priorityFee: z.ZodOptional<z.ZodNumber>;
244
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
245
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
246
+ legacy: z.ZodOptional<z.ZodBoolean>;
247
+ gasLimit: z.ZodOptional<z.ZodNumber>;
248
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
249
+ gasPrice: z.ZodOptional<z.ZodNumber>;
250
+ baseFee: z.ZodOptional<z.ZodNumber>;
251
+ priorityFee: z.ZodOptional<z.ZodNumber>;
252
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
253
+ }, z.ZodTypeAny, "passthrough">>;
254
+ customGasChainDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ keyGen: {
257
+ pubkeyhex: string;
258
+ keylist?: string[] | undefined;
259
+ ClientKeys?: Record<string, string> | undefined;
260
+ };
261
+ purposeText: string;
262
+ useCustomGas: boolean;
263
+ chainId: number;
264
+ rpcUrl: string;
265
+ executorAddress: string;
266
+ chainDetail: {
267
+ legacy?: boolean | undefined;
268
+ gasLimit?: number | undefined;
269
+ gasPrice?: number | undefined;
270
+ gasMultiplier?: number | undefined;
271
+ baseFee?: number | undefined;
272
+ priorityFee?: number | undefined;
273
+ baseFeeMultiplier?: number | undefined;
274
+ } & {
275
+ [k: string]: unknown;
276
+ };
277
+ customGasChainDetails?: Record<string, unknown> | undefined;
278
+ }, {
279
+ keyGen: {
280
+ pubkeyhex: string;
281
+ keylist?: string[] | undefined;
282
+ ClientKeys?: Record<string, string> | undefined;
283
+ };
284
+ purposeText: string;
285
+ useCustomGas: boolean;
286
+ chainId: number;
287
+ rpcUrl: string;
288
+ executorAddress: string;
289
+ chainDetail: {
290
+ legacy?: boolean | undefined;
291
+ gasLimit?: number | undefined;
292
+ gasPrice?: number | undefined;
293
+ gasMultiplier?: number | undefined;
294
+ baseFee?: number | undefined;
295
+ priorityFee?: number | undefined;
296
+ baseFeeMultiplier?: number | undefined;
297
+ } & {
298
+ [k: string]: unknown;
299
+ };
300
+ customGasChainDetails?: Record<string, unknown> | undefined;
301
+ }>;
302
+ /** Standard output of all `build_*_multisign` MCP tools. */
303
+ declare const multisignOutputSchema: z.ZodObject<{
304
+ bodyForSign: z.ZodRecord<z.ZodString, z.ZodUnknown>;
305
+ messageToSign: z.ZodString;
306
+ }, "strip", z.ZodTypeAny, {
307
+ bodyForSign: Record<string, unknown>;
308
+ messageToSign: string;
309
+ }, {
310
+ bodyForSign: Record<string, unknown>;
311
+ messageToSign: string;
312
+ }>;
313
+ /** Loose JSON object for protocol API responses passed between MCP tools. */
314
+ declare const jsonObjectSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
315
+ type EvmMultisignCommonInput = z.infer<typeof evmMultisignCommonInputSchema>;
316
+ type MultisignOutput = z.infer<typeof multisignOutputSchema>;
317
+ type KeyGenMcpInput = z.infer<typeof keyGenSchema>;
318
+ type ChainDetailMcpInput = z.infer<typeof chainDetailSchema>;
319
+
320
+ declare const uniswapQuoteTradeTypeSchema: z.ZodEnum<["EXACT_INPUT", "EXACT_OUTPUT"]>;
321
+ /** Input for MCP tool `ctm_uniswap_v4_quote` → handler `uniswapTradeQuote`. */
322
+ declare const mcpUniswapV4QuoteInputSchema: z.ZodObject<{
323
+ type: z.ZodEnum<["EXACT_INPUT", "EXACT_OUTPUT"]>;
324
+ amount: z.ZodString;
325
+ tokenIn: z.ZodString;
326
+ tokenOut: z.ZodString;
327
+ chainId: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
328
+ uniswapApiKey: z.ZodString;
329
+ swapper: z.ZodOptional<z.ZodString>;
330
+ slippage: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
331
+ keyGen: z.ZodOptional<z.ZodString>;
332
+ managementNodeUrl: z.ZodOptional<z.ZodString>;
333
+ tokenInChainId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
334
+ tokenOutChainId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
335
+ permit2Disabled: z.ZodOptional<z.ZodBoolean>;
336
+ baseUrl: z.ZodOptional<z.ZodString>;
337
+ universalRouterVersion: z.ZodOptional<z.ZodString>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ chainId: string | number;
340
+ type: "EXACT_INPUT" | "EXACT_OUTPUT";
341
+ amount: string;
342
+ tokenIn: string;
343
+ tokenOut: string;
344
+ uniswapApiKey: string;
345
+ keyGen?: string | undefined;
346
+ tokenInChainId?: string | number | undefined;
347
+ tokenOutChainId?: string | number | undefined;
348
+ slippage?: string | number | undefined;
349
+ permit2Disabled?: boolean | undefined;
350
+ swapper?: string | undefined;
351
+ managementNodeUrl?: string | undefined;
352
+ baseUrl?: string | undefined;
353
+ universalRouterVersion?: string | undefined;
354
+ }, {
355
+ chainId: string | number;
356
+ type: "EXACT_INPUT" | "EXACT_OUTPUT";
357
+ amount: string;
358
+ tokenIn: string;
359
+ tokenOut: string;
360
+ uniswapApiKey: string;
361
+ keyGen?: string | undefined;
362
+ tokenInChainId?: string | number | undefined;
363
+ tokenOutChainId?: string | number | undefined;
364
+ slippage?: string | number | undefined;
365
+ permit2Disabled?: boolean | undefined;
366
+ swapper?: string | undefined;
367
+ managementNodeUrl?: string | undefined;
368
+ baseUrl?: string | undefined;
369
+ universalRouterVersion?: string | undefined;
370
+ }>;
371
+ /** Output: full Uniswap POST /quote JSON (dynamic shape from Trade API). */
372
+ declare const mcpUniswapV4QuoteOutputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
373
+ /** Input for MCP tool `ctm_uniswap_v4_create_swap` → handler `uniswapCreateSwap`. */
374
+ declare const mcpUniswapV4CreateSwapInputSchema: z.ZodObject<{
375
+ uniswapApiKey: z.ZodString;
376
+ fullQuoteFromPermit: z.ZodRecord<z.ZodString, z.ZodUnknown>;
377
+ swapTransactionDeadlineUnix: z.ZodOptional<z.ZodNumber>;
378
+ useServerProxy: z.ZodOptional<z.ZodBoolean>;
379
+ baseUrl: z.ZodOptional<z.ZodString>;
380
+ universalRouterVersion: z.ZodOptional<z.ZodString>;
381
+ }, "strip", z.ZodTypeAny, {
382
+ uniswapApiKey: string;
383
+ fullQuoteFromPermit: Record<string, unknown>;
384
+ baseUrl?: string | undefined;
385
+ universalRouterVersion?: string | undefined;
386
+ useServerProxy?: boolean | undefined;
387
+ swapTransactionDeadlineUnix?: number | undefined;
388
+ }, {
389
+ uniswapApiKey: string;
390
+ fullQuoteFromPermit: Record<string, unknown>;
391
+ baseUrl?: string | undefined;
392
+ universalRouterVersion?: string | undefined;
393
+ useServerProxy?: boolean | undefined;
394
+ swapTransactionDeadlineUnix?: number | undefined;
395
+ }>;
396
+ declare const mcpUniswapV4CreateSwapOutputSchema: z.ZodObject<{
397
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
398
+ requestId: z.ZodOptional<z.ZodString>;
399
+ gasFee: z.ZodOptional<z.ZodString>;
400
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
401
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
402
+ requestId: z.ZodOptional<z.ZodString>;
403
+ gasFee: z.ZodOptional<z.ZodString>;
404
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
405
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
406
+ requestId: z.ZodOptional<z.ZodString>;
407
+ gasFee: z.ZodOptional<z.ZodString>;
408
+ }, z.ZodTypeAny, "passthrough">>;
409
+ /** Input for MCP tool `ctm_uniswap_v4_build_swap_multisign`. */
410
+ declare const mcpUniswapV4BuildSwapMultisignInputSchema: z.ZodObject<{
411
+ keyGen: z.ZodObject<{
412
+ pubkeyhex: z.ZodString;
413
+ keylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
414
+ ClientKeys: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
415
+ }, "strip", z.ZodTypeAny, {
416
+ pubkeyhex: string;
417
+ keylist?: string[] | undefined;
418
+ ClientKeys?: Record<string, string> | undefined;
419
+ }, {
420
+ pubkeyhex: string;
421
+ keylist?: string[] | undefined;
422
+ ClientKeys?: Record<string, string> | undefined;
423
+ }>;
424
+ purposeText: z.ZodString;
425
+ useCustomGas: z.ZodBoolean;
426
+ chainId: z.ZodNumber;
427
+ rpcUrl: z.ZodString;
428
+ executorAddress: z.ZodString;
429
+ chainDetail: z.ZodObject<{
430
+ legacy: z.ZodOptional<z.ZodBoolean>;
431
+ gasLimit: z.ZodOptional<z.ZodNumber>;
432
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
433
+ gasPrice: z.ZodOptional<z.ZodNumber>;
434
+ baseFee: z.ZodOptional<z.ZodNumber>;
435
+ priorityFee: z.ZodOptional<z.ZodNumber>;
436
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
437
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
438
+ legacy: z.ZodOptional<z.ZodBoolean>;
439
+ gasLimit: z.ZodOptional<z.ZodNumber>;
440
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
441
+ gasPrice: z.ZodOptional<z.ZodNumber>;
442
+ baseFee: z.ZodOptional<z.ZodNumber>;
443
+ priorityFee: z.ZodOptional<z.ZodNumber>;
444
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
445
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
446
+ legacy: z.ZodOptional<z.ZodBoolean>;
447
+ gasLimit: z.ZodOptional<z.ZodNumber>;
448
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
449
+ gasPrice: z.ZodOptional<z.ZodNumber>;
450
+ baseFee: z.ZodOptional<z.ZodNumber>;
451
+ priorityFee: z.ZodOptional<z.ZodNumber>;
452
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
453
+ }, z.ZodTypeAny, "passthrough">>;
454
+ customGasChainDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
455
+ } & {
456
+ tokenIn: z.ZodString;
457
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
458
+ createSwapResponse: z.ZodObject<{
459
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
460
+ requestId: z.ZodOptional<z.ZodString>;
461
+ gasFee: z.ZodOptional<z.ZodString>;
462
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
463
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
464
+ requestId: z.ZodOptional<z.ZodString>;
465
+ gasFee: z.ZodOptional<z.ZodString>;
466
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
467
+ swap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
468
+ requestId: z.ZodOptional<z.ZodString>;
469
+ gasFee: z.ZodOptional<z.ZodString>;
470
+ }, z.ZodTypeAny, "passthrough">>;
471
+ fullQuoteSnapshot: z.ZodRecord<z.ZodString, z.ZodUnknown>;
472
+ swapDeadlineUnix: z.ZodNumber;
473
+ slippagePercent: z.ZodOptional<z.ZodNumber>;
474
+ }, "strip", z.ZodTypeAny, {
475
+ keyGen: {
476
+ pubkeyhex: string;
477
+ keylist?: string[] | undefined;
478
+ ClientKeys?: Record<string, string> | undefined;
479
+ };
480
+ purposeText: string;
481
+ useCustomGas: boolean;
482
+ chainId: number;
483
+ rpcUrl: string;
484
+ executorAddress: string;
485
+ chainDetail: {
486
+ legacy?: boolean | undefined;
487
+ gasLimit?: number | undefined;
488
+ gasPrice?: number | undefined;
489
+ gasMultiplier?: number | undefined;
490
+ baseFee?: number | undefined;
491
+ priorityFee?: number | undefined;
492
+ baseFeeMultiplier?: number | undefined;
493
+ } & {
494
+ [k: string]: unknown;
495
+ };
496
+ tokenIn: string;
497
+ swap: Record<string, unknown>;
498
+ createSwapResponse: {
499
+ swap: Record<string, unknown>;
500
+ requestId?: string | undefined;
501
+ gasFee?: string | undefined;
502
+ } & {
503
+ [k: string]: unknown;
504
+ };
505
+ fullQuoteSnapshot: Record<string, unknown>;
506
+ swapDeadlineUnix: number;
507
+ customGasChainDetails?: Record<string, unknown> | undefined;
508
+ slippagePercent?: number | undefined;
509
+ }, {
510
+ keyGen: {
511
+ pubkeyhex: string;
512
+ keylist?: string[] | undefined;
513
+ ClientKeys?: Record<string, string> | undefined;
514
+ };
515
+ purposeText: string;
516
+ useCustomGas: boolean;
517
+ chainId: number;
518
+ rpcUrl: string;
519
+ executorAddress: string;
520
+ chainDetail: {
521
+ legacy?: boolean | undefined;
522
+ gasLimit?: number | undefined;
523
+ gasPrice?: number | undefined;
524
+ gasMultiplier?: number | undefined;
525
+ baseFee?: number | undefined;
526
+ priorityFee?: number | undefined;
527
+ baseFeeMultiplier?: number | undefined;
528
+ } & {
529
+ [k: string]: unknown;
530
+ };
531
+ tokenIn: string;
532
+ swap: Record<string, unknown>;
533
+ createSwapResponse: {
534
+ swap: Record<string, unknown>;
535
+ requestId?: string | undefined;
536
+ gasFee?: string | undefined;
537
+ } & {
538
+ [k: string]: unknown;
539
+ };
540
+ fullQuoteSnapshot: Record<string, unknown>;
541
+ swapDeadlineUnix: number;
542
+ customGasChainDetails?: Record<string, unknown> | undefined;
543
+ slippagePercent?: number | undefined;
544
+ }>;
545
+ type McpUniswapV4QuoteInput = z.infer<typeof mcpUniswapV4QuoteInputSchema>;
546
+ type McpUniswapV4QuoteOutput = z.infer<typeof mcpUniswapV4QuoteOutputSchema>;
547
+ type McpUniswapV4CreateSwapInput = z.infer<typeof mcpUniswapV4CreateSwapInputSchema>;
548
+ type McpUniswapV4CreateSwapOutput = z.infer<typeof mcpUniswapV4CreateSwapOutputSchema>;
549
+ type McpUniswapV4BuildSwapMultisignInput = z.infer<typeof mcpUniswapV4BuildSwapMultisignInputSchema>;
550
+
551
+ /** Input for MCP tool `ctm_curve_dao_build_swap_multisign`. */
552
+ declare const mcpCurveDaoBuildSwapMultisignInputSchema: z.ZodObject<{
553
+ keyGen: z.ZodObject<{
554
+ pubkeyhex: z.ZodString;
555
+ keylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
556
+ ClientKeys: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
557
+ }, "strip", z.ZodTypeAny, {
558
+ pubkeyhex: string;
559
+ keylist?: string[] | undefined;
560
+ ClientKeys?: Record<string, string> | undefined;
561
+ }, {
562
+ pubkeyhex: string;
563
+ keylist?: string[] | undefined;
564
+ ClientKeys?: Record<string, string> | undefined;
565
+ }>;
566
+ purposeText: z.ZodString;
567
+ useCustomGas: z.ZodBoolean;
568
+ chainId: z.ZodNumber;
569
+ rpcUrl: z.ZodString;
570
+ executorAddress: z.ZodString;
571
+ chainDetail: z.ZodObject<{
572
+ legacy: z.ZodOptional<z.ZodBoolean>;
573
+ gasLimit: z.ZodOptional<z.ZodNumber>;
574
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
575
+ gasPrice: z.ZodOptional<z.ZodNumber>;
576
+ baseFee: z.ZodOptional<z.ZodNumber>;
577
+ priorityFee: z.ZodOptional<z.ZodNumber>;
578
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
579
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
580
+ legacy: z.ZodOptional<z.ZodBoolean>;
581
+ gasLimit: z.ZodOptional<z.ZodNumber>;
582
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
583
+ gasPrice: z.ZodOptional<z.ZodNumber>;
584
+ baseFee: z.ZodOptional<z.ZodNumber>;
585
+ priorityFee: z.ZodOptional<z.ZodNumber>;
586
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
587
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
588
+ legacy: z.ZodOptional<z.ZodBoolean>;
589
+ gasLimit: z.ZodOptional<z.ZodNumber>;
590
+ gasMultiplier: z.ZodOptional<z.ZodNumber>;
591
+ gasPrice: z.ZodOptional<z.ZodNumber>;
592
+ baseFee: z.ZodOptional<z.ZodNumber>;
593
+ priorityFee: z.ZodOptional<z.ZodNumber>;
594
+ baseFeeMultiplier: z.ZodOptional<z.ZodNumber>;
595
+ }, z.ZodTypeAny, "passthrough">>;
596
+ customGasChainDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
597
+ } & {
598
+ tokenIn: z.ZodString;
599
+ tokenOut: z.ZodString;
600
+ amountHuman: z.ZodString;
601
+ slippagePercent: z.ZodNumber;
602
+ }, "strip", z.ZodTypeAny, {
603
+ keyGen: {
604
+ pubkeyhex: string;
605
+ keylist?: string[] | undefined;
606
+ ClientKeys?: Record<string, string> | undefined;
607
+ };
608
+ purposeText: string;
609
+ useCustomGas: boolean;
610
+ chainId: number;
611
+ rpcUrl: string;
612
+ executorAddress: string;
613
+ chainDetail: {
614
+ legacy?: boolean | undefined;
615
+ gasLimit?: number | undefined;
616
+ gasPrice?: number | undefined;
617
+ gasMultiplier?: number | undefined;
618
+ baseFee?: number | undefined;
619
+ priorityFee?: number | undefined;
620
+ baseFeeMultiplier?: number | undefined;
621
+ } & {
622
+ [k: string]: unknown;
623
+ };
624
+ tokenIn: string;
625
+ tokenOut: string;
626
+ slippagePercent: number;
627
+ amountHuman: string;
628
+ customGasChainDetails?: Record<string, unknown> | undefined;
629
+ }, {
630
+ keyGen: {
631
+ pubkeyhex: string;
632
+ keylist?: string[] | undefined;
633
+ ClientKeys?: Record<string, string> | undefined;
634
+ };
635
+ purposeText: string;
636
+ useCustomGas: boolean;
637
+ chainId: number;
638
+ rpcUrl: string;
639
+ executorAddress: string;
640
+ chainDetail: {
641
+ legacy?: boolean | undefined;
642
+ gasLimit?: number | undefined;
643
+ gasPrice?: number | undefined;
644
+ gasMultiplier?: number | undefined;
645
+ baseFee?: number | undefined;
646
+ priorityFee?: number | undefined;
647
+ baseFeeMultiplier?: number | undefined;
648
+ } & {
649
+ [k: string]: unknown;
650
+ };
651
+ tokenIn: string;
652
+ tokenOut: string;
653
+ slippagePercent: number;
654
+ amountHuman: string;
655
+ customGasChainDetails?: Record<string, unknown> | undefined;
656
+ }>;
657
+ type McpCurveDaoBuildSwapMultisignInput = z.infer<typeof mcpCurveDaoBuildSwapMultisignInputSchema>;
658
+
659
+ /** Extend common multisign inputs with protocol-specific fields. */
660
+ declare function mcpMultisignInput(fields: z.ZodRawShape): z.ZodObject<{} & {
661
+ [x: string]: z.ZodTypeAny;
662
+ }, "strip", z.ZodTypeAny, {
663
+ [x: string]: any;
664
+ }, {
665
+ [x: string]: any;
666
+ }>;
667
+
668
+ declare const mcpLidoSubmitInputSchema: z.ZodObject<{} & {
669
+ [x: string]: z.ZodTypeAny;
670
+ }, "strip", z.ZodTypeAny, {
671
+ [x: string]: any;
672
+ }, {
673
+ [x: string]: any;
674
+ }>;
675
+ declare const mcpLidoRequestWithdrawalsInputSchema: z.ZodObject<{} & {
676
+ [x: string]: z.ZodTypeAny;
677
+ }, "strip", z.ZodTypeAny, {
678
+ [x: string]: any;
679
+ }, {
680
+ [x: string]: any;
681
+ }>;
682
+ declare const mcpLidoClaimWithdrawalInputSchema: z.ZodObject<{} & {
683
+ [x: string]: z.ZodTypeAny;
684
+ }, "strip", z.ZodTypeAny, {
685
+ [x: string]: any;
686
+ }, {
687
+ [x: string]: any;
688
+ }>;
689
+ declare const mcpLidoWrapStEthInputSchema: z.ZodObject<{} & {
690
+ [x: string]: z.ZodTypeAny;
691
+ }, "strip", z.ZodTypeAny, {
692
+ [x: string]: any;
693
+ }, {
694
+ [x: string]: any;
695
+ }>;
696
+ declare const mcpLidoUnwrapWstEthInputSchema: z.ZodObject<{} & {
697
+ [x: string]: z.ZodTypeAny;
698
+ }, "strip", z.ZodTypeAny, {
699
+ [x: string]: any;
700
+ }, {
701
+ [x: string]: any;
702
+ }>;
703
+ declare const mcpEthenaStakeInputSchema: z.ZodObject<{} & {
704
+ [x: string]: z.ZodTypeAny;
705
+ }, "strip", z.ZodTypeAny, {
706
+ [x: string]: any;
707
+ }, {
708
+ [x: string]: any;
709
+ }>;
710
+ declare const mcpEthenaRedeemInputSchema: z.ZodObject<{} & {
711
+ [x: string]: z.ZodTypeAny;
712
+ }, "strip", z.ZodTypeAny, {
713
+ [x: string]: any;
714
+ }, {
715
+ [x: string]: any;
716
+ }>;
717
+ declare const mcpEthenaCooldownInputSchema: z.ZodObject<{} & {
718
+ [x: string]: z.ZodTypeAny;
719
+ }, "strip", z.ZodTypeAny, {
720
+ [x: string]: any;
721
+ }, {
722
+ [x: string]: any;
723
+ }>;
724
+ declare const mcpEthenaClaimInputSchema: z.ZodObject<{} & {
725
+ [x: string]: z.ZodTypeAny;
726
+ }, "strip", z.ZodTypeAny, {
727
+ [x: string]: any;
728
+ }, {
729
+ [x: string]: any;
730
+ }>;
731
+ declare const mcpMapleDepositInputSchema: z.ZodObject<{} & {
732
+ [x: string]: z.ZodTypeAny;
733
+ }, "strip", z.ZodTypeAny, {
734
+ [x: string]: any;
735
+ }, {
736
+ [x: string]: any;
737
+ }>;
738
+ declare const mcpMapleRequestRedeemInputSchema: z.ZodObject<{} & {
739
+ [x: string]: z.ZodTypeAny;
740
+ }, "strip", z.ZodTypeAny, {
741
+ [x: string]: any;
742
+ }, {
743
+ [x: string]: any;
744
+ }>;
745
+ declare const mcpSkyLockstakeStakeInputSchema: z.ZodObject<{} & {
746
+ [x: string]: z.ZodTypeAny;
747
+ }, "strip", z.ZodTypeAny, {
748
+ [x: string]: any;
749
+ }, {
750
+ [x: string]: any;
751
+ }>;
752
+ declare const mcpSkyLockstakeDrawInputSchema: z.ZodObject<{} & {
753
+ [x: string]: z.ZodTypeAny;
754
+ }, "strip", z.ZodTypeAny, {
755
+ [x: string]: any;
756
+ }, {
757
+ [x: string]: any;
758
+ }>;
759
+ declare const mcpSkyLockstakeWipeInputSchema: z.ZodObject<{} & {
760
+ [x: string]: z.ZodTypeAny;
761
+ }, "strip", z.ZodTypeAny, {
762
+ [x: string]: any;
763
+ }, {
764
+ [x: string]: any;
765
+ }>;
766
+ declare const mcpSkyLockstakeCloseInputSchema: z.ZodObject<{} & {
767
+ [x: string]: z.ZodTypeAny;
768
+ }, "strip", z.ZodTypeAny, {
769
+ [x: string]: any;
770
+ }, {
771
+ [x: string]: any;
772
+ }>;
773
+ declare const mcpSkyLockstakeGetRewardInputSchema: z.ZodObject<{} & {
774
+ [x: string]: z.ZodTypeAny;
775
+ }, "strip", z.ZodTypeAny, {
776
+ [x: string]: any;
777
+ }, {
778
+ [x: string]: any;
779
+ }>;
780
+ declare const mcpSkySusdsDepositInputSchema: z.ZodObject<{} & {
781
+ [x: string]: z.ZodTypeAny;
782
+ }, "strip", z.ZodTypeAny, {
783
+ [x: string]: any;
784
+ }, {
785
+ [x: string]: any;
786
+ }>;
787
+ declare const mcpSkySusdsRedeemInputSchema: z.ZodObject<{} & {
788
+ [x: string]: z.ZodTypeAny;
789
+ }, "strip", z.ZodTypeAny, {
790
+ [x: string]: any;
791
+ }, {
792
+ [x: string]: any;
793
+ }>;
794
+ declare const mcpAaveV4DepositInputSchema: z.ZodObject<{} & {
795
+ [x: string]: z.ZodTypeAny;
796
+ }, "strip", z.ZodTypeAny, {
797
+ [x: string]: any;
798
+ }, {
799
+ [x: string]: any;
800
+ }>;
801
+ declare const mcpAaveV4WithdrawInputSchema: z.ZodObject<{} & {
802
+ [x: string]: z.ZodTypeAny;
803
+ }, "strip", z.ZodTypeAny, {
804
+ [x: string]: any;
805
+ }, {
806
+ [x: string]: any;
807
+ }>;
808
+ declare const mcpAaveV4BorrowInputSchema: z.ZodObject<{} & {
809
+ [x: string]: z.ZodTypeAny;
810
+ }, "strip", z.ZodTypeAny, {
811
+ [x: string]: any;
812
+ }, {
813
+ [x: string]: any;
814
+ }>;
815
+ declare const mcpAaveV4RepayInputSchema: z.ZodObject<{} & {
816
+ [x: string]: z.ZodTypeAny;
817
+ }, "strip", z.ZodTypeAny, {
818
+ [x: string]: any;
819
+ }, {
820
+ [x: string]: any;
821
+ }>;
822
+ declare const mcpEulerV2IsolatedLendInputSchema: z.ZodObject<{} & {
823
+ [x: string]: z.ZodTypeAny;
824
+ }, "strip", z.ZodTypeAny, {
825
+ [x: string]: any;
826
+ }, {
827
+ [x: string]: any;
828
+ }>;
829
+ declare const mcpEulerV2IsolatedBorrowInputSchema: z.ZodObject<{} & {
830
+ [x: string]: z.ZodTypeAny;
831
+ }, "strip", z.ZodTypeAny, {
832
+ [x: string]: any;
833
+ }, {
834
+ [x: string]: any;
835
+ }>;
836
+ declare const mcpEulerV2VaultWithdrawInputSchema: z.ZodObject<{} & {
837
+ [x: string]: z.ZodTypeAny;
838
+ }, "strip", z.ZodTypeAny, {
839
+ [x: string]: any;
840
+ }, {
841
+ [x: string]: any;
842
+ }>;
843
+ declare const mcpEulerV2BorrowRepayInputSchema: z.ZodObject<{} & {
844
+ [x: string]: z.ZodTypeAny;
845
+ }, "strip", z.ZodTypeAny, {
846
+ [x: string]: any;
847
+ }, {
848
+ [x: string]: any;
849
+ }>;
850
+ declare const mcpEulerV2CollateralDepositInputSchema: z.ZodObject<{} & {
851
+ [x: string]: z.ZodTypeAny;
852
+ }, "strip", z.ZodTypeAny, {
853
+ [x: string]: any;
854
+ }, {
855
+ [x: string]: any;
856
+ }>;
857
+ declare const mcpEulerV2CollateralWithdrawInputSchema: z.ZodObject<{} & {
858
+ [x: string]: z.ZodTypeAny;
859
+ }, "strip", z.ZodTypeAny, {
860
+ [x: string]: any;
861
+ }, {
862
+ [x: string]: any;
863
+ }>;
864
+ type McpLidoSubmitInput = z.infer<typeof mcpLidoSubmitInputSchema>;
865
+ type McpEthenaStakeInput = z.infer<typeof mcpEthenaStakeInputSchema>;
866
+ type McpMapleDepositInput = z.infer<typeof mcpMapleDepositInputSchema>;
867
+ type McpSkyLockstakeStakeInput = z.infer<typeof mcpSkyLockstakeStakeInputSchema>;
868
+ type McpAaveV4DepositInput = z.infer<typeof mcpAaveV4DepositInputSchema>;
869
+ type McpEulerV2IsolatedLendInput = z.infer<typeof mcpEulerV2IsolatedLendInputSchema>;
82
870
 
83
871
  /** Machine-readable catalog of protocol actions grouped by chain category. */
84
872
  declare function getAgentCatalog(): {
@@ -90,9 +878,15 @@ declare function getAgentCatalog(): {
90
878
  };
91
879
  uniswapV4: ProtocolModule;
92
880
  curveDao: ProtocolModule;
881
+ lido: ProtocolModule;
882
+ ethena: ProtocolModule;
883
+ maple: ProtocolModule;
884
+ sky: ProtocolModule;
885
+ aaveV4: ProtocolModule;
886
+ eulerV2: ProtocolModule;
93
887
  /** Prefer getAgentCatalogForMcp() or getMcpToolDefinitions() for MCP servers. */
94
888
  mcp: {
95
- tools: McpToolDefinition[];
889
+ tools: readonly McpToolDefinition[];
96
890
  protocols: readonly ProtocolModule[];
97
891
  commonParams: Record<string, ParamDoc>;
98
892
  multisignOutput: {
@@ -108,10 +902,38 @@ declare function getAgentCatalog(): {
108
902
  };
109
903
  };
110
904
  };
905
+ managementSig: {
906
+ readonly description: "Management POST bodies embed NodeMgtKeySig: { nonce, clientSig, nodeKey }. Sign JSON with clientSig cleared; POST with clientSig set to the Ed25519 128-hex or EIP-191 signature. Legacy Nonce/Sig/sig field names are not accepted.";
907
+ readonly fields: {
908
+ readonly nonce: {
909
+ readonly type: "number";
910
+ readonly description: "From GET /getPublicMgtKeyNonce (Ed25519) or GET /getNodeMgtKeyNonce (Ethereum NodeMgtKey).";
911
+ };
912
+ readonly clientSig: {
913
+ readonly type: "string";
914
+ readonly description: "Management signature; empty string in the message to sign.";
915
+ };
916
+ readonly nodeKey: {
917
+ readonly type: "string";
918
+ readonly description: "Required. 128-hex MPC node id from GET /getNodeKey (no 0x prefix).";
919
+ };
920
+ };
921
+ readonly helpers: {
922
+ readonly managementSigFields: "Base envelope with clientSig cleared.";
923
+ readonly buildManagementPostBody: "Spread managementSigFields then endpoint fields.";
924
+ readonly messageToSignManagementBody: "Canonical JSON string to sign.";
925
+ readonly withManagementClientSig: "Attach signature to POST body.";
926
+ readonly fetchNodeKey: "GET /getNodeKey via nodeFetchWithReadAuth.";
927
+ readonly fetchManagementNonce: "GET nonce for Ed25519 or Ethereum management key.";
928
+ };
929
+ };
930
+ inputSchemas: Record<string, zod.ZodType<any, zod.ZodTypeDef, any>>;
931
+ outputSchemas: Record<string, zod.ZodType<any, zod.ZodTypeDef, any>>;
111
932
  workflow: {
112
933
  evmSwapTypical: string[];
934
+ managementPostTypical: string[];
113
935
  };
114
936
  };
115
937
  };
116
938
 
117
- export { EVM_COMMON_PARAM_DOCS, MCP_TOOL_DEFINITIONS, MULTISIGN_OUTPUT_DOC, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions };
939
+ export { type ChainDetailMcpInput, EVM_COMMON_PARAM_DOCS, type EvmMultisignCommonInput, type KeyGenMcpInput, MANAGEMENT_SIG_DOC, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, type McpAaveV4DepositInput, type McpCurveDaoBuildSwapMultisignInput, type McpEthenaStakeInput, type McpEulerV2IsolatedLendInput, type McpJsonSchema, type McpLidoSubmitInput, type McpMapleDepositInput, type McpSchemaProperty, type McpSkyLockstakeStakeInput, type McpToolDefinition, type McpToolHandler, type McpToolInputMap, type McpToolName, type McpToolOutputMap, type McpUniswapV4BuildSwapMultisignInput, type McpUniswapV4CreateSwapInput, type McpUniswapV4CreateSwapOutput, type McpUniswapV4QuoteInput, type McpUniswapV4QuoteOutput, type MultisignOutput, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, jsonObjectSchema, keyGenSchema, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleRequestRedeemInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, multisignOutputSchema, parseMcpToolInput, parseMcpToolOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };