@continuumdao/ctm-mpc-defi 0.2.28 → 0.2.30
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 +1305 -21
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +1468 -1
- package/dist/agent/catalog.js +1236 -23
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/continuum-dao/SKILL.md +139 -0
- package/dist/agent/skills/ethena/SKILL.md +1 -1
- package/dist/agent/skills/lido/SKILL.md +4 -1
- package/dist/core/index.cjs +42 -39
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +42 -39
- package/dist/core/index.js.map +1 -1
- package/dist/{eip712Multisign-xhXpUYp3.d.ts → eip712Multisign-DCW7heqX.d.ts} +11 -8
- package/dist/index.cjs +64 -57
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +64 -57
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/arcus/index.cjs +62 -55
- package/dist/protocols/evm/arcus/index.cjs.map +1 -1
- package/dist/protocols/evm/arcus/index.js +62 -55
- package/dist/protocols/evm/arcus/index.js.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.cjs +2237 -0
- package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -0
- package/dist/protocols/evm/continuum-dao/index.d.ts +700 -0
- package/dist/protocols/evm/continuum-dao/index.js +2110 -0
- package/dist/protocols/evm/continuum-dao/index.js.map +1 -0
- package/dist/protocols/evm/ethena/index.cjs +41 -4
- package/dist/protocols/evm/ethena/index.cjs.map +1 -1
- package/dist/protocols/evm/ethena/index.d.ts +12 -2
- package/dist/protocols/evm/ethena/index.js +38 -5
- package/dist/protocols/evm/ethena/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.cjs +125 -110
- package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.js +125 -110
- package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
- package/dist/protocols/evm/lido/index.cjs +66 -1
- package/dist/protocols/evm/lido/index.cjs.map +1 -1
- package/dist/protocols/evm/lido/index.d.ts +11 -1
- package/dist/protocols/evm/lido/index.js +60 -2
- package/dist/protocols/evm/lido/index.js.map +1 -1
- package/dist/protocols/evm/permit2/index.cjs +66 -59
- package/dist/protocols/evm/permit2/index.cjs.map +1 -1
- package/dist/protocols/evm/permit2/index.js +66 -59
- package/dist/protocols/evm/permit2/index.js.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.cjs +63 -56
- package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.d.ts +1 -1
- package/dist/protocols/evm/uniswap-v4/index.js +63 -56
- package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
- package/package.json +6 -1
package/dist/agent/catalog.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getAddress, isAddress } from 'viem';
|
|
1
|
+
import { getAddress, isAddress, zeroAddress } from 'viem';
|
|
2
2
|
import { MidnightApi } from '@morpho-org/midnight-sdk/api';
|
|
3
3
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -2302,6 +2302,473 @@ var mcpMorphoMidnightRepayInputSchema = withMultisignKeySourceRefine(
|
|
|
2302
2302
|
})
|
|
2303
2303
|
)
|
|
2304
2304
|
);
|
|
2305
|
+
var mcpContinuumDaoCreateLockInputSchema = mcpMultisignInput({
|
|
2306
|
+
amountHuman: z.string().min(1).describe("CTM amount to lock"),
|
|
2307
|
+
lockDurationSeconds: z.union([z.string(), z.number()]).describe("Lock duration in seconds"),
|
|
2308
|
+
ctm: evmAddressSchema.optional(),
|
|
2309
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2310
|
+
});
|
|
2311
|
+
var mcpContinuumDaoIncreaseAmountInputSchema = mcpMultisignInput({
|
|
2312
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2313
|
+
amountHuman: z.string().min(1),
|
|
2314
|
+
ctm: evmAddressSchema.optional(),
|
|
2315
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2316
|
+
});
|
|
2317
|
+
var mcpContinuumDaoIncreaseUnlockTimeInputSchema = mcpMultisignInput({
|
|
2318
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2319
|
+
lockDurationSeconds: z.union([z.string(), z.number()]),
|
|
2320
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2321
|
+
});
|
|
2322
|
+
var mcpContinuumDaoSplitInputSchema = mcpMultisignInput({
|
|
2323
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2324
|
+
extractedHuman: z.string().min(1),
|
|
2325
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2326
|
+
});
|
|
2327
|
+
var mcpContinuumDaoMergeInputSchema = mcpMultisignInput({
|
|
2328
|
+
fromTokenId: z.union([z.string(), z.number()]),
|
|
2329
|
+
toTokenId: z.union([z.string(), z.number()]),
|
|
2330
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2331
|
+
});
|
|
2332
|
+
var mcpContinuumDaoTokenIdInputSchema = mcpMultisignInput({
|
|
2333
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2334
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2335
|
+
});
|
|
2336
|
+
var mcpContinuumDaoDelegateInputSchema = mcpMultisignInput({
|
|
2337
|
+
delegatee: evmAddressSchema,
|
|
2338
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2339
|
+
});
|
|
2340
|
+
var mcpContinuumDaoUndelegateInputSchema = mcpMultisignInput({
|
|
2341
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2342
|
+
});
|
|
2343
|
+
var mcpContinuumDaoFetchDelegatesInputSchema = z.object({
|
|
2344
|
+
chainId: z.union([z.string(), z.number()]),
|
|
2345
|
+
rpcUrl: z.string().min(1),
|
|
2346
|
+
account: evmAddressSchema,
|
|
2347
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2348
|
+
});
|
|
2349
|
+
var mcpContinuumDaoFetchDelegatesOutputSchema = z.object({
|
|
2350
|
+
account: evmAddressSchema,
|
|
2351
|
+
delegatee: evmAddressSchema,
|
|
2352
|
+
self: z.boolean()
|
|
2353
|
+
});
|
|
2354
|
+
var mcpContinuumDaoTransferInputSchema = mcpMultisignInput({
|
|
2355
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2356
|
+
to: evmAddressSchema,
|
|
2357
|
+
votingEscrow: evmAddressSchema.optional()
|
|
2358
|
+
});
|
|
2359
|
+
var mcpContinuumDaoAttachInputSchema = mcpMultisignInput({
|
|
2360
|
+
nodeKey: z.string().min(1),
|
|
2361
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2362
|
+
mpaWallet: evmAddressSchema,
|
|
2363
|
+
forumHandle: z.string().optional(),
|
|
2364
|
+
email: z.string().optional(),
|
|
2365
|
+
vps: z.string().optional(),
|
|
2366
|
+
ram: z.union([z.string(), z.number()]).optional(),
|
|
2367
|
+
cpu: z.union([z.string(), z.number()]).optional(),
|
|
2368
|
+
dIDType: z.string().optional(),
|
|
2369
|
+
dID: z.string().optional()
|
|
2370
|
+
});
|
|
2371
|
+
var mcpContinuumDaoRequestDetachInputSchema = mcpMultisignInput({
|
|
2372
|
+
tokenId: z.union([z.string(), z.number()]),
|
|
2373
|
+
nodeProperties: evmAddressSchema
|
|
2374
|
+
});
|
|
2375
|
+
var govActionSchema = z.object({
|
|
2376
|
+
target: evmAddressSchema,
|
|
2377
|
+
value: z.string().optional(),
|
|
2378
|
+
signature: z.string().optional(),
|
|
2379
|
+
inputs: z.array(z.object({ name: z.string().optional(), type: z.string(), value: z.string() })).optional()
|
|
2380
|
+
});
|
|
2381
|
+
var govOptionSchema = z.object({
|
|
2382
|
+
label: z.string().min(1),
|
|
2383
|
+
actions: z.array(govActionSchema)
|
|
2384
|
+
});
|
|
2385
|
+
var forumTopicKeyField = z.string().min(1).describe(
|
|
2386
|
+
"URL of the Governance forum thread created first with ctm_continuum_dao_forum_create_topic (decision / election / treasury / constitution / admin). Must be /topic/:tid or /t/:tid. Ideas threads and the homepage are refused."
|
|
2387
|
+
);
|
|
2388
|
+
var mcpContinuumDaoProposeBravoInputSchema = mcpMultisignInput({
|
|
2389
|
+
title: z.string().min(1).max(128),
|
|
2390
|
+
actions: z.array(govActionSchema).optional(),
|
|
2391
|
+
governor: evmAddressSchema.optional(),
|
|
2392
|
+
noOpTarget: evmAddressSchema.optional(),
|
|
2393
|
+
forumKey: forumTopicKeyField,
|
|
2394
|
+
forumUrl: z.string().optional()
|
|
2395
|
+
});
|
|
2396
|
+
var mcpContinuumDaoProposeDeltaInputSchema = mcpMultisignInput({
|
|
2397
|
+
title: z.string().min(1).max(128),
|
|
2398
|
+
options: z.array(govOptionSchema).min(2),
|
|
2399
|
+
nWinners: z.union([z.string(), z.number()]),
|
|
2400
|
+
governor: evmAddressSchema.optional(),
|
|
2401
|
+
noOpTarget: evmAddressSchema.optional(),
|
|
2402
|
+
forumKey: forumTopicKeyField,
|
|
2403
|
+
forumUrl: z.string().optional()
|
|
2404
|
+
});
|
|
2405
|
+
var mcpContinuumDaoCastVoteBravoInputSchema = mcpMultisignInput({
|
|
2406
|
+
proposalId: z.union([z.string(), z.number()]),
|
|
2407
|
+
support: z.union([z.literal(0), z.literal(1), z.literal(2), z.string()]),
|
|
2408
|
+
governor: evmAddressSchema.optional()
|
|
2409
|
+
});
|
|
2410
|
+
var mcpContinuumDaoCastVoteDeltaInputSchema = mcpMultisignInput({
|
|
2411
|
+
proposalId: z.union([z.string(), z.number()]),
|
|
2412
|
+
weights: z.array(z.union([z.string(), z.number()])),
|
|
2413
|
+
governor: evmAddressSchema.optional()
|
|
2414
|
+
});
|
|
2415
|
+
var mcpContinuumDaoProposalIdInputSchema = mcpMultisignInput({
|
|
2416
|
+
proposalId: z.union([z.string(), z.number()]),
|
|
2417
|
+
governor: evmAddressSchema.optional()
|
|
2418
|
+
});
|
|
2419
|
+
var mcpContinuumDaoFetchVotingPowerInputSchema = z.object({
|
|
2420
|
+
chainId: z.union([z.string(), z.number()]),
|
|
2421
|
+
rpcUrl: z.string().min(1),
|
|
2422
|
+
account: evmAddressSchema,
|
|
2423
|
+
governor: evmAddressSchema.optional()
|
|
2424
|
+
});
|
|
2425
|
+
var mcpContinuumDaoFetchVotingPowerOutputSchema = z.object({
|
|
2426
|
+
votes: z.string(),
|
|
2427
|
+
threshold: z.string(),
|
|
2428
|
+
clock: z.string()
|
|
2429
|
+
});
|
|
2430
|
+
var mcpContinuumDaoFetchProposalStateInputSchema = z.object({
|
|
2431
|
+
chainId: z.union([z.string(), z.number()]),
|
|
2432
|
+
rpcUrl: z.string().min(1),
|
|
2433
|
+
proposalId: z.union([z.string(), z.number()]),
|
|
2434
|
+
governor: evmAddressSchema.optional()
|
|
2435
|
+
});
|
|
2436
|
+
var mcpContinuumDaoFetchProposalStateOutputSchema = z.object({
|
|
2437
|
+
state: z.number(),
|
|
2438
|
+
againstVotes: z.string(),
|
|
2439
|
+
forVotes: z.string(),
|
|
2440
|
+
abstainVotes: z.string()
|
|
2441
|
+
});
|
|
2442
|
+
var mcpContinuumDaoFetchProposalsInputSchema = z.object({
|
|
2443
|
+
start: z.number().int().nonnegative().optional(),
|
|
2444
|
+
end: z.number().int().positive().optional()
|
|
2445
|
+
});
|
|
2446
|
+
var mcpContinuumDaoFetchProposalsOutputSchema = z.object({
|
|
2447
|
+
proposals: z.array(z.unknown()),
|
|
2448
|
+
total: z.number().optional()
|
|
2449
|
+
});
|
|
2450
|
+
var mcpContinuumDaoFetchProposalInputSchema = z.object({
|
|
2451
|
+
id: z.union([z.string(), z.number()])
|
|
2452
|
+
});
|
|
2453
|
+
var mcpContinuumDaoFetchProposalOutputSchema = z.object({
|
|
2454
|
+
proposal: z.unknown()
|
|
2455
|
+
});
|
|
2456
|
+
var liveProposalRowSchema = z.object({
|
|
2457
|
+
id: z.number().optional(),
|
|
2458
|
+
onchainId: z.string(),
|
|
2459
|
+
title: z.string(),
|
|
2460
|
+
configuration: z.number().optional(),
|
|
2461
|
+
state: z.number().nullable(),
|
|
2462
|
+
stateLabel: z.string(),
|
|
2463
|
+
bucket: z.enum(["live", "pending", "readyToExecute", "recentlyCompleted", "unknown"]),
|
|
2464
|
+
againstVotes: z.string().optional(),
|
|
2465
|
+
forVotes: z.string().optional(),
|
|
2466
|
+
abstainVotes: z.string().optional()
|
|
2467
|
+
});
|
|
2468
|
+
var mcpContinuumDaoFetchLiveProposalsInputSchema = z.object({
|
|
2469
|
+
chainId: z.union([z.string(), z.number()]).optional(),
|
|
2470
|
+
rpcUrl: z.string().optional(),
|
|
2471
|
+
governor: evmAddressSchema.optional(),
|
|
2472
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
2473
|
+
completedLimit: z.number().int().nonnegative().max(20).optional()
|
|
2474
|
+
});
|
|
2475
|
+
var mcpContinuumDaoFetchLiveProposalsOutputSchema = z.object({
|
|
2476
|
+
overlay: z.enum(["on-chain", "backend-only"]),
|
|
2477
|
+
scanned: z.number(),
|
|
2478
|
+
live: z.array(liveProposalRowSchema),
|
|
2479
|
+
pending: z.array(liveProposalRowSchema),
|
|
2480
|
+
readyToExecute: z.array(liveProposalRowSchema),
|
|
2481
|
+
recentlyCompleted: z.array(liveProposalRowSchema),
|
|
2482
|
+
unknown: z.array(liveProposalRowSchema),
|
|
2483
|
+
note: z.string()
|
|
2484
|
+
});
|
|
2485
|
+
var mcpContinuumDaoExplainProposalInputSchema = z.object({
|
|
2486
|
+
id: z.union([z.string(), z.number()]).optional(),
|
|
2487
|
+
onchainId: z.string().optional(),
|
|
2488
|
+
forumUrl: z.string().optional()
|
|
2489
|
+
});
|
|
2490
|
+
var mcpContinuumDaoExplainProposalOutputSchema = z.object({
|
|
2491
|
+
id: z.number().optional(),
|
|
2492
|
+
onchainId: z.string(),
|
|
2493
|
+
title: z.string(),
|
|
2494
|
+
description: z.string(),
|
|
2495
|
+
proposer: z.string(),
|
|
2496
|
+
forumKey: z.string(),
|
|
2497
|
+
forumSection: z.string().nullable().optional(),
|
|
2498
|
+
forumCid: z.number().nullable().optional(),
|
|
2499
|
+
typeLabel: z.string(),
|
|
2500
|
+
configuration: z.enum(["bravo", "delta"]),
|
|
2501
|
+
nWinners: z.number().optional(),
|
|
2502
|
+
briefing: z.string(),
|
|
2503
|
+
actions: z.array(z.unknown()),
|
|
2504
|
+
options: z.array(z.unknown()),
|
|
2505
|
+
risks: z.array(z.string())
|
|
2506
|
+
});
|
|
2507
|
+
var mcpContinuumDaoRegisterProposalInputSchema = z.object({
|
|
2508
|
+
onchainId: z.string().min(1),
|
|
2509
|
+
title: z.string().min(1),
|
|
2510
|
+
description: z.string(),
|
|
2511
|
+
proposer: evmAddressSchema,
|
|
2512
|
+
forumKey: forumTopicKeyField,
|
|
2513
|
+
type: z.number().int().min(0).max(4),
|
|
2514
|
+
configuration: z.union([z.literal(0), z.literal(1)]),
|
|
2515
|
+
actions: z.array(z.unknown()).optional(),
|
|
2516
|
+
options: z.array(z.unknown()).optional()
|
|
2517
|
+
});
|
|
2518
|
+
var mcpContinuumDaoRegisterProposalOutputSchema = z.object({
|
|
2519
|
+
ok: z.literal(true),
|
|
2520
|
+
result: z.unknown()
|
|
2521
|
+
});
|
|
2522
|
+
var forumUrlField = { forumUrl: z.string().optional(), ticket: z.string().optional() };
|
|
2523
|
+
var mcpContinuumDaoForumResolveInputSchema = z.object({
|
|
2524
|
+
url: z.string().optional(),
|
|
2525
|
+
tid: z.union([z.string(), z.number()]).optional(),
|
|
2526
|
+
forumUrl: z.string().optional()
|
|
2527
|
+
});
|
|
2528
|
+
var mcpContinuumDaoForumResolveOutputSchema = z.object({
|
|
2529
|
+
tid: z.number(),
|
|
2530
|
+
slug: z.string().optional(),
|
|
2531
|
+
url: z.string()
|
|
2532
|
+
});
|
|
2533
|
+
var mcpContinuumDaoForumFetchThreadInputSchema = z.object({
|
|
2534
|
+
url: z.string().optional(),
|
|
2535
|
+
tid: z.union([z.string(), z.number()]).optional(),
|
|
2536
|
+
index: z.number().int().nonnegative().optional(),
|
|
2537
|
+
start: z.number().int().nonnegative().optional(),
|
|
2538
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
2539
|
+
forumUrl: z.string().optional()
|
|
2540
|
+
});
|
|
2541
|
+
var mcpContinuumDaoForumFetchThreadOutputSchema = z.unknown();
|
|
2542
|
+
var mcpContinuumDaoForumReplyCountInputSchema = z.object({
|
|
2543
|
+
url: z.string().optional(),
|
|
2544
|
+
tid: z.union([z.string(), z.number()]).optional(),
|
|
2545
|
+
forumUrl: z.string().optional()
|
|
2546
|
+
});
|
|
2547
|
+
var mcpContinuumDaoForumReplyCountOutputSchema = z.object({
|
|
2548
|
+
tid: z.number(),
|
|
2549
|
+
postcount: z.number(),
|
|
2550
|
+
replyCount: z.number()
|
|
2551
|
+
});
|
|
2552
|
+
var mcpContinuumDaoForumFetchPostInputSchema = z.object({
|
|
2553
|
+
pid: z.union([z.string(), z.number()]),
|
|
2554
|
+
forumUrl: z.string().optional()
|
|
2555
|
+
});
|
|
2556
|
+
var mcpContinuumDaoForumFetchPostOutputSchema = z.unknown();
|
|
2557
|
+
var forumRecencyFields = {
|
|
2558
|
+
hours: agentCoercedOptionalNumberSchema(z.number().positive().max(24 * 365)).describe(
|
|
2559
|
+
"Only posts from the last X hours."
|
|
2560
|
+
),
|
|
2561
|
+
since: z.string().min(1).optional().describe("Only posts at or after this ISO date (YYYY-MM-DD or full ISO) or unix timestamp."),
|
|
2562
|
+
start: agentCoercedOptionalIntSchema(z.number().int().nonnegative()),
|
|
2563
|
+
limit: agentCoercedOptionalIntSchema(z.number().int().positive().max(100)),
|
|
2564
|
+
forumUrl: z.string().optional()
|
|
2565
|
+
};
|
|
2566
|
+
var mcpContinuumDaoForumSearchInputSchema = z.object({
|
|
2567
|
+
query: z.string().max(200).optional().describe(
|
|
2568
|
+
"Case-insensitive substring. Matches a new thread title or any post body. Omit with hours/since to list recent posts."
|
|
2569
|
+
),
|
|
2570
|
+
...forumRecencyFields
|
|
2571
|
+
}).refine((v) => Boolean(v.query?.trim()) || v.hours != null || Boolean(v.since?.trim()), {
|
|
2572
|
+
message: "Provide query and/or a time filter (hours or since)"
|
|
2573
|
+
});
|
|
2574
|
+
var forumPostListItemSchema = z.object({
|
|
2575
|
+
id: z.number().int().positive().describe("Post id (pid). Open with ctm_continuum_dao_forum_fetch_post."),
|
|
2576
|
+
title: z.string().describe("Thread title (new thread, or parent thread title for a reply)."),
|
|
2577
|
+
username: z.string().describe("Author username."),
|
|
2578
|
+
timestamp: z.number().int().nonnegative().describe("Creation time as unix milliseconds."),
|
|
2579
|
+
createdAt: z.string().describe("Creation time as UTC ISO-8601.")
|
|
2580
|
+
});
|
|
2581
|
+
var mcpContinuumDaoForumSearchOutputSchema = z.object({
|
|
2582
|
+
results: z.array(forumPostListItemSchema),
|
|
2583
|
+
start: z.number().optional(),
|
|
2584
|
+
limit: z.number().optional(),
|
|
2585
|
+
nextStart: z.number().nullable().optional()
|
|
2586
|
+
});
|
|
2587
|
+
var mcpContinuumDaoForumRecentInputSchema = z.object({
|
|
2588
|
+
...forumRecencyFields,
|
|
2589
|
+
ticket: z.string().optional().describe("Optional forum ticket so private categories the user can read are included.")
|
|
2590
|
+
}).refine((v) => v.hours != null || Boolean(v.since?.trim()), {
|
|
2591
|
+
message: "Provide a time filter (hours or since)"
|
|
2592
|
+
});
|
|
2593
|
+
var mcpContinuumDaoForumRecentOutputSchema = z.object({
|
|
2594
|
+
results: z.array(forumPostListItemSchema),
|
|
2595
|
+
start: z.number().optional(),
|
|
2596
|
+
limit: z.number().optional(),
|
|
2597
|
+
nextStart: z.number().nullable().optional()
|
|
2598
|
+
});
|
|
2599
|
+
var mcpContinuumDaoForumDeleteInputSchema = z.object({
|
|
2600
|
+
pid: z.union([z.string(), z.number()]).optional().describe("Delete this post (pid)."),
|
|
2601
|
+
tid: z.union([z.string(), z.number()]).optional().describe("Delete this thread (tid)."),
|
|
2602
|
+
url: z.string().optional().describe("Delete this thread by forum topic URL."),
|
|
2603
|
+
username: z.string().min(1).optional().describe("Delete all posts by this username (privilege-filtered)."),
|
|
2604
|
+
hours: agentCoercedOptionalNumberSchema(z.number().positive().max(24 * 365)).describe(
|
|
2605
|
+
"Only delete posts/threads in the last X hours. Omit with since for all."
|
|
2606
|
+
),
|
|
2607
|
+
since: z.string().min(1).optional().describe("Only delete posts/threads at or after this ISO date or unix timestamp. Omit with hours for all."),
|
|
2608
|
+
ticket: z.string().min(1).describe("Forum write ticket from EIP-712 sign-in. Caller must be an admin or moderator."),
|
|
2609
|
+
forumUrl: z.string().optional()
|
|
2610
|
+
}).refine(
|
|
2611
|
+
(v) => {
|
|
2612
|
+
const post = v.pid != null && String(v.pid).trim() !== "";
|
|
2613
|
+
const thread = Boolean(v.url?.trim() || v.tid != null && String(v.tid).trim() !== "");
|
|
2614
|
+
const user = Boolean(v.username?.trim());
|
|
2615
|
+
return Number(post) + Number(thread) + Number(user) === 1;
|
|
2616
|
+
},
|
|
2617
|
+
{ message: "Provide exactly one of pid, tid/url, or username" }
|
|
2618
|
+
);
|
|
2619
|
+
var mcpContinuumDaoForumDeleteOutputSchema = z.object({
|
|
2620
|
+
ok: z.literal(true),
|
|
2621
|
+
mode: z.enum(["post", "thread", "user"]),
|
|
2622
|
+
username: z.string().optional(),
|
|
2623
|
+
uid: z.number().optional(),
|
|
2624
|
+
deleted: z.array(
|
|
2625
|
+
z.object({
|
|
2626
|
+
id: z.number().int().positive(),
|
|
2627
|
+
kind: z.enum(["post", "thread"]),
|
|
2628
|
+
title: z.string().optional(),
|
|
2629
|
+
username: z.string().optional()
|
|
2630
|
+
})
|
|
2631
|
+
),
|
|
2632
|
+
skipped: z.array(
|
|
2633
|
+
z.object({
|
|
2634
|
+
id: z.number().int().nonnegative(),
|
|
2635
|
+
reason: z.string()
|
|
2636
|
+
})
|
|
2637
|
+
)
|
|
2638
|
+
});
|
|
2639
|
+
var mcpContinuumDaoForumUserPostIdsInputSchema = z.object({
|
|
2640
|
+
username: z.string().min(1),
|
|
2641
|
+
start: z.number().int().nonnegative().optional(),
|
|
2642
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
2643
|
+
forumUrl: z.string().optional()
|
|
2644
|
+
});
|
|
2645
|
+
var mcpContinuumDaoForumUserPostIdsOutputSchema = z.object({
|
|
2646
|
+
username: z.string(),
|
|
2647
|
+
uid: z.number(),
|
|
2648
|
+
pids: z.array(z.number()),
|
|
2649
|
+
start: z.number().optional(),
|
|
2650
|
+
limit: z.number().optional(),
|
|
2651
|
+
nextStart: z.number().nullable().optional()
|
|
2652
|
+
});
|
|
2653
|
+
var mcpContinuumDaoForumReplyInputSchema = z.object({
|
|
2654
|
+
url: z.string().optional(),
|
|
2655
|
+
tid: z.union([z.string(), z.number()]).optional(),
|
|
2656
|
+
content: z.string().min(1).max(8e3),
|
|
2657
|
+
toPid: z.number().int().positive().optional(),
|
|
2658
|
+
...forumUrlField
|
|
2659
|
+
});
|
|
2660
|
+
var mcpContinuumDaoForumReplyOutputSchema = z.unknown();
|
|
2661
|
+
var mcpContinuumDaoForumReactInputSchema = z.object({
|
|
2662
|
+
pid: z.union([z.string(), z.number()]),
|
|
2663
|
+
emoji: z.string().min(1),
|
|
2664
|
+
...forumUrlField
|
|
2665
|
+
});
|
|
2666
|
+
var mcpContinuumDaoForumReactOutputSchema = z.unknown();
|
|
2667
|
+
var mcpContinuumDaoForumCreateTopicInputSchema = z.object({
|
|
2668
|
+
section: z.enum(["decision", "election", "treasury", "constitution", "admin"]).optional(),
|
|
2669
|
+
cid: z.number().int().positive().optional(),
|
|
2670
|
+
title: z.string().min(8).max(128),
|
|
2671
|
+
content: z.string().min(1).max(8e3),
|
|
2672
|
+
...forumUrlField
|
|
2673
|
+
});
|
|
2674
|
+
var mcpContinuumDaoForumCreateTopicOutputSchema = z.unknown();
|
|
2675
|
+
var mcpContinuumDaoForumCreateIdeaInputSchema = z.object({
|
|
2676
|
+
title: z.string().min(8).max(128),
|
|
2677
|
+
content: z.string().min(1).max(8e3),
|
|
2678
|
+
...forumUrlField
|
|
2679
|
+
});
|
|
2680
|
+
var mcpContinuumDaoForumCreateIdeaOutputSchema = z.unknown();
|
|
2681
|
+
var mcpContinuumDaoForumMeInputSchema = z.object({
|
|
2682
|
+
...forumUrlField
|
|
2683
|
+
});
|
|
2684
|
+
var mcpContinuumDaoForumMeOutputSchema = z.unknown();
|
|
2685
|
+
var mcpContinuumDaoForumUnreadInputSchema = z.object({
|
|
2686
|
+
ticket: z.string().min(1).describe("Forum write ticket from EIP-712 sign-in"),
|
|
2687
|
+
filter: z.enum(["all", "new", "watched", "unreplied"]).optional().describe("NodeBB Unread filter. Default all (watched/tracked categories + followed topics)."),
|
|
2688
|
+
start: agentCoercedOptionalIntSchema(z.number().int().nonnegative()),
|
|
2689
|
+
limit: agentCoercedOptionalIntSchema(z.number().int().positive().max(100)),
|
|
2690
|
+
forumUrl: z.string().optional()
|
|
2691
|
+
});
|
|
2692
|
+
var mcpContinuumDaoForumUnreadOutputSchema = z.object({
|
|
2693
|
+
username: z.string().optional(),
|
|
2694
|
+
uid: z.number().optional(),
|
|
2695
|
+
filter: z.string().optional(),
|
|
2696
|
+
counts: z.object({
|
|
2697
|
+
all: z.number(),
|
|
2698
|
+
new: z.number(),
|
|
2699
|
+
watched: z.number(),
|
|
2700
|
+
unreplied: z.number()
|
|
2701
|
+
}).optional(),
|
|
2702
|
+
results: z.array(
|
|
2703
|
+
z.object({
|
|
2704
|
+
tid: z.number().int().positive(),
|
|
2705
|
+
title: z.string(),
|
|
2706
|
+
url: z.string(),
|
|
2707
|
+
cid: z.number().nullable().optional(),
|
|
2708
|
+
section: z.string().nullable().optional(),
|
|
2709
|
+
postcount: z.number().optional(),
|
|
2710
|
+
replyCount: z.number().optional(),
|
|
2711
|
+
lastposttime: z.number().optional(),
|
|
2712
|
+
lastPostAt: z.string().optional()
|
|
2713
|
+
})
|
|
2714
|
+
),
|
|
2715
|
+
start: z.number().optional(),
|
|
2716
|
+
limit: z.number().optional(),
|
|
2717
|
+
nextStart: z.number().nullable().optional()
|
|
2718
|
+
});
|
|
2719
|
+
var mcpContinuumDaoForumMarkReadInputSchema = z.object({
|
|
2720
|
+
ticket: z.string().min(1).describe("Forum write ticket from EIP-712 sign-in"),
|
|
2721
|
+
tid: z.union([z.string(), z.number()]).optional().describe("Mark this thread read."),
|
|
2722
|
+
url: z.string().optional().describe("Mark this thread read by topic URL."),
|
|
2723
|
+
tids: z.array(z.union([z.string(), z.number()])).optional().describe("Mark these threads read."),
|
|
2724
|
+
all: agentOptionalBooleanSchema().describe("Mark every unread topic read. Confirm with the operator first."),
|
|
2725
|
+
forumUrl: z.string().optional()
|
|
2726
|
+
}).refine(
|
|
2727
|
+
(v) => {
|
|
2728
|
+
const one = Boolean(v.url?.trim() || v.tid != null && String(v.tid).trim() !== "");
|
|
2729
|
+
const many = Boolean(v.tids && v.tids.length > 0);
|
|
2730
|
+
return Number(Boolean(v.all)) + Number(one) + Number(many) === 1;
|
|
2731
|
+
},
|
|
2732
|
+
{ message: "Provide exactly one of tid/url, tids, or all" }
|
|
2733
|
+
);
|
|
2734
|
+
var mcpContinuumDaoForumMarkReadOutputSchema = z.unknown();
|
|
2735
|
+
var mcpContinuumDaoForumMarkUnreadInputSchema = z.object({
|
|
2736
|
+
ticket: z.string().min(1).describe("Forum write ticket from EIP-712 sign-in"),
|
|
2737
|
+
tid: z.union([z.string(), z.number()]).optional(),
|
|
2738
|
+
url: z.string().optional(),
|
|
2739
|
+
forumUrl: z.string().optional()
|
|
2740
|
+
}).refine((v) => Boolean(v.url?.trim() || v.tid != null && String(v.tid).trim() !== ""), {
|
|
2741
|
+
message: "Provide tid or url"
|
|
2742
|
+
});
|
|
2743
|
+
var mcpContinuumDaoForumMarkUnreadOutputSchema = z.unknown();
|
|
2744
|
+
var mcpContinuumDaoForumSignOutInputSchema = z.object({
|
|
2745
|
+
ticket: z.string().min(1).describe("Forum write ticket from EIP-712 sign-in"),
|
|
2746
|
+
forumUrl: z.string().optional()
|
|
2747
|
+
});
|
|
2748
|
+
var mcpContinuumDaoForumSignOutOutputSchema = z.object({
|
|
2749
|
+
ok: z.literal(true),
|
|
2750
|
+
loggedIn: z.literal(false),
|
|
2751
|
+
uid: z.number().optional()
|
|
2752
|
+
});
|
|
2753
|
+
var mcpContinuumDaoForumSectionsInputSchema = z.object({
|
|
2754
|
+
forumUrl: z.string().optional()
|
|
2755
|
+
});
|
|
2756
|
+
var mcpContinuumDaoForumSectionsOutputSchema = z.unknown();
|
|
2757
|
+
var mcpContinuumDaoForumSignInEligibleInputSchema = z.object({
|
|
2758
|
+
address: evmAddressSchema.describe("KeyGen or personal wallet address to check against the forum veCTM login gate"),
|
|
2759
|
+
forumUrl: z.string().optional()
|
|
2760
|
+
});
|
|
2761
|
+
var mcpContinuumDaoForumSignInEligibleOutputSchema = z.object({
|
|
2762
|
+
ok: z.boolean(),
|
|
2763
|
+
eligible: z.boolean(),
|
|
2764
|
+
address: z.string().optional(),
|
|
2765
|
+
reason: z.string().optional()
|
|
2766
|
+
});
|
|
2767
|
+
var mcpContinuumDaoForumSignInInputSchema = mcpMultisignInput({
|
|
2768
|
+
nodeKey: z.string().optional().describe("Attached node key. When set, username is the first 16 characters. Optional for a personal/KeyGen address with no node."),
|
|
2769
|
+
username: z.string().min(2).max(16).optional().describe("Required on first login when there is no node key (2\u201316 letters, numbers, . _ -)."),
|
|
2770
|
+
forumUrl: z.string().optional()
|
|
2771
|
+
});
|
|
2305
2772
|
var mcpEulerV2FetchLendVaultsInputSchema = z.object({
|
|
2306
2773
|
chainId: agentEvmChainIdSchema,
|
|
2307
2774
|
underlyingAddress: evmAddressSchema.describe(
|
|
@@ -3969,6 +4436,217 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
3969
4436
|
exportName: "buildEvmMultisignBodyCctpBurnBatchFromMcp"
|
|
3970
4437
|
},
|
|
3971
4438
|
inputZod: mcpCctpBuildBurnMultisignInputSchema
|
|
4439
|
+
}),
|
|
4440
|
+
defineProtocolMcpTool({
|
|
4441
|
+
name: "ctm_continuum_dao_build_create_lock_multisign",
|
|
4442
|
+
actionId: "continuum-dao.create-lock",
|
|
4443
|
+
protocolId: "continuum-dao",
|
|
4444
|
+
chainCategory: "evm",
|
|
4445
|
+
description: "Build batch: CTM approve (if needed) + VotingEscrow.create_lock. Linea only. Do not prepend billing legs.",
|
|
4446
|
+
prerequisites: ["keyGen", "executorAddress", "Linea RPC", "configured CTM and VotingEscrow addresses"],
|
|
4447
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoCreateLock" },
|
|
4448
|
+
inputZod: mcpContinuumDaoCreateLockInputSchema
|
|
4449
|
+
}),
|
|
4450
|
+
defineProtocolMcpTool({
|
|
4451
|
+
name: "ctm_continuum_dao_build_increase_amount_multisign",
|
|
4452
|
+
actionId: "continuum-dao.increase-amount",
|
|
4453
|
+
protocolId: "continuum-dao",
|
|
4454
|
+
chainCategory: "evm",
|
|
4455
|
+
description: "Build batch: CTM approve (if needed) + increase_amount.",
|
|
4456
|
+
prerequisites: ["keyGen", "tokenId", "Linea RPC"],
|
|
4457
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoIncreaseAmount" },
|
|
4458
|
+
inputZod: mcpContinuumDaoIncreaseAmountInputSchema
|
|
4459
|
+
}),
|
|
4460
|
+
defineProtocolMcpTool({
|
|
4461
|
+
name: "ctm_continuum_dao_build_increase_unlock_time_multisign",
|
|
4462
|
+
actionId: "continuum-dao.increase-unlock-time",
|
|
4463
|
+
protocolId: "continuum-dao",
|
|
4464
|
+
chainCategory: "evm",
|
|
4465
|
+
description: "Build increase_unlock_time. lockDurationSeconds is from the week boundary to the new unlock.",
|
|
4466
|
+
prerequisites: ["keyGen", "tokenId", "Linea RPC"],
|
|
4467
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoIncreaseUnlockTime" },
|
|
4468
|
+
inputZod: mcpContinuumDaoIncreaseUnlockTimeInputSchema
|
|
4469
|
+
}),
|
|
4470
|
+
defineProtocolMcpTool({
|
|
4471
|
+
name: "ctm_continuum_dao_build_split_multisign",
|
|
4472
|
+
actionId: "continuum-dao.split",
|
|
4473
|
+
protocolId: "continuum-dao",
|
|
4474
|
+
chainCategory: "evm",
|
|
4475
|
+
description: "Build VotingEscrow.split. Blocked on-chain while the token is node-attached.",
|
|
4476
|
+
prerequisites: ["keyGen", "tokenId", "Linea RPC"],
|
|
4477
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoSplit" },
|
|
4478
|
+
inputZod: mcpContinuumDaoSplitInputSchema
|
|
4479
|
+
}),
|
|
4480
|
+
defineProtocolMcpTool({
|
|
4481
|
+
name: "ctm_continuum_dao_build_merge_multisign",
|
|
4482
|
+
actionId: "continuum-dao.merge",
|
|
4483
|
+
protocolId: "continuum-dao",
|
|
4484
|
+
chainCategory: "evm",
|
|
4485
|
+
description: "Build VotingEscrow.merge. Blocked on-chain while either token is node-attached.",
|
|
4486
|
+
prerequisites: ["keyGen", "fromTokenId", "toTokenId", "Linea RPC"],
|
|
4487
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoMerge" },
|
|
4488
|
+
inputZod: mcpContinuumDaoMergeInputSchema
|
|
4489
|
+
}),
|
|
4490
|
+
defineProtocolMcpTool({
|
|
4491
|
+
name: "ctm_continuum_dao_build_withdraw_multisign",
|
|
4492
|
+
actionId: "continuum-dao.withdraw",
|
|
4493
|
+
protocolId: "continuum-dao",
|
|
4494
|
+
chainCategory: "evm",
|
|
4495
|
+
description: "Build VotingEscrow.withdraw for an expired, unattached lock.",
|
|
4496
|
+
prerequisites: ["keyGen", "tokenId", "Linea RPC"],
|
|
4497
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoWithdraw" },
|
|
4498
|
+
inputZod: mcpContinuumDaoTokenIdInputSchema
|
|
4499
|
+
}),
|
|
4500
|
+
defineProtocolMcpTool({
|
|
4501
|
+
name: "ctm_continuum_dao_build_liquidate_multisign",
|
|
4502
|
+
actionId: "continuum-dao.liquidate",
|
|
4503
|
+
protocolId: "continuum-dao",
|
|
4504
|
+
chainCategory: "evm",
|
|
4505
|
+
description: "Build VotingEscrow.liquidate. Blocked on-chain while the token is node-attached.",
|
|
4506
|
+
prerequisites: ["keyGen", "tokenId", "Linea RPC"],
|
|
4507
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoLiquidate" },
|
|
4508
|
+
inputZod: mcpContinuumDaoTokenIdInputSchema
|
|
4509
|
+
}),
|
|
4510
|
+
defineProtocolMcpTool({
|
|
4511
|
+
name: "ctm_continuum_dao_build_delegate_multisign",
|
|
4512
|
+
actionId: "continuum-dao.delegate",
|
|
4513
|
+
protocolId: "continuum-dao",
|
|
4514
|
+
chainCategory: "evm",
|
|
4515
|
+
description: "Build VotingEscrow.delegate(delegatee). Moves all veCTM voting power from the KeyGen to delegatee. Governor getVotes is then at the delegatee. Use undelegate to return power to the KeyGen.",
|
|
4516
|
+
prerequisites: ["keyGen", "delegatee", "Linea RPC"],
|
|
4517
|
+
followUp: ["ctm_continuum_dao_fetch_delegates", "ctm_continuum_dao_build_undelegate_multisign"],
|
|
4518
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoDelegate" },
|
|
4519
|
+
inputZod: mcpContinuumDaoDelegateInputSchema
|
|
4520
|
+
}),
|
|
4521
|
+
defineProtocolMcpTool({
|
|
4522
|
+
name: "ctm_continuum_dao_build_undelegate_multisign",
|
|
4523
|
+
actionId: "continuum-dao.undelegate",
|
|
4524
|
+
protocolId: "continuum-dao",
|
|
4525
|
+
chainCategory: "evm",
|
|
4526
|
+
description: "Return veCTM voting power to the KeyGen. There is no undelegate() on VotingEscrow \u2014 this calls delegate(self). address(0) would also become self on-chain.",
|
|
4527
|
+
prerequisites: ["keyGen", "Linea RPC"],
|
|
4528
|
+
followUp: ["ctm_continuum_dao_fetch_delegates"],
|
|
4529
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoUndelegate" },
|
|
4530
|
+
inputZod: mcpContinuumDaoUndelegateInputSchema
|
|
4531
|
+
}),
|
|
4532
|
+
defineProtocolMcpTool({
|
|
4533
|
+
name: "ctm_continuum_dao_build_transfer_multisign",
|
|
4534
|
+
actionId: "continuum-dao.transfer",
|
|
4535
|
+
protocolId: "continuum-dao",
|
|
4536
|
+
chainCategory: "evm",
|
|
4537
|
+
description: "Build VotingEscrow.transferFrom. Blocked on-chain while the token is node-attached.",
|
|
4538
|
+
prerequisites: ["keyGen", "tokenId", "to", "Linea RPC"],
|
|
4539
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoTransfer" },
|
|
4540
|
+
inputZod: mcpContinuumDaoTransferInputSchema
|
|
4541
|
+
}),
|
|
4542
|
+
defineProtocolMcpTool({
|
|
4543
|
+
name: "ctm_continuum_dao_build_attach_multisign",
|
|
4544
|
+
actionId: "continuum-dao.attach",
|
|
4545
|
+
protocolId: "continuum-dao",
|
|
4546
|
+
chainCategory: "evm",
|
|
4547
|
+
description: "Build MultiSignAgentWallet.attachVeCtm. Authority KeyGen only. Cannot replace an attached NFT. No billing legs.",
|
|
4548
|
+
prerequisites: ["keyGen", "nodeKey", "tokenId", "mpaWallet"],
|
|
4549
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoAttachVeCtmFromMcp" },
|
|
4550
|
+
inputZod: mcpContinuumDaoAttachInputSchema
|
|
4551
|
+
}),
|
|
4552
|
+
defineProtocolMcpTool({
|
|
4553
|
+
name: "ctm_continuum_dao_build_request_detach_multisign",
|
|
4554
|
+
actionId: "continuum-dao.request-detach",
|
|
4555
|
+
protocolId: "continuum-dao",
|
|
4556
|
+
chainCategory: "evm",
|
|
4557
|
+
description: "Build NodeProperties.setNodeRemovalStatus(tokenId, true). Governance must complete detach.",
|
|
4558
|
+
prerequisites: ["keyGen", "tokenId", "nodeProperties"],
|
|
4559
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoRequestDetach" },
|
|
4560
|
+
inputZod: mcpContinuumDaoRequestDetachInputSchema
|
|
4561
|
+
}),
|
|
4562
|
+
defineProtocolMcpTool({
|
|
4563
|
+
name: "ctm_continuum_dao_build_propose_bravo_multisign",
|
|
4564
|
+
actionId: "continuum-dao.propose-bravo",
|
|
4565
|
+
protocolId: "continuum-dao",
|
|
4566
|
+
chainCategory: "evm",
|
|
4567
|
+
description: "Build ContinuumDAO.propose for a Bravo (For/Against/Abstain) proposal. Refuses if getVotes(KeyGen) < live proposalThreshold() (max of 1000e18 ve power and 1% of total votes). forumKey is required and must be a Governance thread (/topic/:tid) from ctm_continuum_dao_forum_create_topic (decision / election / treasury / constitution / admin). Ideas threads and the homepage are refused. Empty actions insert a no-op to the KeyGen address. Linea only. No billing legs. After the request is mined, call ctm_continuum_dao_register_proposal with the same forumKey.",
|
|
4568
|
+
prerequisites: [
|
|
4569
|
+
"keyGen",
|
|
4570
|
+
"Linea RPC",
|
|
4571
|
+
"configured governor",
|
|
4572
|
+
"veCTM voting power >= live proposalThreshold()",
|
|
4573
|
+
"forumKey from forum_create_topic"
|
|
4574
|
+
],
|
|
4575
|
+
followUp: [...MCP_MULTISIGN_SUBMIT_FOLLOW_UP, "ctm_continuum_dao_register_proposal"],
|
|
4576
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoProposeBravo" },
|
|
4577
|
+
inputZod: mcpContinuumDaoProposeBravoInputSchema
|
|
4578
|
+
}),
|
|
4579
|
+
defineProtocolMcpTool({
|
|
4580
|
+
name: "ctm_continuum_dao_build_propose_delta_multisign",
|
|
4581
|
+
actionId: "continuum-dao.propose-delta",
|
|
4582
|
+
protocolId: "continuum-dao",
|
|
4583
|
+
chainCategory: "evm",
|
|
4584
|
+
description: "Build ContinuumDAO.propose for a Delta multi-option proposal. Refuses if getVotes(KeyGen) < live proposalThreshold() (max of 1000e18 ve power and 1% of total votes). forumKey is required and must be a Governance thread from ctm_continuum_dao_forum_create_topic. Ideas threads are not valid forumKey values. Empty options get a no-op so indices increment. Linea only. No billing legs.",
|
|
4585
|
+
prerequisites: [
|
|
4586
|
+
"keyGen",
|
|
4587
|
+
"at least 2 options",
|
|
4588
|
+
"nWinners < nOptions",
|
|
4589
|
+
"veCTM voting power >= live proposalThreshold()",
|
|
4590
|
+
"forumKey from forum_create_topic"
|
|
4591
|
+
],
|
|
4592
|
+
followUp: [...MCP_MULTISIGN_SUBMIT_FOLLOW_UP, "ctm_continuum_dao_register_proposal"],
|
|
4593
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoProposeDeltaFromMcp" },
|
|
4594
|
+
inputZod: mcpContinuumDaoProposeDeltaInputSchema
|
|
4595
|
+
}),
|
|
4596
|
+
defineProtocolMcpTool({
|
|
4597
|
+
name: "ctm_continuum_dao_build_cast_vote_bravo_multisign",
|
|
4598
|
+
actionId: "continuum-dao.cast-vote-bravo",
|
|
4599
|
+
protocolId: "continuum-dao",
|
|
4600
|
+
chainCategory: "evm",
|
|
4601
|
+
description: "Build ContinuumDAO.castVote. support: 0 against, 1 for, 2 abstain.",
|
|
4602
|
+
prerequisites: ["keyGen", "proposalId", "Active proposal"],
|
|
4603
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoCastVoteBravoFromMcp" },
|
|
4604
|
+
inputZod: mcpContinuumDaoCastVoteBravoInputSchema
|
|
4605
|
+
}),
|
|
4606
|
+
defineProtocolMcpTool({
|
|
4607
|
+
name: "ctm_continuum_dao_build_cast_vote_delta_multisign",
|
|
4608
|
+
actionId: "continuum-dao.cast-vote-delta",
|
|
4609
|
+
protocolId: "continuum-dao",
|
|
4610
|
+
chainCategory: "evm",
|
|
4611
|
+
description: "Build ContinuumDAO.castVoteWithReasonAndParams. weights must be nOptions + 1 (final slot is NOTA).",
|
|
4612
|
+
prerequisites: ["keyGen", "proposalId", "weights including NOTA"],
|
|
4613
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoCastVoteDelta" },
|
|
4614
|
+
inputZod: mcpContinuumDaoCastVoteDeltaInputSchema
|
|
4615
|
+
}),
|
|
4616
|
+
defineProtocolMcpTool({
|
|
4617
|
+
name: "ctm_continuum_dao_build_execute_multisign",
|
|
4618
|
+
actionId: "continuum-dao.execute",
|
|
4619
|
+
protocolId: "continuum-dao",
|
|
4620
|
+
chainCategory: "evm",
|
|
4621
|
+
description: "Build ContinuumDAO.execute(proposalId). Call after Succeeded. Queue is not implemented.",
|
|
4622
|
+
prerequisites: ["keyGen", "proposalId", "Succeeded state"],
|
|
4623
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoExecute" },
|
|
4624
|
+
inputZod: mcpContinuumDaoProposalIdInputSchema
|
|
4625
|
+
}),
|
|
4626
|
+
defineProtocolMcpTool({
|
|
4627
|
+
name: "ctm_continuum_dao_build_cancel_multisign",
|
|
4628
|
+
actionId: "continuum-dao.cancel",
|
|
4629
|
+
protocolId: "continuum-dao",
|
|
4630
|
+
chainCategory: "evm",
|
|
4631
|
+
description: "Build ContinuumDAO.cancel(proposalId). Proposer while Pending, or the proposal guardian.",
|
|
4632
|
+
prerequisites: ["keyGen", "proposalId"],
|
|
4633
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoCancel" },
|
|
4634
|
+
inputZod: mcpContinuumDaoProposalIdInputSchema
|
|
4635
|
+
}),
|
|
4636
|
+
defineProtocolMcpTool({
|
|
4637
|
+
name: "ctm_continuum_dao_build_forum_sign_in_multisign",
|
|
4638
|
+
actionId: "continuum-dao.forum-sign-in",
|
|
4639
|
+
protocolId: "continuum-dao",
|
|
4640
|
+
chainCategory: "evm",
|
|
4641
|
+
description: "Build an EIP-712 forum login multi-sign (no EVM tx). Checks the KeyGen address against the forum veCTM threshold first and refuses if ineligible so other nodes never enter the sign loop. Pass nodeKey (username = first 16 chars) or a username on first login. After Get Sig, node-app exchanges the signature for a forum ticket.",
|
|
4642
|
+
prerequisites: [
|
|
4643
|
+
"keyGen",
|
|
4644
|
+
"veCTM at or above MultiSignAgentWallet.veCtmThresholdPower (holder or attach-key)",
|
|
4645
|
+
"nodeKey or username"
|
|
4646
|
+
],
|
|
4647
|
+
followUp: [...MCP_MULTISIGN_SUBMIT_FOLLOW_UP, "ctm_continuum_dao_forum_me"],
|
|
4648
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoForumSignIn" },
|
|
4649
|
+
inputZod: mcpContinuumDaoForumSignInInputSchema
|
|
3972
4650
|
})
|
|
3973
4651
|
];
|
|
3974
4652
|
|
|
@@ -4908,6 +5586,354 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
4908
5586
|
handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchEarnVaultsSummary" },
|
|
4909
5587
|
inputZod: mcpMorphoFetchEarnVaultsInputSchema,
|
|
4910
5588
|
outputZod: mcpMorphoFetchEarnVaultsOutputSchema
|
|
5589
|
+
}),
|
|
5590
|
+
defineMcpTool({
|
|
5591
|
+
name: "ctm_continuum_dao_fetch_voting_power",
|
|
5592
|
+
actionId: "continuum-dao.fetch-voting-power",
|
|
5593
|
+
protocolId: "continuum-dao",
|
|
5594
|
+
chainCategory: "evm",
|
|
5595
|
+
description: "Read ContinuumDAO getVotes(account) and live proposalThreshold() (max of 1000e18 ve power and 1% of total votes). Gate propose on votes >= threshold. Linea only.",
|
|
5596
|
+
prerequisites: ["rpcUrl", "account (KeyGen ETH address)", "governor"],
|
|
5597
|
+
followUp: [
|
|
5598
|
+
"ctm_continuum_dao_fetch_delegates",
|
|
5599
|
+
"ctm_continuum_dao_build_propose_bravo_multisign",
|
|
5600
|
+
"ctm_continuum_dao_build_propose_delta_multisign"
|
|
5601
|
+
],
|
|
5602
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchVotingPower" },
|
|
5603
|
+
inputZod: mcpContinuumDaoFetchVotingPowerInputSchema,
|
|
5604
|
+
outputZod: mcpContinuumDaoFetchVotingPowerOutputSchema
|
|
5605
|
+
}),
|
|
5606
|
+
defineMcpTool({
|
|
5607
|
+
name: "ctm_continuum_dao_fetch_delegates",
|
|
5608
|
+
actionId: "continuum-dao.fetch-delegates",
|
|
5609
|
+
protocolId: "continuum-dao",
|
|
5610
|
+
chainCategory: "evm",
|
|
5611
|
+
description: "Read VotingEscrow.delegates(account). self is true when voting power is not delegated away. Linea only.",
|
|
5612
|
+
prerequisites: ["rpcUrl", "account (KeyGen ETH address)", "votingEscrow"],
|
|
5613
|
+
followUp: [
|
|
5614
|
+
"ctm_continuum_dao_build_delegate_multisign",
|
|
5615
|
+
"ctm_continuum_dao_build_undelegate_multisign"
|
|
5616
|
+
],
|
|
5617
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchDelegates" },
|
|
5618
|
+
inputZod: mcpContinuumDaoFetchDelegatesInputSchema,
|
|
5619
|
+
outputZod: mcpContinuumDaoFetchDelegatesOutputSchema
|
|
5620
|
+
}),
|
|
5621
|
+
defineMcpTool({
|
|
5622
|
+
name: "ctm_continuum_dao_fetch_proposal_state",
|
|
5623
|
+
actionId: "continuum-dao.fetch-proposal-state",
|
|
5624
|
+
protocolId: "continuum-dao",
|
|
5625
|
+
chainCategory: "evm",
|
|
5626
|
+
description: "Read ContinuumDAO.state and proposalVotes for an on-chain proposal id.",
|
|
5627
|
+
prerequisites: ["rpcUrl", "proposalId", "governor"],
|
|
5628
|
+
followUp: [
|
|
5629
|
+
"ctm_continuum_dao_build_cast_vote_bravo_multisign",
|
|
5630
|
+
"ctm_continuum_dao_build_execute_multisign"
|
|
5631
|
+
],
|
|
5632
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchProposalState" },
|
|
5633
|
+
inputZod: mcpContinuumDaoFetchProposalStateInputSchema,
|
|
5634
|
+
outputZod: mcpContinuumDaoFetchProposalStateOutputSchema
|
|
5635
|
+
}),
|
|
5636
|
+
defineMcpTool({
|
|
5637
|
+
name: "ctm_continuum_dao_fetch_proposals",
|
|
5638
|
+
actionId: "continuum-dao.fetch-proposals",
|
|
5639
|
+
protocolId: "continuum-dao",
|
|
5640
|
+
chainCategory: "evm",
|
|
5641
|
+
description: "List proposals from the public ContinuumDAO backend (POST /proposals). Do not use this to answer \u201Cwhat is live now\u201D \u2014 use ctm_continuum_dao_fetch_live_proposals so on-chain state is overlaid.",
|
|
5642
|
+
prerequisites: [],
|
|
5643
|
+
followUp: ["ctm_continuum_dao_fetch_live_proposals", "ctm_continuum_dao_fetch_proposal"],
|
|
5644
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchProposals" },
|
|
5645
|
+
inputZod: mcpContinuumDaoFetchProposalsInputSchema,
|
|
5646
|
+
outputZod: mcpContinuumDaoFetchProposalsOutputSchema
|
|
5647
|
+
}),
|
|
5648
|
+
defineMcpTool({
|
|
5649
|
+
name: "ctm_continuum_dao_fetch_proposal",
|
|
5650
|
+
actionId: "continuum-dao.fetch-proposal",
|
|
5651
|
+
protocolId: "continuum-dao",
|
|
5652
|
+
chainCategory: "evm",
|
|
5653
|
+
description: "Fetch one proposal from the public ContinuumDAO backend (GET /proposals/:id).",
|
|
5654
|
+
prerequisites: ["id"],
|
|
5655
|
+
followUp: ["ctm_continuum_dao_explain_proposal", "ctm_continuum_dao_fetch_proposal_state"],
|
|
5656
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchProposal" },
|
|
5657
|
+
inputZod: mcpContinuumDaoFetchProposalInputSchema,
|
|
5658
|
+
outputZod: mcpContinuumDaoFetchProposalOutputSchema
|
|
5659
|
+
}),
|
|
5660
|
+
defineMcpTool({
|
|
5661
|
+
name: "ctm_continuum_dao_fetch_live_proposals",
|
|
5662
|
+
actionId: "continuum-dao.fetch-live-proposals",
|
|
5663
|
+
protocolId: "continuum-dao",
|
|
5664
|
+
chainCategory: "evm",
|
|
5665
|
+
description: "Answer \u201Cwhat proposals are live now?\u201D. Lists the backend catalog and overlays ContinuumDAO.state. live = Active (voting). pending = Pending. readyToExecute = Succeeded (execute from here; no queue). recentlyCompleted = Canceled/Defeated/Expired/Executed in this scan. Requires Linea chainId + rpcUrl + governor for on-chain overlay. Read the `note` field aloud.",
|
|
5666
|
+
prerequisites: ["load_defi_protocol continuum-dao", "Linea chainId 59144 or 59141", "rpcUrl", "governor if constant is zero"],
|
|
5667
|
+
followUp: [
|
|
5668
|
+
"ctm_continuum_dao_explain_proposal",
|
|
5669
|
+
"ctm_continuum_dao_fetch_proposal",
|
|
5670
|
+
"ctm_continuum_dao_build_cast_vote_bravo_multisign",
|
|
5671
|
+
"ctm_continuum_dao_build_execute_multisign"
|
|
5672
|
+
],
|
|
5673
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchLiveProposals" },
|
|
5674
|
+
inputZod: mcpContinuumDaoFetchLiveProposalsInputSchema,
|
|
5675
|
+
outputZod: mcpContinuumDaoFetchLiveProposalsOutputSchema
|
|
5676
|
+
}),
|
|
5677
|
+
defineMcpTool({
|
|
5678
|
+
name: "ctm_continuum_dao_explain_proposal",
|
|
5679
|
+
actionId: "continuum-dao.explain-proposal",
|
|
5680
|
+
protocolId: "continuum-dao",
|
|
5681
|
+
chainCategory: "evm",
|
|
5682
|
+
description: "Deconstruct a ContinuumDAO proposal for the operator. Walks every user action (Bravo) or every option (Delta), labels encoder no-ops as signaling, flags C3 / value / approve / unknown signatures, and checks the forum thread section against the proposal type. Read the `briefing` field aloud. Does not vote. For a policy recommendation load the mpc-config continuum-dao-vote-policy skill.",
|
|
5683
|
+
prerequisites: ["id (backend) or onchainId"],
|
|
5684
|
+
followUp: ["ctm_continuum_dao_fetch_proposal_state", "ctm_continuum_dao_forum_fetch_thread"],
|
|
5685
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoExplainProposal" },
|
|
5686
|
+
inputZod: mcpContinuumDaoExplainProposalInputSchema,
|
|
5687
|
+
outputZod: mcpContinuumDaoExplainProposalOutputSchema
|
|
5688
|
+
}),
|
|
5689
|
+
defineMcpTool({
|
|
5690
|
+
name: "ctm_continuum_dao_register_proposal",
|
|
5691
|
+
actionId: "continuum-dao.register-proposal",
|
|
5692
|
+
protocolId: "continuum-dao",
|
|
5693
|
+
chainCategory: "evm",
|
|
5694
|
+
description: "POST /proposals/create so app.continuumdao.org stays in sync. Call after the propose multi-sign request is mined. Does not revert the chain tx if this fails \u2014 retry.",
|
|
5695
|
+
prerequisites: ["onchainId from hashProposal or ProposalCreated", "title", "proposer", "forumKey", "type", "configuration"],
|
|
5696
|
+
followUp: [],
|
|
5697
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoRegisterProposal" },
|
|
5698
|
+
inputZod: mcpContinuumDaoRegisterProposalInputSchema,
|
|
5699
|
+
outputZod: mcpContinuumDaoRegisterProposalOutputSchema
|
|
5700
|
+
}),
|
|
5701
|
+
defineMcpTool({
|
|
5702
|
+
name: "ctm_continuum_dao_forum_sign_in_eligible",
|
|
5703
|
+
actionId: "continuum-dao.forum-sign-in-eligible",
|
|
5704
|
+
protocolId: "continuum-dao",
|
|
5705
|
+
chainCategory: "evm",
|
|
5706
|
+
description: "Check whether an address may EIP-712 sign in to the forum (holder or attach-key veCTM at MultiSignAgentWallet.veCtmThresholdPower). Call this before ctm_continuum_dao_build_forum_sign_in_multisign. If eligible is false, do not start a multi-sign request.",
|
|
5707
|
+
prerequisites: ["address (KeyGen ethereumaddress)"],
|
|
5708
|
+
followUp: ["ctm_continuum_dao_build_forum_sign_in_multisign"],
|
|
5709
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumSignInEligible" },
|
|
5710
|
+
inputZod: mcpContinuumDaoForumSignInEligibleInputSchema,
|
|
5711
|
+
outputZod: mcpContinuumDaoForumSignInEligibleOutputSchema
|
|
5712
|
+
}),
|
|
5713
|
+
defineMcpTool({
|
|
5714
|
+
name: "ctm_continuum_dao_forum_resolve",
|
|
5715
|
+
actionId: "continuum-dao.forum-resolve",
|
|
5716
|
+
protocolId: "continuum-dao",
|
|
5717
|
+
chainCategory: "evm",
|
|
5718
|
+
description: "Parse a ContinuumDAO forumKey URL into a NodeBB topic id.",
|
|
5719
|
+
prerequisites: ["url or tid"],
|
|
5720
|
+
followUp: ["ctm_continuum_dao_forum_fetch_thread"],
|
|
5721
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumResolve" },
|
|
5722
|
+
inputZod: mcpContinuumDaoForumResolveInputSchema,
|
|
5723
|
+
outputZod: mcpContinuumDaoForumResolveOutputSchema
|
|
5724
|
+
}),
|
|
5725
|
+
defineMcpTool({
|
|
5726
|
+
name: "ctm_continuum_dao_forum_fetch_thread",
|
|
5727
|
+
actionId: "continuum-dao.forum-fetch-thread",
|
|
5728
|
+
protocolId: "continuum-dao",
|
|
5729
|
+
chainCategory: "evm",
|
|
5730
|
+
description: "Fetch a forum thread from forum.continuumdao.org. Returns cid and section (ideas / decision / election / treasury / constitution / admin). index 0 is the original post. Omit index to page through posts (start/limit). Prefer forum_fetch_post for one pid. Compare section to proposal type when evaluating.",
|
|
5731
|
+
prerequisites: ["url or tid"],
|
|
5732
|
+
followUp: ["ctm_continuum_dao_forum_fetch_post", "ctm_continuum_dao_forum_reply"],
|
|
5733
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumFetchThread" },
|
|
5734
|
+
inputZod: mcpContinuumDaoForumFetchThreadInputSchema,
|
|
5735
|
+
outputZod: mcpContinuumDaoForumFetchThreadOutputSchema
|
|
5736
|
+
}),
|
|
5737
|
+
defineMcpTool({
|
|
5738
|
+
name: "ctm_continuum_dao_forum_fetch_post",
|
|
5739
|
+
actionId: "continuum-dao.forum-fetch-post",
|
|
5740
|
+
protocolId: "continuum-dao",
|
|
5741
|
+
chainCategory: "evm",
|
|
5742
|
+
description: "Read one forum post by pid. Not the whole thread.",
|
|
5743
|
+
prerequisites: ["pid"],
|
|
5744
|
+
followUp: ["ctm_continuum_dao_forum_react", "ctm_continuum_dao_forum_reply"],
|
|
5745
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumFetchPost" },
|
|
5746
|
+
inputZod: mcpContinuumDaoForumFetchPostInputSchema,
|
|
5747
|
+
outputZod: mcpContinuumDaoForumFetchPostOutputSchema
|
|
5748
|
+
}),
|
|
5749
|
+
defineMcpTool({
|
|
5750
|
+
name: "ctm_continuum_dao_forum_search",
|
|
5751
|
+
actionId: "continuum-dao.forum-search",
|
|
5752
|
+
protocolId: "continuum-dao",
|
|
5753
|
+
chainCategory: "evm",
|
|
5754
|
+
description: "Search forum.continuumdao.org. Case-insensitive match on a new thread title or any post body. Optional hours (last X hours) or since (ISO date / unix timestamp). Empty query with a time filter lists recent posts. Returns id (pid), thread title, author username, and createdAt \u2014 then ctm_continuum_dao_forum_fetch_post.",
|
|
5755
|
+
prerequisites: ["query and/or hours or since"],
|
|
5756
|
+
followUp: ["ctm_continuum_dao_forum_fetch_post", "ctm_continuum_dao_forum_fetch_thread"],
|
|
5757
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumSearch" },
|
|
5758
|
+
inputZod: mcpContinuumDaoForumSearchInputSchema,
|
|
5759
|
+
outputZod: mcpContinuumDaoForumSearchOutputSchema
|
|
5760
|
+
}),
|
|
5761
|
+
defineMcpTool({
|
|
5762
|
+
name: "ctm_continuum_dao_forum_recent",
|
|
5763
|
+
actionId: "continuum-dao.forum-recent",
|
|
5764
|
+
protocolId: "continuum-dao",
|
|
5765
|
+
chainCategory: "evm",
|
|
5766
|
+
description: "List the most recent posts across the whole forum that the caller may read. Requires hours (last X hours) or since (ISO date / unix timestamp). Newest first. Returns id (pid), thread title, author username, and createdAt \u2014 then ctm_continuum_dao_forum_fetch_post. Optional ticket includes private categories the user can access.",
|
|
5767
|
+
prerequisites: ["hours or since"],
|
|
5768
|
+
followUp: ["ctm_continuum_dao_forum_fetch_post", "ctm_continuum_dao_forum_search"],
|
|
5769
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumRecent" },
|
|
5770
|
+
inputZod: mcpContinuumDaoForumRecentInputSchema,
|
|
5771
|
+
outputZod: mcpContinuumDaoForumRecentOutputSchema
|
|
5772
|
+
}),
|
|
5773
|
+
defineMcpTool({
|
|
5774
|
+
name: "ctm_continuum_dao_forum_delete",
|
|
5775
|
+
actionId: "continuum-dao.forum-delete",
|
|
5776
|
+
protocolId: "continuum-dao",
|
|
5777
|
+
chainCategory: "evm",
|
|
5778
|
+
description: "Admin or moderator soft-delete on forum.continuumdao.org. Requires a forum ticket. Caller must be an administrator or category moderator \u2014 post owners are refused. Exactly one of: pid (one post), tid/url (one thread), or username (that user\u2019s posts). Optional hours or since; omit both to delete all matches. Confirm with the operator before calling, especially username. Then forum_fetch_post / forum_search to verify.",
|
|
5779
|
+
prerequisites: ["ticket", "exactly one of pid, tid/url, or username"],
|
|
5780
|
+
followUp: ["ctm_continuum_dao_forum_fetch_post", "ctm_continuum_dao_forum_recent", "ctm_continuum_dao_forum_sign_out"],
|
|
5781
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumDelete" },
|
|
5782
|
+
inputZod: mcpContinuumDaoForumDeleteInputSchema,
|
|
5783
|
+
outputZod: mcpContinuumDaoForumDeleteOutputSchema
|
|
5784
|
+
}),
|
|
5785
|
+
defineMcpTool({
|
|
5786
|
+
name: "ctm_continuum_dao_forum_user_post_ids",
|
|
5787
|
+
actionId: "continuum-dao.forum-user-post-ids",
|
|
5788
|
+
protocolId: "continuum-dao",
|
|
5789
|
+
chainCategory: "evm",
|
|
5790
|
+
description: "List forum post ids for a username (no bodies). Then call forum_fetch_post for each pid.",
|
|
5791
|
+
prerequisites: ["username"],
|
|
5792
|
+
followUp: ["ctm_continuum_dao_forum_fetch_post"],
|
|
5793
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumUserPostIds" },
|
|
5794
|
+
inputZod: mcpContinuumDaoForumUserPostIdsInputSchema,
|
|
5795
|
+
outputZod: mcpContinuumDaoForumUserPostIdsOutputSchema
|
|
5796
|
+
}),
|
|
5797
|
+
defineMcpTool({
|
|
5798
|
+
name: "ctm_continuum_dao_forum_reply_count",
|
|
5799
|
+
actionId: "continuum-dao.forum-reply-count",
|
|
5800
|
+
protocolId: "continuum-dao",
|
|
5801
|
+
chainCategory: "evm",
|
|
5802
|
+
description: "Reply count for a forum thread (excludes the original post).",
|
|
5803
|
+
prerequisites: ["url or tid"],
|
|
5804
|
+
followUp: ["ctm_continuum_dao_forum_fetch_thread"],
|
|
5805
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumReplyCount" },
|
|
5806
|
+
inputZod: mcpContinuumDaoForumReplyCountInputSchema,
|
|
5807
|
+
outputZod: mcpContinuumDaoForumReplyCountOutputSchema
|
|
5808
|
+
}),
|
|
5809
|
+
defineMcpTool({
|
|
5810
|
+
name: "ctm_continuum_dao_forum_reply",
|
|
5811
|
+
actionId: "continuum-dao.forum-reply",
|
|
5812
|
+
protocolId: "continuum-dao",
|
|
5813
|
+
chainCategory: "evm",
|
|
5814
|
+
description: "Post an English reply (max 8000 characters) to a forum thread. Requires forumTicket from EIP-712 login.",
|
|
5815
|
+
prerequisites: ["ticket", "content", "url or tid"],
|
|
5816
|
+
followUp: ["ctm_continuum_dao_forum_fetch_thread"],
|
|
5817
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumReply" },
|
|
5818
|
+
inputZod: mcpContinuumDaoForumReplyInputSchema,
|
|
5819
|
+
outputZod: mcpContinuumDaoForumReplyOutputSchema
|
|
5820
|
+
}),
|
|
5821
|
+
defineMcpTool({
|
|
5822
|
+
name: "ctm_continuum_dao_forum_react",
|
|
5823
|
+
actionId: "continuum-dao.forum-react",
|
|
5824
|
+
protocolId: "continuum-dao",
|
|
5825
|
+
chainCategory: "evm",
|
|
5826
|
+
description: "Toggle an allowlisted reaction on a post: +1, -1, heart, tada, eyes. Requires forumTicket.",
|
|
5827
|
+
prerequisites: ["ticket", "pid", "emoji"],
|
|
5828
|
+
followUp: ["ctm_continuum_dao_forum_fetch_post"],
|
|
5829
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumReact" },
|
|
5830
|
+
inputZod: mcpContinuumDaoForumReactInputSchema,
|
|
5831
|
+
outputZod: mcpContinuumDaoForumReactOutputSchema
|
|
5832
|
+
}),
|
|
5833
|
+
defineMcpTool({
|
|
5834
|
+
name: "ctm_continuum_dao_forum_create_topic",
|
|
5835
|
+
actionId: "continuum-dao.forum-create-topic",
|
|
5836
|
+
protocolId: "continuum-dao",
|
|
5837
|
+
chainCategory: "evm",
|
|
5838
|
+
description: "Create a formal proposal thread in a Governance section: decision, election, treasury, constitution, or admin. Requires getVotes >= live proposalThreshold() and a forumTicket. Never use Ideas & Suggestions here. Pass the returned url as forumKey on build_propose_* and register_proposal. Map type Decision\u2192decision, Election\u2192election, Treasury\u2192treasury, Constitution\u2192constitution, Admin\u2192admin.",
|
|
5839
|
+
prerequisites: ["ticket", "title", "content", "section or cid", "governor configured on the forum"],
|
|
5840
|
+
followUp: ["ctm_continuum_dao_build_propose_bravo_multisign", "ctm_continuum_dao_build_propose_delta_multisign"],
|
|
5841
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumCreateTopic" },
|
|
5842
|
+
inputZod: mcpContinuumDaoForumCreateTopicInputSchema,
|
|
5843
|
+
outputZod: mcpContinuumDaoForumCreateTopicOutputSchema
|
|
5844
|
+
}),
|
|
5845
|
+
defineMcpTool({
|
|
5846
|
+
name: "ctm_continuum_dao_forum_create_idea",
|
|
5847
|
+
actionId: "continuum-dao.forum-create-idea",
|
|
5848
|
+
protocolId: "continuum-dao",
|
|
5849
|
+
chainCategory: "evm",
|
|
5850
|
+
description: "Post an Idea or Suggestion (discussion only) to Ideas & Suggestions. Not a proposal and not a valid forumKey. Use this when the operator wants feedback before a Temperature Check, or the ask is not ready for on-chain governance. Wallet login required; proposalThreshold is not. Do not follow with build_propose_*.",
|
|
5851
|
+
prerequisites: ["ticket", "title", "content"],
|
|
5852
|
+
followUp: ["ctm_continuum_dao_forum_reply", "ctm_continuum_dao_forum_sign_out"],
|
|
5853
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumCreateIdea" },
|
|
5854
|
+
inputZod: mcpContinuumDaoForumCreateIdeaInputSchema,
|
|
5855
|
+
outputZod: mcpContinuumDaoForumCreateIdeaOutputSchema
|
|
5856
|
+
}),
|
|
5857
|
+
defineMcpTool({
|
|
5858
|
+
name: "ctm_continuum_dao_forum_me",
|
|
5859
|
+
actionId: "continuum-dao.forum-me",
|
|
5860
|
+
protocolId: "continuum-dao",
|
|
5861
|
+
chainCategory: "evm",
|
|
5862
|
+
description: "Current forum user, votes, canPropose (Governance threads), and canPostIdea (Ideas & Suggestions).",
|
|
5863
|
+
prerequisites: [],
|
|
5864
|
+
followUp: [
|
|
5865
|
+
"ctm_continuum_dao_forum_unread",
|
|
5866
|
+
"ctm_continuum_dao_forum_sections",
|
|
5867
|
+
"ctm_continuum_dao_forum_sign_out"
|
|
5868
|
+
],
|
|
5869
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumMe" },
|
|
5870
|
+
inputZod: mcpContinuumDaoForumMeInputSchema,
|
|
5871
|
+
outputZod: mcpContinuumDaoForumMeOutputSchema
|
|
5872
|
+
}),
|
|
5873
|
+
defineMcpTool({
|
|
5874
|
+
name: "ctm_continuum_dao_forum_unread",
|
|
5875
|
+
actionId: "continuum-dao.forum-unread",
|
|
5876
|
+
protocolId: "continuum-dao",
|
|
5877
|
+
chainCategory: "evm",
|
|
5878
|
+
description: "List unread Forum topics for the logged-in user (NodeBB Unread). Requires a forum ticket. Optional filter all/new/watched/unreplied. Returns tid, title, url, replyCount, lastPostAt \u2014 then forum_fetch_thread and forum_mark_read. Interactive only; never from cron.",
|
|
5879
|
+
prerequisites: ["ticket"],
|
|
5880
|
+
followUp: ["ctm_continuum_dao_forum_fetch_thread", "ctm_continuum_dao_forum_mark_read"],
|
|
5881
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumUnread" },
|
|
5882
|
+
inputZod: mcpContinuumDaoForumUnreadInputSchema,
|
|
5883
|
+
outputZod: mcpContinuumDaoForumUnreadOutputSchema
|
|
5884
|
+
}),
|
|
5885
|
+
defineMcpTool({
|
|
5886
|
+
name: "ctm_continuum_dao_forum_mark_read",
|
|
5887
|
+
actionId: "continuum-dao.forum-mark-read",
|
|
5888
|
+
protocolId: "continuum-dao",
|
|
5889
|
+
chainCategory: "evm",
|
|
5890
|
+
description: "Mark Forum topic(s) read for the logged-in user (clears NodeBB Unread and topic notifications). Requires a ticket. Exactly one of tid/url, tids, or all. Confirm before all. Interactive only; never from cron.",
|
|
5891
|
+
prerequisites: ["ticket", "exactly one of tid/url, tids, or all"],
|
|
5892
|
+
followUp: ["ctm_continuum_dao_forum_unread", "ctm_continuum_dao_forum_fetch_thread"],
|
|
5893
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumMarkRead" },
|
|
5894
|
+
inputZod: mcpContinuumDaoForumMarkReadInputSchema,
|
|
5895
|
+
outputZod: mcpContinuumDaoForumMarkReadOutputSchema
|
|
5896
|
+
}),
|
|
5897
|
+
defineMcpTool({
|
|
5898
|
+
name: "ctm_continuum_dao_forum_mark_unread",
|
|
5899
|
+
actionId: "continuum-dao.forum-mark-unread",
|
|
5900
|
+
protocolId: "continuum-dao",
|
|
5901
|
+
chainCategory: "evm",
|
|
5902
|
+
description: "Mark one Forum topic unread for the logged-in user. Requires a ticket and tid or url. Interactive only; never from cron.",
|
|
5903
|
+
prerequisites: ["ticket", "tid or url"],
|
|
5904
|
+
followUp: ["ctm_continuum_dao_forum_unread"],
|
|
5905
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumMarkUnread" },
|
|
5906
|
+
inputZod: mcpContinuumDaoForumMarkUnreadInputSchema,
|
|
5907
|
+
outputZod: mcpContinuumDaoForumMarkUnreadOutputSchema
|
|
5908
|
+
}),
|
|
5909
|
+
defineMcpTool({
|
|
5910
|
+
name: "ctm_continuum_dao_forum_sign_out",
|
|
5911
|
+
actionId: "continuum-dao.forum-sign-out",
|
|
5912
|
+
protocolId: "continuum-dao",
|
|
5913
|
+
chainCategory: "evm",
|
|
5914
|
+
description: "Revoke the forum ticket and destroy NodeBB sessions for that user. Requires the ticket from EIP-712 sign-in. Does not create a multi-sign request.",
|
|
5915
|
+
prerequisites: ["ticket from forum sign-in"],
|
|
5916
|
+
followUp: ["ctm_continuum_dao_forum_me"],
|
|
5917
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumSignOut" },
|
|
5918
|
+
inputZod: mcpContinuumDaoForumSignOutInputSchema,
|
|
5919
|
+
outputZod: mcpContinuumDaoForumSignOutOutputSchema
|
|
5920
|
+
}),
|
|
5921
|
+
defineMcpTool({
|
|
5922
|
+
name: "ctm_continuum_dao_forum_sections",
|
|
5923
|
+
actionId: "continuum-dao.forum-sections",
|
|
5924
|
+
protocolId: "continuum-dao",
|
|
5925
|
+
chainCategory: "evm",
|
|
5926
|
+
description: "Forum category ids: ideas (discussion only) plus Governance proposal sections decision, election, treasury, constitution, admin. Use forum_create_idea for ideas; forum_create_topic for Governance.",
|
|
5927
|
+
prerequisites: [],
|
|
5928
|
+
followUp: [
|
|
5929
|
+
"ctm_continuum_dao_forum_recent",
|
|
5930
|
+
"ctm_continuum_dao_forum_search",
|
|
5931
|
+
"ctm_continuum_dao_forum_create_topic",
|
|
5932
|
+
"ctm_continuum_dao_forum_create_idea"
|
|
5933
|
+
],
|
|
5934
|
+
handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoForumSections" },
|
|
5935
|
+
inputZod: mcpContinuumDaoForumSectionsInputSchema,
|
|
5936
|
+
outputZod: mcpContinuumDaoForumSectionsOutputSchema
|
|
4911
5937
|
})
|
|
4912
5938
|
];
|
|
4913
5939
|
var MCP_TOOL_DEFINITIONS = [
|
|
@@ -4985,14 +6011,22 @@ function getAgentCatalogForMcp() {
|
|
|
4985
6011
|
}
|
|
4986
6012
|
};
|
|
4987
6013
|
}
|
|
4988
|
-
getAddress(
|
|
6014
|
+
var LIDO_STETH_CONTRACT_MAINNET = getAddress(
|
|
4989
6015
|
"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"
|
|
4990
6016
|
);
|
|
4991
|
-
getAddress(
|
|
6017
|
+
var LIDO_WSTETH_CONTRACT_MAINNET = getAddress(
|
|
4992
6018
|
"0x7f39C581F595B853cBbF37C12FfeeA971C5a5bEa"
|
|
4993
6019
|
);
|
|
4994
6020
|
getAddress("0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1");
|
|
4995
6021
|
var LIDO_ETHEREUM_MAINNET_CHAIN_ID = 1;
|
|
6022
|
+
var LIDO_ROBINHOOD_CHAIN_ID = 4663;
|
|
6023
|
+
var LIDO_WSTETH_ROBINHOOD = getAddress("0x2dC99af320BC317c567f24eE95811dcbd5983DfD");
|
|
6024
|
+
function listLidoSupportedChainIds() {
|
|
6025
|
+
return [LIDO_ETHEREUM_MAINNET_CHAIN_ID, LIDO_ROBINHOOD_CHAIN_ID];
|
|
6026
|
+
}
|
|
6027
|
+
function isLidoSupportedChainId(chainId) {
|
|
6028
|
+
return chainId === LIDO_ETHEREUM_MAINNET_CHAIN_ID || chainId === LIDO_ROBINHOOD_CHAIN_ID;
|
|
6029
|
+
}
|
|
4996
6030
|
|
|
4997
6031
|
// src/protocols/evm/lido/index.ts
|
|
4998
6032
|
var LIDO_PROTOCOL_ID = "lido";
|
|
@@ -5001,7 +6035,7 @@ var lidoProtocolModule = {
|
|
|
5001
6035
|
chainCategory: "evm",
|
|
5002
6036
|
isChainSupported(ctx) {
|
|
5003
6037
|
if (ctx.chainCategory !== "evm") return false;
|
|
5004
|
-
return Number(ctx.chainId)
|
|
6038
|
+
return isLidoSupportedChainId(Number(ctx.chainId));
|
|
5005
6039
|
},
|
|
5006
6040
|
isTokenSupported(token) {
|
|
5007
6041
|
return token.category === "evm" && (token.kind === "native" || token.kind === "erc20");
|
|
@@ -5018,7 +6052,9 @@ registerProtocolModule(lidoProtocolModule);
|
|
|
5018
6052
|
var USDE_ETHEREUM_MAINNET = "0x4c9edd5852cd905f086c759e8383e09bff1e68b3";
|
|
5019
6053
|
var SUSDE_ETHEREUM_MAINNET = "0x9d39a5de30e57443bff2a8307a4256c8797a3497";
|
|
5020
6054
|
var USDE_MOST_L2S = "0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34";
|
|
6055
|
+
var SUSDE_MOST_L2S = "0x211Cc4DD073734dA055fbF44a2b4667d5E5fE5d2";
|
|
5021
6056
|
var USDE_ZKSYNC_ERA = "0x39Fe7a0DACcE31Bd90418e3e659fb0b5f0B3Db0d";
|
|
6057
|
+
var SUSDE_ZKSYNC_ERA = "0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8";
|
|
5022
6058
|
var L2_SAME_ADDRESS_CHAIN_IDS = /* @__PURE__ */ new Set([
|
|
5023
6059
|
42161,
|
|
5024
6060
|
// Arbitrum One
|
|
@@ -5054,8 +6090,10 @@ var L2_SAME_ADDRESS_CHAIN_IDS = /* @__PURE__ */ new Set([
|
|
|
5054
6090
|
// Morph
|
|
5055
6091
|
1923,
|
|
5056
6092
|
// Swell
|
|
5057
|
-
48900
|
|
6093
|
+
48900,
|
|
5058
6094
|
// Zircuit
|
|
6095
|
+
4663
|
|
6096
|
+
// Robinhood Chain
|
|
5059
6097
|
]);
|
|
5060
6098
|
var FALLBACK_NAME_BY_ID = {
|
|
5061
6099
|
1: "Ethereum",
|
|
@@ -5077,6 +6115,7 @@ var FALLBACK_NAME_BY_ID = {
|
|
|
5077
6115
|
2818: "Morph",
|
|
5078
6116
|
1923: "Swell",
|
|
5079
6117
|
48900: "Zircuit",
|
|
6118
|
+
4663: "Robinhood Chain",
|
|
5080
6119
|
324: "ZKSync Era"
|
|
5081
6120
|
};
|
|
5082
6121
|
function usdeTokenAddressOnEvmChain(chainId) {
|
|
@@ -5087,17 +6126,28 @@ function usdeTokenAddressOnEvmChain(chainId) {
|
|
|
5087
6126
|
}
|
|
5088
6127
|
function listEthenaUsdeEvmNetworkRows() {
|
|
5089
6128
|
const rows = [
|
|
5090
|
-
{
|
|
6129
|
+
{
|
|
6130
|
+
chainId: 1,
|
|
6131
|
+
label: FALLBACK_NAME_BY_ID[1],
|
|
6132
|
+
usde: USDE_ETHEREUM_MAINNET,
|
|
6133
|
+
susde: SUSDE_ETHEREUM_MAINNET
|
|
6134
|
+
}
|
|
5091
6135
|
];
|
|
5092
6136
|
const l2 = [...L2_SAME_ADDRESS_CHAIN_IDS].sort((a, b) => a - b);
|
|
5093
6137
|
for (const id of l2) {
|
|
5094
6138
|
rows.push({
|
|
5095
6139
|
chainId: id,
|
|
5096
6140
|
label: FALLBACK_NAME_BY_ID[id] ?? `Chain ${id}`,
|
|
5097
|
-
usde: USDE_MOST_L2S
|
|
6141
|
+
usde: USDE_MOST_L2S,
|
|
6142
|
+
susde: SUSDE_MOST_L2S
|
|
5098
6143
|
});
|
|
5099
6144
|
}
|
|
5100
|
-
rows.push({
|
|
6145
|
+
rows.push({
|
|
6146
|
+
chainId: 324,
|
|
6147
|
+
label: FALLBACK_NAME_BY_ID[324],
|
|
6148
|
+
usde: USDE_ZKSYNC_ERA,
|
|
6149
|
+
susde: SUSDE_ZKSYNC_ERA
|
|
6150
|
+
});
|
|
5101
6151
|
return rows.sort((a, b) => {
|
|
5102
6152
|
if (a.chainId === 1) return -1;
|
|
5103
6153
|
if (b.chainId === 1) return 1;
|
|
@@ -6307,6 +7357,138 @@ var veniceProtocolModule = {
|
|
|
6307
7357
|
]
|
|
6308
7358
|
};
|
|
6309
7359
|
registerProtocolModule(veniceProtocolModule);
|
|
7360
|
+
var CONTINUUM_DAO_PROTOCOL_ID = "continuum-dao";
|
|
7361
|
+
var CONTINUUM_DAO_ETHEREUM_CHAIN_ID = 1;
|
|
7362
|
+
var CONTINUUM_DAO_LINEA_CHAIN_ID = 59144;
|
|
7363
|
+
var CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID = 59141;
|
|
7364
|
+
var CTM_TOKEN_NAME = "Continuum";
|
|
7365
|
+
var CTM_TOKEN_SYMBOL = "CTM";
|
|
7366
|
+
var VECTM_TOKEN_NAME = "Voting Escrow Continuum";
|
|
7367
|
+
var VECTM_TOKEN_SYMBOL = "veCTM";
|
|
7368
|
+
var CTM_TOKEN_DECIMALS = 18;
|
|
7369
|
+
var UNSET = {
|
|
7370
|
+
ctm: zeroAddress,
|
|
7371
|
+
votingEscrow: zeroAddress,
|
|
7372
|
+
nodeProperties: zeroAddress,
|
|
7373
|
+
rewards: zeroAddress,
|
|
7374
|
+
governor: zeroAddress
|
|
7375
|
+
};
|
|
7376
|
+
var CONTINUUM_DAO_DEPLOYMENTS = {
|
|
7377
|
+
[CONTINUUM_DAO_LINEA_CHAIN_ID]: { ...UNSET },
|
|
7378
|
+
[CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID]: { ...UNSET },
|
|
7379
|
+
[CONTINUUM_DAO_ETHEREUM_CHAIN_ID]: {
|
|
7380
|
+
ctm: zeroAddress,
|
|
7381
|
+
votingEscrow: zeroAddress,
|
|
7382
|
+
nodeProperties: zeroAddress,
|
|
7383
|
+
rewards: zeroAddress,
|
|
7384
|
+
governor: zeroAddress
|
|
7385
|
+
}
|
|
7386
|
+
};
|
|
7387
|
+
function isConfiguredAddress(addr) {
|
|
7388
|
+
if (!addr?.trim()) return false;
|
|
7389
|
+
try {
|
|
7390
|
+
return getAddress(addr) !== zeroAddress;
|
|
7391
|
+
} catch {
|
|
7392
|
+
return false;
|
|
7393
|
+
}
|
|
7394
|
+
}
|
|
7395
|
+
function continuumDaoDeployment(chainId) {
|
|
7396
|
+
return CONTINUUM_DAO_DEPLOYMENTS[chainId] ?? null;
|
|
7397
|
+
}
|
|
7398
|
+
function isContinuumDaoLockChain(chainId) {
|
|
7399
|
+
return chainId === CONTINUUM_DAO_LINEA_CHAIN_ID || chainId === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID;
|
|
7400
|
+
}
|
|
7401
|
+
function isContinuumDaoSupportedChainId(chainId) {
|
|
7402
|
+
return continuumDaoDeployment(chainId) != null;
|
|
7403
|
+
}
|
|
7404
|
+
function ctmTokenAddressOnEvmChain(chainId) {
|
|
7405
|
+
const ctm = continuumDaoDeployment(chainId)?.ctm;
|
|
7406
|
+
return ctm && isConfiguredAddress(ctm) ? getAddress(ctm) : null;
|
|
7407
|
+
}
|
|
7408
|
+
function votingEscrowAddressOnEvmChain(chainId) {
|
|
7409
|
+
const ve = continuumDaoDeployment(chainId)?.votingEscrow;
|
|
7410
|
+
return ve && isConfiguredAddress(ve) ? getAddress(ve) : null;
|
|
7411
|
+
}
|
|
7412
|
+
function listContinuumDaoDefaultAssets() {
|
|
7413
|
+
const out = [];
|
|
7414
|
+
for (const chainId of [
|
|
7415
|
+
CONTINUUM_DAO_LINEA_CHAIN_ID,
|
|
7416
|
+
CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID,
|
|
7417
|
+
CONTINUUM_DAO_ETHEREUM_CHAIN_ID
|
|
7418
|
+
]) {
|
|
7419
|
+
const dep = continuumDaoDeployment(chainId);
|
|
7420
|
+
if (!dep) continue;
|
|
7421
|
+
if (isConfiguredAddress(dep.ctm)) {
|
|
7422
|
+
out.push({
|
|
7423
|
+
chainId,
|
|
7424
|
+
tokenType: "CTMERC20",
|
|
7425
|
+
contractAddress: getAddress(dep.ctm),
|
|
7426
|
+
name: CTM_TOKEN_NAME,
|
|
7427
|
+
symbol: CTM_TOKEN_SYMBOL,
|
|
7428
|
+
decimals: CTM_TOKEN_DECIMALS
|
|
7429
|
+
});
|
|
7430
|
+
}
|
|
7431
|
+
if (isContinuumDaoLockChain(chainId) && isConfiguredAddress(dep.votingEscrow)) {
|
|
7432
|
+
out.push({
|
|
7433
|
+
chainId,
|
|
7434
|
+
tokenType: "ERC721",
|
|
7435
|
+
contractAddress: getAddress(dep.votingEscrow),
|
|
7436
|
+
name: VECTM_TOKEN_NAME,
|
|
7437
|
+
symbol: VECTM_TOKEN_SYMBOL
|
|
7438
|
+
});
|
|
7439
|
+
}
|
|
7440
|
+
}
|
|
7441
|
+
return out;
|
|
7442
|
+
}
|
|
7443
|
+
|
|
7444
|
+
// src/protocols/evm/continuum-dao/index.ts
|
|
7445
|
+
var continuumDaoProtocolModule = {
|
|
7446
|
+
id: CONTINUUM_DAO_PROTOCOL_ID,
|
|
7447
|
+
chainCategory: "evm",
|
|
7448
|
+
isChainSupported(ctx) {
|
|
7449
|
+
if (ctx.chainCategory !== "evm") return false;
|
|
7450
|
+
const n = typeof ctx.chainId === "number" ? ctx.chainId : Number.parseInt(String(ctx.chainId), 10);
|
|
7451
|
+
return isContinuumDaoSupportedChainId(n);
|
|
7452
|
+
},
|
|
7453
|
+
isTokenSupported(token) {
|
|
7454
|
+
return token.category === "evm" && (token.kind === "erc20" || token.kind === "erc721");
|
|
7455
|
+
},
|
|
7456
|
+
actions: [
|
|
7457
|
+
{ id: "continuum-dao.create-lock", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Approve CTM + create_lock", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { amountHuman: { type: "string", required: true, description: "CTM amount" }, lockDurationSeconds: { type: "string", required: true, description: "Lock duration in seconds" } } },
|
|
7458
|
+
{ id: "continuum-dao.increase-amount", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Increase lock amount", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "veCTM token id" }, amountHuman: { type: "string", required: true, description: "CTM amount to add" } } },
|
|
7459
|
+
{ id: "continuum-dao.increase-unlock-time", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Increase unlock time", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "veCTM token id" }, lockDurationSeconds: { type: "string", required: true, description: "Duration from week boundary to new unlock" } } },
|
|
7460
|
+
{ id: "continuum-dao.split", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Split a veCTM lock", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "Source token id" }, extractedHuman: { type: "string", required: true, description: "CTM extracted into the new lock" } } },
|
|
7461
|
+
{ id: "continuum-dao.merge", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Merge two veCTM locks", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { fromTokenId: { type: "string", required: true, description: "Burned token id" }, toTokenId: { type: "string", required: true, description: "Surviving token id" } } },
|
|
7462
|
+
{ id: "continuum-dao.withdraw", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw an expired lock", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
7463
|
+
{ id: "continuum-dao.liquidate", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Liquidate a lock", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
7464
|
+
{ id: "continuum-dao.delegate", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Delegate voting power", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { delegatee: { type: "string", required: true, description: "Delegatee address" } } },
|
|
7465
|
+
{ id: "continuum-dao.undelegate", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Return voting power to the KeyGen (delegate to self)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
7466
|
+
{ id: "continuum-dao.fetch-delegates", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Read VotingEscrow.delegates(account)", commonParams: [], params: { account: { type: "string", required: true, description: "KeyGen or wallet address" } } },
|
|
7467
|
+
{ id: "continuum-dao.transfer", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Transfer a veCTM NFT", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "veCTM token id" }, to: { type: "string", required: true, description: "Recipient" } } },
|
|
7468
|
+
{ id: "continuum-dao.attach", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Attach veCTM to the node (authority KeyGen)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { nodeKey: { type: "string", required: true, description: "Node key" }, tokenId: { type: "string", required: true, description: "veCTM token id" }, mpaWallet: { type: "string", required: true, description: "MultiSignAgentWallet address" } } },
|
|
7469
|
+
{ id: "continuum-dao.request-detach", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Request governance detach", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { tokenId: { type: "string", required: true, description: "Attached token id" }, nodeProperties: { type: "string", required: true, description: "NodeProperties address" } } },
|
|
7470
|
+
{ id: "continuum-dao.propose-bravo", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Propose a Bravo (For/Against/Abstain) proposal", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { title: { type: "string", required: true, description: "On-chain description (title)" }, forumKey: { type: "string", required: true, description: "Created forum thread URL from forum_create_topic" } } },
|
|
7471
|
+
{ id: "continuum-dao.propose-delta", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Propose a Delta multi-option proposal", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { title: { type: "string", required: true, description: "On-chain description (title)" }, nWinners: { type: "number", required: true, description: "Winning options to execute" }, forumKey: { type: "string", required: true, description: "Created forum thread URL from forum_create_topic" } } },
|
|
7472
|
+
{ id: "continuum-dao.cast-vote-bravo", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Cast a Bravo vote", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { proposalId: { type: "string", required: true, description: "On-chain proposal id" }, support: { type: "number", required: true, description: "0 against, 1 for, 2 abstain" } } },
|
|
7473
|
+
{ id: "continuum-dao.cast-vote-delta", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Cast a Delta vote including NOTA", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { proposalId: { type: "string", required: true, description: "On-chain proposal id" } } },
|
|
7474
|
+
{ id: "continuum-dao.execute", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Execute a succeeded proposal", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { proposalId: { type: "string", required: true, description: "On-chain proposal id" } } },
|
|
7475
|
+
{ id: "continuum-dao.cancel", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Cancel a proposal", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: { proposalId: { type: "string", required: true, description: "On-chain proposal id" } } },
|
|
7476
|
+
{ id: "continuum-dao.fetch-live-proposals", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "List live/pending/succeeded proposals with on-chain state overlay", commonParams: [], params: { chainId: { type: "number", required: false, description: "Linea chain id" }, rpcUrl: { type: "string", required: false, description: "Linea RPC for state overlay" } } },
|
|
7477
|
+
{ id: "continuum-dao.explain-proposal", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Deconstruct a proposal into a readable briefing (actions, C3, no-ops, risks)", commonParams: [], params: { id: { type: "string", required: false, description: "Backend proposal id" }, onchainId: { type: "string", required: false, description: "Governor proposal id" } } },
|
|
7478
|
+
{ id: "continuum-dao.forum-sign-in", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "EIP-712 forum login (veCTM gate first)", commonParams: ["keyGen", "purposeText"], params: { nodeKey: { type: "string", required: false, description: "Attached node key" }, username: { type: "string", required: false, description: "Username when there is no node key" } } },
|
|
7479
|
+
{ id: "continuum-dao.forum-sign-in-eligible", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Check veCTM forum login eligibility", commonParams: [], params: { address: { type: "string", required: true, description: "KeyGen or wallet address" } } },
|
|
7480
|
+
{ id: "continuum-dao.forum-sign-out", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Revoke forum ticket and sessions", commonParams: [], params: { ticket: { type: "string", required: true, description: "Forum write ticket" } } },
|
|
7481
|
+
{ id: "continuum-dao.forum-create-topic", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Create a Governance proposal thread (not Ideas)", commonParams: [], params: { section: { type: "string", required: false, description: "decision | election | treasury | constitution | admin" }, title: { type: "string", required: true, description: "Thread title" }, content: { type: "string", required: true, description: "Proposal body" } } },
|
|
7482
|
+
{ id: "continuum-dao.forum-create-idea", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Post an Idea or Suggestion (not a proposal)", commonParams: [], params: { title: { type: "string", required: true, description: "Thread title" }, content: { type: "string", required: true, description: "Idea body" } } },
|
|
7483
|
+
{ id: "continuum-dao.forum-search", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Search forum titles and bodies; optional hours/since", commonParams: [], params: { query: { type: "string", required: false, description: "Case-insensitive title or body substring" }, hours: { type: "number", required: false, description: "Only posts from the last X hours" }, since: { type: "string", required: false, description: "Only posts since this ISO date or unix timestamp" } } },
|
|
7484
|
+
{ id: "continuum-dao.forum-recent", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "List recent readable posts (id, title, username, createdAt); requires hours or since", commonParams: [], params: { hours: { type: "number", required: false, description: "Only posts from the last X hours" }, since: { type: "string", required: false, description: "Only posts since this ISO date or unix timestamp" } } },
|
|
7485
|
+
{ id: "continuum-dao.forum-delete", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Admin/moderator soft-delete a post, thread, or a user\u2019s posts", commonParams: [], params: { pid: { type: "string", required: false, description: "Post id" }, tid: { type: "string", required: false, description: "Thread id" }, username: { type: "string", required: false, description: "Delete all posts by this user" }, hours: { type: "number", required: false, description: "Only in the last X hours (default all)" }, since: { type: "string", required: false, description: "Only since this date (default all)" } } },
|
|
7486
|
+
{ id: "continuum-dao.forum-unread", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "List unread topics for the logged-in user", commonParams: [], params: { filter: { type: "string", required: false, description: "all | new | watched | unreplied" } } },
|
|
7487
|
+
{ id: "continuum-dao.forum-mark-read", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Mark topic(s) read (tid/url, tids, or all)", commonParams: [], params: { tid: { type: "string", required: false, description: "Thread id" }, all: { type: "boolean", required: false, description: "Mark every unread topic read" } } },
|
|
7488
|
+
{ id: "continuum-dao.forum-mark-unread", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Mark one topic unread", commonParams: [], params: { tid: { type: "string", required: false, description: "Thread id" } } }
|
|
7489
|
+
]
|
|
7490
|
+
};
|
|
7491
|
+
registerProtocolModule(continuumDaoProtocolModule);
|
|
6310
7492
|
var skillsDir = join(dirname(fileURLToPath(import.meta.url)), "skills");
|
|
6311
7493
|
var SKILL_PROTOCOL_IDS = [
|
|
6312
7494
|
"aave-v4",
|
|
@@ -6321,7 +7503,8 @@ var SKILL_PROTOCOL_IDS = [
|
|
|
6321
7503
|
"hyperliquid",
|
|
6322
7504
|
"arcus",
|
|
6323
7505
|
"morpho",
|
|
6324
|
-
"circle-cctp"
|
|
7506
|
+
"circle-cctp",
|
|
7507
|
+
"continuum-dao"
|
|
6325
7508
|
];
|
|
6326
7509
|
function getToolsForProtocol(protocolId) {
|
|
6327
7510
|
return MCP_TOOL_DEFINITIONS.filter((t) => t.protocolId === protocolId);
|
|
@@ -6500,17 +7683,26 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
6500
7683
|
}),
|
|
6501
7684
|
lido: advisor("lido", "mainnet_only", {
|
|
6502
7685
|
async supportedChainIds() {
|
|
6503
|
-
return
|
|
7686
|
+
return listLidoSupportedChainIds();
|
|
6504
7687
|
},
|
|
6505
|
-
async supportedTokens() {
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
7688
|
+
async supportedTokens(chainId) {
|
|
7689
|
+
if (chainId === LIDO_ETHEREUM_MAINNET_CHAIN_ID) {
|
|
7690
|
+
return {
|
|
7691
|
+
tokens: [
|
|
7692
|
+
{ address: "0x0000000000000000000000000000000000000000", symbol: "ETH", roles: ["native", "stake"] },
|
|
7693
|
+
{ address: LIDO_STETH_CONTRACT_MAINNET, symbol: "stETH", roles: ["erc20"] },
|
|
7694
|
+
{ address: LIDO_WSTETH_CONTRACT_MAINNET, symbol: "wstETH", roles: ["erc20"] }
|
|
7695
|
+
],
|
|
7696
|
+
notes: "Lido staking, withdrawals, and wrap/unwrap are Ethereum mainnet only."
|
|
7697
|
+
};
|
|
7698
|
+
}
|
|
7699
|
+
if (chainId === LIDO_ROBINHOOD_CHAIN_ID) {
|
|
7700
|
+
return {
|
|
7701
|
+
tokens: [{ address: LIDO_WSTETH_ROBINHOOD, symbol: "wstETH", roles: ["erc20"] }],
|
|
7702
|
+
notes: "Bridged wstETH on Robinhood Chain (CCIP). Stake/withdraw/wrap MCP tools remain mainnet-only."
|
|
7703
|
+
};
|
|
7704
|
+
}
|
|
7705
|
+
return { tokens: [] };
|
|
6514
7706
|
}
|
|
6515
7707
|
}),
|
|
6516
7708
|
ethena: advisor("ethena", "minting_contract", {
|
|
@@ -6524,14 +7716,17 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
6524
7716
|
{ address: USDE_ETHEREUM_MAINNET, symbol: "USDe", roles: ["stake"] },
|
|
6525
7717
|
{ address: SUSDE_ETHEREUM_MAINNET, symbol: "sUSDe", roles: ["vault"] }
|
|
6526
7718
|
],
|
|
6527
|
-
notes: "Ethena stake/redeem UI actions are mainnet-only; USDe
|
|
7719
|
+
notes: "Ethena stake/redeem UI actions are mainnet-only; USDe/sUSDe exist on other chains for transfers."
|
|
6528
7720
|
};
|
|
6529
7721
|
}
|
|
6530
7722
|
if (isEvmChainInEthenaUsdeList(chainId)) {
|
|
6531
7723
|
const row = listEthenaUsdeEvmNetworkRows().find((r) => r.chainId === chainId);
|
|
6532
7724
|
return {
|
|
6533
|
-
tokens: row ? [
|
|
6534
|
-
|
|
7725
|
+
tokens: row ? [
|
|
7726
|
+
{ address: row.usde, symbol: "USDe", roles: ["erc20"] },
|
|
7727
|
+
{ address: row.susde, symbol: "sUSDe", roles: ["erc20"] }
|
|
7728
|
+
] : [],
|
|
7729
|
+
notes: "USDe/sUSDe on L2 (incl. Robinhood Chain); staking MCP tools target mainnet only."
|
|
6535
7730
|
};
|
|
6536
7731
|
}
|
|
6537
7732
|
return { tokens: [] };
|
|
@@ -6663,6 +7858,22 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
6663
7858
|
}
|
|
6664
7859
|
}
|
|
6665
7860
|
}),
|
|
7861
|
+
[CONTINUUM_DAO_PROTOCOL_ID]: advisor(CONTINUUM_DAO_PROTOCOL_ID, "fixed_addresses", {
|
|
7862
|
+
async supportedChainIds() {
|
|
7863
|
+
return [1, 59144, 59141].filter((id) => isContinuumDaoSupportedChainId(id));
|
|
7864
|
+
},
|
|
7865
|
+
async supportedTokens(chainId) {
|
|
7866
|
+
const tokens = [];
|
|
7867
|
+
const ctm = ctmTokenAddressOnEvmChain(chainId);
|
|
7868
|
+
if (ctm) tokens.push({ address: ctm, symbol: "CTM", roles: ["underlying"] });
|
|
7869
|
+
const ve = votingEscrowAddressOnEvmChain(chainId);
|
|
7870
|
+
if (ve) tokens.push({ address: ve, symbol: "veCTM", roles: ["position_nft"] });
|
|
7871
|
+
return {
|
|
7872
|
+
tokens,
|
|
7873
|
+
notes: tokens.length === 0 ? "ContinuumDAO addresses are placeholders until redeploy. Lock/attach/governance stay Linea-only. Prefer live GET /protocol/dao. For \u201Cwhat proposals are live now?\u201D use ctm_continuum_dao_fetch_live_proposals (not fetch_proposals). Propose requires getVotes >= live proposalThreshold() (max of 1000e18 ve power and 1% of total votes). Bravo empty actions insert a KeyGen no-op; Delta votes need nOptions+1 weights (last is NOTA). No billing legs. After propose is mined, ctm_continuum_dao_register_proposal. Queue is not implemented." : `Default ContinuumDAO assets: ${listContinuumDaoDefaultAssets().filter((a) => a.chainId === chainId).map((a) => a.symbol).join(", ")}. Lock/attach/governance stay Linea-only. For \u201Cwhat proposals are live now?\u201D use ctm_continuum_dao_fetch_live_proposals. Propose requires getVotes >= live proposalThreshold() (max of 1000e18 ve power and 1% of total votes). Bravo empty actions insert a KeyGen no-op; Delta votes need nOptions+1 weights (last is NOTA). No billing legs. After propose is mined, ctm_continuum_dao_register_proposal. Queue is not implemented.`
|
|
7874
|
+
};
|
|
7875
|
+
}
|
|
7876
|
+
}),
|
|
6666
7877
|
arcus: advisor("arcus", "api_underlyings", {
|
|
6667
7878
|
async supportedChainIds() {
|
|
6668
7879
|
return [...ARCUS_SUPPORTED_CHAIN_IDS];
|
|
@@ -6697,6 +7908,7 @@ registerProtocolModule(arcusProtocolModule);
|
|
|
6697
7908
|
registerProtocolModule(morphoProtocolModule);
|
|
6698
7909
|
registerProtocolModule(circleCctpProtocolModule);
|
|
6699
7910
|
registerProtocolModule(veniceProtocolModule);
|
|
7911
|
+
registerProtocolModule(continuumDaoProtocolModule);
|
|
6700
7912
|
function getAgentCatalog() {
|
|
6701
7913
|
return {
|
|
6702
7914
|
protocols: getProtocolModules(),
|
|
@@ -6719,11 +7931,12 @@ function getAgentCatalog() {
|
|
|
6719
7931
|
morpho: morphoProtocolModule,
|
|
6720
7932
|
circleCctp: circleCctpProtocolModule,
|
|
6721
7933
|
venice: veniceProtocolModule,
|
|
7934
|
+
continuumDao: continuumDaoProtocolModule,
|
|
6722
7935
|
/** Prefer getAgentCatalogForMcp() or getMcpToolDefinitions() for MCP servers. */
|
|
6723
7936
|
mcp: getAgentCatalogForMcp()
|
|
6724
7937
|
};
|
|
6725
7938
|
}
|
|
6726
7939
|
|
|
6727
|
-
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, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CheckPermissionsInputSchema, mcpUniswapV4CheckPermissionsOutputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4KycApplyLinkInputSchema, mcpUniswapV4KycApplyLinkOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, mcpVeniceBurnDiemInputSchema, mcpVeniceCompleteUnstakeDiemInputSchema, mcpVeniceCompleteUnstakeSvvvInputSchema, mcpVeniceInitiateUnstakeDiemInputSchema, mcpVeniceInitiateUnstakeSvvvInputSchema, mcpVeniceListModelsInputSchema, mcpVeniceListModelsOutputSchema, mcpVeniceMintDiemInputSchema, mcpVeniceReadMintDiemPreviewInputSchema, mcpVeniceReadMintDiemPreviewOutputSchema, mcpVeniceReadStakingStateInputSchema, mcpVeniceReadStakingStateOutputSchema, mcpVeniceStakeDiemInputSchema, mcpVeniceStakeVvvInputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
7940
|
+
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, mcpContinuumDaoAttachInputSchema, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, mcpContinuumDaoExplainProposalInputSchema, mcpContinuumDaoExplainProposalOutputSchema, mcpContinuumDaoFetchDelegatesInputSchema, mcpContinuumDaoFetchDelegatesOutputSchema, mcpContinuumDaoFetchLiveProposalsInputSchema, mcpContinuumDaoFetchLiveProposalsOutputSchema, mcpContinuumDaoFetchProposalInputSchema, mcpContinuumDaoFetchProposalOutputSchema, mcpContinuumDaoFetchProposalStateInputSchema, mcpContinuumDaoFetchProposalStateOutputSchema, mcpContinuumDaoFetchProposalsInputSchema, mcpContinuumDaoFetchProposalsOutputSchema, mcpContinuumDaoFetchVotingPowerInputSchema, mcpContinuumDaoFetchVotingPowerOutputSchema, mcpContinuumDaoForumCreateIdeaInputSchema, mcpContinuumDaoForumCreateIdeaOutputSchema, mcpContinuumDaoForumCreateTopicInputSchema, mcpContinuumDaoForumCreateTopicOutputSchema, mcpContinuumDaoForumDeleteInputSchema, mcpContinuumDaoForumDeleteOutputSchema, mcpContinuumDaoForumFetchPostInputSchema, mcpContinuumDaoForumFetchPostOutputSchema, mcpContinuumDaoForumFetchThreadInputSchema, mcpContinuumDaoForumFetchThreadOutputSchema, mcpContinuumDaoForumMarkReadInputSchema, mcpContinuumDaoForumMarkReadOutputSchema, mcpContinuumDaoForumMarkUnreadInputSchema, mcpContinuumDaoForumMarkUnreadOutputSchema, mcpContinuumDaoForumMeInputSchema, mcpContinuumDaoForumMeOutputSchema, mcpContinuumDaoForumReactInputSchema, mcpContinuumDaoForumReactOutputSchema, mcpContinuumDaoForumRecentInputSchema, mcpContinuumDaoForumRecentOutputSchema, mcpContinuumDaoForumReplyCountInputSchema, mcpContinuumDaoForumReplyCountOutputSchema, mcpContinuumDaoForumReplyInputSchema, mcpContinuumDaoForumReplyOutputSchema, mcpContinuumDaoForumResolveInputSchema, mcpContinuumDaoForumResolveOutputSchema, mcpContinuumDaoForumSearchInputSchema, mcpContinuumDaoForumSearchOutputSchema, mcpContinuumDaoForumSectionsInputSchema, mcpContinuumDaoForumSectionsOutputSchema, mcpContinuumDaoForumSignInEligibleInputSchema, mcpContinuumDaoForumSignInEligibleOutputSchema, mcpContinuumDaoForumSignInInputSchema, mcpContinuumDaoForumSignOutInputSchema, mcpContinuumDaoForumSignOutOutputSchema, mcpContinuumDaoForumUnreadInputSchema, mcpContinuumDaoForumUnreadOutputSchema, mcpContinuumDaoForumUserPostIdsInputSchema, mcpContinuumDaoForumUserPostIdsOutputSchema, mcpContinuumDaoIncreaseAmountInputSchema, mcpContinuumDaoIncreaseUnlockTimeInputSchema, mcpContinuumDaoMergeInputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, 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, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CheckPermissionsInputSchema, mcpUniswapV4CheckPermissionsOutputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4KycApplyLinkInputSchema, mcpUniswapV4KycApplyLinkOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, mcpVeniceBurnDiemInputSchema, mcpVeniceCompleteUnstakeDiemInputSchema, mcpVeniceCompleteUnstakeSvvvInputSchema, mcpVeniceInitiateUnstakeDiemInputSchema, mcpVeniceInitiateUnstakeSvvvInputSchema, mcpVeniceListModelsInputSchema, mcpVeniceListModelsOutputSchema, mcpVeniceMintDiemInputSchema, mcpVeniceReadMintDiemPreviewInputSchema, mcpVeniceReadMintDiemPreviewOutputSchema, mcpVeniceReadStakingStateInputSchema, mcpVeniceReadStakingStateOutputSchema, mcpVeniceStakeDiemInputSchema, mcpVeniceStakeVvvInputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
6728
7941
|
//# sourceMappingURL=catalog.js.map
|
|
6729
7942
|
//# sourceMappingURL=catalog.js.map
|