@continuumdao/continuum-node-sdk 1.3.30 → 1.3.32
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/agent-host-catalog.json +7 -0
- package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-agent-view.js +48 -7
- package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.d.ts +19 -13
- package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.js +132 -106
- package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts +31 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.js +301 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.js.map +1 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +161 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.js +139 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.d.ts +10 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.js +123 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +29 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.js +267 -8
- package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts +50 -0
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js +116 -0
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/shared.d.ts +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.js +2 -0
- package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +13 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +11 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +2 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +38 -3
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +4 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea.js +4 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts +2 -0
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js +6 -0
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts +8 -1
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js +13 -0
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts +20 -0
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js +54 -0
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.d.ts +41 -0
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.js +80 -0
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.js.map +1 -0
- package/dist/core/chart/fetch-agent-view.d.ts +17 -0
- package/dist/core/chart/fetch-agent-view.d.ts.map +1 -0
- package/dist/core/chart/fetch-agent-view.js +39 -0
- package/dist/core/chart/fetch-agent-view.js.map +1 -0
- package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
- package/dist/core/chart/live/binding-extract.js +34 -2
- package/dist/core/chart/live/binding-extract.js.map +1 -1
- package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
- package/dist/core/chart/live/fetch-tick.js +25 -1
- package/dist/core/chart/live/fetch-tick.js.map +1 -1
- package/dist/core/chart/live/index.d.ts +1 -1
- package/dist/core/chart/live/index.d.ts.map +1 -1
- package/dist/core/chart/live/index.js +1 -1
- package/dist/core/chart/live/index.js.map +1 -1
- package/dist/core/chart/live/schemas.d.ts +1 -0
- package/dist/core/chart/live/schemas.d.ts.map +1 -1
- package/dist/core/chart/live/schemas.js +1 -0
- package/dist/core/chart/live/schemas.js.map +1 -1
- package/dist/core/chart/overlay-schemas.d.ts +241 -0
- package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
- package/dist/core/chart/overlay-schemas.js +63 -0
- package/dist/core/chart/overlay-schemas.js.map +1 -1
- package/dist/core/chart/overlays.d.ts.map +1 -1
- package/dist/core/chart/overlays.js +72 -1
- package/dist/core/chart/overlays.js.map +1 -1
- package/dist/core/chart/prepare-from-rows.d.ts +60 -0
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/schemas.d.ts +240 -0
- package/dist/core/chart/schemas.d.ts.map +1 -1
- package/dist/core/coinmarketcap/schemas.d.ts +2 -2
- package/dist/core/elliott-waves/analyze.d.ts +38 -0
- package/dist/core/elliott-waves/analyze.d.ts.map +1 -0
- package/dist/core/elliott-waves/analyze.js +276 -0
- package/dist/core/elliott-waves/analyze.js.map +1 -0
- package/dist/core/elliott-waves/constants.d.ts +24 -0
- package/dist/core/elliott-waves/constants.d.ts.map +1 -0
- package/dist/core/elliott-waves/constants.js +24 -0
- package/dist/core/elliott-waves/constants.js.map +1 -0
- package/dist/core/elliott-waves/data-requirements.d.ts +22 -0
- package/dist/core/elliott-waves/data-requirements.d.ts.map +1 -0
- package/dist/core/elliott-waves/data-requirements.js +105 -0
- package/dist/core/elliott-waves/data-requirements.js.map +1 -0
- package/dist/core/elliott-waves/fibonacci-projector.d.ts +7 -0
- package/dist/core/elliott-waves/fibonacci-projector.d.ts.map +1 -0
- package/dist/core/elliott-waves/fibonacci-projector.js +20 -0
- package/dist/core/elliott-waves/fibonacci-projector.js.map +1 -0
- package/dist/core/elliott-waves/impulse-detector.d.ts +11 -0
- package/dist/core/elliott-waves/impulse-detector.d.ts.map +1 -0
- package/dist/core/elliott-waves/impulse-detector.js +294 -0
- package/dist/core/elliott-waves/impulse-detector.js.map +1 -0
- package/dist/core/elliott-waves/index.d.ts +10 -0
- package/dist/core/elliott-waves/index.d.ts.map +1 -0
- package/dist/core/elliott-waves/index.js +10 -0
- package/dist/core/elliott-waves/index.js.map +1 -0
- package/dist/core/elliott-waves/pivot-scanner.d.ts +40 -0
- package/dist/core/elliott-waves/pivot-scanner.d.ts.map +1 -0
- package/dist/core/elliott-waves/pivot-scanner.js +121 -0
- package/dist/core/elliott-waves/pivot-scanner.js.map +1 -0
- package/dist/core/elliott-waves/projection-builder.d.ts +32 -0
- package/dist/core/elliott-waves/projection-builder.d.ts.map +1 -0
- package/dist/core/elliott-waves/projection-builder.js +153 -0
- package/dist/core/elliott-waves/projection-builder.js.map +1 -0
- package/dist/core/elliott-waves/types.d.ts +117 -0
- package/dist/core/elliott-waves/types.d.ts.map +1 -0
- package/dist/core/elliott-waves/types.js +6 -0
- package/dist/core/elliott-waves/types.js.map +1 -0
- package/dist/core/elliott-waves/wave-labeler.d.ts +34 -0
- package/dist/core/elliott-waves/wave-labeler.d.ts.map +1 -0
- package/dist/core/elliott-waves/wave-labeler.js +95 -0
- package/dist/core/elliott-waves/wave-labeler.js.map +1 -0
- package/dist/core/elliott-waves/wave-math.d.ts +10 -0
- package/dist/core/elliott-waves/wave-math.d.ts.map +1 -0
- package/dist/core/elliott-waves/wave-math.js +61 -0
- package/dist/core/elliott-waves/wave-math.js.map +1 -0
- package/dist/core/mpc/broadcast-sign-result.d.ts +1 -0
- package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/broadcast-sign-result.js +129 -0
- package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
- package/dist/core/mpc/deliver-arcus-exchange.d.ts +17 -0
- package/dist/core/mpc/deliver-arcus-exchange.d.ts.map +1 -0
- package/dist/core/mpc/deliver-arcus-exchange.js +380 -0
- package/dist/core/mpc/deliver-arcus-exchange.js.map +1 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.d.ts +13 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.d.ts.map +1 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.js +93 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.js.map +1 -0
- package/dist/core/mpc/deliver-personal-sign.d.ts +13 -0
- package/dist/core/mpc/deliver-personal-sign.d.ts.map +1 -0
- package/dist/core/mpc/deliver-personal-sign.js +17 -0
- package/dist/core/mpc/deliver-personal-sign.js.map +1 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.d.ts +6 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.d.ts.map +1 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.js +59 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.js.map +1 -0
- package/dist/core/mpc/eip712-sign-request.d.ts +8 -0
- package/dist/core/mpc/eip712-sign-request.d.ts.map +1 -0
- package/dist/core/mpc/eip712-sign-request.js +65 -0
- package/dist/core/mpc/eip712-sign-request.js.map +1 -0
- package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/trigger-sign-result.js +15 -1
- package/dist/core/mpc/trigger-sign-result.js.map +1 -1
- package/dist/mcp/agent-host-catalog.d.ts +1 -1
- package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
- package/dist/mcp/agent-host-catalog.js +2 -1
- package/dist/mcp/agent-host-catalog.js.map +1 -1
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +33 -4
- package/dist/mcp/chart.js.map +1 -1
- package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
- package/dist/mcp/deferred/tool-group-map.js +7 -0
- package/dist/mcp/deferred/tool-group-map.js.map +1 -1
- package/dist/mcp/defi/bitquery-api-key.d.ts +16 -0
- package/dist/mcp/defi/bitquery-api-key.d.ts.map +1 -0
- package/dist/mcp/defi/bitquery-api-key.js +86 -0
- package/dist/mcp/defi/bitquery-api-key.js.map +1 -0
- package/dist/mcp/defi/catalog-adapter.d.ts +3 -2
- package/dist/mcp/defi/catalog-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/catalog-adapter.js +7 -2
- package/dist/mcp/defi/catalog-adapter.js.map +1 -1
- package/dist/mcp/defi/defi-protocol-fetch-meta.d.ts.map +1 -1
- package/dist/mcp/defi/defi-protocol-fetch-meta.js +8 -4
- package/dist/mcp/defi/defi-protocol-fetch-meta.js.map +1 -1
- package/dist/mcp/defi/eip712-multisign.d.ts +26 -0
- package/dist/mcp/defi/eip712-multisign.d.ts.map +1 -0
- package/dist/mcp/defi/eip712-multisign.js +74 -0
- package/dist/mcp/defi/eip712-multisign.js.map +1 -0
- package/dist/mcp/defi/handler.d.ts.map +1 -1
- package/dist/mcp/defi/handler.js +46 -29
- package/dist/mcp/defi/handler.js.map +1 -1
- package/dist/mcp/defi/ohlcv-chart-workflow.d.ts +4 -2
- package/dist/mcp/defi/ohlcv-chart-workflow.d.ts.map +1 -1
- package/dist/mcp/defi/ohlcv-chart-workflow.js +20 -8
- package/dist/mcp/defi/ohlcv-chart-workflow.js.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +36 -5
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/tool-schemas.d.ts +1 -3
- package/dist/mcp/defi/tool-schemas.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.js +3 -0
- package/dist/mcp/defi/uniswap-api-key.js.map +1 -1
- package/dist/mcp/defi/uniswap-limit-order-input.d.ts +10 -0
- package/dist/mcp/defi/uniswap-limit-order-input.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-limit-order-input.js +39 -0
- package/dist/mcp/defi/uniswap-limit-order-input.js.map +1 -0
- package/dist/mcp/defi/uniswap-quote-input.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-quote-input.js +45 -26
- package/dist/mcp/defi/uniswap-quote-input.js.map +1 -1
- package/dist/mcp/defi/uniswap-v4-ohlcv-chains.d.ts +2 -2
- package/dist/mcp/defi/uniswap-v4-ohlcv-chains.js +3 -3
- package/dist/mcp/defi/uniswap-v4-ohlcv-chains.js.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.js +56 -2
- package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
- package/dist/mcp/resources/agent-cron-jobs.md +22 -1
- package/dist/mcp/resources/chart-analysis.md +37 -3
- package/dist/mcp/resources/chart.md +5 -2
- package/dist/mcp/resources/uniswap-tpsl-monitor-cron.example.md +27 -0
- package/dist/mcp/trade-tools.d.ts.map +1 -1
- package/dist/mcp/trade-tools.js +192 -4
- package/dist/mcp/trade-tools.js.map +1 -1
- package/package.json +2 -2
package/dist/mcp/defi/handler.js
CHANGED
|
@@ -8,7 +8,10 @@ import { defiMultisignExpiryUnixSeconds } from '@continuumdao/ctm-mpc-defi/core'
|
|
|
8
8
|
import { parseAgentBoolean } from '@continuumdao/ctm-mpc-defi/agent';
|
|
9
9
|
import { injectUniswapApiKeyForTool } from './uniswap-api-key.js';
|
|
10
10
|
import { formatTheGraphToolErrorIfRateLimited, withTheGraphApiKeyFromNode, } from './the-graph-api-key.js';
|
|
11
|
+
import { formatBitqueryToolErrorIfAuth, withBitqueryApiKeyFromNode, } from './bitquery-api-key.js';
|
|
11
12
|
import { adaptUniswapQuoteMcpInput, isUniswapQuoteTool } from './uniswap-quote-input.js';
|
|
13
|
+
import { eip712MultisignEnrichedFields, eip712MultisignFollowUp, eip712MultisignKeyGenHint, shouldStripCustomGasForMultisignBuild, } from './eip712-multisign.js';
|
|
14
|
+
import { isUniswapLimitOrderMultisignTool, orderDeadlineFromLimitQuote, } from './uniswap-limit-order-input.js';
|
|
12
15
|
import { adaptUniswapLiquidityListPositionsMcpInput, adaptUniswapLiquidityPrepMcpInput, isUniswapLiquidityListPositionsTool, isUniswapLiquidityPrepTool, } from './uniswap-liquidity-input.js';
|
|
13
16
|
import { isUniswapRegisterPositionFromMintTxTool, isUniswapRegisterPositionNftTool, listUniswapV4PositionsFromTokenRegistryMcp, registerUniswapV4PositionFromMintTxMcp, registerUniswapV4PositionNftMcp, } from './uniswap-liquidity-registry.js';
|
|
14
17
|
import { adaptCurveQuoteMcpInput, isCurveQuoteTool } from './curve-quote-input.js';
|
|
@@ -20,11 +23,13 @@ function toolExpectsMultisignEnrichment(toolName) {
|
|
|
20
23
|
// Submit multisign builders (not quote/prep tools) always enrich keyGenId → keyGen/rpcUrl/…
|
|
21
24
|
return !MCP_NON_SUBMIT_TOOL_NAMES.has(toolName) && toolName.endsWith('_multisign');
|
|
22
25
|
}
|
|
23
|
-
function multisignAgentDefaults(input) {
|
|
26
|
+
function multisignAgentDefaults(input, stripCustomGas = false) {
|
|
24
27
|
const purposeText = String(input.purposeText ?? input.purpose ?? '').trim();
|
|
25
28
|
return {
|
|
26
29
|
...(purposeText ? { purposeText } : {}),
|
|
27
|
-
useCustomGas:
|
|
30
|
+
useCustomGas: stripCustomGas
|
|
31
|
+
? false
|
|
32
|
+
: parseAgentBoolean(input.useCustomGas, false),
|
|
28
33
|
};
|
|
29
34
|
}
|
|
30
35
|
export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
@@ -88,27 +93,31 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
88
93
|
? multisignInput.keyGenId.trim()
|
|
89
94
|
: '';
|
|
90
95
|
if (!keyGenId) {
|
|
96
|
+
const eip712Hint = eip712MultisignKeyGenHint(tool.name);
|
|
91
97
|
return sdkResultToCallToolResult({
|
|
92
98
|
ok: false,
|
|
93
|
-
reason: MULTISIGN_KEYGEN_ID_HINT,
|
|
99
|
+
reason: eip712Hint ?? MULTISIGN_KEYGEN_ID_HINT,
|
|
94
100
|
});
|
|
95
101
|
}
|
|
96
|
-
const
|
|
102
|
+
const stripCustomGas = shouldStripCustomGasForMultisignBuild(tool.name, multisignInput);
|
|
103
|
+
const enriched = await enrichMultisignContext(config, stripCustomGas ? { ...multisignInput, useCustomGas: false } : multisignInput);
|
|
97
104
|
if (!enriched.ok) {
|
|
98
105
|
return sdkResultToCallToolResult(enriched);
|
|
99
106
|
}
|
|
100
|
-
const enrichedFields =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
const enrichedFields = stripCustomGas
|
|
108
|
+
? eip712MultisignEnrichedFields(enriched.data)
|
|
109
|
+
: {
|
|
110
|
+
keyGen: enriched.data.keyGen,
|
|
111
|
+
executorAddress: enriched.data.executorAddress,
|
|
112
|
+
chainId: enriched.data.chainId,
|
|
113
|
+
rpcUrl: enriched.data.rpcUrl,
|
|
114
|
+
chainDetail: enriched.data.chainDetail,
|
|
115
|
+
useCustomGas: enriched.data.useCustomGas,
|
|
116
|
+
...(enriched.data.customGasChainDetails
|
|
117
|
+
? { customGasChainDetails: enriched.data.customGasChainDetails }
|
|
118
|
+
: {}),
|
|
119
|
+
};
|
|
120
|
+
const agentDefaults = multisignAgentDefaults(multisignInput, stripCustomGas);
|
|
112
121
|
if (isAaveV4MultisignTool(tool.name)) {
|
|
113
122
|
const prepared = await prepareAaveV4MultisignValidationInput(tool.name, multisignInput, enriched.data);
|
|
114
123
|
if (!prepared.ok) {
|
|
@@ -207,14 +216,15 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
207
216
|
try {
|
|
208
217
|
const handler = await importDefiHandler(tool.handler.importPath, tool.handler.exportName);
|
|
209
218
|
if (MCP_NON_SUBMIT_TOOL_NAMES.has(tool.name)) {
|
|
210
|
-
const result = await withTheGraphApiKeyFromNode(config, tool.name, async () => handler(parsedInput));
|
|
219
|
+
const result = await withTheGraphApiKeyFromNode(config, tool.name, async () => withBitqueryApiKeyFromNode(config, tool.name, async () => handler(parsedInput)));
|
|
211
220
|
const validated = parseMcpToolOutput(tool.name, result);
|
|
212
221
|
return {
|
|
213
222
|
content: [{ type: 'text', text: JSON.stringify(validated) }],
|
|
214
223
|
structuredContent: validated,
|
|
215
224
|
};
|
|
216
225
|
}
|
|
217
|
-
const
|
|
226
|
+
const stripCustomGas = shouldStripCustomGasForMultisignBuild(tool.name, parsedInput);
|
|
227
|
+
const enriched = await enrichMultisignContext(config, stripCustomGas ? { ...parsedInput, useCustomGas: false } : parsedInput);
|
|
218
228
|
if (!enriched.ok) {
|
|
219
229
|
return sdkResultToCallToolResult(enriched);
|
|
220
230
|
}
|
|
@@ -226,9 +236,12 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
226
236
|
? mapEulerV2MultisignBuilderArgs(tool.name, mergeEulerV2ParsedWithPrepared(parsedInput, eulerPreparedFields))
|
|
227
237
|
: mapToolFieldsToBuilderArgs(tool.name, stripEnrichmentKeys(parsedInput));
|
|
228
238
|
const purposeText = String(parsedInput.purposeText ?? '').trim();
|
|
239
|
+
const limitOrderQuoteDeadline = isUniswapLimitOrderMultisignTool(tool.name)
|
|
240
|
+
? orderDeadlineFromLimitQuote(parsedInput.fullLimitQuote)
|
|
241
|
+
: undefined;
|
|
229
242
|
const explicitExpiry = typeof parsedInput.expiryDate === 'number' && parsedInput.expiryDate > 0
|
|
230
243
|
? parsedInput.expiryDate
|
|
231
|
-
:
|
|
244
|
+
: limitOrderQuoteDeadline;
|
|
232
245
|
const expiryDate = defiMultisignExpiryUnixSeconds(tool.protocolId, explicitExpiry);
|
|
233
246
|
const builderArgs = {
|
|
234
247
|
...protocolFields,
|
|
@@ -237,12 +250,16 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
237
250
|
chainId: enriched.data.chainId,
|
|
238
251
|
rpcUrl: enriched.data.rpcUrl,
|
|
239
252
|
chainDetail: enriched.data.chainDetail,
|
|
240
|
-
|
|
253
|
+
...(stripCustomGas
|
|
254
|
+
? {}
|
|
255
|
+
: {
|
|
256
|
+
useCustomGas: enriched.data.useCustomGas,
|
|
257
|
+
...(enriched.data.customGasChainDetails
|
|
258
|
+
? { customGasChainDetails: enriched.data.customGasChainDetails }
|
|
259
|
+
: {}),
|
|
260
|
+
}),
|
|
241
261
|
purposeText,
|
|
242
262
|
...(expiryDate != null ? { expiryDate } : {}),
|
|
243
|
-
...(enriched.data.customGasChainDetails
|
|
244
|
-
? { customGasChainDetails: enriched.data.customGasChainDetails }
|
|
245
|
-
: {}),
|
|
246
263
|
};
|
|
247
264
|
const built = await handler(builderArgs);
|
|
248
265
|
const buildOut = parseMultisignBuilderOutput(built);
|
|
@@ -254,15 +271,14 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
254
271
|
return sdkResultToCallToolResult(submitted);
|
|
255
272
|
}
|
|
256
273
|
const lifecycleFollowUp = 'Do not call this build tool again. Join agreement may take days — do not poll wait_for_sign_request_ready. When ready: sign_request_agree → trigger_sign_result → broadcast_sign_result.';
|
|
257
|
-
const eip712FollowUp =
|
|
274
|
+
const eip712FollowUp = eip712MultisignFollowUp(tool.name, buildOut.bodyForSign);
|
|
258
275
|
const payload = {
|
|
259
276
|
requestId: submitted.data.requestId,
|
|
260
277
|
status: 'submitted',
|
|
261
|
-
followUp:
|
|
262
|
-
|
|
263
|
-
: tool.name === 'ctm_uniswap_v4_build_mint_liquidity_multisign'
|
|
278
|
+
followUp: eip712FollowUp ??
|
|
279
|
+
(tool.name === 'ctm_uniswap_v4_build_mint_liquidity_multisign'
|
|
264
280
|
? `${lifecycleFollowUp} After execute: ctm_uniswap_v4_register_position_from_mint_tx with the mint tx hash.`
|
|
265
|
-
: lifecycleFollowUp,
|
|
281
|
+
: lifecycleFollowUp),
|
|
266
282
|
};
|
|
267
283
|
if (tool.name === 'ctm_cctp_build_burn_multisign') {
|
|
268
284
|
try {
|
|
@@ -284,6 +300,7 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
284
300
|
catch (error) {
|
|
285
301
|
const message = error instanceof Error ? error.message : String(error);
|
|
286
302
|
const graphHint = formatTheGraphToolErrorIfRateLimited(tool.name, message);
|
|
303
|
+
const bitqueryHint = formatBitqueryToolErrorIfAuth(tool.name, message);
|
|
287
304
|
const multisignRetryHint = MCP_NON_SUBMIT_TOOL_NAMES.has(tool.name)
|
|
288
305
|
? ''
|
|
289
306
|
: ' If unsure whether a request was already created, call list_sign_requests before retrying this build tool.';
|
|
@@ -291,7 +308,7 @@ export async function executeDefiMcpTool(config, defiContext, tool, rawInput) {
|
|
|
291
308
|
content: [
|
|
292
309
|
{
|
|
293
310
|
type: 'text',
|
|
294
|
-
text: (graphHint ?? message + multisignRetryHint),
|
|
311
|
+
text: (graphHint ?? bitqueryHint ?? message + multisignRetryHint),
|
|
295
312
|
},
|
|
296
313
|
],
|
|
297
314
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/mcp/defi/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/mcp/defi/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/** First fetch_ohlcv tool for a protocol, if any. */
|
|
2
2
|
export declare function defiProtocolFetchOhlcvToolName(protocolId: string): string | undefined;
|
|
3
|
+
/** Load-only path after fetch_ohlcv — cron / prefetch; no chart unless operator asks later. */
|
|
4
|
+
export declare function defiOhlcvFetchOnlyWorkflowReminder(protocolId: string, fetchTool: string): string;
|
|
3
5
|
/** Analysis-only path after fetch_ohlcv — no chart envelope. */
|
|
4
6
|
export declare function defiOhlcvAnalysisWorkflowReminder(protocolId: string, fetchTool: string): string;
|
|
5
|
-
/** Chart/plot path after fetch_ohlcv. */
|
|
7
|
+
/** Chart/plot path after fetch_ohlcv — only when operator asked to chart. */
|
|
6
8
|
export declare function defiOhlcvChartWorkflowReminder(protocolId: string, fetchTool: string): string;
|
|
7
|
-
/**
|
|
9
|
+
/** Default after load_defi_protocol — fetch/load + analysis lanes only (chart lane is separate chartWorkflow). */
|
|
8
10
|
export declare function defiOhlcvWorkflowReminder(protocolId: string, fetchTool: string): string;
|
|
9
11
|
//# sourceMappingURL=ohlcv-chart-workflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ohlcv-chart-workflow.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/ohlcv-chart-workflow.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErF;AAED,gEAAgE;AAChE,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU/F;AAED,
|
|
1
|
+
{"version":3,"file":"ohlcv-chart-workflow.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/ohlcv-chart-workflow.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErF;AAED,+FAA+F;AAC/F,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAUhG;AAED,gEAAgE;AAChE,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU/F;AAED,6EAA6E;AAC7E,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU5F;AAED,kHAAkH;AAClH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMvF"}
|
|
@@ -3,36 +3,48 @@ import { getToolsForProtocol } from './catalog-adapter.js';
|
|
|
3
3
|
export function defiProtocolFetchOhlcvToolName(protocolId) {
|
|
4
4
|
return getToolsForProtocol(protocolId).find(t => t.name.includes('fetch_ohlcv'))?.name;
|
|
5
5
|
}
|
|
6
|
+
/** Load-only path after fetch_ohlcv — cron / prefetch; no chart unless operator asks later. */
|
|
7
|
+
export function defiOhlcvFetchOnlyWorkflowReminder(protocolId, fetchTool) {
|
|
8
|
+
return [
|
|
9
|
+
`Load-only OHLCV for ${protocolId} (cron / prefetch — no chart unless operator asks later):`,
|
|
10
|
+
`0. Call get_defi_protocol_fetch_options — pick chainId (protocol.fetch.chain.set UI or ask operator).`,
|
|
11
|
+
`1. Call ${fetchTool} with chainId + JSON numbers for lookbackDays / lookbackHours.`,
|
|
12
|
+
'2. Summarize meta.ohlcvSummary (high, low, lastClose, barCount) and meta.sessionBind from the slim fetch response — STOP.',
|
|
13
|
+
'3. Do NOT call prepare_chart_from_rows unless the operator explicitly asks to chart / plot / draw.',
|
|
14
|
+
'4. Later chart (same session): prepare_chart_from_rows({ title, ohlcvDigest }) from meta.sessionBind — no re-fetch.',
|
|
15
|
+
'When analysis is requested on follow-up: analyze_* with { title, ohlcvDigest } — not the full candle JSON.',
|
|
16
|
+
].join('\n');
|
|
17
|
+
}
|
|
6
18
|
/** Analysis-only path after fetch_ohlcv — no chart envelope. */
|
|
7
19
|
export function defiOhlcvAnalysisWorkflowReminder(protocolId, fetchTool) {
|
|
8
20
|
return [
|
|
9
21
|
`Analysis-only OHLCV for ${protocolId} (interpret / analyze — no chart required):`,
|
|
10
22
|
`0. Call get_defi_protocol_fetch_options — pick chainId (protocol.fetch.chain.set UI or ask operator).`,
|
|
11
|
-
`1. Call ${fetchTool} with chainId for candle rows.`,
|
|
23
|
+
`1. Call ${fetchTool} with chainId for candle rows (or reuse bound session via meta.sessionBind).`,
|
|
12
24
|
'2. Call continuum__list_chart_analysis_options when the analysis type is unclear.',
|
|
13
|
-
'3. Call matching continuum__analyze_* with
|
|
25
|
+
'3. Call matching continuum__analyze_* with full fetch JSON as toolResult on first call, or { title, ohlcvDigest } on follow-ups.',
|
|
14
26
|
'4. Summarize { analysis, meta } in prose. Do NOT call prepare_chart_from_rows unless the operator asked to draw a chart.',
|
|
15
27
|
'Skills: chart-analysis-menu (initialLoad), chart_analysis_docs. Orchestration analysis sub-agents must stop here.',
|
|
16
28
|
].join('\n');
|
|
17
29
|
}
|
|
18
|
-
/** Chart/plot path after fetch_ohlcv. */
|
|
30
|
+
/** Chart/plot path after fetch_ohlcv — only when operator asked to chart. */
|
|
19
31
|
export function defiOhlcvChartWorkflowReminder(protocolId, fetchTool) {
|
|
20
32
|
return [
|
|
21
33
|
`Chart/plot OHLCV for ${protocolId} (operator asked to chart / graph / plot / draw):`,
|
|
22
34
|
`0. Call get_defi_protocol_fetch_options({ protocolId: "${protocolId}" }) — pick chainId (UI protocol.fetch.chain.set or ask operator). Required when multiple chains exist.`,
|
|
23
|
-
`1. Call ${fetchTool} with chainId + JSON numbers for lookbackDays / lookbackHours (e.g. lookbackDays: 30 — not "30").`,
|
|
24
|
-
'2. Same agent turn — call continuum__prepare_chart_from_rows with the **full fetch object** as toolResult (not a JSON string; never truncate candles).',
|
|
35
|
+
`1. Call ${fetchTool} with chainId + JSON numbers for lookbackDays / lookbackHours (e.g. lookbackDays: 30 — not "30"), or reuse bound session via meta.sessionBind.`,
|
|
36
|
+
'2. Same agent turn — call continuum__prepare_chart_from_rows with the **full fetch object** as toolResult (not a JSON string; never truncate candles), or { title, ohlcvDigest } when fetch is already bound.',
|
|
25
37
|
'Do NOT use fetch_market_snapshot for chart history — it returns ~48 recent bars only.',
|
|
26
38
|
'Fetching candles does not render a chart. The UI only draws continuum/chart/v1 from prepare_chart_from_rows — not assistant markdown.',
|
|
27
39
|
'Skills: chart-defaults, chart-periods, chart_docs.',
|
|
28
40
|
].join('\n');
|
|
29
41
|
}
|
|
30
|
-
/**
|
|
42
|
+
/** Default after load_defi_protocol — fetch/load + analysis lanes only (chart lane is separate chartWorkflow). */
|
|
31
43
|
export function defiOhlcvWorkflowReminder(protocolId, fetchTool) {
|
|
32
44
|
return [
|
|
33
|
-
|
|
45
|
+
defiOhlcvFetchOnlyWorkflowReminder(protocolId, fetchTool),
|
|
34
46
|
'',
|
|
35
|
-
|
|
47
|
+
defiOhlcvAnalysisWorkflowReminder(protocolId, fetchTool),
|
|
36
48
|
].join('\n');
|
|
37
49
|
}
|
|
38
50
|
//# sourceMappingURL=ohlcv-chart-workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ohlcv-chart-workflow.js","sourceRoot":"","sources":["../../../src/mcp/defi/ohlcv-chart-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAEzD,qDAAqD;AACrD,MAAM,UAAU,8BAA8B,CAAC,UAAkB;IAChE,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;AACxF,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,iCAAiC,CAAC,UAAkB,EAAE,SAAiB;IACtF,OAAO;QACN,2BAA2B,UAAU,6CAA6C;QAClF,uGAAuG;QACvG,WAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"ohlcv-chart-workflow.js","sourceRoot":"","sources":["../../../src/mcp/defi/ohlcv-chart-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAEzD,qDAAqD;AACrD,MAAM,UAAU,8BAA8B,CAAC,UAAkB;IAChE,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;AACxF,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,kCAAkC,CAAC,UAAkB,EAAE,SAAiB;IACvF,OAAO;QACN,uBAAuB,UAAU,2DAA2D;QAC5F,uGAAuG;QACvG,WAAW,SAAS,gEAAgE;QACpF,2HAA2H;QAC3H,oGAAoG;QACpG,qHAAqH;QACrH,4GAA4G;KAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,iCAAiC,CAAC,UAAkB,EAAE,SAAiB;IACtF,OAAO;QACN,2BAA2B,UAAU,6CAA6C;QAClF,uGAAuG;QACvG,WAAW,SAAS,8EAA8E;QAClG,mFAAmF;QACnF,kIAAkI;QAClI,0HAA0H;QAC1H,mHAAmH;KACnH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,8BAA8B,CAAC,UAAkB,EAAE,SAAiB;IACnF,OAAO;QACN,wBAAwB,UAAU,mDAAmD;QACrF,0DAA0D,UAAU,yGAAyG;QAC7K,WAAW,SAAS,gJAAgJ;QACpK,+MAA+M;QAC/M,uFAAuF;QACvF,uIAAuI;QACvI,oDAAoD;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,yBAAyB,CAAC,UAAkB,EAAE,SAAiB;IAC9E,OAAO;QACN,kCAAkC,CAAC,UAAU,EAAE,SAAS,CAAC;QACzD,EAAE;QACF,iCAAiC,CAAC,UAAU,EAAE,SAAS,CAAC;KACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -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;
|
|
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;AAiBtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAkBhE,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,EAChC,eAAe,CAAC,EAAE,mBAAmB,GACnC,IAAI,CAgBN;AAoID,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,GAChB,MAAM,EAAE,CASV"}
|
|
@@ -6,6 +6,23 @@ import { UNISWAP_V4_API_KEY_TOOL_NAMES, UNISWAP_API_KEY_ENV, UNISWAP_API_KEY_SIG
|
|
|
6
6
|
import { defiToolInputSchema, defiToolOutputSchema } from './tool-schemas.js';
|
|
7
7
|
import { isAaveV4MultisignTool } from './aave-v4-input.js';
|
|
8
8
|
import { isMorphoMultisignTool } from './morpho-input.js';
|
|
9
|
+
import { isUniswapLimitOrderMultisignTool } from './uniswap-limit-order-input.js';
|
|
10
|
+
import { HYPERLIQUID_LIMIT_ORDER_MULTISIGN_TOOL, HYPERLIQUID_STATIC_EIP712_MULTISIGN_TOOLS, } from './eip712-multisign.js';
|
|
11
|
+
function multisignCreateGuidance(toolName) {
|
|
12
|
+
if (isUniswapLimitOrderMultisignTool(toolName)) {
|
|
13
|
+
return 'Pass keyGenId + chainId 1 + purposeText + fullLimitQuote from a fresh ctm_uniswap_v4_limit_order_quote. EIP-712 only — useCustomGas is not used (do not call get_multi_sign_gas_options for this tool).';
|
|
14
|
+
}
|
|
15
|
+
if (HYPERLIQUID_STATIC_EIP712_MULTISIGN_TOOLS.has(toolName)) {
|
|
16
|
+
return 'Pass keyGenId + chainId + purposeText + tool-specific fields. EIP-712 only — useCustomGas is not used (do not call get_multi_sign_gas_options). trigger_sign_result without txParams; broadcast_sign_result POSTs to Hyperliquid /exchange.';
|
|
17
|
+
}
|
|
18
|
+
if (toolName === HYPERLIQUID_LIMIT_ORDER_MULTISIGN_TOOL) {
|
|
19
|
+
return 'Plain limit (no TP/SL): CoreWriter EVM tx on HyperEVM — call get_multi_sign_gas_options and pass useCustomGas. With takeProfitTriggerPxHuman and/or stopLossTriggerPxHuman: EIP-712 normalTpsl bracket — no useCustomGas, trigger without txParams, broadcast POSTs to /exchange.';
|
|
20
|
+
}
|
|
21
|
+
if (toolName === 'ctm_gmx_build_increase_multisign') {
|
|
22
|
+
return `Pass keyGenId + chainId + purposeText (server resolves keyGen, executorAddress, rpcUrl from get_chain_registry rpcGateway, chainDetail). Do not pass rpcUrl. ${MULTISIGN_CREATE_GAS_GUIDANCE} GMX TP/SL (takeProfitPriceUsdHuman / stopLossPriceUsdHuman) is on-chain classic orders — useCustomGas applies; not EIP-712.`;
|
|
23
|
+
}
|
|
24
|
+
return `Pass keyGenId + chainId + purposeText (server resolves keyGen, executorAddress, rpcUrl from get_chain_registry rpcGateway, chainDetail). Do not pass rpcUrl. ${MULTISIGN_CREATE_GAS_GUIDANCE}`;
|
|
25
|
+
}
|
|
9
26
|
/** Register every DeFi catalog tool; calls are gated by DefiProtocolContext.load state. */
|
|
10
27
|
export function registerAllDefiProtocolTools(server, config, defiContext, deferredSession) {
|
|
11
28
|
const byProtocol = new Map();
|
|
@@ -27,9 +44,7 @@ export function registerAllDefiProtocolTools(server, config, defiContext, deferr
|
|
|
27
44
|
function registerDefiTool(server, config, defiContext, tool, deferredSession) {
|
|
28
45
|
const description = [
|
|
29
46
|
tool.description,
|
|
30
|
-
!MCP_NON_SUBMIT_TOOL_NAMES.has(tool.name)
|
|
31
|
-
? `Pass keyGenId + chainId + purposeText (server resolves keyGen, executorAddress, rpcUrl from get_chain_registry rpcGateway, chainDetail). Do not pass rpcUrl. ${MULTISIGN_CREATE_GAS_GUIDANCE}`
|
|
32
|
-
: '',
|
|
47
|
+
!MCP_NON_SUBMIT_TOOL_NAMES.has(tool.name) ? multisignCreateGuidance(tool.name) : '',
|
|
33
48
|
UNISWAP_V4_API_KEY_TOOL_NAMES.has(tool.name)
|
|
34
49
|
? `Uses ${UNISWAP_API_KEY_ENV} from Node → AI Agent → Variables (get a key at ${UNISWAP_API_KEY_SIGNUP_URL}). The server injects the API key automatically — do not pass uniswapApiKey. Check configuration with list_environment_variables.${tool.name === 'ctm_uniswap_v4_quote'
|
|
35
50
|
? ' Pass keyGenId (preferred KeyGen id) or swapper. Quote defaults match the node app: permit2Disabled true, slippage 0.5, native ETH tokenIn 0x0.'
|
|
@@ -44,11 +59,18 @@ function registerDefiTool(server, config, defiContext, tool, deferredSession) {
|
|
|
44
59
|
tool.name === 'ctm_uniswap_v4_build_swap_multisign'
|
|
45
60
|
? 'Call get_defi_protocol_skill({ protocolId: "uniswap-v4" }). Three-step: quote → create_swap → build_swap_multisign. Native ETH tokenIn: 0x0. amount on quote is base units (wei).'
|
|
46
61
|
: '',
|
|
62
|
+
tool.name === 'ctm_uniswap_v4_limit_order_quote' ||
|
|
63
|
+
tool.name === 'ctm_uniswap_v4_build_limit_order_multisign'
|
|
64
|
+
? 'UniswapX limit orders: mainnet (chainId 1) only. limit_order_quote → build_limit_order_multisign (EIP-712, no gas). Re-quote immediately before build when limitPrice or orderDeadline changes — never reuse a stale fullLimitQuote. Pass keyGenId (server resolves swapper). After sign, delivery POSTs to Trade API /v1/order.'
|
|
65
|
+
: '',
|
|
66
|
+
tool.name === 'ctm_uniswap_v4_fetch_limit_orders'
|
|
67
|
+
? 'List open UniswapX limit orders for swapper on Ethereum mainnet. Pass keyGenId or swapper (server resolves swapper from keyGenId).'
|
|
68
|
+
: '',
|
|
47
69
|
tool.name === 'ctm_uniswap_v4_list_lp_pools'
|
|
48
70
|
? 'List standard V4 LP pools for a chain (ETH/USDC etc. at 0.05%, 0.3%, 1% fee tiers). Returns presetId and computed poolReference. Use presetId as poolPreset on lp_create_position or fetch_ohlcv.'
|
|
49
71
|
: '',
|
|
50
72
|
tool.name === 'ctm_uniswap_v4_fetch_ohlcv'
|
|
51
|
-
? 'Pool OHLCV: list_lp_pools → fetch_ohlcv with poolPreset + interval + lookbackDays.
|
|
73
|
+
? 'Pool OHLCV: list_lp_pools → fetch_ohlcv with poolPreset + interval + lookbackDays (subgraph chains). Robinhood (4663): currencyAddress/currencySymbol or existingPool + BITQUERY_API_KEY. Optional THE_GRAPH_API_KEY for subgraph rate limits (not UNISWAP_API_KEY). Full fetch JSON → prepare_chart_from_rows or analyze_*.'
|
|
52
74
|
: '',
|
|
53
75
|
tool.name === 'ctm_uniswap_v4_lp_create_position' ||
|
|
54
76
|
tool.name === 'ctm_uniswap_v4_build_mint_liquidity_multisign'
|
|
@@ -82,7 +104,16 @@ function registerDefiTool(server, config, defiContext, tool, deferredSession) {
|
|
|
82
104
|
? 'Vault deposit: ctm_morpho_fetch_earn_vaults then build_vault_deposit_multisign — copy vaultAddress + underlyingAddress from the fetch row into the build tool (same field names). See tool input schema for required fields. Do not use create_compose_multi_sign_request.'
|
|
83
105
|
: '',
|
|
84
106
|
tool.name === 'ctm_hyperliquid_build_update_leverage_multisign'
|
|
85
|
-
? 'Set leverage/cross: ctm_hyperliquid_fetch_open_context (leverageLabel) + fetch_markets (maxLeverage). EIP-712
|
|
107
|
+
? 'Set leverage/cross: ctm_hyperliquid_fetch_open_context (leverageLabel) + fetch_markets (maxLeverage). EIP-712 L1 /exchange — not CoreWriter, no useCustomGas. trigger_sign_result without txParams; broadcast_sign_result POSTs signature to Hyperliquid /exchange. isCross true (default) or false for isolated.'
|
|
108
|
+
: '',
|
|
109
|
+
tool.name === 'ctm_hyperliquid_build_bridge_withdraw_multisign'
|
|
110
|
+
? 'Withdraw USDC Hyperliquid → Arbitrum via withdraw3. EIP-712 L1 /exchange — no useCustomGas. trigger_sign_result without txParams; broadcast_sign_result POSTs to /exchange.'
|
|
111
|
+
: '',
|
|
112
|
+
tool.name === 'ctm_hyperliquid_build_limit_order_multisign'
|
|
113
|
+
? 'Plain limit: CoreWriter on HyperEVM (useCustomGas). With takeProfitTriggerPxHuman and/or stopLossTriggerPxHuman: EIP-712 normalTpsl bracket to /exchange (no gas). Re-build if entry/TP/SL params change.'
|
|
114
|
+
: '',
|
|
115
|
+
tool.name === 'ctm_gmx_build_increase_multisign'
|
|
116
|
+
? 'GMX classic increase (market/limit). Optional takeProfitPriceUsdHuman / stopLossPriceUsdHuman attach native on-chain TP/SL decrease orders — still EVM gas + broadcast, not EIP-712.'
|
|
86
117
|
: '',
|
|
87
118
|
tool.prerequisites.length
|
|
88
119
|
? `Prerequisites: ${tool.prerequisites.join('; ')}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-protocol-tools.js","sourceRoot":"","sources":["../../../src/mcp/defi/register-protocol-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,6BAA6B,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACN,6BAA6B,EAC7B,mBAAmB,EACnB,0BAA0B,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-protocol-tools.js","sourceRoot":"","sources":["../../../src/mcp/defi/register-protocol-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,7 @@ type DefiToolSchemaSource = {
|
|
|
5
5
|
outputZod: AnySchema;
|
|
6
6
|
};
|
|
7
7
|
type ZodObjectLike = AnySchema & {
|
|
8
|
-
omit: (keys:
|
|
9
|
-
uniswapApiKey: true;
|
|
10
|
-
}) => AnySchema;
|
|
8
|
+
omit: (keys: Record<string, true>) => AnySchema;
|
|
11
9
|
partial: (keys: Record<string, true>) => AnySchema;
|
|
12
10
|
passthrough: () => AnySchema;
|
|
13
11
|
shape: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gDAAgD,CAAC;AAe9E,KAAK,oBAAoB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG,SAAS,GAAG;IAChC,IAAI,EAAE,CAAC,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gDAAgD,CAAC;AAe9E,KAAK,oBAAoB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG,SAAS,GAAG;IAChC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC;IACnD,WAAW,EAAE,MAAM,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAwBF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAahF;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,SAAS,CAiCzE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,SAAS,CAK1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap-api-key.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-api-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,eAAO,MAAM,0BAA0B,qDACY,CAAC;AAEpD,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"uniswap-api-key.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-api-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,eAAO,MAAM,0BAA0B,qDACY,CAAC;AAEpD,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,aAUxC,CAAC;AAEH,wBAAgB,kCAAkC,IAAI,cAAc,CAenE;AAED,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7B;AAED,gEAAgE;AAChE,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CACT;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAC,CAChF,CAiBA"}
|
|
@@ -5,6 +5,9 @@ export const UNISWAP_API_KEY_SIGNUP_URL = 'https://developers.uniswap.org/dashbo
|
|
|
5
5
|
export const UNISWAP_V4_API_KEY_TOOL_NAMES = new Set([
|
|
6
6
|
'ctm_uniswap_v4_quote',
|
|
7
7
|
'ctm_uniswap_v4_create_swap',
|
|
8
|
+
'ctm_uniswap_v4_limit_order_quote',
|
|
9
|
+
'ctm_uniswap_v4_build_limit_order_multisign',
|
|
10
|
+
'ctm_uniswap_v4_fetch_limit_orders',
|
|
8
11
|
'ctm_uniswap_v4_lp_create_position',
|
|
9
12
|
'ctm_uniswap_v4_lp_increase',
|
|
10
13
|
'ctm_uniswap_v4_lp_decrease',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap-api-key.js","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-api-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2CAA2C,CAAC;AAGjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,0BAA0B,GACtC,kDAAkD,CAAC;AAEpD,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IACpD,sBAAsB;IACtB,4BAA4B;IAC5B,mCAAmC;IACnC,4BAA4B;IAC5B,4BAA4B;IAC5B,2BAA2B;CAC3B,CAAC,CAAC;AAEH,MAAM,UAAU,kCAAkC;IACjD,OAAO;QACN,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;oBACL,2CAA2C;oBAC3C,4BAA4B,mBAAmB,mFAAmF;oBAClI,mBAAmB,0BAA0B,EAAE;oBAC/C,gGAAgG;iBAChG,CAAC,IAAI,CAAC,IAAI,CAAC;aACZ;SACD;QACD,OAAO,EAAE,IAAI;KACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE;QACnD,IAAI,EAAE,mBAAmB;KACzB,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,KAAK,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,MAAqB;IAErB,OAAO,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,MAAqB,EACrB,QAAgB,EAChB,KAA8B;IAI9B,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,EAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACN,GAAG,KAAK;YACR,aAAa,EAAE,MAAM;SACrB;KACD,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"uniswap-api-key.js","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-api-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2CAA2C,CAAC;AAGjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,0BAA0B,GACtC,kDAAkD,CAAC;AAEpD,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IACpD,sBAAsB;IACtB,4BAA4B;IAC5B,kCAAkC;IAClC,4CAA4C;IAC5C,mCAAmC;IACnC,mCAAmC;IACnC,4BAA4B;IAC5B,4BAA4B;IAC5B,2BAA2B;CAC3B,CAAC,CAAC;AAEH,MAAM,UAAU,kCAAkC;IACjD,OAAO;QACN,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;oBACL,2CAA2C;oBAC3C,4BAA4B,mBAAmB,mFAAmF;oBAClI,mBAAmB,0BAA0B,EAAE;oBAC/C,gGAAgG;iBAChG,CAAC,IAAI,CAAC,IAAI,CAAC;aACZ;SACD;QACD,OAAO,EAAE,IAAI;KACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE;QACnD,IAAI,EAAE,mBAAmB;KACzB,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,KAAK,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,MAAqB;IAErB,OAAO,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,MAAqB,EACrB,QAAgB,EAChB,KAA8B;IAI9B,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,EAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACN,GAAG,KAAK;YACR,aAAa,EAAE,MAAM;SACrB;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const UNISWAP_V4_LIMIT_ORDER_QUOTE_TOOL_NAME = "ctm_uniswap_v4_limit_order_quote";
|
|
2
|
+
export declare const UNISWAP_V4_FETCH_LIMIT_ORDERS_TOOL_NAME = "ctm_uniswap_v4_fetch_limit_orders";
|
|
3
|
+
export declare const UNISWAP_V4_BUILD_LIMIT_ORDER_MULTISIGN_TOOL_NAME = "ctm_uniswap_v4_build_limit_order_multisign";
|
|
4
|
+
export declare function isUniswapLimitOrderKeyTool(toolName: string): boolean;
|
|
5
|
+
export declare function isUniswapLimitOrderMultisignTool(toolName: string): boolean;
|
|
6
|
+
/** @deprecated Use eip712MultisignEnrichedFields from ./eip712-multisign.js */
|
|
7
|
+
export { eip712MultisignEnrichedFields as limitOrderMultisignEnrichedFields } from './eip712-multisign.js';
|
|
8
|
+
/** Order expiry from limit_order_quote JSON (quote.orderInfo.deadline). */
|
|
9
|
+
export declare function orderDeadlineFromLimitQuote(fullLimitQuote: unknown): number | undefined;
|
|
10
|
+
//# sourceMappingURL=uniswap-limit-order-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswap-limit-order-input.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-limit-order-input.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sCAAsC,qCAAqC,CAAC;AACzF,eAAO,MAAM,uCAAuC,sCAAsC,CAAC;AAC3F,eAAO,MAAM,gDAAgD,+CAChB,CAAC;AAE9C,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKpE;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,+EAA+E;AAC/E,OAAO,EAAC,6BAA6B,IAAI,iCAAiC,EAAC,MAAM,uBAAuB,CAAC;AAEzG,2EAA2E;AAC3E,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA0BvF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const UNISWAP_V4_LIMIT_ORDER_QUOTE_TOOL_NAME = 'ctm_uniswap_v4_limit_order_quote';
|
|
2
|
+
export const UNISWAP_V4_FETCH_LIMIT_ORDERS_TOOL_NAME = 'ctm_uniswap_v4_fetch_limit_orders';
|
|
3
|
+
export const UNISWAP_V4_BUILD_LIMIT_ORDER_MULTISIGN_TOOL_NAME = 'ctm_uniswap_v4_build_limit_order_multisign';
|
|
4
|
+
export function isUniswapLimitOrderKeyTool(toolName) {
|
|
5
|
+
return (toolName === UNISWAP_V4_LIMIT_ORDER_QUOTE_TOOL_NAME ||
|
|
6
|
+
toolName === UNISWAP_V4_FETCH_LIMIT_ORDERS_TOOL_NAME);
|
|
7
|
+
}
|
|
8
|
+
export function isUniswapLimitOrderMultisignTool(toolName) {
|
|
9
|
+
return toolName === UNISWAP_V4_BUILD_LIMIT_ORDER_MULTISIGN_TOOL_NAME;
|
|
10
|
+
}
|
|
11
|
+
/** @deprecated Use eip712MultisignEnrichedFields from ./eip712-multisign.js */
|
|
12
|
+
export { eip712MultisignEnrichedFields as limitOrderMultisignEnrichedFields } from './eip712-multisign.js';
|
|
13
|
+
/** Order expiry from limit_order_quote JSON (quote.orderInfo.deadline). */
|
|
14
|
+
export function orderDeadlineFromLimitQuote(fullLimitQuote) {
|
|
15
|
+
if (!fullLimitQuote || typeof fullLimitQuote !== 'object' || Array.isArray(fullLimitQuote)) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const root = fullLimitQuote;
|
|
19
|
+
const quote = root.quote && typeof root.quote === 'object' && !Array.isArray(root.quote)
|
|
20
|
+
? root.quote
|
|
21
|
+
: root;
|
|
22
|
+
const orderInfo = quote.orderInfo &&
|
|
23
|
+
typeof quote.orderInfo === 'object' &&
|
|
24
|
+
!Array.isArray(quote.orderInfo)
|
|
25
|
+
? quote.orderInfo
|
|
26
|
+
: undefined;
|
|
27
|
+
const deadline = orderInfo?.deadline ?? quote.deadline ?? root.deadline;
|
|
28
|
+
if (typeof deadline === 'number' && Number.isFinite(deadline) && deadline > 0) {
|
|
29
|
+
return Math.floor(deadline);
|
|
30
|
+
}
|
|
31
|
+
if (typeof deadline === 'string' && deadline.trim()) {
|
|
32
|
+
const parsed = Number(deadline);
|
|
33
|
+
if (Number.isFinite(parsed) && parsed > 0) {
|
|
34
|
+
return Math.floor(parsed);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=uniswap-limit-order-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswap-limit-order-input.js","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-limit-order-input.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sCAAsC,GAAG,kCAAkC,CAAC;AACzF,MAAM,CAAC,MAAM,uCAAuC,GAAG,mCAAmC,CAAC;AAC3F,MAAM,CAAC,MAAM,gDAAgD,GAC5D,4CAA4C,CAAC;AAE9C,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IAC1D,OAAO,CACN,QAAQ,KAAK,sCAAsC;QACnD,QAAQ,KAAK,uCAAuC,CACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,QAAgB;IAChE,OAAO,QAAQ,KAAK,gDAAgD,CAAC;AACtE,CAAC;AAED,+EAA+E;AAC/E,OAAO,EAAC,6BAA6B,IAAI,iCAAiC,EAAC,MAAM,uBAAuB,CAAC;AAEzG,2EAA2E;AAC3E,MAAM,UAAU,2BAA2B,CAAC,cAAuB;IAClE,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5F,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,cAAyC,CAAC;IACvD,MAAM,KAAK,GACV,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,IAAI,CAAC,KAAiC;QACzC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GACd,KAAK,CAAC,SAAS;QACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAE,KAAK,CAAC,SAAqC;QAC9C,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACxE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap-quote-input.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-quote-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"uniswap-quote-input.d.ts","sourceRoot":"","sources":["../../../src/mcp/defi/uniswap-quote-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAQpD,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAgGjE;;;GAGG;AACH,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAgC7C;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI5D"}
|