@continuumdao/ctm-mpc-defi 0.2.22 → 0.2.25
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 +806 -18
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +2400 -43
- package/dist/agent/catalog.js +772 -19
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/arcus/SKILL.md +72 -0
- package/dist/agent/skills/gmx/SKILL.md +32 -0
- package/dist/agent/skills/hyperliquid/SKILL.md +44 -3
- package/dist/agent/skills/uniswap-v4/SKILL.md +31 -1
- package/dist/core/index.cjs +55 -0
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +15 -21
- package/dist/core/index.js +54 -1
- package/dist/core/index.js.map +1 -1
- package/dist/eip712Multisign-xhXpUYp3.d.ts +36 -0
- package/dist/index.cjs +399 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +398 -13
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/arcus/index.cjs +2061 -0
- package/dist/protocols/evm/arcus/index.cjs.map +1 -0
- package/dist/protocols/evm/arcus/index.d.ts +726 -0
- package/dist/protocols/evm/arcus/index.js +1964 -0
- package/dist/protocols/evm/arcus/index.js.map +1 -0
- 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 +6 -1
package/dist/agent/catalog.js
CHANGED
|
@@ -6,6 +6,36 @@ import { fileURLToPath } from 'url';
|
|
|
6
6
|
import { readFileSync } from 'fs';
|
|
7
7
|
import { join, dirname } from 'path';
|
|
8
8
|
|
|
9
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
10
|
+
var __esm = (fn, res) => function __init() {
|
|
11
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// src/protocols/evm/arcus/support.ts
|
|
15
|
+
function isArcusChainSupported(chainId) {
|
|
16
|
+
return ARCUS_SUPPORTED_CHAIN_IDS.includes(chainId);
|
|
17
|
+
}
|
|
18
|
+
var ARCUS_SUPPORTED_CHAIN_IDS;
|
|
19
|
+
var init_support = __esm({
|
|
20
|
+
"src/protocols/evm/arcus/support.ts"() {
|
|
21
|
+
ARCUS_SUPPORTED_CHAIN_IDS = [4663];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// src/protocols/evm/arcus/constants.ts
|
|
26
|
+
var ARCUS_PROTOCOL_ID;
|
|
27
|
+
var init_constants = __esm({
|
|
28
|
+
"src/protocols/evm/arcus/constants.ts"() {
|
|
29
|
+
ARCUS_PROTOCOL_ID = "arcus";
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// src/protocols/evm/arcus/api.ts
|
|
34
|
+
var init_api = __esm({
|
|
35
|
+
"src/protocols/evm/arcus/api.ts"() {
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
9
39
|
// src/core/registry.ts
|
|
10
40
|
var modules = [];
|
|
11
41
|
function registerProtocolModule(mod) {
|
|
@@ -76,7 +106,9 @@ var UNIVERSAL_ROUTER_SPENDER = {
|
|
|
76
106
|
143: "0x0d97dc33264bfc1c226207428a79b26757fb9dc3",
|
|
77
107
|
59144: "0x661e93cca42afacb172121ef892830ca3b70f08d",
|
|
78
108
|
4217: "0x1febb76be10aaf3a1402f04e8e835f2c382f7914",
|
|
79
|
-
196: "0x5507749f2c558bb3e162c6e90c314c092e7372ff"
|
|
109
|
+
196: "0x5507749f2c558bb3e162c6e90c314c092e7372ff",
|
|
110
|
+
/** Robinhood Chain mainnet — Universal Router v2.1.1 (Trade API / interface) */
|
|
111
|
+
4663: "0x8876789976decbfcbbbe364623c63652db8c0904"
|
|
80
112
|
};
|
|
81
113
|
function isUniswapV4ChainSupported(chainId) {
|
|
82
114
|
if (chainId == null) return false;
|
|
@@ -167,6 +199,17 @@ var uniswapV4ProtocolModule = {
|
|
|
167
199
|
type: { type: "EXACT_INPUT | EXACT_OUTPUT", required: true, description: "Trade type" }
|
|
168
200
|
}
|
|
169
201
|
},
|
|
202
|
+
{
|
|
203
|
+
id: "uniswap-v4.limit-order",
|
|
204
|
+
protocolId: UNISWAP_V4_PROTOCOL_ID,
|
|
205
|
+
chainCategory: "evm",
|
|
206
|
+
description: "Place UniswapX limit order via EIP-712 sign + POST /order (Ethereum mainnet only)",
|
|
207
|
+
commonParams: ["keyGen", "purposeText"],
|
|
208
|
+
params: {
|
|
209
|
+
fullLimitQuote: { type: "object", required: true, description: "Full limit order quote from Trade API" },
|
|
210
|
+
uniswapApiKey: { type: "string", required: true, description: "Uniswap Trade API key" }
|
|
211
|
+
}
|
|
212
|
+
},
|
|
170
213
|
{
|
|
171
214
|
id: "uniswap-v4.mint-liquidity",
|
|
172
215
|
protocolId: UNISWAP_V4_PROTOCOL_ID,
|
|
@@ -755,10 +798,15 @@ function preprocessHyperliquidLimitOrderInput(raw) {
|
|
|
755
798
|
if (!preprocessObject(o)) return raw;
|
|
756
799
|
aliasField(o, "limitPxHuman", "limitPxHuman", "limitPx", "markPx");
|
|
757
800
|
aliasField(o, "szHuman", "szHuman", "sz", "size");
|
|
801
|
+
aliasField(o, "takeProfitTriggerPxHuman", "takeProfitTriggerPxHuman", "takeProfitPxHuman", "tpTriggerPxHuman", "targetPxHuman");
|
|
802
|
+
aliasField(o, "stopLossTriggerPxHuman", "stopLossTriggerPxHuman", "stopLossPxHuman", "slTriggerPxHuman", "invalidationPxHuman");
|
|
758
803
|
derivePurposeIfMissing(o, (x) => {
|
|
759
804
|
const coin = String(x.coin ?? "").trim();
|
|
760
805
|
const side = x.isBuy === true || x.isBuy === "true" ? "buy" : "sell";
|
|
761
806
|
const sz = String(x.szHuman ?? "").trim();
|
|
807
|
+
const tp = String(x.takeProfitTriggerPxHuman ?? "").trim();
|
|
808
|
+
const sl = String(x.stopLossTriggerPxHuman ?? "").trim();
|
|
809
|
+
if (coin && sz && (tp || sl)) return `HL bracket ${side} ${coin} ${sz}`;
|
|
762
810
|
if (coin && sz) return `HL limit ${side} ${coin} ${sz}`;
|
|
763
811
|
return void 0;
|
|
764
812
|
});
|
|
@@ -856,6 +904,13 @@ function preprocessUniswapBuildSwapInput(raw) {
|
|
|
856
904
|
derivePurposeIfMissing(o, () => "Uniswap V4 swap");
|
|
857
905
|
return o;
|
|
858
906
|
}
|
|
907
|
+
function preprocessUniswapBuildLimitOrderInput(raw) {
|
|
908
|
+
const o = preprocessObject(raw);
|
|
909
|
+
if (!o) return raw;
|
|
910
|
+
aliasField(o, "fullLimitQuote", "fullLimitQuote", "fullLimitQuoteFromPermit", "limitQuote", "quote");
|
|
911
|
+
derivePurposeIfMissing(o, () => "Uniswap V4 limit order");
|
|
912
|
+
return o;
|
|
913
|
+
}
|
|
859
914
|
function preprocessUniswapBuildLpInput(raw) {
|
|
860
915
|
const o = preprocessUniswapLpNftInput(raw);
|
|
861
916
|
if (!preprocessObject(o)) return raw;
|
|
@@ -990,6 +1045,45 @@ var mcpUniswapV4BuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
990
1045
|
})
|
|
991
1046
|
)
|
|
992
1047
|
);
|
|
1048
|
+
var mcpUniswapV4LimitOrderQuoteInputSchema = z.object({
|
|
1049
|
+
type: uniswapQuoteTradeTypeSchema.describe("EXACT_INPUT or EXACT_OUTPUT"),
|
|
1050
|
+
amount: z.string().min(1).describe("Amount in token-in base units (wei string for ERC-20)"),
|
|
1051
|
+
limitPrice: z.string().min(1).describe("Limit price string from Trade API (pair exchange rate)"),
|
|
1052
|
+
tokenIn: z.string().min(1).describe("Input token; 0x0 for native ETH"),
|
|
1053
|
+
tokenOut: z.string().min(1).describe("Output token address"),
|
|
1054
|
+
chainId: agentEvmChainIdSchema.describe("Must be 1 (Ethereum mainnet) for limit orders"),
|
|
1055
|
+
orderDeadline: agentCoercedIntSchema(z.number().int().positive()).describe("Unix seconds when unfilled order expires"),
|
|
1056
|
+
uniswapApiKey: z.string().min(1).describe("Uniswap Trade API x-api-key"),
|
|
1057
|
+
swapper: evmAddressSchema.optional().describe("MPC executor; omit if keyGen + managementNodeUrl provided"),
|
|
1058
|
+
keyGen: z.string().optional(),
|
|
1059
|
+
managementNodeUrl: z.string().min(1).optional(),
|
|
1060
|
+
tokenInChainId: z.union([z.number(), z.string()]).optional(),
|
|
1061
|
+
tokenOutChainId: z.union([z.number(), z.string()]).optional(),
|
|
1062
|
+
baseUrl: z.string().optional()
|
|
1063
|
+
});
|
|
1064
|
+
var mcpUniswapV4LimitOrderQuoteOutputSchema = jsonObjectSchema.describe(
|
|
1065
|
+
"Full Uniswap POST /limit_order_quote JSON (includes quote, permitData, routing)."
|
|
1066
|
+
);
|
|
1067
|
+
var mcpUniswapV4BuildLimitOrderMultisignInputSchema = withMultisignKeySourceRefine(
|
|
1068
|
+
z.preprocess(
|
|
1069
|
+
preprocessUniswapBuildLimitOrderInput,
|
|
1070
|
+
evmMultisignCommonInputSchema.extend({
|
|
1071
|
+
fullLimitQuote: jsonObjectSchema.describe("Full limit order quote JSON from ctm_uniswap_v4_limit_order_quote"),
|
|
1072
|
+
uniswapApiKey: z.string().min(1).describe("Uniswap Trade API key"),
|
|
1073
|
+
tradeApiBaseUrl: z.string().optional()
|
|
1074
|
+
})
|
|
1075
|
+
)
|
|
1076
|
+
);
|
|
1077
|
+
var mcpUniswapV4FetchLimitOrdersInputSchema = z.object({
|
|
1078
|
+
chainId: agentEvmChainIdSchema.optional().describe("Default 1 (mainnet)"),
|
|
1079
|
+
swapper: evmAddressSchema.optional(),
|
|
1080
|
+
keyGen: z.string().optional(),
|
|
1081
|
+
managementNodeUrl: z.string().min(1).optional(),
|
|
1082
|
+
uniswapApiKey: z.string().min(1).optional(),
|
|
1083
|
+
limit: agentCoercedOptionalIntSchema(z.number().int().positive().max(100)).optional(),
|
|
1084
|
+
baseUrl: z.string().optional()
|
|
1085
|
+
});
|
|
1086
|
+
var mcpUniswapV4FetchLimitOrdersOutputSchema = jsonObjectSchema;
|
|
993
1087
|
var lpExistingPoolSchema = z.object({
|
|
994
1088
|
token0Address: evmAddressSchema,
|
|
995
1089
|
token1Address: evmAddressSchema,
|
|
@@ -1211,6 +1305,8 @@ var mcpUniswapV4FetchOhlcvInputSchema = z.object({
|
|
|
1211
1305
|
poolPreset: z.string().optional().describe("presetId from ctm_uniswap_v4_list_lp_pools"),
|
|
1212
1306
|
poolReference: z.string().optional().describe("bytes32 pool id"),
|
|
1213
1307
|
existingPool: uniswapV4ExistingPoolOhlcvSchema.optional(),
|
|
1308
|
+
currencyAddress: z.string().optional().describe("Robinhood/Bitquery: token contract to chart (preferred over symbol)"),
|
|
1309
|
+
currencySymbol: z.string().optional().describe("Robinhood/Bitquery: Stock Token symbol e.g. NVDA, AAPL"),
|
|
1214
1310
|
quoteToken: z.enum(["token0", "token1"]).optional().describe("Default token0 per token1 (subgraph native)"),
|
|
1215
1311
|
lookbackDays: agentCoercedOptionalIntSchema(z.number().int().positive().max(365)),
|
|
1216
1312
|
lookbackHours: agentCoercedOptionalIntSchema(z.number().int().positive().max(365 * 24)),
|
|
@@ -1222,7 +1318,7 @@ var mcpUniswapV4FetchOhlcvOutputSchema = z.object({
|
|
|
1222
1318
|
timeframe: uniswapV4OhlcvIntervalSchema,
|
|
1223
1319
|
chainId: agentEvmChainIdSchema,
|
|
1224
1320
|
poolReference: z.string(),
|
|
1225
|
-
dataSource: z.enum(["subgraph_native", "subgraph_aggregate", "swaps"]),
|
|
1321
|
+
dataSource: z.enum(["subgraph_native", "subgraph_aggregate", "swaps", "bitquery"]),
|
|
1226
1322
|
baseSubgraphEntity: z.enum(["hourly", "daily"]).optional(),
|
|
1227
1323
|
priceQuote: z.enum(["token0PerToken1", "token1PerToken0"]),
|
|
1228
1324
|
startTimeMs: z.number().int().positive().optional(),
|
|
@@ -1371,7 +1467,9 @@ var mcpServerSubmitOutputSchema = z.object({
|
|
|
1371
1467
|
);
|
|
1372
1468
|
var MCP_NON_SUBMIT_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
1373
1469
|
"ctm_uniswap_v4_quote",
|
|
1374
|
-
"ctm_uniswap_v4_create_swap"
|
|
1470
|
+
"ctm_uniswap_v4_create_swap",
|
|
1471
|
+
"ctm_uniswap_v4_limit_order_quote",
|
|
1472
|
+
"ctm_uniswap_v4_fetch_limit_orders"
|
|
1375
1473
|
]);
|
|
1376
1474
|
|
|
1377
1475
|
// src/agent/schemas/protocols.ts
|
|
@@ -1705,7 +1803,9 @@ var mcpGmxIncreaseInputSchema = mcpGmxMultisignInput(
|
|
|
1705
1803
|
collateralToken: z.string().min(1),
|
|
1706
1804
|
collateralAmountHuman: z.string().min(1),
|
|
1707
1805
|
triggerPriceUsdHuman: z.string().optional(),
|
|
1708
|
-
|
|
1806
|
+
takeProfitPriceUsdHuman: z.string().optional().describe("Take-profit trigger (USD) \u2014 GMX native TP order on increase; defaults to full position size"),
|
|
1807
|
+
stopLossPriceUsdHuman: z.string().optional().describe("Stop-loss trigger (USD) \u2014 GMX native SL order on increase; defaults to full position size"),
|
|
1808
|
+
patternFailureUsdHuman: z.string().optional().describe("Audit alias for stop-loss when stopLossPriceUsdHuman is omitted (trade-idea invalidation)"),
|
|
1709
1809
|
slippageBps: agentCoercedOptionalIntSchema(z.number().int().nonnegative()),
|
|
1710
1810
|
executionFeeBufferBps: agentCoercedOptionalIntSchema(z.number().int().nonnegative())
|
|
1711
1811
|
},
|
|
@@ -2077,6 +2177,7 @@ var mcpHyperliquidFetchDelegationsOutputSchema = z.object({
|
|
|
2077
2177
|
})
|
|
2078
2178
|
)
|
|
2079
2179
|
});
|
|
2180
|
+
var hyperliquidTpslExecModeSchema = z.enum(["limit_at_trigger", "market"]);
|
|
2080
2181
|
var mcpHyperliquidLimitOrderInputSchema = mcpHyperliquidMultisignInput(
|
|
2081
2182
|
{
|
|
2082
2183
|
coin: z.string().min(1).describe("coin from fetch_markets (name) or search_markets"),
|
|
@@ -2085,7 +2186,10 @@ var mcpHyperliquidLimitOrderInputSchema = mcpHyperliquidMultisignInput(
|
|
|
2085
2186
|
szHuman: z.string().min(1),
|
|
2086
2187
|
marketKind: z.enum(["perp", "spot"]).optional(),
|
|
2087
2188
|
tif: hyperliquidTifSchema.optional(),
|
|
2088
|
-
dex: z.string().optional()
|
|
2189
|
+
dex: z.string().optional(),
|
|
2190
|
+
takeProfitTriggerPxHuman: z.string().min(1).optional().describe("Take-profit trigger price \u2014 with SL enables L1 normalTpsl bracket (EIP-712, not CoreWriter)."),
|
|
2191
|
+
stopLossTriggerPxHuman: z.string().min(1).optional().describe("Stop-loss trigger price \u2014 with TP enables L1 normalTpsl bracket (EIP-712, not CoreWriter)."),
|
|
2192
|
+
tpslExecMode: hyperliquidTpslExecModeSchema.optional().describe("Trigger execution: limit_at_trigger (default) or market.")
|
|
2089
2193
|
},
|
|
2090
2194
|
preprocessHyperliquidLimitOrderInput
|
|
2091
2195
|
);
|
|
@@ -2162,6 +2266,213 @@ var mcpHyperliquidUpdateLeverageInputSchema = mcpHyperliquidMultisignInput(
|
|
|
2162
2266
|
},
|
|
2163
2267
|
preprocessHyperliquidCoinInput
|
|
2164
2268
|
);
|
|
2269
|
+
var arcusFetchChainInputSchema = z.object({
|
|
2270
|
+
chainId: z.coerce.number().int().positive().default(4663).describe("Robinhood Chain (4663).")
|
|
2271
|
+
});
|
|
2272
|
+
var arcusOhlcvCandleSchema = z.object({
|
|
2273
|
+
timestampMs: z.number(),
|
|
2274
|
+
open: z.string(),
|
|
2275
|
+
high: z.string(),
|
|
2276
|
+
low: z.string(),
|
|
2277
|
+
close: z.string(),
|
|
2278
|
+
volume: z.string()
|
|
2279
|
+
});
|
|
2280
|
+
var arcusOhlcvEnvelopeSchema = z.object({
|
|
2281
|
+
ohlcv: z.object({
|
|
2282
|
+
market: z.string().optional(),
|
|
2283
|
+
coin: z.string().optional(),
|
|
2284
|
+
tokenAddress: z.string().optional(),
|
|
2285
|
+
interval: z.string(),
|
|
2286
|
+
marketKind: z.enum(["perp", "spot"]).optional(),
|
|
2287
|
+
candles: z.array(arcusOhlcvCandleSchema),
|
|
2288
|
+
candleCount: z.number().optional(),
|
|
2289
|
+
latestCandle: arcusOhlcvCandleSchema.nullable().optional(),
|
|
2290
|
+
dataSource: z.literal("arcus").optional()
|
|
2291
|
+
}),
|
|
2292
|
+
dataSource: z.literal("arcus").optional(),
|
|
2293
|
+
chainId: z.number().optional(),
|
|
2294
|
+
resolvedMarket: z.string().optional()
|
|
2295
|
+
});
|
|
2296
|
+
function mcpArcusMultisignInput(fields) {
|
|
2297
|
+
return withMultisignKeySourceRefine(
|
|
2298
|
+
evmMultisignCommonInputSchema.extend({
|
|
2299
|
+
secp256k1KeyGenId: z.string().min(1).describe("Custody secp256k1 KeyGen id (billing + executor address)."),
|
|
2300
|
+
ed25519KeyGenId: z.string().min(1).describe("Paired ed25519 KeyGen id (same GroupId) for Arcus API signing."),
|
|
2301
|
+
...fields
|
|
2302
|
+
})
|
|
2303
|
+
);
|
|
2304
|
+
}
|
|
2305
|
+
var mcpArcusFetchMarketsInputSchema = arcusFetchChainInputSchema;
|
|
2306
|
+
var mcpArcusFetchMarketsOutputSchema = z.object({
|
|
2307
|
+
markets: z.array(
|
|
2308
|
+
z.object({
|
|
2309
|
+
marketDisplayName: z.string(),
|
|
2310
|
+
marketId: z.number(),
|
|
2311
|
+
baseAsset: z.string().optional(),
|
|
2312
|
+
category: z.string().optional(),
|
|
2313
|
+
status: z.string().optional(),
|
|
2314
|
+
markPrice: z.string().nullable().optional()
|
|
2315
|
+
})
|
|
2316
|
+
),
|
|
2317
|
+
marketKind: z.literal("perp")
|
|
2318
|
+
});
|
|
2319
|
+
var mcpArcusSearchMarketsInputSchema = arcusFetchChainInputSchema.extend({
|
|
2320
|
+
query: z.string().min(1),
|
|
2321
|
+
limit: z.coerce.number().int().positive().max(50).optional()
|
|
2322
|
+
});
|
|
2323
|
+
var mcpArcusSearchMarketsOutputSchema = mcpArcusFetchMarketsOutputSchema;
|
|
2324
|
+
var mcpArcusFetchOhlcvInputSchema = arcusFetchChainInputSchema.extend({
|
|
2325
|
+
market: z.string().optional(),
|
|
2326
|
+
coin: z.string().optional(),
|
|
2327
|
+
interval: z.string().optional(),
|
|
2328
|
+
lookbackDays: z.coerce.number().positive().optional(),
|
|
2329
|
+
lookbackHours: z.coerce.number().positive().optional(),
|
|
2330
|
+
candleCount: z.coerce.number().int().positive().max(1500).optional()
|
|
2331
|
+
});
|
|
2332
|
+
var mcpArcusFetchOhlcvOutputSchema = arcusOhlcvEnvelopeSchema;
|
|
2333
|
+
var mcpArcusSpotFetchMarketsInputSchema = arcusFetchChainInputSchema;
|
|
2334
|
+
var mcpArcusSpotFetchMarketsOutputSchema = z.object({
|
|
2335
|
+
tokens: z.array(
|
|
2336
|
+
z.object({
|
|
2337
|
+
ticker: z.string(),
|
|
2338
|
+
contractAddress: z.string(),
|
|
2339
|
+
name: z.string(),
|
|
2340
|
+
logoUrl: z.string().nullable().optional(),
|
|
2341
|
+
price: z.string().nullable().optional()
|
|
2342
|
+
})
|
|
2343
|
+
),
|
|
2344
|
+
marketKind: z.literal("spot")
|
|
2345
|
+
});
|
|
2346
|
+
var mcpArcusSpotFetchOhlcvInputSchema = arcusFetchChainInputSchema.extend({
|
|
2347
|
+
ticker: z.string().optional(),
|
|
2348
|
+
tokenAddress: z.string().optional(),
|
|
2349
|
+
currencySymbol: z.string().optional(),
|
|
2350
|
+
interval: z.string().optional(),
|
|
2351
|
+
lookbackDays: z.coerce.number().positive().optional(),
|
|
2352
|
+
candleCount: z.coerce.number().int().positive().optional()
|
|
2353
|
+
});
|
|
2354
|
+
var mcpArcusSpotFetchOhlcvOutputSchema = arcusOhlcvEnvelopeSchema;
|
|
2355
|
+
var mcpArcusFetchMarketSnapshotInputSchema = arcusFetchChainInputSchema.extend({
|
|
2356
|
+
market: z.string().optional(),
|
|
2357
|
+
coin: z.string().optional(),
|
|
2358
|
+
interval: z.string().optional(),
|
|
2359
|
+
candleLimit: z.coerce.number().int().positive().optional()
|
|
2360
|
+
});
|
|
2361
|
+
var mcpArcusFetchMarketSnapshotOutputSchema = z.object({
|
|
2362
|
+
snapshot: z.object({
|
|
2363
|
+
market: z.string(),
|
|
2364
|
+
midUsd: z.string(),
|
|
2365
|
+
interval: z.string(),
|
|
2366
|
+
latestCandle: arcusOhlcvCandleSchema.nullable().optional(),
|
|
2367
|
+
candles: z.array(arcusOhlcvCandleSchema),
|
|
2368
|
+
candleCount: z.number(),
|
|
2369
|
+
fetchedAtMs: z.number()
|
|
2370
|
+
}),
|
|
2371
|
+
resolvedMarket: z.string()
|
|
2372
|
+
});
|
|
2373
|
+
var mcpArcusFetchAccountInputSchema = arcusFetchChainInputSchema.extend({
|
|
2374
|
+
executorAddress: evmAddressSchema
|
|
2375
|
+
});
|
|
2376
|
+
var mcpArcusFetchAccountOutputSchema = z.object({
|
|
2377
|
+
account: jsonObjectSchema,
|
|
2378
|
+
executorAddress: evmAddressSchema
|
|
2379
|
+
});
|
|
2380
|
+
var mcpArcusFetchPositionsInputSchema = mcpArcusFetchAccountInputSchema;
|
|
2381
|
+
var mcpArcusFetchPositionsOutputSchema = z.object({
|
|
2382
|
+
positions: z.array(jsonObjectSchema),
|
|
2383
|
+
executorAddress: evmAddressSchema
|
|
2384
|
+
});
|
|
2385
|
+
var mcpArcusFetchOpenOrdersInputSchema = mcpArcusFetchAccountInputSchema;
|
|
2386
|
+
var mcpArcusFetchOpenOrdersOutputSchema = z.object({
|
|
2387
|
+
orders: z.array(jsonObjectSchema),
|
|
2388
|
+
executorAddress: evmAddressSchema
|
|
2389
|
+
});
|
|
2390
|
+
var mcpArcusFetchOpenContextInputSchema = mcpArcusFetchAccountInputSchema.extend({
|
|
2391
|
+
market: z.string().optional().describe("Perp market display name (e.g. BTC-USD) to include activeAsset leverage context.")
|
|
2392
|
+
});
|
|
2393
|
+
var mcpArcusFetchOpenContextOutputSchema = z.object({
|
|
2394
|
+
account: jsonObjectSchema.nullable(),
|
|
2395
|
+
positions: z.array(jsonObjectSchema),
|
|
2396
|
+
orders: z.array(jsonObjectSchema),
|
|
2397
|
+
apiKeys: z.array(jsonObjectSchema),
|
|
2398
|
+
leverages: z.array(
|
|
2399
|
+
z.object({
|
|
2400
|
+
marketId: z.number(),
|
|
2401
|
+
marketDisplayName: z.string(),
|
|
2402
|
+
leverage: z.number()
|
|
2403
|
+
})
|
|
2404
|
+
).optional(),
|
|
2405
|
+
activeAsset: z.object({
|
|
2406
|
+
market: z.string(),
|
|
2407
|
+
leverage: z.number().nullable(),
|
|
2408
|
+
leverageLabel: z.string().nullable(),
|
|
2409
|
+
maxLeverage: z.number().nullable(),
|
|
2410
|
+
markPrice: z.string().nullable()
|
|
2411
|
+
}).nullable().optional(),
|
|
2412
|
+
executorAddress: evmAddressSchema,
|
|
2413
|
+
hasRegisteredApiKey: z.boolean()
|
|
2414
|
+
});
|
|
2415
|
+
var mcpArcusSpotFetchBalancesInputSchema = mcpArcusFetchAccountInputSchema;
|
|
2416
|
+
var mcpArcusSpotFetchBalancesOutputSchema = z.object({
|
|
2417
|
+
balances: z.array(
|
|
2418
|
+
z.object({
|
|
2419
|
+
ticker: z.string(),
|
|
2420
|
+
contractAddress: z.string(),
|
|
2421
|
+
balanceHuman: z.string(),
|
|
2422
|
+
balanceRaw: z.string()
|
|
2423
|
+
})
|
|
2424
|
+
),
|
|
2425
|
+
executorAddress: evmAddressSchema
|
|
2426
|
+
});
|
|
2427
|
+
var mcpArcusBuildCreateApiKeyMultisignInputSchema = mcpArcusMultisignInput({
|
|
2428
|
+
ed25519PubKeyHex: z.string().min(64).max(66).describe("Ed25519 public key (64 hex) from paired ed25519 KeyGen."),
|
|
2429
|
+
apiWalletName: z.string().optional()
|
|
2430
|
+
});
|
|
2431
|
+
var mcpArcusBuildPlaceOrderMultisignInputSchema = mcpArcusMultisignInput({
|
|
2432
|
+
market: z.string().min(1),
|
|
2433
|
+
isBuy: agentBooleanSchema(),
|
|
2434
|
+
limitPxHuman: z.string().min(1),
|
|
2435
|
+
szHuman: z.string().min(1),
|
|
2436
|
+
takeProfitTriggerPxHuman: z.string().optional(),
|
|
2437
|
+
stopLossTriggerPxHuman: z.string().optional(),
|
|
2438
|
+
leverageHuman: z.string().optional().describe("Effective leverage label for purpose/audit (e.g. 10x). Fetch from open_context.activeAsset."),
|
|
2439
|
+
timeInForce: z.coerce.number().int().min(0).max(3).optional().describe("Wire t: 0 GTT (default), 1 FOK, 2 IOC, 3 ALO."),
|
|
2440
|
+
clientId: z.string().optional()
|
|
2441
|
+
});
|
|
2442
|
+
var mcpArcusBuildCloseMultisignInputSchema = mcpArcusMultisignInput({
|
|
2443
|
+
market: z.string().min(1),
|
|
2444
|
+
isLong: agentBooleanSchema().describe("true when closing a long position (submits sell reduce-only IoC)."),
|
|
2445
|
+
limitPxHuman: z.string().min(1),
|
|
2446
|
+
szHuman: z.string().min(1),
|
|
2447
|
+
timeInForce: z.coerce.number().int().min(0).max(3).optional().describe("Default 2 (IOC) for closes.")
|
|
2448
|
+
});
|
|
2449
|
+
var mcpArcusBuildCancelOrderMultisignInputSchema = mcpArcusMultisignInput({
|
|
2450
|
+
market: z.string().min(1),
|
|
2451
|
+
orderId: z.string().min(1)
|
|
2452
|
+
});
|
|
2453
|
+
var mcpArcusBuildSetLeverageMultisignInputSchema = mcpArcusMultisignInput({
|
|
2454
|
+
market: z.string().min(1),
|
|
2455
|
+
leverage: z.coerce.number().int().positive().max(100)
|
|
2456
|
+
});
|
|
2457
|
+
var mcpArcusSpotBuildRfqMultisignInputSchema = mcpArcusMultisignInput({
|
|
2458
|
+
ticker: z.string().min(1),
|
|
2459
|
+
isBuy: agentBooleanSchema(),
|
|
2460
|
+
sizeHuman: z.string().min(1),
|
|
2461
|
+
limitPxHuman: z.string().optional()
|
|
2462
|
+
});
|
|
2463
|
+
var arcusFundProductSchema = z.enum(["perp", "spot"]).default("perp").describe("perp = accountIndex 0; spot = accountIndex 1 (USDG Spot bucket).");
|
|
2464
|
+
var mcpArcusBuildDepositMultisignInputSchema = withMultisignKeySourceRefine(
|
|
2465
|
+
evmMultisignCommonInputSchema.extend({
|
|
2466
|
+
usdHuman: z.string().min(1).describe("USD amount of USDG to deposit on chain 4663."),
|
|
2467
|
+
product: arcusFundProductSchema
|
|
2468
|
+
})
|
|
2469
|
+
);
|
|
2470
|
+
var mcpArcusBuildWithdrawMultisignInputSchema = withMultisignKeySourceRefine(
|
|
2471
|
+
evmMultisignCommonInputSchema.extend({
|
|
2472
|
+
usdHuman: z.string().min(1).describe("USD amount to withdraw (min $1)."),
|
|
2473
|
+
product: arcusFundProductSchema
|
|
2474
|
+
})
|
|
2475
|
+
);
|
|
2165
2476
|
var mcpCctpFeeFieldsSchema = z.object({
|
|
2166
2477
|
feeTierUsed: z.enum(["low", "med", "high"]),
|
|
2167
2478
|
maxFee: z.string().describe("Selected tier max fee in USDC base units (6 decimals)"),
|
|
@@ -2613,8 +2924,8 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2613
2924
|
actionId: "gmx.increase",
|
|
2614
2925
|
protocolId: "gmx",
|
|
2615
2926
|
chainCategory: "evm",
|
|
2616
|
-
description: "Create and submit mpc-auth multiSignRequest for GMX classic increase order (open/add perp). Keeper executes asynchronously after
|
|
2617
|
-
prerequisites: ["
|
|
2927
|
+
description: "Create and submit mpc-auth multiSignRequest for GMX classic increase order (open/add perp). Optional takeProfitPriceUsdHuman / stopLossPriceUsdHuman attach native on-chain TP/SL decrease orders (full size). On-chain EVM \u2014 useCustomGas applies (not EIP-712). Keeper executes asynchronously after broadcast.",
|
|
2928
|
+
prerequisites: ["keyGenId", "chainId", "purposeText", "GMX market symbol", "classic mode only \u2014 no subaccounts"],
|
|
2618
2929
|
handler: { importPath: "protocols/evm/gmx", exportName: "buildEvmMultisignBodyGmxIncreaseBatch" },
|
|
2619
2930
|
inputZod: mcpGmxIncreaseInputSchema
|
|
2620
2931
|
}),
|
|
@@ -2683,8 +2994,8 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2683
2994
|
actionId: "hyperliquid.limitOrder",
|
|
2684
2995
|
protocolId: "hyperliquid",
|
|
2685
2996
|
chainCategory: "evm",
|
|
2686
|
-
description: "Create and submit mpc-auth multiSignRequest for a Hyperliquid limit/IoC order
|
|
2687
|
-
prerequisites: ["
|
|
2997
|
+
description: "Create and submit mpc-auth multiSignRequest for a Hyperliquid limit/IoC order. Plain limit: CoreWriter (useCustomGas). When takeProfitTriggerPxHuman and/or stopLossTriggerPxHuman are set: one L1 EIP-712 normalTpsl bracket (entry + TP/SL) to /exchange \u2014 no useCustomGas.",
|
|
2998
|
+
prerequisites: ["keyGenId", "chainId 999 or 998", "coin", "limitPxHuman", "szHuman"],
|
|
2688
2999
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "buildEvmMultisignBodyHyperliquidLimitOrderBatch" },
|
|
2689
3000
|
inputZod: mcpHyperliquidLimitOrderInputSchema
|
|
2690
3001
|
}),
|
|
@@ -2739,8 +3050,8 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2739
3050
|
actionId: "hyperliquid.bridgeWithdraw",
|
|
2740
3051
|
protocolId: "hyperliquid",
|
|
2741
3052
|
chainCategory: "evm",
|
|
2742
|
-
description: "Create and submit mpc-auth multiSignRequest to withdraw USDC from Hyperliquid to Arbitrum via withdraw3 (EIP-712, delivered to /exchange). chainId 999 or 998. ~1 USDC bridge fee on Hyperliquid.",
|
|
2743
|
-
prerequisites: ["
|
|
3053
|
+
description: "Create and submit mpc-auth multiSignRequest to withdraw USDC from Hyperliquid to Arbitrum via withdraw3 (EIP-712, delivered to /exchange). chainId 999 or 998. No useCustomGas. ~1 USDC bridge fee on Hyperliquid.",
|
|
3054
|
+
prerequisites: ["keyGenId", "chainId 999 or 998", "usdHuman", "Hyperliquid withdrawable balance"],
|
|
2744
3055
|
handler: {
|
|
2745
3056
|
importPath: "protocols/evm/hyperliquid",
|
|
2746
3057
|
exportName: "buildHyperliquidBridgeWithdrawMultisign"
|
|
@@ -2812,7 +3123,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2812
3123
|
actionId: "hyperliquid.updateLeverage",
|
|
2813
3124
|
protocolId: "hyperliquid",
|
|
2814
3125
|
chainCategory: "evm",
|
|
2815
|
-
description: "Set per-market leverage (cross or isolated) on Hyperliquid via L1 /exchange EIP-712 signing \u2014 not CoreWriter
|
|
3126
|
+
description: "Set per-market leverage (cross or isolated) on Hyperliquid via L1 /exchange EIP-712 signing \u2014 not CoreWriter. No useCustomGas. trigger_sign_result without txParams; broadcast_sign_result POSTs to /exchange.",
|
|
2816
3127
|
prerequisites: [
|
|
2817
3128
|
"keyGenId",
|
|
2818
3129
|
"chainId 999 or 998",
|
|
@@ -2828,6 +3139,101 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
2828
3139
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "buildHyperliquidUpdateLeverageMultisign" },
|
|
2829
3140
|
inputZod: mcpHyperliquidUpdateLeverageInputSchema
|
|
2830
3141
|
}),
|
|
3142
|
+
defineProtocolMcpTool({
|
|
3143
|
+
name: "ctm_arcus_build_create_api_key_multisign",
|
|
3144
|
+
actionId: "arcus.createApiKey",
|
|
3145
|
+
protocolId: "arcus",
|
|
3146
|
+
chainCategory: "evm",
|
|
3147
|
+
description: "Register Arcus Ed25519 API key. Requires paired KeyGens (same GroupId): secp256k1KeyGenId for personal_sign + ed25519KeyGenId pubkey. No useCustomGas.",
|
|
3148
|
+
prerequisites: ["secp256k1KeyGenId", "ed25519KeyGenId (same GroupId)", "ed25519PubKeyHex from ed25519 KeyGen"],
|
|
3149
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result"],
|
|
3150
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusCreateApiKeyBatch" },
|
|
3151
|
+
inputZod: mcpArcusBuildCreateApiKeyMultisignInputSchema
|
|
3152
|
+
}),
|
|
3153
|
+
defineProtocolMcpTool({
|
|
3154
|
+
name: "ctm_arcus_build_place_order_multisign",
|
|
3155
|
+
actionId: "arcus.placeOrder",
|
|
3156
|
+
protocolId: "arcus",
|
|
3157
|
+
chainCategory: "evm",
|
|
3158
|
+
description: "Arcus perp limit order with optional TP/SL bracket (Ed25519 payload sign). Uses account leverage already set on Arcus (see fetch_open_context.activeAsset). ed25519KeyGenId signs; secp256k1KeyGenId bills globalNonce.",
|
|
3159
|
+
prerequisites: ["secp256k1KeyGenId", "ed25519KeyGenId", "registered API key", "market from fetch_markets", "leverage from fetch_open_context"],
|
|
3160
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result"],
|
|
3161
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusPlaceOrderBatch" },
|
|
3162
|
+
inputZod: mcpArcusBuildPlaceOrderMultisignInputSchema
|
|
3163
|
+
}),
|
|
3164
|
+
defineProtocolMcpTool({
|
|
3165
|
+
name: "ctm_arcus_build_close_multisign",
|
|
3166
|
+
actionId: "arcus.close",
|
|
3167
|
+
protocolId: "arcus",
|
|
3168
|
+
chainCategory: "evm",
|
|
3169
|
+
description: "Close Arcus perp position with IoC reduce-only limit (Ed25519 payload sign). Inverts side from isLong. Fetch positions via fetch_open_context.",
|
|
3170
|
+
prerequisites: ["secp256k1KeyGenId", "ed25519KeyGenId", "market", "isLong from fetch_positions", "limitPxHuman", "szHuman"],
|
|
3171
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result"],
|
|
3172
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusCloseBatch" },
|
|
3173
|
+
inputZod: mcpArcusBuildCloseMultisignInputSchema
|
|
3174
|
+
}),
|
|
3175
|
+
defineProtocolMcpTool({
|
|
3176
|
+
name: "ctm_arcus_build_cancel_order_multisign",
|
|
3177
|
+
actionId: "arcus.cancelOrder",
|
|
3178
|
+
protocolId: "arcus",
|
|
3179
|
+
chainCategory: "evm",
|
|
3180
|
+
description: "Cancel Arcus perp order (Ed25519 payload sign).",
|
|
3181
|
+
prerequisites: ["secp256k1KeyGenId", "ed25519KeyGenId", "orderId from fetch_open_orders"],
|
|
3182
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result"],
|
|
3183
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusCancelOrderBatch" },
|
|
3184
|
+
inputZod: mcpArcusBuildCancelOrderMultisignInputSchema
|
|
3185
|
+
}),
|
|
3186
|
+
defineProtocolMcpTool({
|
|
3187
|
+
name: "ctm_arcus_build_set_leverage_multisign",
|
|
3188
|
+
actionId: "arcus.setLeverage",
|
|
3189
|
+
protocolId: "arcus",
|
|
3190
|
+
chainCategory: "evm",
|
|
3191
|
+
description: "Set Arcus perp leverage for a market (Scheme 2 Ed25519 \u2192 POST /v1/setLeverage). Call before place_order when leverage must change. Max leverage = floor(1 / initialMarginFraction) from fetch_markets.",
|
|
3192
|
+
prerequisites: ["secp256k1KeyGenId", "ed25519KeyGenId", "market", "leverage", "ctm_arcus_fetch_open_context for current leverage"],
|
|
3193
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result"],
|
|
3194
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusSetLeverageBatch" },
|
|
3195
|
+
inputZod: mcpArcusBuildSetLeverageMultisignInputSchema
|
|
3196
|
+
}),
|
|
3197
|
+
defineProtocolMcpTool({
|
|
3198
|
+
name: "ctm_arcus_spot_build_rfq_multisign",
|
|
3199
|
+
actionId: "arcus.spotRfq",
|
|
3200
|
+
protocolId: "arcus",
|
|
3201
|
+
chainCategory: "evm",
|
|
3202
|
+
description: "Arcus spot Stock Token RFQ buy/sell. Post-fill: offer Add ERC20 with tokenContractAddress from delivery.",
|
|
3203
|
+
prerequisites: ["secp256k1KeyGenId", "ed25519KeyGenId", "ticker from spot_fetch_markets"],
|
|
3204
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result"],
|
|
3205
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusSpotRfqBatch" },
|
|
3206
|
+
inputZod: mcpArcusSpotBuildRfqMultisignInputSchema
|
|
3207
|
+
}),
|
|
3208
|
+
defineProtocolMcpTool({
|
|
3209
|
+
name: "ctm_arcus_build_deposit_multisign",
|
|
3210
|
+
actionId: "arcus.deposit",
|
|
3211
|
+
protocolId: "arcus",
|
|
3212
|
+
chainCategory: "evm",
|
|
3213
|
+
description: "Deposit USDG on Robinhood Chain (4663) into Arcus collateral via approve + initiateDeposit. product=perp (accountIndex 0) or spot (accountIndex 1). Requires registered API key (createApiKey first). After broadcast, call ctm_arcus_fetch_account to confirm \u2014 no polling loop.",
|
|
3214
|
+
prerequisites: [
|
|
3215
|
+
"keyGenId",
|
|
3216
|
+
"chainId 4663",
|
|
3217
|
+
"executorAddress",
|
|
3218
|
+
"hasRegisteredApiKey from fetch_open_context",
|
|
3219
|
+
"USDG wallet balance on 4663",
|
|
3220
|
+
"usdHuman"
|
|
3221
|
+
],
|
|
3222
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result", "ctm_arcus_fetch_account"],
|
|
3223
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildEvmMultisignBodyArcusDepositBatch" },
|
|
3224
|
+
inputZod: mcpArcusBuildDepositMultisignInputSchema
|
|
3225
|
+
}),
|
|
3226
|
+
defineProtocolMcpTool({
|
|
3227
|
+
name: "ctm_arcus_build_withdraw_multisign",
|
|
3228
|
+
actionId: "arcus.withdraw",
|
|
3229
|
+
protocolId: "arcus",
|
|
3230
|
+
chainCategory: "evm",
|
|
3231
|
+
description: "Withdraw USDG collateral from Arcus to the signing wallet (EIP-712 + POST /v1/withdraw). product=perp or spot. Min $1. Async \u2014 refresh with ctm_arcus_fetch_account after broadcast.",
|
|
3232
|
+
prerequisites: ["keyGenId", "chainId 4663", "freeCollateral or spot balance", "usdHuman"],
|
|
3233
|
+
followUp: ["sign_request_agree", "trigger_sign_result", "broadcast_sign_result", "ctm_arcus_fetch_account"],
|
|
3234
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "buildArcusWithdrawMultisignBody" },
|
|
3235
|
+
inputZod: mcpArcusBuildWithdrawMultisignInputSchema
|
|
3236
|
+
}),
|
|
2831
3237
|
defineProtocolMcpTool({
|
|
2832
3238
|
name: "ctm_cctp_build_burn_multisign",
|
|
2833
3239
|
actionId: "circle-cctp.burn-forward",
|
|
@@ -2918,6 +3324,52 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2918
3324
|
handler: { importPath: "protocols/evm/uniswap-v4", exportName: "buildEvmMultisignBodyUniswapV4SkipPermit2Batch" },
|
|
2919
3325
|
inputZod: mcpUniswapV4BuildSwapMultisignInputSchema
|
|
2920
3326
|
}),
|
|
3327
|
+
defineMcpTool({
|
|
3328
|
+
name: "ctm_uniswap_v4_limit_order_quote",
|
|
3329
|
+
actionId: "uniswap-v4.limit-order-quote",
|
|
3330
|
+
protocolId: "uniswap-v4",
|
|
3331
|
+
chainCategory: "evm",
|
|
3332
|
+
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 with this exact JSON as fullLimitQuote (re-quote if limitPrice or orderDeadline changes).",
|
|
3333
|
+
prerequisites: [
|
|
3334
|
+
"UNISWAP_API_KEY in node Variables",
|
|
3335
|
+
"chainId must be 1",
|
|
3336
|
+
"keyGenId or swapper (server resolves swapper from keyGenId)",
|
|
3337
|
+
"limitPrice, orderDeadline, amount, tokenIn, tokenOut"
|
|
3338
|
+
],
|
|
3339
|
+
followUp: ["ctm_uniswap_v4_build_limit_order_multisign", "ctm_uniswap_v4_fetch_limit_orders"],
|
|
3340
|
+
handler: { importPath: "protocols/evm/uniswap-v4", exportName: "uniswapLimitOrderQuote" },
|
|
3341
|
+
inputZod: mcpUniswapV4LimitOrderQuoteInputSchema,
|
|
3342
|
+
outputZod: mcpUniswapV4LimitOrderQuoteOutputSchema
|
|
3343
|
+
}),
|
|
3344
|
+
defineMultisignSubmitMcpTool({
|
|
3345
|
+
name: "ctm_uniswap_v4_build_limit_order_multisign",
|
|
3346
|
+
actionId: "uniswap-v4.limit-order",
|
|
3347
|
+
protocolId: "uniswap-v4",
|
|
3348
|
+
chainCategory: "evm",
|
|
3349
|
+
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. EIP-712 only \u2014 useCustomGas is ignored.",
|
|
3350
|
+
prerequisites: [
|
|
3351
|
+
"Fresh ctm_uniswap_v4_limit_order_quote output (fullLimitQuote) \u2014 re-quote when limitPrice or orderDeadline changes",
|
|
3352
|
+
"keyGenId + chainId 1 + purposeText"
|
|
3353
|
+
],
|
|
3354
|
+
followUp: ["ctm_uniswap_v4_fetch_limit_orders"],
|
|
3355
|
+
handler: {
|
|
3356
|
+
importPath: "protocols/evm/uniswap-v4",
|
|
3357
|
+
exportName: "buildEvmMultisignBodyUniswapV4LimitOrderBatchFromMcp"
|
|
3358
|
+
},
|
|
3359
|
+
inputZod: mcpUniswapV4BuildLimitOrderMultisignInputSchema
|
|
3360
|
+
}),
|
|
3361
|
+
defineMcpTool({
|
|
3362
|
+
name: "ctm_uniswap_v4_fetch_limit_orders",
|
|
3363
|
+
actionId: "uniswap-v4.fetch-limit-orders",
|
|
3364
|
+
protocolId: "uniswap-v4",
|
|
3365
|
+
chainCategory: "evm",
|
|
3366
|
+
description: "List open UniswapX limit orders for a swapper (GET /v2/limit-orders). Ethereum mainnet only. Optional UNISWAP_API_KEY.",
|
|
3367
|
+
prerequisites: ["swapper or keyGenId", "chainId 1"],
|
|
3368
|
+
followUp: [],
|
|
3369
|
+
handler: { importPath: "protocols/evm/uniswap-v4", exportName: "uniswapFetchLimitOrdersMcp" },
|
|
3370
|
+
inputZod: mcpUniswapV4FetchLimitOrdersInputSchema,
|
|
3371
|
+
outputZod: mcpUniswapV4FetchLimitOrdersOutputSchema
|
|
3372
|
+
}),
|
|
2921
3373
|
defineMcpTool({
|
|
2922
3374
|
name: "ctm_uniswap_v4_list_lp_pools",
|
|
2923
3375
|
actionId: "uniswap-v4.lp-list-pools",
|
|
@@ -2935,10 +3387,10 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2935
3387
|
actionId: "uniswap-v4.fetch-ohlcv",
|
|
2936
3388
|
protocolId: "uniswap-v4",
|
|
2937
3389
|
chainCategory: "evm",
|
|
2938
|
-
description: "Pool OHLCV
|
|
3390
|
+
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.",
|
|
2939
3391
|
prerequisites: [
|
|
2940
|
-
"chainId with
|
|
2941
|
-
"poolPreset or poolReference or existingPool",
|
|
3392
|
+
"chainId with OHLCV support (subgraph or Robinhood/Bitquery)",
|
|
3393
|
+
"poolPreset or poolReference or existingPool (subgraph); currencyAddress or currencySymbol or existingPool (Robinhood)",
|
|
2942
3394
|
"interval + lookbackDays or lookbackHours or startTimeMs"
|
|
2943
3395
|
],
|
|
2944
3396
|
followUp: ["ctm_uniswap_v4_list_lp_pools", "continuum__prepare_chart_from_rows"],
|
|
@@ -3369,6 +3821,158 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
3369
3821
|
inputZod: mcpHyperliquidFetchDelegationsInputSchema,
|
|
3370
3822
|
outputZod: mcpHyperliquidFetchDelegationsOutputSchema
|
|
3371
3823
|
}),
|
|
3824
|
+
defineMcpTool({
|
|
3825
|
+
name: "ctm_arcus_fetch_markets",
|
|
3826
|
+
actionId: "arcus.fetch-markets",
|
|
3827
|
+
protocolId: "arcus",
|
|
3828
|
+
chainCategory: "evm",
|
|
3829
|
+
description: "List Arcus perp markets on Robinhood Chain (4663). Crypto, equities, commodities.",
|
|
3830
|
+
prerequisites: ["chainId 4663"],
|
|
3831
|
+
followUp: ["ctm_arcus_fetch_open_context", "ctm_arcus_fetch_ohlcv", "ctm_arcus_build_place_order_multisign"],
|
|
3832
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchMarketsSummary" },
|
|
3833
|
+
inputZod: mcpArcusFetchMarketsInputSchema,
|
|
3834
|
+
outputZod: mcpArcusFetchMarketsOutputSchema
|
|
3835
|
+
}),
|
|
3836
|
+
defineMcpTool({
|
|
3837
|
+
name: "ctm_arcus_search_markets",
|
|
3838
|
+
actionId: "arcus.search-markets",
|
|
3839
|
+
protocolId: "arcus",
|
|
3840
|
+
chainCategory: "evm",
|
|
3841
|
+
description: "Search Arcus perp markets by ticker or name.",
|
|
3842
|
+
prerequisites: ["chainId 4663", "query"],
|
|
3843
|
+
followUp: ["ctm_arcus_fetch_ohlcv", "ctm_arcus_build_place_order_multisign"],
|
|
3844
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusSearchMarketsSummary" },
|
|
3845
|
+
inputZod: mcpArcusSearchMarketsInputSchema,
|
|
3846
|
+
outputZod: mcpArcusSearchMarketsOutputSchema
|
|
3847
|
+
}),
|
|
3848
|
+
defineMcpTool({
|
|
3849
|
+
name: "ctm_arcus_fetch_ohlcv",
|
|
3850
|
+
actionId: "arcus.fetch-ohlcv",
|
|
3851
|
+
protocolId: "arcus",
|
|
3852
|
+
chainCategory: "evm",
|
|
3853
|
+
description: "OHLCV for Arcus perps (api.arcus.xyz). Returns HL-shaped { ohlcv: { market, interval, candles } } for chart/analysis binding. Use for perp charts only \u2014 spot uses ctm_arcus_spot_fetch_ohlcv.",
|
|
3854
|
+
prerequisites: ["chainId 4663", "market or coin"],
|
|
3855
|
+
followUp: ["ctm_arcus_fetch_market_snapshot", "continuum__prepare_chart_from_rows", "ctm_arcus_build_place_order_multisign"],
|
|
3856
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchOhlcvSummary" },
|
|
3857
|
+
inputZod: mcpArcusFetchOhlcvInputSchema,
|
|
3858
|
+
outputZod: mcpArcusFetchOhlcvOutputSchema
|
|
3859
|
+
}),
|
|
3860
|
+
defineMcpTool({
|
|
3861
|
+
name: "ctm_arcus_spot_fetch_markets",
|
|
3862
|
+
actionId: "arcus.spot-fetch-markets",
|
|
3863
|
+
protocolId: "arcus",
|
|
3864
|
+
chainCategory: "evm",
|
|
3865
|
+
description: "Arcus spot Stock Token catalog (ticker, contract address, logo).",
|
|
3866
|
+
prerequisites: ["chainId 4663"],
|
|
3867
|
+
followUp: ["ctm_arcus_spot_fetch_ohlcv", "ctm_arcus_spot_fetch_balances", "ctm_arcus_spot_build_rfq_multisign"],
|
|
3868
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusSpotFetchMarketsSummary" },
|
|
3869
|
+
inputZod: mcpArcusSpotFetchMarketsInputSchema,
|
|
3870
|
+
outputZod: mcpArcusSpotFetchMarketsOutputSchema
|
|
3871
|
+
}),
|
|
3872
|
+
defineMcpTool({
|
|
3873
|
+
name: "ctm_arcus_spot_search_markets",
|
|
3874
|
+
actionId: "arcus.spot-search-markets",
|
|
3875
|
+
protocolId: "arcus",
|
|
3876
|
+
chainCategory: "evm",
|
|
3877
|
+
description: "Search Arcus spot Stock Tokens.",
|
|
3878
|
+
prerequisites: ["chainId 4663", "query"],
|
|
3879
|
+
followUp: ["ctm_arcus_spot_fetch_ohlcv", "ctm_arcus_spot_build_rfq_multisign"],
|
|
3880
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusSpotSearchMarketsSummary" },
|
|
3881
|
+
inputZod: mcpArcusSearchMarketsInputSchema,
|
|
3882
|
+
outputZod: mcpArcusSpotFetchMarketsOutputSchema
|
|
3883
|
+
}),
|
|
3884
|
+
defineMcpTool({
|
|
3885
|
+
name: "ctm_arcus_spot_fetch_ohlcv",
|
|
3886
|
+
actionId: "arcus.spot-fetch-ohlcv",
|
|
3887
|
+
protocolId: "arcus",
|
|
3888
|
+
chainCategory: "evm",
|
|
3889
|
+
description: "OHLCV for Arcus spot Stock Tokens (indexer.spot.arcus.xyz). Use for spot charts \u2014 not perp ctm_arcus_fetch_ohlcv.",
|
|
3890
|
+
prerequisites: ["chainId 4663", "ticker or tokenAddress"],
|
|
3891
|
+
followUp: ["continuum__prepare_chart_from_rows", "ctm_arcus_spot_build_rfq_multisign"],
|
|
3892
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusSpotFetchOhlcvSummary" },
|
|
3893
|
+
inputZod: mcpArcusSpotFetchOhlcvInputSchema,
|
|
3894
|
+
outputZod: mcpArcusSpotFetchOhlcvOutputSchema
|
|
3895
|
+
}),
|
|
3896
|
+
defineMcpTool({
|
|
3897
|
+
name: "ctm_arcus_fetch_market_snapshot",
|
|
3898
|
+
actionId: "arcus.fetch-market-snapshot",
|
|
3899
|
+
protocolId: "arcus",
|
|
3900
|
+
chainCategory: "evm",
|
|
3901
|
+
description: "Live mid price plus recent perp OHLCV candles.",
|
|
3902
|
+
prerequisites: ["chainId 4663", "market or coin"],
|
|
3903
|
+
followUp: ["ctm_arcus_fetch_open_context", "ctm_arcus_build_place_order_multisign"],
|
|
3904
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchMarketSnapshotSummary" },
|
|
3905
|
+
inputZod: mcpArcusFetchMarketSnapshotInputSchema,
|
|
3906
|
+
outputZod: mcpArcusFetchMarketSnapshotOutputSchema
|
|
3907
|
+
}),
|
|
3908
|
+
defineMcpTool({
|
|
3909
|
+
name: "ctm_arcus_fetch_account",
|
|
3910
|
+
actionId: "arcus.fetch-account",
|
|
3911
|
+
protocolId: "arcus",
|
|
3912
|
+
chainCategory: "evm",
|
|
3913
|
+
description: "Arcus perp account summary (equity, collateral).",
|
|
3914
|
+
prerequisites: ["chainId 4663", "executorAddress"],
|
|
3915
|
+
followUp: ["ctm_arcus_build_create_api_key_multisign", "ctm_arcus_build_deposit_multisign", "ctm_arcus_build_withdraw_multisign"],
|
|
3916
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchAccountSummary" },
|
|
3917
|
+
inputZod: mcpArcusFetchAccountInputSchema,
|
|
3918
|
+
outputZod: mcpArcusFetchAccountOutputSchema
|
|
3919
|
+
}),
|
|
3920
|
+
defineMcpTool({
|
|
3921
|
+
name: "ctm_arcus_fetch_positions",
|
|
3922
|
+
actionId: "arcus.fetch-positions",
|
|
3923
|
+
protocolId: "arcus",
|
|
3924
|
+
chainCategory: "evm",
|
|
3925
|
+
description: "Open Arcus perp positions.",
|
|
3926
|
+
prerequisites: ["chainId 4663", "executorAddress"],
|
|
3927
|
+
followUp: ["ctm_arcus_build_place_order_multisign", "ctm_arcus_build_close_multisign"],
|
|
3928
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchPositionsSummary" },
|
|
3929
|
+
inputZod: mcpArcusFetchPositionsInputSchema,
|
|
3930
|
+
outputZod: mcpArcusFetchPositionsOutputSchema
|
|
3931
|
+
}),
|
|
3932
|
+
defineMcpTool({
|
|
3933
|
+
name: "ctm_arcus_fetch_open_orders",
|
|
3934
|
+
actionId: "arcus.fetch-open-orders",
|
|
3935
|
+
protocolId: "arcus",
|
|
3936
|
+
chainCategory: "evm",
|
|
3937
|
+
description: "Pending Arcus perp orders.",
|
|
3938
|
+
prerequisites: ["chainId 4663", "executorAddress"],
|
|
3939
|
+
followUp: ["ctm_arcus_build_cancel_order_multisign"],
|
|
3940
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchOpenOrdersSummary" },
|
|
3941
|
+
inputZod: mcpArcusFetchOpenOrdersInputSchema,
|
|
3942
|
+
outputZod: mcpArcusFetchOpenOrdersOutputSchema
|
|
3943
|
+
}),
|
|
3944
|
+
defineMcpTool({
|
|
3945
|
+
name: "ctm_arcus_fetch_open_context",
|
|
3946
|
+
actionId: "arcus.fetch-open-context",
|
|
3947
|
+
protocolId: "arcus",
|
|
3948
|
+
chainCategory: "evm",
|
|
3949
|
+
description: "Account, positions, orders, API keys, per-market leverages, and optional activeAsset leverage for a market.",
|
|
3950
|
+
prerequisites: ["chainId 4663", "executorAddress"],
|
|
3951
|
+
followUp: [
|
|
3952
|
+
"ctm_arcus_build_create_api_key_multisign",
|
|
3953
|
+
"ctm_arcus_build_set_leverage_multisign",
|
|
3954
|
+
"ctm_arcus_build_place_order_multisign",
|
|
3955
|
+
"ctm_arcus_build_close_multisign",
|
|
3956
|
+
"ctm_arcus_build_cancel_order_multisign",
|
|
3957
|
+
"ctm_arcus_build_deposit_multisign",
|
|
3958
|
+
"ctm_arcus_build_withdraw_multisign"
|
|
3959
|
+
],
|
|
3960
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusFetchOpenContextSummary" },
|
|
3961
|
+
inputZod: mcpArcusFetchOpenContextInputSchema,
|
|
3962
|
+
outputZod: mcpArcusFetchOpenContextOutputSchema
|
|
3963
|
+
}),
|
|
3964
|
+
defineMcpTool({
|
|
3965
|
+
name: "ctm_arcus_spot_fetch_balances",
|
|
3966
|
+
actionId: "arcus.spot-fetch-balances",
|
|
3967
|
+
protocolId: "arcus",
|
|
3968
|
+
chainCategory: "evm",
|
|
3969
|
+
description: "On-chain Stock Token ERC20 balances for executor on 4663.",
|
|
3970
|
+
prerequisites: ["chainId 4663", "executorAddress"],
|
|
3971
|
+
followUp: ["ctm_arcus_spot_build_rfq_multisign", "ctm_arcus_build_deposit_multisign", "ctm_arcus_build_withdraw_multisign"],
|
|
3972
|
+
handler: { importPath: "protocols/evm/arcus", exportName: "arcusSpotFetchBalancesSummary" },
|
|
3973
|
+
inputZod: mcpArcusSpotFetchBalancesInputSchema,
|
|
3974
|
+
outputZod: mcpArcusSpotFetchBalancesOutputSchema
|
|
3975
|
+
}),
|
|
3372
3976
|
defineMcpTool({
|
|
3373
3977
|
name: "ctm_morpho_fetch_blue_markets",
|
|
3374
3978
|
actionId: "morpho.fetch-blue-markets",
|
|
@@ -4099,7 +4703,7 @@ var hyperliquidProtocolModule = {
|
|
|
4099
4703
|
id: "hyperliquid.limitOrder",
|
|
4100
4704
|
protocolId: HYPERLIQUID_PROTOCOL_ID,
|
|
4101
4705
|
chainCategory: "evm",
|
|
4102
|
-
description: "Place a Hyperliquid limit/IoC order via
|
|
4706
|
+
description: "Place a Hyperliquid limit/IoC order via CoreWriter, or L1 normalTpsl bracket when TP/SL triggers are set",
|
|
4103
4707
|
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
4104
4708
|
params: {
|
|
4105
4709
|
coin: { type: "string", required: true, description: "Market coin e.g. BTC" },
|
|
@@ -4108,7 +4712,10 @@ var hyperliquidProtocolModule = {
|
|
|
4108
4712
|
szHuman: { type: "string", required: true, description: "Order size in coin units" },
|
|
4109
4713
|
marketKind: { type: "string", required: false, description: "perp (default) or spot" },
|
|
4110
4714
|
tif: { type: "string", required: false, description: "gtc, ioc, or alo" },
|
|
4111
|
-
dex: { type: "string", required: false, description: "HIP-3 dex name when applicable" }
|
|
4715
|
+
dex: { type: "string", required: false, description: "HIP-3 dex name when applicable" },
|
|
4716
|
+
takeProfitTriggerPxHuman: { type: "string", required: false, description: "TP trigger \u2014 enables L1 bracket with SL" },
|
|
4717
|
+
stopLossTriggerPxHuman: { type: "string", required: false, description: "SL trigger \u2014 enables L1 bracket with TP" },
|
|
4718
|
+
tpslExecMode: { type: "string", required: false, description: "limit_at_trigger (default) or market" }
|
|
4112
4719
|
}
|
|
4113
4720
|
},
|
|
4114
4721
|
{
|
|
@@ -4247,6 +4854,136 @@ var hyperliquidProtocolModule = {
|
|
|
4247
4854
|
]
|
|
4248
4855
|
};
|
|
4249
4856
|
registerProtocolModule(hyperliquidProtocolModule);
|
|
4857
|
+
|
|
4858
|
+
// src/protocols/evm/arcus/index.ts
|
|
4859
|
+
init_support();
|
|
4860
|
+
init_support();
|
|
4861
|
+
init_constants();
|
|
4862
|
+
init_api();
|
|
4863
|
+
init_constants();
|
|
4864
|
+
var arcusProtocolModule = {
|
|
4865
|
+
id: ARCUS_PROTOCOL_ID,
|
|
4866
|
+
chainCategory: "evm",
|
|
4867
|
+
isChainSupported(ctx) {
|
|
4868
|
+
if (ctx.chainCategory !== "evm") return false;
|
|
4869
|
+
const chainId = typeof ctx.chainId === "number" ? ctx.chainId : Number(ctx.chainId);
|
|
4870
|
+
return Number.isFinite(chainId) && isArcusChainSupported(chainId);
|
|
4871
|
+
},
|
|
4872
|
+
isTokenSupported(token) {
|
|
4873
|
+
if (token.category !== "evm") return false;
|
|
4874
|
+
return token.kind === "erc20" || token.kind === "native";
|
|
4875
|
+
},
|
|
4876
|
+
actions: [
|
|
4877
|
+
{
|
|
4878
|
+
id: "arcus.createApiKey",
|
|
4879
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4880
|
+
chainCategory: "evm",
|
|
4881
|
+
description: "Register Arcus Ed25519 API key (secp256k1 personal_sign + paired ed25519 KeyGen)",
|
|
4882
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4883
|
+
params: {
|
|
4884
|
+
secp256k1KeyGenId: { type: "string", required: true, description: "Custody secp256k1 KeyGen id" },
|
|
4885
|
+
ed25519KeyGenId: { type: "string", required: true, description: "Paired ed25519 KeyGen id (same GroupId)" },
|
|
4886
|
+
apiWalletName: { type: "string", required: false, description: "Label for the API key" }
|
|
4887
|
+
}
|
|
4888
|
+
},
|
|
4889
|
+
{
|
|
4890
|
+
id: "arcus.placeOrder",
|
|
4891
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4892
|
+
chainCategory: "evm",
|
|
4893
|
+
description: "Place Arcus perp order with optional TP/SL (Ed25519 payload sign)",
|
|
4894
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4895
|
+
params: {
|
|
4896
|
+
secp256k1KeyGenId: { type: "string", required: true, description: "Custody secp256k1 KeyGen id" },
|
|
4897
|
+
ed25519KeyGenId: { type: "string", required: true, description: "Paired ed25519 KeyGen id" },
|
|
4898
|
+
market: { type: "string", required: true, description: "e.g. BTC-USD" },
|
|
4899
|
+
isBuy: { type: "boolean", required: true, description: "true for buy/long" },
|
|
4900
|
+
limitPxHuman: { type: "string", required: true, description: "Entry limit price" },
|
|
4901
|
+
szHuman: { type: "string", required: true, description: "Order size" },
|
|
4902
|
+
takeProfitTriggerPxHuman: { type: "string", required: false, description: "Optional TP trigger" },
|
|
4903
|
+
stopLossTriggerPxHuman: { type: "string", required: false, description: "Optional SL trigger" }
|
|
4904
|
+
}
|
|
4905
|
+
},
|
|
4906
|
+
{
|
|
4907
|
+
id: "arcus.spotRfq",
|
|
4908
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4909
|
+
chainCategory: "evm",
|
|
4910
|
+
description: "Arcus spot Stock Token RFQ buy/sell",
|
|
4911
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4912
|
+
params: {
|
|
4913
|
+
secp256k1KeyGenId: { type: "string", required: true, description: "Custody secp256k1 KeyGen id" },
|
|
4914
|
+
ed25519KeyGenId: { type: "string", required: true, description: "Paired ed25519 KeyGen id" },
|
|
4915
|
+
ticker: { type: "string", required: true, description: "Spot ticker e.g. AAPL" },
|
|
4916
|
+
isBuy: { type: "boolean", required: true, description: "true for buy" },
|
|
4917
|
+
sizeHuman: { type: "string", required: true, description: "Token size" },
|
|
4918
|
+
limitPxHuman: { type: "string", required: false, description: "Optional limit price" }
|
|
4919
|
+
}
|
|
4920
|
+
},
|
|
4921
|
+
{
|
|
4922
|
+
id: "arcus.close",
|
|
4923
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4924
|
+
chainCategory: "evm",
|
|
4925
|
+
description: "Close Arcus perp position with IoC reduce-only limit order",
|
|
4926
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4927
|
+
params: {
|
|
4928
|
+
secp256k1KeyGenId: { type: "string", required: true, description: "Custody secp256k1 KeyGen id" },
|
|
4929
|
+
ed25519KeyGenId: { type: "string", required: true, description: "Paired ed25519 KeyGen id" },
|
|
4930
|
+
market: { type: "string", required: true, description: "Perp market" },
|
|
4931
|
+
isLong: { type: "boolean", required: true, description: "true when closing a long position" },
|
|
4932
|
+
limitPxHuman: { type: "string", required: true, description: "Limit price for IoC close" },
|
|
4933
|
+
szHuman: { type: "string", required: true, description: "Size to close" }
|
|
4934
|
+
}
|
|
4935
|
+
},
|
|
4936
|
+
{
|
|
4937
|
+
id: "arcus.cancelOrder",
|
|
4938
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4939
|
+
chainCategory: "evm",
|
|
4940
|
+
description: "Cancel Arcus perp order",
|
|
4941
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4942
|
+
params: {
|
|
4943
|
+
secp256k1KeyGenId: { type: "string", required: true, description: "Custody secp256k1 KeyGen id" },
|
|
4944
|
+
ed25519KeyGenId: { type: "string", required: true, description: "Paired ed25519 KeyGen id" },
|
|
4945
|
+
market: { type: "string", required: true, description: "Perp market" },
|
|
4946
|
+
orderId: { type: "string", required: true, description: "Server order id" }
|
|
4947
|
+
}
|
|
4948
|
+
},
|
|
4949
|
+
{
|
|
4950
|
+
id: "arcus.setLeverage",
|
|
4951
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4952
|
+
chainCategory: "evm",
|
|
4953
|
+
description: "Set Arcus perp leverage for a market",
|
|
4954
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4955
|
+
params: {
|
|
4956
|
+
secp256k1KeyGenId: { type: "string", required: true, description: "Custody secp256k1 KeyGen id" },
|
|
4957
|
+
ed25519KeyGenId: { type: "string", required: true, description: "Paired ed25519 KeyGen id" },
|
|
4958
|
+
market: { type: "string", required: true, description: "Perp market" },
|
|
4959
|
+
leverage: { type: "number", required: true, description: "Target leverage" }
|
|
4960
|
+
}
|
|
4961
|
+
},
|
|
4962
|
+
{
|
|
4963
|
+
id: "arcus.deposit",
|
|
4964
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4965
|
+
chainCategory: "evm",
|
|
4966
|
+
description: "Deposit USDG on Robinhood Chain into Arcus perp or spot collateral (approve + initiateDeposit). Requires registered API key.",
|
|
4967
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
4968
|
+
params: {
|
|
4969
|
+
usdHuman: { type: "string", required: true, description: "USD amount to deposit" },
|
|
4970
|
+
product: { type: "string", required: false, description: "perp (default) or spot" }
|
|
4971
|
+
}
|
|
4972
|
+
},
|
|
4973
|
+
{
|
|
4974
|
+
id: "arcus.withdraw",
|
|
4975
|
+
protocolId: ARCUS_PROTOCOL_ID,
|
|
4976
|
+
chainCategory: "evm",
|
|
4977
|
+
description: "Withdraw USDG collateral from Arcus to wallet (EIP-712 + POST /v1/withdraw)",
|
|
4978
|
+
commonParams: ["keyGen", "purposeText"],
|
|
4979
|
+
params: {
|
|
4980
|
+
usdHuman: { type: "string", required: true, description: "USD amount to withdraw" },
|
|
4981
|
+
product: { type: "string", required: false, description: "perp (default) or spot" }
|
|
4982
|
+
}
|
|
4983
|
+
}
|
|
4984
|
+
]
|
|
4985
|
+
};
|
|
4986
|
+
registerProtocolModule(arcusProtocolModule);
|
|
4250
4987
|
var MORPHO_GRAPHQL_URL = "https://api.morpho.org/graphql";
|
|
4251
4988
|
async function morphoGql(query, variables) {
|
|
4252
4989
|
const body = { query, variables: variables ?? {} };
|
|
@@ -4607,6 +5344,7 @@ var SKILL_PROTOCOL_IDS = [
|
|
|
4607
5344
|
"sky",
|
|
4608
5345
|
"gmx",
|
|
4609
5346
|
"hyperliquid",
|
|
5347
|
+
"arcus",
|
|
4610
5348
|
"morpho",
|
|
4611
5349
|
"circle-cctp"
|
|
4612
5350
|
];
|
|
@@ -4656,6 +5394,7 @@ function getProtocolDiscoverySummary(protocolId) {
|
|
|
4656
5394
|
}))
|
|
4657
5395
|
};
|
|
4658
5396
|
}
|
|
5397
|
+
init_support();
|
|
4659
5398
|
var EULER_V2_SUBGRAPH_CHAIN_IDS = [
|
|
4660
5399
|
1,
|
|
4661
5400
|
8453,
|
|
@@ -4743,7 +5482,8 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
4743
5482
|
143,
|
|
4744
5483
|
59144,
|
|
4745
5484
|
4217,
|
|
4746
|
-
196
|
|
5485
|
+
196,
|
|
5486
|
+
4663
|
|
4747
5487
|
]) {
|
|
4748
5488
|
if (isUniswapV4ChainSupported(id)) ids.push(id);
|
|
4749
5489
|
}
|
|
@@ -4925,6 +5665,17 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
4925
5665
|
notes: "Hyperliquid perp coins from fetch_markets; chainId 999 mainnet or 998 testnet for HyperEVM multisign."
|
|
4926
5666
|
};
|
|
4927
5667
|
}
|
|
5668
|
+
}),
|
|
5669
|
+
arcus: advisor("arcus", "api_underlyings", {
|
|
5670
|
+
async supportedChainIds() {
|
|
5671
|
+
return [...ARCUS_SUPPORTED_CHAIN_IDS];
|
|
5672
|
+
},
|
|
5673
|
+
async supportedTokens() {
|
|
5674
|
+
return {
|
|
5675
|
+
tokens: [],
|
|
5676
|
+
notes: "Arcus on Robinhood Chain (4663): perps via fetch_markets; spot Stock Tokens via spot_fetch_markets. Custody is secp256k1 on 4663; API signing uses paired ed25519 KeyGen (same GroupId)."
|
|
5677
|
+
};
|
|
5678
|
+
}
|
|
4928
5679
|
})
|
|
4929
5680
|
};
|
|
4930
5681
|
function getProtocolSupportAdvisor(protocolId) {
|
|
@@ -4945,6 +5696,7 @@ registerProtocolModule(aaveV4ProtocolModule);
|
|
|
4945
5696
|
registerProtocolModule(eulerV2ProtocolModule);
|
|
4946
5697
|
registerProtocolModule(gmxProtocolModule);
|
|
4947
5698
|
registerProtocolModule(hyperliquidProtocolModule);
|
|
5699
|
+
registerProtocolModule(arcusProtocolModule);
|
|
4948
5700
|
registerProtocolModule(morphoProtocolModule);
|
|
4949
5701
|
registerProtocolModule(circleCctpProtocolModule);
|
|
4950
5702
|
function getAgentCatalog() {
|
|
@@ -4965,6 +5717,7 @@ function getAgentCatalog() {
|
|
|
4965
5717
|
eulerV2: eulerV2ProtocolModule,
|
|
4966
5718
|
gmx: gmxProtocolModule,
|
|
4967
5719
|
hyperliquid: hyperliquidProtocolModule,
|
|
5720
|
+
arcus: arcusProtocolModule,
|
|
4968
5721
|
morpho: morphoProtocolModule,
|
|
4969
5722
|
circleCctp: circleCctpProtocolModule,
|
|
4970
5723
|
/** Prefer getAgentCatalogForMcp() or getMcpToolDefinitions() for MCP servers. */
|
|
@@ -4972,6 +5725,6 @@ function getAgentCatalog() {
|
|
|
4972
5725
|
};
|
|
4973
5726
|
}
|
|
4974
5727
|
|
|
4975
|
-
export { EVM_COMMON_PARAM_DOCS, MANAGEMENT_SIG_DOC, MCP_NON_SUBMIT_TOOL_NAMES, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, MULTISIGN_SUBMIT_OUTPUT_DOC, PROTOCOL_SUPPORT_ADVISORS, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchOrdersInputSchema, mcpGmxFetchOrdersOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidBridgeDepositInputSchema, mcpHyperliquidBridgeWithdrawInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleRequestRedeemInputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
5728
|
+
export { EVM_COMMON_PARAM_DOCS, MANAGEMENT_SIG_DOC, MCP_NON_SUBMIT_TOOL_NAMES, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, MULTISIGN_SUBMIT_OUTPUT_DOC, PROTOCOL_SUPPORT_ADVISORS, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpArcusBuildCancelOrderMultisignInputSchema, mcpArcusBuildCloseMultisignInputSchema, mcpArcusBuildCreateApiKeyMultisignInputSchema, mcpArcusBuildDepositMultisignInputSchema, mcpArcusBuildPlaceOrderMultisignInputSchema, mcpArcusBuildSetLeverageMultisignInputSchema, mcpArcusBuildWithdrawMultisignInputSchema, mcpArcusFetchAccountInputSchema, mcpArcusFetchAccountOutputSchema, mcpArcusFetchMarketSnapshotInputSchema, mcpArcusFetchMarketSnapshotOutputSchema, mcpArcusFetchMarketsInputSchema, mcpArcusFetchMarketsOutputSchema, mcpArcusFetchOhlcvInputSchema, mcpArcusFetchOhlcvOutputSchema, mcpArcusFetchOpenContextInputSchema, mcpArcusFetchOpenContextOutputSchema, mcpArcusFetchOpenOrdersInputSchema, mcpArcusFetchOpenOrdersOutputSchema, mcpArcusFetchPositionsInputSchema, mcpArcusFetchPositionsOutputSchema, mcpArcusSearchMarketsInputSchema, mcpArcusSearchMarketsOutputSchema, mcpArcusSpotBuildRfqMultisignInputSchema, mcpArcusSpotFetchBalancesInputSchema, mcpArcusSpotFetchBalancesOutputSchema, mcpArcusSpotFetchMarketsInputSchema, mcpArcusSpotFetchMarketsOutputSchema, mcpArcusSpotFetchOhlcvInputSchema, mcpArcusSpotFetchOhlcvOutputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchOrdersInputSchema, mcpGmxFetchOrdersOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidBridgeDepositInputSchema, mcpHyperliquidBridgeWithdrawInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleRequestRedeemInputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
4976
5729
|
//# sourceMappingURL=catalog.js.map
|
|
4977
5730
|
//# sourceMappingURL=catalog.js.map
|