@continuumdao/ctm-mpc-defi 0.2.22 → 0.2.24
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/catalog.cjs +142 -13
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +282 -43
- package/dist/agent/catalog.js +138 -14
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/gmx/SKILL.md +30 -0
- package/dist/agent/skills/hyperliquid/SKILL.md +32 -0
- package/dist/agent/skills/uniswap-v4/SKILL.md +26 -1
- package/dist/core/index.d.ts +4 -36
- package/dist/eip712Multisign-xhXpUYp3.d.ts +36 -0
- package/dist/index.cjs +344 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +344 -12
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/gmx/index.cjs +39 -0
- package/dist/protocols/evm/gmx/index.cjs.map +1 -1
- package/dist/protocols/evm/gmx/index.d.ts +21 -1
- package/dist/protocols/evm/gmx/index.js +38 -1
- package/dist/protocols/evm/gmx/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.cjs +478 -208
- package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.d.ts +166 -51
- package/dist/protocols/evm/hyperliquid/index.js +467 -210
- package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
- package/dist/protocols/evm/permit2/index.cjs.map +1 -1
- package/dist/protocols/evm/permit2/index.js.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.cjs +734 -15
- package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.d.ts +189 -17
- package/dist/protocols/evm/uniswap-v4/index.js +698 -16
- package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/catalog.cjs
CHANGED
|
@@ -79,7 +79,9 @@ var UNIVERSAL_ROUTER_SPENDER = {
|
|
|
79
79
|
143: "0x0d97dc33264bfc1c226207428a79b26757fb9dc3",
|
|
80
80
|
59144: "0x661e93cca42afacb172121ef892830ca3b70f08d",
|
|
81
81
|
4217: "0x1febb76be10aaf3a1402f04e8e835f2c382f7914",
|
|
82
|
-
196: "0x5507749f2c558bb3e162c6e90c314c092e7372ff"
|
|
82
|
+
196: "0x5507749f2c558bb3e162c6e90c314c092e7372ff",
|
|
83
|
+
/** Robinhood Chain mainnet — Universal Router v2.1.1 (Trade API / interface) */
|
|
84
|
+
4663: "0x8876789976decbfcbbbe364623c63652db8c0904"
|
|
83
85
|
};
|
|
84
86
|
function isUniswapV4ChainSupported(chainId) {
|
|
85
87
|
if (chainId == null) return false;
|
|
@@ -170,6 +172,17 @@ var uniswapV4ProtocolModule = {
|
|
|
170
172
|
type: { type: "EXACT_INPUT | EXACT_OUTPUT", required: true, description: "Trade type" }
|
|
171
173
|
}
|
|
172
174
|
},
|
|
175
|
+
{
|
|
176
|
+
id: "uniswap-v4.limit-order",
|
|
177
|
+
protocolId: UNISWAP_V4_PROTOCOL_ID,
|
|
178
|
+
chainCategory: "evm",
|
|
179
|
+
description: "Place UniswapX limit order via EIP-712 sign + POST /order (Ethereum mainnet only)",
|
|
180
|
+
commonParams: ["keyGen", "purposeText"],
|
|
181
|
+
params: {
|
|
182
|
+
fullLimitQuote: { type: "object", required: true, description: "Full limit order quote from Trade API" },
|
|
183
|
+
uniswapApiKey: { type: "string", required: true, description: "Uniswap Trade API key" }
|
|
184
|
+
}
|
|
185
|
+
},
|
|
173
186
|
{
|
|
174
187
|
id: "uniswap-v4.mint-liquidity",
|
|
175
188
|
protocolId: UNISWAP_V4_PROTOCOL_ID,
|
|
@@ -758,10 +771,15 @@ function preprocessHyperliquidLimitOrderInput(raw) {
|
|
|
758
771
|
if (!preprocessObject(o)) return raw;
|
|
759
772
|
aliasField(o, "limitPxHuman", "limitPxHuman", "limitPx", "markPx");
|
|
760
773
|
aliasField(o, "szHuman", "szHuman", "sz", "size");
|
|
774
|
+
aliasField(o, "takeProfitTriggerPxHuman", "takeProfitTriggerPxHuman", "takeProfitPxHuman", "tpTriggerPxHuman", "targetPxHuman");
|
|
775
|
+
aliasField(o, "stopLossTriggerPxHuman", "stopLossTriggerPxHuman", "stopLossPxHuman", "slTriggerPxHuman", "invalidationPxHuman");
|
|
761
776
|
derivePurposeIfMissing(o, (x) => {
|
|
762
777
|
const coin = String(x.coin ?? "").trim();
|
|
763
778
|
const side = x.isBuy === true || x.isBuy === "true" ? "buy" : "sell";
|
|
764
779
|
const sz = String(x.szHuman ?? "").trim();
|
|
780
|
+
const tp = String(x.takeProfitTriggerPxHuman ?? "").trim();
|
|
781
|
+
const sl = String(x.stopLossTriggerPxHuman ?? "").trim();
|
|
782
|
+
if (coin && sz && (tp || sl)) return `HL bracket ${side} ${coin} ${sz}`;
|
|
765
783
|
if (coin && sz) return `HL limit ${side} ${coin} ${sz}`;
|
|
766
784
|
return void 0;
|
|
767
785
|
});
|
|
@@ -859,6 +877,13 @@ function preprocessUniswapBuildSwapInput(raw) {
|
|
|
859
877
|
derivePurposeIfMissing(o, () => "Uniswap V4 swap");
|
|
860
878
|
return o;
|
|
861
879
|
}
|
|
880
|
+
function preprocessUniswapBuildLimitOrderInput(raw) {
|
|
881
|
+
const o = preprocessObject(raw);
|
|
882
|
+
if (!o) return raw;
|
|
883
|
+
aliasField(o, "fullLimitQuote", "fullLimitQuote", "fullLimitQuoteFromPermit", "limitQuote", "quote");
|
|
884
|
+
derivePurposeIfMissing(o, () => "Uniswap V4 limit order");
|
|
885
|
+
return o;
|
|
886
|
+
}
|
|
862
887
|
function preprocessUniswapBuildLpInput(raw) {
|
|
863
888
|
const o = preprocessUniswapLpNftInput(raw);
|
|
864
889
|
if (!preprocessObject(o)) return raw;
|
|
@@ -993,6 +1018,45 @@ var mcpUniswapV4BuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
993
1018
|
})
|
|
994
1019
|
)
|
|
995
1020
|
);
|
|
1021
|
+
var mcpUniswapV4LimitOrderQuoteInputSchema = zod.z.object({
|
|
1022
|
+
type: uniswapQuoteTradeTypeSchema.describe("EXACT_INPUT or EXACT_OUTPUT"),
|
|
1023
|
+
amount: zod.z.string().min(1).describe("Amount in token-in base units (wei string for ERC-20)"),
|
|
1024
|
+
limitPrice: zod.z.string().min(1).describe("Limit price string from Trade API (pair exchange rate)"),
|
|
1025
|
+
tokenIn: zod.z.string().min(1).describe("Input token; 0x0 for native ETH"),
|
|
1026
|
+
tokenOut: zod.z.string().min(1).describe("Output token address"),
|
|
1027
|
+
chainId: agentEvmChainIdSchema.describe("Must be 1 (Ethereum mainnet) for limit orders"),
|
|
1028
|
+
orderDeadline: agentCoercedIntSchema(zod.z.number().int().positive()).describe("Unix seconds when unfilled order expires"),
|
|
1029
|
+
uniswapApiKey: zod.z.string().min(1).describe("Uniswap Trade API x-api-key"),
|
|
1030
|
+
swapper: evmAddressSchema.optional().describe("MPC executor; omit if keyGen + managementNodeUrl provided"),
|
|
1031
|
+
keyGen: zod.z.string().optional(),
|
|
1032
|
+
managementNodeUrl: zod.z.string().min(1).optional(),
|
|
1033
|
+
tokenInChainId: zod.z.union([zod.z.number(), zod.z.string()]).optional(),
|
|
1034
|
+
tokenOutChainId: zod.z.union([zod.z.number(), zod.z.string()]).optional(),
|
|
1035
|
+
baseUrl: zod.z.string().optional()
|
|
1036
|
+
});
|
|
1037
|
+
var mcpUniswapV4LimitOrderQuoteOutputSchema = jsonObjectSchema.describe(
|
|
1038
|
+
"Full Uniswap POST /limit_order_quote JSON (includes quote, permitData, routing)."
|
|
1039
|
+
);
|
|
1040
|
+
var mcpUniswapV4BuildLimitOrderMultisignInputSchema = withMultisignKeySourceRefine(
|
|
1041
|
+
zod.z.preprocess(
|
|
1042
|
+
preprocessUniswapBuildLimitOrderInput,
|
|
1043
|
+
evmMultisignCommonInputSchema.extend({
|
|
1044
|
+
fullLimitQuote: jsonObjectSchema.describe("Full limit order quote JSON from ctm_uniswap_v4_limit_order_quote"),
|
|
1045
|
+
uniswapApiKey: zod.z.string().min(1).describe("Uniswap Trade API key"),
|
|
1046
|
+
tradeApiBaseUrl: zod.z.string().optional()
|
|
1047
|
+
})
|
|
1048
|
+
)
|
|
1049
|
+
);
|
|
1050
|
+
var mcpUniswapV4FetchLimitOrdersInputSchema = zod.z.object({
|
|
1051
|
+
chainId: agentEvmChainIdSchema.optional().describe("Default 1 (mainnet)"),
|
|
1052
|
+
swapper: evmAddressSchema.optional(),
|
|
1053
|
+
keyGen: zod.z.string().optional(),
|
|
1054
|
+
managementNodeUrl: zod.z.string().min(1).optional(),
|
|
1055
|
+
uniswapApiKey: zod.z.string().min(1).optional(),
|
|
1056
|
+
limit: agentCoercedOptionalIntSchema(zod.z.number().int().positive().max(100)).optional(),
|
|
1057
|
+
baseUrl: zod.z.string().optional()
|
|
1058
|
+
});
|
|
1059
|
+
var mcpUniswapV4FetchLimitOrdersOutputSchema = jsonObjectSchema;
|
|
996
1060
|
var lpExistingPoolSchema = zod.z.object({
|
|
997
1061
|
token0Address: evmAddressSchema,
|
|
998
1062
|
token1Address: evmAddressSchema,
|
|
@@ -1214,6 +1278,8 @@ var mcpUniswapV4FetchOhlcvInputSchema = zod.z.object({
|
|
|
1214
1278
|
poolPreset: zod.z.string().optional().describe("presetId from ctm_uniswap_v4_list_lp_pools"),
|
|
1215
1279
|
poolReference: zod.z.string().optional().describe("bytes32 pool id"),
|
|
1216
1280
|
existingPool: uniswapV4ExistingPoolOhlcvSchema.optional(),
|
|
1281
|
+
currencyAddress: zod.z.string().optional().describe("Robinhood/Bitquery: token contract to chart (preferred over symbol)"),
|
|
1282
|
+
currencySymbol: zod.z.string().optional().describe("Robinhood/Bitquery: Stock Token symbol e.g. NVDA, AAPL"),
|
|
1217
1283
|
quoteToken: zod.z.enum(["token0", "token1"]).optional().describe("Default token0 per token1 (subgraph native)"),
|
|
1218
1284
|
lookbackDays: agentCoercedOptionalIntSchema(zod.z.number().int().positive().max(365)),
|
|
1219
1285
|
lookbackHours: agentCoercedOptionalIntSchema(zod.z.number().int().positive().max(365 * 24)),
|
|
@@ -1225,7 +1291,7 @@ var mcpUniswapV4FetchOhlcvOutputSchema = zod.z.object({
|
|
|
1225
1291
|
timeframe: uniswapV4OhlcvIntervalSchema,
|
|
1226
1292
|
chainId: agentEvmChainIdSchema,
|
|
1227
1293
|
poolReference: zod.z.string(),
|
|
1228
|
-
dataSource: zod.z.enum(["subgraph_native", "subgraph_aggregate", "swaps"]),
|
|
1294
|
+
dataSource: zod.z.enum(["subgraph_native", "subgraph_aggregate", "swaps", "bitquery"]),
|
|
1229
1295
|
baseSubgraphEntity: zod.z.enum(["hourly", "daily"]).optional(),
|
|
1230
1296
|
priceQuote: zod.z.enum(["token0PerToken1", "token1PerToken0"]),
|
|
1231
1297
|
startTimeMs: zod.z.number().int().positive().optional(),
|
|
@@ -1374,7 +1440,9 @@ var mcpServerSubmitOutputSchema = zod.z.object({
|
|
|
1374
1440
|
);
|
|
1375
1441
|
var MCP_NON_SUBMIT_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
1376
1442
|
"ctm_uniswap_v4_quote",
|
|
1377
|
-
"ctm_uniswap_v4_create_swap"
|
|
1443
|
+
"ctm_uniswap_v4_create_swap",
|
|
1444
|
+
"ctm_uniswap_v4_limit_order_quote",
|
|
1445
|
+
"ctm_uniswap_v4_fetch_limit_orders"
|
|
1378
1446
|
]);
|
|
1379
1447
|
|
|
1380
1448
|
// src/agent/schemas/protocols.ts
|
|
@@ -1708,7 +1776,9 @@ var mcpGmxIncreaseInputSchema = mcpGmxMultisignInput(
|
|
|
1708
1776
|
collateralToken: zod.z.string().min(1),
|
|
1709
1777
|
collateralAmountHuman: zod.z.string().min(1),
|
|
1710
1778
|
triggerPriceUsdHuman: zod.z.string().optional(),
|
|
1711
|
-
|
|
1779
|
+
takeProfitPriceUsdHuman: zod.z.string().optional().describe("Take-profit trigger (USD) \u2014 GMX native TP order on increase; defaults to full position size"),
|
|
1780
|
+
stopLossPriceUsdHuman: zod.z.string().optional().describe("Stop-loss trigger (USD) \u2014 GMX native SL order on increase; defaults to full position size"),
|
|
1781
|
+
patternFailureUsdHuman: zod.z.string().optional().describe("Audit alias for stop-loss when stopLossPriceUsdHuman is omitted (trade-idea invalidation)"),
|
|
1712
1782
|
slippageBps: agentCoercedOptionalIntSchema(zod.z.number().int().nonnegative()),
|
|
1713
1783
|
executionFeeBufferBps: agentCoercedOptionalIntSchema(zod.z.number().int().nonnegative())
|
|
1714
1784
|
},
|
|
@@ -2080,6 +2150,7 @@ var mcpHyperliquidFetchDelegationsOutputSchema = zod.z.object({
|
|
|
2080
2150
|
})
|
|
2081
2151
|
)
|
|
2082
2152
|
});
|
|
2153
|
+
var hyperliquidTpslExecModeSchema = zod.z.enum(["limit_at_trigger", "market"]);
|
|
2083
2154
|
var mcpHyperliquidLimitOrderInputSchema = mcpHyperliquidMultisignInput(
|
|
2084
2155
|
{
|
|
2085
2156
|
coin: zod.z.string().min(1).describe("coin from fetch_markets (name) or search_markets"),
|
|
@@ -2088,7 +2159,10 @@ var mcpHyperliquidLimitOrderInputSchema = mcpHyperliquidMultisignInput(
|
|
|
2088
2159
|
szHuman: zod.z.string().min(1),
|
|
2089
2160
|
marketKind: zod.z.enum(["perp", "spot"]).optional(),
|
|
2090
2161
|
tif: hyperliquidTifSchema.optional(),
|
|
2091
|
-
dex: zod.z.string().optional()
|
|
2162
|
+
dex: zod.z.string().optional(),
|
|
2163
|
+
takeProfitTriggerPxHuman: zod.z.string().min(1).optional().describe("Take-profit trigger price \u2014 with SL enables L1 normalTpsl bracket (EIP-712, not CoreWriter)."),
|
|
2164
|
+
stopLossTriggerPxHuman: zod.z.string().min(1).optional().describe("Stop-loss trigger price \u2014 with TP enables L1 normalTpsl bracket (EIP-712, not CoreWriter)."),
|
|
2165
|
+
tpslExecMode: hyperliquidTpslExecModeSchema.optional().describe("Trigger execution: limit_at_trigger (default) or market.")
|
|
2092
2166
|
},
|
|
2093
2167
|
preprocessHyperliquidLimitOrderInput
|
|
2094
2168
|
);
|
|
@@ -2616,7 +2690,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2616
2690
|
actionId: "gmx.increase",
|
|
2617
2691
|
protocolId: "gmx",
|
|
2618
2692
|
chainCategory: "evm",
|
|
2619
|
-
description: "Create and submit mpc-auth multiSignRequest for GMX classic increase order (open/add perp). Keeper executes asynchronously after on-chain broadcast.",
|
|
2693
|
+
description: "Create and submit mpc-auth multiSignRequest for GMX classic increase order (open/add perp). Optional takeProfitPriceUsdHuman / stopLossPriceUsdHuman attach native TP/SL decrease orders (full size). Keeper executes asynchronously after on-chain broadcast.",
|
|
2620
2694
|
prerequisites: ["keyGen", "executorAddress", "GMX market symbol", "classic mode only \u2014 no subaccounts"],
|
|
2621
2695
|
handler: { importPath: "protocols/evm/gmx", exportName: "buildEvmMultisignBodyGmxIncreaseBatch" },
|
|
2622
2696
|
inputZod: mcpGmxIncreaseInputSchema
|
|
@@ -2686,7 +2760,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2686
2760
|
actionId: "hyperliquid.limitOrder",
|
|
2687
2761
|
protocolId: "hyperliquid",
|
|
2688
2762
|
chainCategory: "evm",
|
|
2689
|
-
description: "Create and submit mpc-auth multiSignRequest for a Hyperliquid limit/IoC order
|
|
2763
|
+
description: "Create and submit mpc-auth multiSignRequest for a Hyperliquid limit/IoC order. Plain limit uses CoreWriter; when takeProfitTriggerPxHuman and/or stopLossTriggerPxHuman are set, submits one L1 EIP-712 normalTpsl bracket (entry + TP/SL) to /exchange.",
|
|
2690
2764
|
prerequisites: ["keyGen", "executorAddress", "chainId 999 or 998", "coin", "limitPxHuman", "szHuman"],
|
|
2691
2765
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "buildEvmMultisignBodyHyperliquidLimitOrderBatch" },
|
|
2692
2766
|
inputZod: mcpHyperliquidLimitOrderInputSchema
|
|
@@ -2921,6 +2995,52 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2921
2995
|
handler: { importPath: "protocols/evm/uniswap-v4", exportName: "buildEvmMultisignBodyUniswapV4SkipPermit2Batch" },
|
|
2922
2996
|
inputZod: mcpUniswapV4BuildSwapMultisignInputSchema
|
|
2923
2997
|
}),
|
|
2998
|
+
defineMcpTool({
|
|
2999
|
+
name: "ctm_uniswap_v4_limit_order_quote",
|
|
3000
|
+
actionId: "uniswap-v4.limit-order-quote",
|
|
3001
|
+
protocolId: "uniswap-v4",
|
|
3002
|
+
chainCategory: "evm",
|
|
3003
|
+
description: "Fetch a UniswapX limit order quote (POST /v1/limit_order_quote). Ethereum mainnet (chainId 1) only. Returns quote + permitData for EIP-712 signing. Does NOT create a sign request \u2014 call ctm_uniswap_v4_build_limit_order_multisign next.",
|
|
3004
|
+
prerequisites: [
|
|
3005
|
+
"UNISWAP_API_KEY in node Variables",
|
|
3006
|
+
"chainId must be 1",
|
|
3007
|
+
"keyGenId or swapper",
|
|
3008
|
+
"limitPrice, orderDeadline, amount, tokenIn, tokenOut"
|
|
3009
|
+
],
|
|
3010
|
+
followUp: ["ctm_uniswap_v4_build_limit_order_multisign", "ctm_uniswap_v4_fetch_limit_orders"],
|
|
3011
|
+
handler: { importPath: "protocols/evm/uniswap-v4", exportName: "uniswapLimitOrderQuote" },
|
|
3012
|
+
inputZod: mcpUniswapV4LimitOrderQuoteInputSchema,
|
|
3013
|
+
outputZod: mcpUniswapV4LimitOrderQuoteOutputSchema
|
|
3014
|
+
}),
|
|
3015
|
+
defineMultisignSubmitMcpTool({
|
|
3016
|
+
name: "ctm_uniswap_v4_build_limit_order_multisign",
|
|
3017
|
+
actionId: "uniswap-v4.limit-order",
|
|
3018
|
+
protocolId: "uniswap-v4",
|
|
3019
|
+
chainCategory: "evm",
|
|
3020
|
+
description: "Create and submit mpc-auth multiSignRequest for a UniswapX limit order (EIP-712 Permit2 witness). After sign + execute, delivery POSTs to Trade API /v1/order. Mainnet only.",
|
|
3021
|
+
prerequisites: [
|
|
3022
|
+
"ctm_uniswap_v4_limit_order_quote output (fullLimitQuote)",
|
|
3023
|
+
"keyGenId + chainId 1 + purposeText"
|
|
3024
|
+
],
|
|
3025
|
+
followUp: ["ctm_uniswap_v4_fetch_limit_orders"],
|
|
3026
|
+
handler: {
|
|
3027
|
+
importPath: "protocols/evm/uniswap-v4",
|
|
3028
|
+
exportName: "buildEvmMultisignBodyUniswapV4LimitOrderBatchFromMcp"
|
|
3029
|
+
},
|
|
3030
|
+
inputZod: mcpUniswapV4BuildLimitOrderMultisignInputSchema
|
|
3031
|
+
}),
|
|
3032
|
+
defineMcpTool({
|
|
3033
|
+
name: "ctm_uniswap_v4_fetch_limit_orders",
|
|
3034
|
+
actionId: "uniswap-v4.fetch-limit-orders",
|
|
3035
|
+
protocolId: "uniswap-v4",
|
|
3036
|
+
chainCategory: "evm",
|
|
3037
|
+
description: "List open UniswapX limit orders for a swapper (GET /v2/limit-orders). Ethereum mainnet only. Optional UNISWAP_API_KEY.",
|
|
3038
|
+
prerequisites: ["swapper or keyGenId", "chainId 1"],
|
|
3039
|
+
followUp: [],
|
|
3040
|
+
handler: { importPath: "protocols/evm/uniswap-v4", exportName: "uniswapFetchLimitOrdersMcp" },
|
|
3041
|
+
inputZod: mcpUniswapV4FetchLimitOrdersInputSchema,
|
|
3042
|
+
outputZod: mcpUniswapV4FetchLimitOrdersOutputSchema
|
|
3043
|
+
}),
|
|
2924
3044
|
defineMcpTool({
|
|
2925
3045
|
name: "ctm_uniswap_v4_list_lp_pools",
|
|
2926
3046
|
actionId: "uniswap-v4.lp-list-pools",
|
|
@@ -2938,10 +3058,10 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2938
3058
|
actionId: "uniswap-v4.fetch-ohlcv",
|
|
2939
3059
|
protocolId: "uniswap-v4",
|
|
2940
3060
|
chainCategory: "evm",
|
|
2941
|
-
description: "Pool OHLCV
|
|
3061
|
+
description: "Pool OHLCV: The Graph subgraph on pinned chains (1h/1d native, aggregated multiples, swap bucketing for sub-hour). Robinhood Chain (4663) uses Bitquery Uniswap v4 / Stock Token candles \u2014 set BITQUERY_API_KEY. Optional THE_GRAPH_API_KEY for subgraph gateway rate limits.",
|
|
2942
3062
|
prerequisites: [
|
|
2943
|
-
"chainId with
|
|
2944
|
-
"poolPreset or poolReference or existingPool",
|
|
3063
|
+
"chainId with OHLCV support (subgraph or Robinhood/Bitquery)",
|
|
3064
|
+
"poolPreset or poolReference or existingPool (subgraph); currencyAddress or currencySymbol or existingPool (Robinhood)",
|
|
2945
3065
|
"interval + lookbackDays or lookbackHours or startTimeMs"
|
|
2946
3066
|
],
|
|
2947
3067
|
followUp: ["ctm_uniswap_v4_list_lp_pools", "continuum__prepare_chart_from_rows"],
|
|
@@ -4102,7 +4222,7 @@ var hyperliquidProtocolModule = {
|
|
|
4102
4222
|
id: "hyperliquid.limitOrder",
|
|
4103
4223
|
protocolId: HYPERLIQUID_PROTOCOL_ID,
|
|
4104
4224
|
chainCategory: "evm",
|
|
4105
|
-
description: "Place a Hyperliquid limit/IoC order via
|
|
4225
|
+
description: "Place a Hyperliquid limit/IoC order via CoreWriter, or L1 normalTpsl bracket when TP/SL triggers are set",
|
|
4106
4226
|
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
4107
4227
|
params: {
|
|
4108
4228
|
coin: { type: "string", required: true, description: "Market coin e.g. BTC" },
|
|
@@ -4111,7 +4231,10 @@ var hyperliquidProtocolModule = {
|
|
|
4111
4231
|
szHuman: { type: "string", required: true, description: "Order size in coin units" },
|
|
4112
4232
|
marketKind: { type: "string", required: false, description: "perp (default) or spot" },
|
|
4113
4233
|
tif: { type: "string", required: false, description: "gtc, ioc, or alo" },
|
|
4114
|
-
dex: { type: "string", required: false, description: "HIP-3 dex name when applicable" }
|
|
4234
|
+
dex: { type: "string", required: false, description: "HIP-3 dex name when applicable" },
|
|
4235
|
+
takeProfitTriggerPxHuman: { type: "string", required: false, description: "TP trigger \u2014 enables L1 bracket with SL" },
|
|
4236
|
+
stopLossTriggerPxHuman: { type: "string", required: false, description: "SL trigger \u2014 enables L1 bracket with TP" },
|
|
4237
|
+
tpslExecMode: { type: "string", required: false, description: "limit_at_trigger (default) or market" }
|
|
4115
4238
|
}
|
|
4116
4239
|
},
|
|
4117
4240
|
{
|
|
@@ -4746,7 +4869,8 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
4746
4869
|
143,
|
|
4747
4870
|
59144,
|
|
4748
4871
|
4217,
|
|
4749
|
-
196
|
|
4872
|
+
196,
|
|
4873
|
+
4663
|
|
4750
4874
|
]) {
|
|
4751
4875
|
if (isUniswapV4ChainSupported(id)) ids.push(id);
|
|
4752
4876
|
}
|
|
@@ -5117,12 +5241,17 @@ exports.mcpSkySusdsRedeemInputSchema = mcpSkySusdsRedeemInputSchema;
|
|
|
5117
5241
|
exports.mcpUniswapV4BuildCollectFeesMultisignInputSchema = mcpUniswapV4BuildCollectFeesMultisignInputSchema;
|
|
5118
5242
|
exports.mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema = mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema;
|
|
5119
5243
|
exports.mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema = mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema;
|
|
5244
|
+
exports.mcpUniswapV4BuildLimitOrderMultisignInputSchema = mcpUniswapV4BuildLimitOrderMultisignInputSchema;
|
|
5120
5245
|
exports.mcpUniswapV4BuildMintLiquidityMultisignInputSchema = mcpUniswapV4BuildMintLiquidityMultisignInputSchema;
|
|
5121
5246
|
exports.mcpUniswapV4BuildSwapMultisignInputSchema = mcpUniswapV4BuildSwapMultisignInputSchema;
|
|
5122
5247
|
exports.mcpUniswapV4CreateSwapInputSchema = mcpUniswapV4CreateSwapInputSchema;
|
|
5123
5248
|
exports.mcpUniswapV4CreateSwapOutputSchema = mcpUniswapV4CreateSwapOutputSchema;
|
|
5249
|
+
exports.mcpUniswapV4FetchLimitOrdersInputSchema = mcpUniswapV4FetchLimitOrdersInputSchema;
|
|
5250
|
+
exports.mcpUniswapV4FetchLimitOrdersOutputSchema = mcpUniswapV4FetchLimitOrdersOutputSchema;
|
|
5124
5251
|
exports.mcpUniswapV4FetchOhlcvInputSchema = mcpUniswapV4FetchOhlcvInputSchema;
|
|
5125
5252
|
exports.mcpUniswapV4FetchOhlcvOutputSchema = mcpUniswapV4FetchOhlcvOutputSchema;
|
|
5253
|
+
exports.mcpUniswapV4LimitOrderQuoteInputSchema = mcpUniswapV4LimitOrderQuoteInputSchema;
|
|
5254
|
+
exports.mcpUniswapV4LimitOrderQuoteOutputSchema = mcpUniswapV4LimitOrderQuoteOutputSchema;
|
|
5126
5255
|
exports.mcpUniswapV4LpClaimInputSchema = mcpUniswapV4LpClaimInputSchema;
|
|
5127
5256
|
exports.mcpUniswapV4LpClaimOutputSchema = mcpUniswapV4LpClaimOutputSchema;
|
|
5128
5257
|
exports.mcpUniswapV4LpCreatePositionInputSchema = mcpUniswapV4LpCreatePositionInputSchema;
|