@continuumdao/continuum-node-sdk 1.2.13 → 1.2.14
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.
- package/dist/core/agent/environment-variables.d.ts +11 -1
- package/dist/core/agent/environment-variables.d.ts.map +1 -1
- package/dist/core/agent/environment-variables.js +89 -5
- package/dist/core/agent/environment-variables.js.map +1 -1
- package/dist/core/agent/mcp-servers.d.ts +8 -4
- package/dist/core/agent/mcp-servers.d.ts.map +1 -1
- package/dist/core/agent/mcp-servers.js +138 -32
- package/dist/core/agent/mcp-servers.js.map +1 -1
- package/dist/core/agent/webhooks-catalog.d.ts +10 -0
- package/dist/core/agent/webhooks-catalog.d.ts.map +1 -0
- package/dist/core/agent/webhooks-catalog.js +19 -0
- package/dist/core/agent/webhooks-catalog.js.map +1 -0
- package/dist/core/agent/webhooks.d.ts +101 -0
- package/dist/core/agent/webhooks.d.ts.map +1 -0
- package/dist/core/agent/webhooks.js +359 -0
- package/dist/core/agent/webhooks.js.map +1 -0
- package/dist/core/keygen-id.d.ts.map +1 -1
- package/dist/core/keygen-id.js +8 -2
- package/dist/core/keygen-id.js.map +1 -1
- package/dist/core/keygen.d.ts.map +1 -1
- package/dist/core/keygen.js +31 -4
- package/dist/core/keygen.js.map +1 -1
- package/dist/core/mpc/join-multisign-request.d.ts +6 -0
- package/dist/core/mpc/join-multisign-request.d.ts.map +1 -0
- package/dist/core/mpc/join-multisign-request.js +19 -0
- package/dist/core/mpc/join-multisign-request.js.map +1 -0
- package/dist/core/mpc/schemas.d.ts +6 -0
- package/dist/core/mpc/schemas.d.ts.map +1 -1
- package/dist/core/mpc/schemas.js +20 -0
- package/dist/core/mpc/schemas.js.map +1 -1
- package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
- package/dist/core/mpc/sign-request-utils.js +7 -2
- package/dist/core/mpc/sign-request-utils.js.map +1 -1
- package/dist/core/registry/registry-lookup.d.ts +2 -0
- package/dist/core/registry/registry-lookup.d.ts.map +1 -1
- package/dist/core/registry/registry-lookup.js +5 -0
- package/dist/core/registry/registry-lookup.js.map +1 -1
- package/dist/evm/forge-broadcast.d.ts +8 -0
- package/dist/evm/forge-broadcast.d.ts.map +1 -1
- package/dist/evm/forge-broadcast.js +5 -5
- package/dist/evm/forge-broadcast.js.map +1 -1
- package/dist/evm/join-multisign.d.ts +15 -0
- package/dist/evm/join-multisign.d.ts.map +1 -0
- package/dist/evm/join-multisign.js +376 -0
- package/dist/evm/join-multisign.js.map +1 -0
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp/agent-environment-variables.d.ts +4 -0
- package/dist/mcp/agent-environment-variables.d.ts.map +1 -0
- package/dist/mcp/agent-environment-variables.js +44 -0
- package/dist/mcp/agent-environment-variables.js.map +1 -0
- package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
- package/dist/mcp/agent-mcp-servers.js +9 -9
- package/dist/mcp/agent-mcp-servers.js.map +1 -1
- package/dist/mcp/agent-webhooks.d.ts +4 -0
- package/dist/mcp/agent-webhooks.d.ts.map +1 -0
- package/dist/mcp/agent-webhooks.js +87 -0
- package/dist/mcp/agent-webhooks.js.map +1 -0
- package/dist/mcp/defi/aave-v4-input.d.ts +17 -0
- package/dist/mcp/defi/aave-v4-input.d.ts.map +1 -0
- package/dist/mcp/defi/aave-v4-input.js +363 -0
- package/dist/mcp/defi/aave-v4-input.js.map +1 -0
- package/dist/mcp/defi/catalog-adapter.d.ts +2 -14
- package/dist/mcp/defi/catalog-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/catalog-adapter.js +2 -51
- package/dist/mcp/defi/catalog-adapter.js.map +1 -1
- package/dist/mcp/defi/curve-quote-input.d.ts +9 -0
- package/dist/mcp/defi/curve-quote-input.d.ts.map +1 -0
- package/dist/mcp/defi/curve-quote-input.js +64 -0
- package/dist/mcp/defi/curve-quote-input.js.map +1 -0
- package/dist/mcp/defi/discovery.d.ts.map +1 -1
- package/dist/mcp/defi/discovery.js +20 -10
- package/dist/mcp/defi/discovery.js.map +1 -1
- package/dist/mcp/defi/handler.d.ts +0 -8
- package/dist/mcp/defi/handler.d.ts.map +1 -1
- package/dist/mcp/defi/handler.js +95 -4
- package/dist/mcp/defi/handler.js.map +1 -1
- package/dist/mcp/defi/input-adapter.d.ts +1 -0
- package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/input-adapter.js +69 -38
- package/dist/mcp/defi/input-adapter.js.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +59 -8
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/tool-schemas.d.ts +19 -0
- package/dist/mcp/defi/tool-schemas.d.ts.map +1 -0
- package/dist/mcp/defi/tool-schemas.js +65 -0
- package/dist/mcp/defi/tool-schemas.js.map +1 -0
- package/dist/mcp/defi/uniswap-api-key.d.ts +3 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.js +11 -2
- package/dist/mcp/defi/uniswap-api-key.js.map +1 -1
- package/dist/mcp/defi/uniswap-liquidity-input.d.ts +11 -0
- package/dist/mcp/defi/uniswap-liquidity-input.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-liquidity-input.js +179 -0
- package/dist/mcp/defi/uniswap-liquidity-input.js.map +1 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.d.ts +31 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.js +296 -0
- package/dist/mcp/defi/uniswap-liquidity-registry.js.map +1 -0
- package/dist/mcp/defi/uniswap-quote-input.d.ts +10 -0
- package/dist/mcp/defi/uniswap-quote-input.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-quote-input.js +96 -0
- package/dist/mcp/defi/uniswap-quote-input.js.map +1 -0
- package/dist/mcp/keygen.d.ts.map +1 -1
- package/dist/mcp/keygen.js +4 -4
- package/dist/mcp/keygen.js.map +1 -1
- package/dist/mcp/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +7 -1
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/register.d.ts +1 -0
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +6 -0
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/tool-utils.d.ts +7 -0
- package/dist/mcp/tool-utils.d.ts.map +1 -1
- package/dist/mcp/tool-utils.js +7 -0
- package/dist/mcp/tool-utils.js.map +1 -1
- package/dist/schemas/extended.d.ts +366 -40
- package/dist/schemas/extended.d.ts.map +1 -1
- package/dist/schemas/extended.js +202 -28
- package/dist/schemas/extended.js.map +1 -1
- package/package.json +3 -3
|
@@ -3,6 +3,7 @@ import { getProtocolModules } from '@continuumdao/ctm-mpc-defi/agent';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { resolveChainRegistryEntry } from '../../core/registry/networks.js';
|
|
5
5
|
import { markProtocolLoaded } from './register-protocol-tools.js';
|
|
6
|
+
import { isUniswapApiKeyConfigured, UNISWAP_API_KEY_ENV, UNISWAP_API_KEY_SIGNUP_URL, } from './uniswap-api-key.js';
|
|
6
7
|
const protocolIdSchema = z.object({
|
|
7
8
|
protocolId: z.string().min(1),
|
|
8
9
|
});
|
|
@@ -40,7 +41,7 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
40
41
|
};
|
|
41
42
|
});
|
|
42
43
|
server.registerTool('load_defi_protocol', {
|
|
43
|
-
description: 'Load MCP tools and advisory context for a DeFi protocol (e.g. aave-v4). Idempotent.',
|
|
44
|
+
description: 'Load MCP tools and advisory context for a DeFi protocol (e.g. aave-v4, uniswap-v4). Idempotent. For uniswap-v4, response includes uniswapApiKeyConfigured (from UNISWAP_API_KEY Variable). Use list_environment_variables to inspect Variables.',
|
|
44
45
|
inputSchema: protocolIdSchema,
|
|
45
46
|
outputSchema: z
|
|
46
47
|
.object({
|
|
@@ -51,6 +52,9 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
51
52
|
advisoryTools: z.array(z.string()),
|
|
52
53
|
skillPreview: z.string().optional(),
|
|
53
54
|
skillHint: z.string().optional(),
|
|
55
|
+
uniswapApiKeyConfigured: z.boolean().optional(),
|
|
56
|
+
uniswapApiKeyEnvVar: z.string().optional(),
|
|
57
|
+
uniswapApiKeySignupUrl: z.string().optional(),
|
|
54
58
|
})
|
|
55
59
|
.strict(),
|
|
56
60
|
}, async ({ protocolId }) => {
|
|
@@ -61,6 +65,13 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
61
65
|
isError: true,
|
|
62
66
|
};
|
|
63
67
|
}
|
|
68
|
+
const uniswapExtras = protocolId === 'uniswap-v4'
|
|
69
|
+
? {
|
|
70
|
+
uniswapApiKeyConfigured: await isUniswapApiKeyConfigured(config),
|
|
71
|
+
uniswapApiKeyEnvVar: UNISWAP_API_KEY_ENV,
|
|
72
|
+
uniswapApiKeySignupUrl: UNISWAP_API_KEY_SIGNUP_URL,
|
|
73
|
+
}
|
|
74
|
+
: {};
|
|
64
75
|
if (defiContext.isLoaded(protocolId)) {
|
|
65
76
|
const advisor = getProtocolSupportAdvisor(protocolId);
|
|
66
77
|
const skill = getProtocolSkill(protocolId);
|
|
@@ -78,6 +89,7 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
78
89
|
skillHint: skill
|
|
79
90
|
? 'Call get_defi_protocol_skill for full SKILL.md workflow guidance.'
|
|
80
91
|
: undefined,
|
|
92
|
+
...uniswapExtras,
|
|
81
93
|
};
|
|
82
94
|
return {
|
|
83
95
|
content: [{ type: 'text', text: JSON.stringify(payload) }],
|
|
@@ -101,6 +113,7 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
101
113
|
skillHint: skill
|
|
102
114
|
? 'Call get_defi_protocol_skill for full SKILL.md workflow guidance.'
|
|
103
115
|
: undefined,
|
|
116
|
+
...uniswapExtras,
|
|
104
117
|
};
|
|
105
118
|
void server.server.sendToolListChanged?.().catch(() => undefined);
|
|
106
119
|
return {
|
|
@@ -205,7 +218,7 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
205
218
|
};
|
|
206
219
|
});
|
|
207
220
|
server.registerTool('get_defi_protocol_supported_tokens', {
|
|
208
|
-
description: 'Layer C: tokens supported by a protocol on a chain.
|
|
221
|
+
description: 'Layer C: tokens supported by a protocol on a chain. rpcUrl is resolved from get_chain_registry rpcGateway for chainId (do not pass a public RPC URL).',
|
|
209
222
|
inputSchema: protocolChainSchema,
|
|
210
223
|
outputSchema: z
|
|
211
224
|
.object({
|
|
@@ -216,7 +229,7 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
216
229
|
notes: z.string().optional(),
|
|
217
230
|
})
|
|
218
231
|
.strict(),
|
|
219
|
-
}, async ({ protocolId, chainId
|
|
232
|
+
}, async ({ protocolId, chainId }) => {
|
|
220
233
|
const advisor = getProtocolSupportAdvisor(protocolId);
|
|
221
234
|
if (!advisor) {
|
|
222
235
|
return {
|
|
@@ -226,13 +239,10 @@ export function registerDefiDiscoveryTools(server, config, defiContext) {
|
|
|
226
239
|
isError: true,
|
|
227
240
|
};
|
|
228
241
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
resolvedRpc = String(chain.data.rpcGateway ?? '').trim() || undefined;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
242
|
+
const chain = await resolveChainRegistryEntry(config, chainId);
|
|
243
|
+
const resolvedRpc = chain.ok
|
|
244
|
+
? String(chain.data.rpcGateway ?? '').trim() || undefined
|
|
245
|
+
: undefined;
|
|
236
246
|
const result = await advisor.supportedTokens(chainId, {
|
|
237
247
|
rpcUrl: resolvedRpc,
|
|
238
248
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/mcp/defi/discovery.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,yBAAyB,EAAC,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/mcp/defi/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,13 +97,5 @@ export declare function executeDefiMcpTool(config: NodeSdkConfig, defiContext: D
|
|
|
97
97
|
[x: string]: unknown;
|
|
98
98
|
} | undefined;
|
|
99
99
|
isError?: boolean | undefined;
|
|
100
|
-
} | {
|
|
101
|
-
content: {
|
|
102
|
-
type: "text";
|
|
103
|
-
text: string;
|
|
104
|
-
}[];
|
|
105
|
-
structuredContent: {
|
|
106
|
-
requestId: string;
|
|
107
|
-
};
|
|
108
100
|
}>;
|
|
109
101
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AAMxE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AAMxE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AA8BtD,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyPjB"}
|
package/dist/mcp/defi/handler.js
CHANGED
|
@@ -5,6 +5,11 @@ import { sdkResultToCallToolResult } from '../tool-utils.js';
|
|
|
5
5
|
import { importDefiHandler } from './import-map.js';
|
|
6
6
|
import { enrichMultisignContext, mapToolFieldsToBuilderArgs, stripEnrichmentKeys, } from './input-adapter.js';
|
|
7
7
|
import { injectUniswapApiKeyForTool } from './uniswap-api-key.js';
|
|
8
|
+
import { adaptUniswapQuoteMcpInput, isUniswapQuoteTool } from './uniswap-quote-input.js';
|
|
9
|
+
import { adaptUniswapLiquidityListPositionsMcpInput, adaptUniswapLiquidityPrepMcpInput, isUniswapLiquidityListPositionsTool, isUniswapLiquidityPrepTool, } from './uniswap-liquidity-input.js';
|
|
10
|
+
import { isUniswapRegisterPositionFromMintTxTool, isUniswapRegisterPositionNftTool, listUniswapV4PositionsFromTokenRegistryMcp, registerUniswapV4PositionFromMintTxMcp, registerUniswapV4PositionNftMcp, } from './uniswap-liquidity-registry.js';
|
|
11
|
+
import { adaptCurveQuoteMcpInput, isCurveQuoteTool } from './curve-quote-input.js';
|
|
12
|
+
import { isAaveV4MultisignTool, mapAaveV4MultisignBuilderArgs, mergeAaveV4ParsedWithPrepared, prepareAaveV4MultisignValidationInput, } from './aave-v4-input.js';
|
|
8
13
|
export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
9
14
|
try {
|
|
10
15
|
defiContext.assertToolCallable(tool);
|
|
@@ -28,14 +33,44 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
28
33
|
return uniswapKeyInjection.result;
|
|
29
34
|
}
|
|
30
35
|
let validationInput = uniswapKeyInjection.input;
|
|
36
|
+
let aavePreparedFields;
|
|
31
37
|
const enrichedInput = uniswapKeyInjection.input;
|
|
32
|
-
if (
|
|
38
|
+
if (isUniswapQuoteTool(tool.name)) {
|
|
39
|
+
const adapted = await adaptUniswapQuoteMcpInput(config, tool.name, enrichedInput);
|
|
40
|
+
if (!adapted.ok) {
|
|
41
|
+
return sdkResultToCallToolResult(adapted);
|
|
42
|
+
}
|
|
43
|
+
validationInput = adapted.data;
|
|
44
|
+
}
|
|
45
|
+
else if (isUniswapLiquidityPrepTool(tool.name)) {
|
|
46
|
+
const adapted = await adaptUniswapLiquidityPrepMcpInput(config, tool.name, enrichedInput);
|
|
47
|
+
if (!adapted.ok) {
|
|
48
|
+
return sdkResultToCallToolResult(adapted);
|
|
49
|
+
}
|
|
50
|
+
validationInput = adapted.data;
|
|
51
|
+
}
|
|
52
|
+
else if (isUniswapLiquidityListPositionsTool(tool.name)) {
|
|
53
|
+
const adapted = await adaptUniswapLiquidityListPositionsMcpInput(config, tool.name, enrichedInput);
|
|
54
|
+
if (!adapted.ok) {
|
|
55
|
+
return sdkResultToCallToolResult(adapted);
|
|
56
|
+
}
|
|
57
|
+
validationInput = adapted.data;
|
|
58
|
+
}
|
|
59
|
+
else if (isCurveQuoteTool(tool.name)) {
|
|
60
|
+
const adapted = await adaptCurveQuoteMcpInput(config, tool.name, enrichedInput);
|
|
61
|
+
if (!adapted.ok) {
|
|
62
|
+
return sdkResultToCallToolResult(adapted);
|
|
63
|
+
}
|
|
64
|
+
validationInput = adapted.data;
|
|
65
|
+
}
|
|
66
|
+
else if (!MCP_NON_SUBMIT_TOOL_NAMES.has(tool.name) &&
|
|
67
|
+
typeof enrichedInput.keyGenId === 'string' &&
|
|
68
|
+
enrichedInput.keyGenId.trim()) {
|
|
33
69
|
const enriched = await enrichMultisignContext(config, enrichedInput);
|
|
34
70
|
if (!enriched.ok) {
|
|
35
71
|
return sdkResultToCallToolResult(enriched);
|
|
36
72
|
}
|
|
37
|
-
|
|
38
|
-
...enrichedInput,
|
|
73
|
+
const enrichedFields = {
|
|
39
74
|
keyGen: enriched.data.keyGen,
|
|
40
75
|
executorAddress: enriched.data.executorAddress,
|
|
41
76
|
chainId: enriched.data.chainId,
|
|
@@ -46,6 +81,23 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
46
81
|
? { customGasChainDetails: enriched.data.customGasChainDetails }
|
|
47
82
|
: {}),
|
|
48
83
|
};
|
|
84
|
+
if (isAaveV4MultisignTool(tool.name)) {
|
|
85
|
+
const prepared = await prepareAaveV4MultisignValidationInput(tool.name, enrichedInput, enriched.data);
|
|
86
|
+
if (!prepared.ok) {
|
|
87
|
+
return sdkResultToCallToolResult(prepared);
|
|
88
|
+
}
|
|
89
|
+
aavePreparedFields = prepared.data;
|
|
90
|
+
validationInput = {
|
|
91
|
+
...prepared.data,
|
|
92
|
+
...enrichedFields,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
validationInput = {
|
|
97
|
+
...enrichedInput,
|
|
98
|
+
...enrichedFields,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
49
101
|
}
|
|
50
102
|
let parsed;
|
|
51
103
|
try {
|
|
@@ -65,6 +117,39 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
65
117
|
const parsedInput = parsed && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
66
118
|
? parsed
|
|
67
119
|
: {};
|
|
120
|
+
if (isUniswapLiquidityListPositionsTool(tool.name)) {
|
|
121
|
+
const listed = await listUniswapV4PositionsFromTokenRegistryMcp(config, parsedInput);
|
|
122
|
+
if (!listed.ok) {
|
|
123
|
+
return sdkResultToCallToolResult(listed);
|
|
124
|
+
}
|
|
125
|
+
const validated = parseMcpToolOutput(tool.name, listed.data);
|
|
126
|
+
return {
|
|
127
|
+
content: [{ type: 'text', text: JSON.stringify(validated) }],
|
|
128
|
+
structuredContent: validated,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
if (isUniswapRegisterPositionNftTool(tool.name)) {
|
|
132
|
+
const registered = await registerUniswapV4PositionNftMcp(config, parsedInput);
|
|
133
|
+
if (!registered.ok) {
|
|
134
|
+
return sdkResultToCallToolResult(registered);
|
|
135
|
+
}
|
|
136
|
+
const validated = parseMcpToolOutput(tool.name, registered.data);
|
|
137
|
+
return {
|
|
138
|
+
content: [{ type: 'text', text: JSON.stringify(validated) }],
|
|
139
|
+
structuredContent: validated,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
if (isUniswapRegisterPositionFromMintTxTool(tool.name)) {
|
|
143
|
+
const registered = await registerUniswapV4PositionFromMintTxMcp(config, parsedInput);
|
|
144
|
+
if (!registered.ok) {
|
|
145
|
+
return sdkResultToCallToolResult(registered);
|
|
146
|
+
}
|
|
147
|
+
const validated = parseMcpToolOutput(tool.name, registered.data);
|
|
148
|
+
return {
|
|
149
|
+
content: [{ type: 'text', text: JSON.stringify(validated) }],
|
|
150
|
+
structuredContent: validated,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
68
153
|
try {
|
|
69
154
|
const handler = await importDefiHandler(tool.handler.importPath, tool.handler.exportName);
|
|
70
155
|
if (MCP_NON_SUBMIT_TOOL_NAMES.has(tool.name)) {
|
|
@@ -79,7 +164,9 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
79
164
|
if (!enriched.ok) {
|
|
80
165
|
return sdkResultToCallToolResult(enriched);
|
|
81
166
|
}
|
|
82
|
-
const protocolFields =
|
|
167
|
+
const protocolFields = isAaveV4MultisignTool(tool.name)
|
|
168
|
+
? mapAaveV4MultisignBuilderArgs(tool.name, mergeAaveV4ParsedWithPrepared(parsedInput, aavePreparedFields), enriched.data)
|
|
169
|
+
: mapToolFieldsToBuilderArgs(tool.name, stripEnrichmentKeys(parsedInput));
|
|
83
170
|
const builderArgs = {
|
|
84
171
|
...protocolFields,
|
|
85
172
|
keyGen: enriched.data.keyGen,
|
|
@@ -99,6 +186,10 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
99
186
|
return sdkResultToCallToolResult(submitted);
|
|
100
187
|
}
|
|
101
188
|
const payload = { requestId: submitted.data.requestId };
|
|
189
|
+
if (tool.name === 'ctm_uniswap_v4_build_mint_liquidity_multisign') {
|
|
190
|
+
payload.followUp =
|
|
191
|
+
'After the batch executes, call ctm_uniswap_v4_register_position_from_mint_tx with the mint step transaction hash so agents can list and manage the new position via lp_list_positions.';
|
|
192
|
+
}
|
|
102
193
|
return {
|
|
103
194
|
content: [{ type: 'text', text: JSON.stringify(payload) }],
|
|
104
195
|
structuredContent: payload,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/mcp/defi/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACN,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAC,6BAA6B,EAAC,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/mcp/defi/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-adapter.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/input-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"input-adapter.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/input-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAOpD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAYpD;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAsCF,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CA6F9C;AAED,yEAAyE;AACzE,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB"}
|
|
@@ -1,17 +1,58 @@
|
|
|
1
1
|
import { formatUnits, getAddress } from 'viem';
|
|
2
|
+
import { parseUniswapChainId } from '@continuumdao/ctm-mpc-defi/protocols/evm/uniswap-v4';
|
|
2
3
|
import { fetchKeyGenResult } from '../../core/keygen.js';
|
|
3
4
|
import { resolveChainRegistryEntry } from '../../core/registry/networks.js';
|
|
4
5
|
import { parseKeyGenRequestId } from '../../core/keygen-id.js';
|
|
6
|
+
export function parseEvmChainId(raw) {
|
|
7
|
+
if (typeof raw === 'number' && Number.isFinite(raw)) {
|
|
8
|
+
return raw;
|
|
9
|
+
}
|
|
10
|
+
if (typeof raw === 'string' && raw.trim()) {
|
|
11
|
+
try {
|
|
12
|
+
return parseUniswapChainId(raw);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return Number.NaN;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return Number.NaN;
|
|
19
|
+
}
|
|
20
|
+
function chainDetailFromRegistry(chain) {
|
|
21
|
+
return {
|
|
22
|
+
legacy: chain.legacy,
|
|
23
|
+
gasLimit: chain.gasLimit,
|
|
24
|
+
gasMultiplier: chain.gasMultiplier,
|
|
25
|
+
gasPrice: chain.gasPrice,
|
|
26
|
+
baseFee: chain.baseFee,
|
|
27
|
+
priorityFee: chain.priorityFee,
|
|
28
|
+
baseFeeMultiplier: chain.baseFeeMultiplier,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
async function resolveRegistryRpcForChain(config, chainId) {
|
|
32
|
+
const chain = await resolveChainRegistryEntry(config, chainId);
|
|
33
|
+
if (!chain.ok) {
|
|
34
|
+
return chain;
|
|
35
|
+
}
|
|
36
|
+
const rpcUrl = String(chain.data.rpcGateway ?? '').trim();
|
|
37
|
+
if (!rpcUrl) {
|
|
38
|
+
return {
|
|
39
|
+
ok: false,
|
|
40
|
+
reason: `Chain registry entry for chainId ${chainId} has no rpcGateway. Configure it via get_chain_registry / add_to_chain_registry.`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
ok: true,
|
|
45
|
+
data: {
|
|
46
|
+
rpcUrl,
|
|
47
|
+
chainDetail: chainDetailFromRegistry(chain.data),
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
5
51
|
export async function enrichMultisignContext(config, input) {
|
|
6
52
|
const keyGenIdRaw = typeof input.keyGenId === 'string' && input.keyGenId.trim()
|
|
7
53
|
? input.keyGenId
|
|
8
54
|
: undefined;
|
|
9
|
-
const
|
|
10
|
-
const chainId = typeof chainIdRaw === 'number'
|
|
11
|
-
? chainIdRaw
|
|
12
|
-
: typeof chainIdRaw === 'string'
|
|
13
|
-
? Number.parseInt(chainIdRaw, 10)
|
|
14
|
-
: Number.NaN;
|
|
55
|
+
const chainId = parseEvmChainId(input.chainId);
|
|
15
56
|
if (keyGenIdRaw) {
|
|
16
57
|
const keyGenIdParsed = parseKeyGenRequestId(keyGenIdRaw);
|
|
17
58
|
if (!keyGenIdParsed.ok)
|
|
@@ -22,28 +63,16 @@ export async function enrichMultisignContext(config, input) {
|
|
|
22
63
|
const kg = await fetchKeyGenResult(config, keyGenIdParsed.data);
|
|
23
64
|
if (!kg.ok)
|
|
24
65
|
return kg;
|
|
25
|
-
const
|
|
26
|
-
if (!
|
|
27
|
-
return
|
|
66
|
+
const registry = await resolveRegistryRpcForChain(config, chainId);
|
|
67
|
+
if (!registry.ok)
|
|
68
|
+
return registry;
|
|
28
69
|
const pubkeyhex = String(kg.data.pubkeyhex ?? '').trim();
|
|
29
70
|
const eth = String(kg.data.ethereumaddress ?? '').trim();
|
|
30
71
|
if (!pubkeyhex || !eth) {
|
|
31
72
|
return { ok: false, reason: 'KeyGen result missing pubkeyhex or ethereumaddress.' };
|
|
32
73
|
}
|
|
33
|
-
const rpcUrl = String(chain.data.rpcGateway ?? '').trim();
|
|
34
|
-
if (!rpcUrl) {
|
|
35
|
-
return { ok: false, reason: 'Chain registry entry has no rpcGateway.' };
|
|
36
|
-
}
|
|
37
|
-
const chainDetail = {
|
|
38
|
-
legacy: chain.data.legacy,
|
|
39
|
-
gasLimit: chain.data.gasLimit,
|
|
40
|
-
gasMultiplier: chain.data.gasMultiplier,
|
|
41
|
-
gasPrice: chain.data.gasPrice,
|
|
42
|
-
baseFee: chain.data.baseFee,
|
|
43
|
-
priorityFee: chain.data.priorityFee,
|
|
44
|
-
baseFeeMultiplier: chain.data.baseFeeMultiplier,
|
|
45
|
-
};
|
|
46
74
|
const useCustomGas = Boolean(input.useCustomGas ?? false);
|
|
75
|
+
const { rpcUrl, chainDetail } = registry.data;
|
|
47
76
|
return {
|
|
48
77
|
ok: true,
|
|
49
78
|
data: {
|
|
@@ -63,23 +92,30 @@ export async function enrichMultisignContext(config, input) {
|
|
|
63
92
|
},
|
|
64
93
|
};
|
|
65
94
|
}
|
|
95
|
+
if (!Number.isFinite(chainId) || chainId <= 0) {
|
|
96
|
+
return { ok: false, reason: 'chainId must be a positive integer.' };
|
|
97
|
+
}
|
|
98
|
+
const registry = await resolveRegistryRpcForChain(config, chainId);
|
|
99
|
+
if (!registry.ok)
|
|
100
|
+
return registry;
|
|
66
101
|
const keyGen = input.keyGen;
|
|
67
102
|
if (!keyGen || typeof keyGen !== 'object' || Array.isArray(keyGen)) {
|
|
68
103
|
return {
|
|
69
104
|
ok: false,
|
|
70
|
-
reason: 'Provide keyGenId or
|
|
105
|
+
reason: 'Provide keyGenId (preferred) or keyGen + executorAddress with chainId.',
|
|
71
106
|
};
|
|
72
107
|
}
|
|
73
108
|
const kgObj = keyGen;
|
|
74
109
|
const pubkeyhex = String(kgObj.pubkeyhex ?? '').trim();
|
|
75
110
|
const executorAddress = String(input.executorAddress ?? '').trim();
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return { ok: false, reason: 'chainId must be a positive integer.' };
|
|
111
|
+
if (!pubkeyhex || !executorAddress) {
|
|
112
|
+
return {
|
|
113
|
+
ok: false,
|
|
114
|
+
reason: 'keyGen.pubkeyhex and executorAddress are required when keyGenId is omitted.',
|
|
115
|
+
};
|
|
82
116
|
}
|
|
117
|
+
const useCustomGas = Boolean(input.useCustomGas ?? false);
|
|
118
|
+
const { rpcUrl, chainDetail } = registry.data;
|
|
83
119
|
return {
|
|
84
120
|
ok: true,
|
|
85
121
|
data: {
|
|
@@ -95,14 +131,9 @@ export async function enrichMultisignContext(config, input) {
|
|
|
95
131
|
executorAddress: getAddress(executorAddress),
|
|
96
132
|
chainId,
|
|
97
133
|
rpcUrl,
|
|
98
|
-
chainDetail
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
useCustomGas: Boolean(input.useCustomGas ?? false),
|
|
102
|
-
customGasChainDetails: input.customGasChainDetails &&
|
|
103
|
-
typeof input.customGasChainDetails === 'object'
|
|
104
|
-
? input.customGasChainDetails
|
|
105
|
-
: undefined,
|
|
134
|
+
chainDetail,
|
|
135
|
+
useCustomGas,
|
|
136
|
+
customGasChainDetails: useCustomGas ? { ...chainDetail } : undefined,
|
|
106
137
|
},
|
|
107
138
|
};
|
|
108
139
|
}
|
|
@@ -123,7 +154,7 @@ export function mapToolFieldsToBuilderArgs(toolName, fields) {
|
|
|
123
154
|
return out;
|
|
124
155
|
}
|
|
125
156
|
export function stripEnrichmentKeys(input) {
|
|
126
|
-
const { keyGenId: _k, keyGen: _kg, executorAddress: _e, rpcUrl: _r, chainDetail: _c, customGasChainDetails: _g, ...rest } = input;
|
|
157
|
+
const { keyGenId: _k, keyGen: _kg, executorAddress: _e, rpcUrl: _r, chainDetail: _c, customGasChainDetails: _g, _aaveV4NativeWrapped: _anw, _aaveV4IsNativeIn: _ani, _aaveV4HubName: _ahn, ...rest } = input;
|
|
127
158
|
return rest;
|
|
128
159
|
}
|
|
129
160
|
//# sourceMappingURL=input-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-adapter.js","sourceRoot":"","sources":["../../../src/mcp/defi/input-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"input-adapter.js","sourceRoot":"","sources":["../../../src/mcp/defi/input-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-protocol-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/register-protocol-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAIvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAYtD,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,GAC9B,IAAI,CAaN;
|
|
1
|
+
{"version":3,"file":"register-protocol-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/register-protocol-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAIvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAYtD,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,GAC9B,IAAI,CAaN;AAsGD,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,GAChB,MAAM,EAAE,CASV"}
|