@continuumdao/ctm-mpc-defi 0.2.46 → 0.2.48

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.
@@ -16,6 +16,34 @@ var __export = (target, all) => {
16
16
  for (var name in all)
17
17
  __defProp(target, name, { get: all[name], enumerable: true });
18
18
  };
19
+
20
+ // src/chains/evm/chainIdParse.ts
21
+ function parseEvmChainIdToNumber(chainId) {
22
+ if (chainId == null) return Number.NaN;
23
+ if (typeof chainId === "bigint") {
24
+ const n = Number(chainId);
25
+ return Number.isSafeInteger(n) && n >= 0 ? n : Number.NaN;
26
+ }
27
+ if (typeof chainId === "number") {
28
+ return Number.isInteger(chainId) && chainId >= 0 ? chainId : Number.NaN;
29
+ }
30
+ const t = String(chainId).trim();
31
+ if (!t) return Number.NaN;
32
+ const low = t.toLowerCase();
33
+ if (low.startsWith("eip155:")) {
34
+ const rest = t.slice("eip155:".length).trim();
35
+ const n = Number.parseInt(rest, 10);
36
+ return Number.isNaN(n) || n < 0 ? Number.NaN : n;
37
+ }
38
+ if (low.startsWith("0x")) {
39
+ return Number.parseInt(t, 16);
40
+ }
41
+ return Number.parseInt(t, 10);
42
+ }
43
+ var init_chainIdParse = __esm({
44
+ "src/chains/evm/chainIdParse.ts"() {
45
+ }
46
+ });
19
47
  function defiEvmTransport(rpcUrl, opts) {
20
48
  const url = rpcUrl.trim();
21
49
  return http(url, opts);
@@ -481,6 +509,144 @@ var init_yields = __esm({
481
509
  );
482
510
  }
483
511
  });
512
+ function isConfiguredAddress(addr) {
513
+ if (!addr?.trim()) return false;
514
+ try {
515
+ return getAddress(addr) !== zeroAddress;
516
+ } catch {
517
+ return false;
518
+ }
519
+ }
520
+ function continuumDaoDeployment(chainId) {
521
+ return CONTINUUM_DAO_DEPLOYMENTS[chainId] ?? null;
522
+ }
523
+ function isContinuumDaoLockChain(chainId) {
524
+ return chainId === CONTINUUM_DAO_LINEA_CHAIN_ID || chainId === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID;
525
+ }
526
+ function isContinuumDaoSupportedChainId(chainId) {
527
+ return continuumDaoDeployment(chainId) != null;
528
+ }
529
+ function ctmTokenAddressOnEvmChain(chainId) {
530
+ const ctm = continuumDaoDeployment(chainId)?.ctm;
531
+ return ctm && isConfiguredAddress(ctm) ? getAddress(ctm) : null;
532
+ }
533
+ function votingEscrowAddressOnEvmChain(chainId) {
534
+ const ve = continuumDaoDeployment(chainId)?.votingEscrow;
535
+ return ve && isConfiguredAddress(ve) ? getAddress(ve) : null;
536
+ }
537
+ function listContinuumDaoDefaultAssets() {
538
+ const out = [];
539
+ for (const chainId of [
540
+ CONTINUUM_DAO_LINEA_CHAIN_ID,
541
+ CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID,
542
+ CONTINUUM_DAO_ETHEREUM_CHAIN_ID
543
+ ]) {
544
+ const dep = continuumDaoDeployment(chainId);
545
+ if (!dep) continue;
546
+ if (isConfiguredAddress(dep.ctm)) {
547
+ out.push({
548
+ chainId,
549
+ tokenType: "CTMERC20",
550
+ contractAddress: getAddress(dep.ctm),
551
+ name: CTM_TOKEN_NAME,
552
+ symbol: CTM_TOKEN_SYMBOL,
553
+ decimals: CTM_TOKEN_DECIMALS
554
+ });
555
+ }
556
+ if (isContinuumDaoLockChain(chainId) && isConfiguredAddress(dep.votingEscrow)) {
557
+ out.push({
558
+ chainId,
559
+ tokenType: "ERC721",
560
+ contractAddress: getAddress(dep.votingEscrow),
561
+ name: VECTM_TOKEN_NAME,
562
+ symbol: VECTM_TOKEN_SYMBOL
563
+ });
564
+ }
565
+ }
566
+ return out;
567
+ }
568
+ var CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, CTM_TOKEN_DECIMALS, UNSET, CTM_TOKEN_ADDRESS, VOTING_ESCROW_LINEA_ADDRESS, CONTINUUM_DAO_DEPLOYMENTS;
569
+ var init_constants2 = __esm({
570
+ "src/protocols/evm/continuum-dao/constants.ts"() {
571
+ CONTINUUM_DAO_PROTOCOL_ID = "continuum-dao";
572
+ CONTINUUM_DAO_ETHEREUM_CHAIN_ID = 1;
573
+ CONTINUUM_DAO_LINEA_CHAIN_ID = 59144;
574
+ CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID = 59141;
575
+ CTM_TOKEN_NAME = "Continuum";
576
+ CTM_TOKEN_SYMBOL = "CTM";
577
+ VECTM_TOKEN_NAME = "Voting Escrow Continuum";
578
+ VECTM_TOKEN_SYMBOL = "veCTM";
579
+ CTM_TOKEN_DECIMALS = 18;
580
+ UNSET = {
581
+ ctm: zeroAddress,
582
+ votingEscrow: zeroAddress,
583
+ nodeProperties: zeroAddress,
584
+ rewards: zeroAddress,
585
+ governor: zeroAddress
586
+ };
587
+ CTM_TOKEN_ADDRESS = getAddress("0x2026027054F5beBCEB650aBD62dC623e327658e7");
588
+ VOTING_ESCROW_LINEA_ADDRESS = getAddress("0x221EC90B3B083A8501A37bdeb7035CeaedF3C31f");
589
+ getAddress("0x76FF2CB03175900F1D83328C82D27EA9aeaF2355");
590
+ getAddress("0x4800F9f1dC1b6daCA841B71E0531F547D374168E");
591
+ [
592
+ getAddress("0xd23eecBe0362F36b254F774C274823Cbfc482a10"),
593
+ getAddress("0x482cdCbdd72ef307997153Ee7eb627B7a2348d34"),
594
+ getAddress("0x14C189354702b7f2aC7b19e61522A41632226BD8")
595
+ ];
596
+ CONTINUUM_DAO_DEPLOYMENTS = {
597
+ [CONTINUUM_DAO_LINEA_CHAIN_ID]: {
598
+ ...UNSET,
599
+ ctm: CTM_TOKEN_ADDRESS,
600
+ votingEscrow: VOTING_ESCROW_LINEA_ADDRESS
601
+ },
602
+ [CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID]: { ...UNSET },
603
+ [CONTINUUM_DAO_ETHEREUM_CHAIN_ID]: {
604
+ ...UNSET,
605
+ ctm: CTM_TOKEN_ADDRESS
606
+ }
607
+ };
608
+ }
609
+ });
610
+ var init_forum = __esm({
611
+ "src/protocols/evm/continuum-dao/forum.ts"() {
612
+ }
613
+ });
614
+ var init_governance = __esm({
615
+ "src/protocols/evm/continuum-dao/governance.ts"() {
616
+ parseAbi([
617
+ "function propose(address[] targets, uint256[] values, bytes[] calldatas, string description) returns (uint256)",
618
+ "function castVote(uint256 proposalId, uint8 support) returns (uint256)",
619
+ "function castVoteWithReasonAndParams(uint256 proposalId, uint8 support, string reason, bytes params) returns (uint256)",
620
+ "function execute(uint256 proposalId) payable",
621
+ "function cancel(uint256 proposalId)"
622
+ ]);
623
+ parseAbi([
624
+ "function hashProposal(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) view returns (uint256)",
625
+ "function state(uint256 proposalId) view returns (uint8)",
626
+ "function getVotes(address account, uint256 timepoint) view returns (uint256)",
627
+ "function proposalThreshold() view returns (uint256)",
628
+ "function proposalCount() view returns (uint256)",
629
+ "function clock() view returns (uint48)",
630
+ "function proposalVotes(uint256 proposalId) view returns (uint256 againstVotes, uint256 forVotes, uint256 abstainVotes)",
631
+ "function hasVoted(uint256 proposalId, address account) view returns (bool)",
632
+ "function proposalSnapshot(uint256 proposalId) view returns (uint256)"
633
+ ]);
634
+ }
635
+ });
636
+
637
+ // src/protocols/evm/continuum-dao/explainProposal.ts
638
+ var init_explainProposal = __esm({
639
+ "src/protocols/evm/continuum-dao/explainProposal.ts"() {
640
+ }
641
+ });
642
+ var init_foundryProposalScript = __esm({
643
+ "src/protocols/evm/continuum-dao/foundryProposalScript.ts"() {
644
+ }
645
+ });
646
+ var init_simulateProposal = __esm({
647
+ "src/protocols/evm/continuum-dao/simulateProposal.ts"() {
648
+ }
649
+ });
484
650
 
485
651
  // src/core/registry.ts
486
652
  var modules = [];
@@ -499,31 +665,8 @@ function getActionsByChainCategory(category) {
499
665
  return modules.filter((m) => m.chainCategory === category).flatMap((m) => m.actions);
500
666
  }
501
667
 
502
- // src/chains/evm/chainIdParse.ts
503
- function parseEvmChainIdToNumber(chainId) {
504
- if (chainId == null) return Number.NaN;
505
- if (typeof chainId === "bigint") {
506
- const n = Number(chainId);
507
- return Number.isSafeInteger(n) && n >= 0 ? n : Number.NaN;
508
- }
509
- if (typeof chainId === "number") {
510
- return Number.isInteger(chainId) && chainId >= 0 ? chainId : Number.NaN;
511
- }
512
- const t = String(chainId).trim();
513
- if (!t) return Number.NaN;
514
- const low = t.toLowerCase();
515
- if (low.startsWith("eip155:")) {
516
- const rest = t.slice("eip155:".length).trim();
517
- const n = Number.parseInt(rest, 10);
518
- return Number.isNaN(n) || n < 0 ? Number.NaN : n;
519
- }
520
- if (low.startsWith("0x")) {
521
- return Number.parseInt(t, 16);
522
- }
523
- return Number.parseInt(t, 10);
524
- }
525
-
526
668
  // src/protocols/evm/uniswap-v4/constants.ts
669
+ init_chainIdParse();
527
670
  var UNIVERSAL_ROUTER_SPENDER = {
528
671
  1: "0x66a9893cc07d91d95644aedd05d03f95e1dba8af",
529
672
  5: "0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",
@@ -674,6 +817,7 @@ var uniswapV4ProtocolModule = {
674
817
  registerProtocolModule(uniswapV4ProtocolModule);
675
818
 
676
819
  // src/protocols/evm/curve-dao/support.ts
820
+ init_chainIdParse();
677
821
  var CURVE_FULL_NETWORK_CONSTANTS_CHAIN_IDS = /* @__PURE__ */ new Set([
678
822
  1,
679
823
  10,
@@ -3117,6 +3261,205 @@ var mcpContinuumDaoProposeDeltaInputSchema = mcpMultisignInput({
3117
3261
  forumKey: forumTopicKeyField,
3118
3262
  forumUrl: z.string().optional()
3119
3263
  });
3264
+ var govConfigurationSchema = z.union([
3265
+ z.enum(["bravo", "delta"]),
3266
+ z.literal(0),
3267
+ z.literal(1),
3268
+ z.literal("0"),
3269
+ z.literal("1")
3270
+ ]).describe("bravo / 0 = For/Against/Abstain; delta / 1 = multi-option");
3271
+ var mcpContinuumDaoSimulateProposalInputSchema = z.object({
3272
+ chainId: z.union([z.string(), z.number()]),
3273
+ rpcUrl: z.string().min(1).optional().describe("Server-filled from chain registry when omitted. Agents should not pass a public RPC URL."),
3274
+ keyGenId: z.string().min(1).optional().describe(
3275
+ "Preferred KeyGen id. Used only when account is omitted \u2014 fills account from that KeyGen ETH address."
3276
+ ),
3277
+ account: evmAddressSchema.optional().describe(
3278
+ "Proposer address to simulate. Pass any EOA to draft a proposal that will be submitted from that address. When omitted, server uses the KeyGen ETH address from keyGenId."
3279
+ ),
3280
+ configuration: govConfigurationSchema,
3281
+ title: z.string().min(1).max(128).optional().describe("On-chain description; defaults to draft"),
3282
+ actions: z.array(govActionSchema).optional(),
3283
+ options: z.array(govOptionSchema).optional(),
3284
+ nWinners: z.union([z.string(), z.number()]).optional(),
3285
+ governor: evmAddressSchema.optional(),
3286
+ noOpTarget: evmAddressSchema.optional()
3287
+ }).superRefine((val, ctx) => {
3288
+ if (!val.account?.trim() && !val.keyGenId?.trim()) {
3289
+ ctx.addIssue({
3290
+ code: z.ZodIssueCode.custom,
3291
+ message: "Pass account (any EOA) or keyGenId (defaults account to that KeyGen).",
3292
+ path: ["account"]
3293
+ });
3294
+ }
3295
+ const cfg = String(val.configuration).toLowerCase();
3296
+ const delta = cfg === "delta" || cfg === "1";
3297
+ if (delta) {
3298
+ if (!val.options || val.options.length < 2) {
3299
+ ctx.addIssue({
3300
+ code: z.ZodIssueCode.custom,
3301
+ message: "Delta simulation needs at least 2 options.",
3302
+ path: ["options"]
3303
+ });
3304
+ }
3305
+ if (val.nWinners == null || val.nWinners === "") {
3306
+ ctx.addIssue({
3307
+ code: z.ZodIssueCode.custom,
3308
+ message: "Delta simulation needs nWinners.",
3309
+ path: ["nWinners"]
3310
+ });
3311
+ }
3312
+ }
3313
+ });
3314
+ var mcpContinuumDaoComposeProposalActionInputSchema = z.object({
3315
+ chainId: z.union([z.string(), z.number()]),
3316
+ rpcUrl: z.string().min(1).optional().describe("Server-filled from chain registry when omitted. Agents should not pass a public RPC URL."),
3317
+ target: evmAddressSchema.optional().describe("Action contract address for lookup / validate."),
3318
+ functionName: z.string().min(1).optional().describe("Function name (transfer) or full signature (transfer(address,uint256))."),
3319
+ value: z.string().optional().describe("ETH value in wei for this action. Default 0."),
3320
+ inputs: z.array(
3321
+ z.object({
3322
+ name: z.string().optional(),
3323
+ type: z.string().optional(),
3324
+ value: z.string().optional()
3325
+ })
3326
+ ).optional().describe("Parameter values to type-check. Omit to only fetch the interface."),
3327
+ abi: z.union([z.string(), z.array(z.unknown())]).optional().describe("Prefer ABI from etherscan__get_contract_abi (chainid 59144 or 59141). Pass JSON if the contract is unverified."),
3328
+ configuration: govConfigurationSchema.optional().describe("Set with actions/options to preview the full draft table."),
3329
+ title: z.string().min(1).max(128).optional(),
3330
+ actions: z.array(govActionSchema).optional(),
3331
+ options: z.array(govOptionSchema).optional(),
3332
+ nWinners: z.union([z.string(), z.number()]).optional()
3333
+ }).superRefine((val, ctx) => {
3334
+ const preview = val.configuration != null && (val.actions != null || val.options != null);
3335
+ if (preview) return;
3336
+ if (!val.target?.trim() || !val.functionName?.trim()) {
3337
+ ctx.addIssue({
3338
+ code: z.ZodIssueCode.custom,
3339
+ message: "Pass target + functionName to look up / validate an action, or configuration + actions/options to preview.",
3340
+ path: ["target"]
3341
+ });
3342
+ }
3343
+ });
3344
+ var mcpContinuumDaoComposeProposalActionOutputSchema = z.object({
3345
+ ok: z.boolean(),
3346
+ step: z.enum(["lookup", "validate", "preview"]),
3347
+ target: evmAddressSchema.optional(),
3348
+ functionName: z.string().optional(),
3349
+ signature: z.string().optional(),
3350
+ stateMutability: z.string().optional(),
3351
+ payable: z.boolean().optional(),
3352
+ overloads: z.array(
3353
+ z.object({
3354
+ name: z.string(),
3355
+ signature: z.string(),
3356
+ stateMutability: z.string(),
3357
+ payable: z.boolean(),
3358
+ inputs: z.array(z.object({ name: z.string(), type: z.string() }))
3359
+ })
3360
+ ).optional(),
3361
+ parameters: z.array(
3362
+ z.object({
3363
+ name: z.string(),
3364
+ type: z.string(),
3365
+ value: z.string().optional(),
3366
+ valid: z.boolean(),
3367
+ error: z.string().optional()
3368
+ })
3369
+ ).optional(),
3370
+ encoded: z.object({
3371
+ target: evmAddressSchema,
3372
+ value: z.string(),
3373
+ signature: z.string(),
3374
+ calldata: z.string(),
3375
+ inputs: z.array(z.object({ name: z.string().optional(), type: z.string(), value: z.string() }))
3376
+ }).optional(),
3377
+ table: z.string().optional().describe("Markdown table of draft inputs. Read this aloud."),
3378
+ rows: z.array(
3379
+ z.object({
3380
+ option: z.string().optional(),
3381
+ index: z.number(),
3382
+ target: z.string(),
3383
+ function: z.string(),
3384
+ signature: z.string(),
3385
+ param: z.string(),
3386
+ type: z.string(),
3387
+ value: z.string(),
3388
+ valid: z.boolean(),
3389
+ error: z.string().optional()
3390
+ })
3391
+ ).optional(),
3392
+ actions: z.array(govActionSchema).optional(),
3393
+ options: z.array(govOptionSchema).optional(),
3394
+ configuration: z.enum(["bravo", "delta"]).optional(),
3395
+ nWinners: z.number().optional(),
3396
+ title: z.string().optional(),
3397
+ abiSource: z.string().optional(),
3398
+ missing: z.array(z.string()).optional(),
3399
+ warning: z.string().optional(),
3400
+ error: z.string().optional(),
3401
+ note: z.string(),
3402
+ next: z.string()
3403
+ });
3404
+ var mcpContinuumDaoSimulateProposalOutputSchema = z.object({
3405
+ ok: z.boolean(),
3406
+ configuration: z.enum(["bravo", "delta"]),
3407
+ account: evmAddressSchema,
3408
+ governor: evmAddressSchema,
3409
+ votes: z.string(),
3410
+ threshold: z.string(),
3411
+ canPropose: z.boolean(),
3412
+ warning: z.string().optional().describe(
3413
+ "Present when getVotes(account) < live proposalThreshold(). Read this aloud. Committee addresses are not exempt."
3414
+ ),
3415
+ propose: z.object({
3416
+ ok: z.boolean(),
3417
+ error: z.string().optional()
3418
+ }),
3419
+ foundry: z.object({
3420
+ loadServers: z.array(z.string()).describe("MCP server ids that must be loaded first: etherscan (official V2) and foundry."),
3421
+ chainId: z.number(),
3422
+ governor: evmAddressSchema,
3423
+ proposer: evmAddressSchema,
3424
+ files: z.array(
3425
+ z.object({
3426
+ path: z.string(),
3427
+ contractName: z.string(),
3428
+ source: z.string(),
3429
+ label: z.string().optional()
3430
+ })
3431
+ ),
3432
+ forgeScript: z.object({
3433
+ tool: z.literal("forge_script"),
3434
+ broadcast: z.literal(false),
3435
+ forkUrlFromRegistry: z.literal(true)
3436
+ }),
3437
+ note: z.string()
3438
+ }),
3439
+ execute: z.object({
3440
+ ok: z.boolean(),
3441
+ source: z.enum(["simulate", "foundry_required"]),
3442
+ batches: z.array(
3443
+ z.object({
3444
+ label: z.string().optional(),
3445
+ optionIndex: z.number().optional(),
3446
+ ok: z.boolean(),
3447
+ actions: z.array(
3448
+ z.object({
3449
+ index: z.number(),
3450
+ target: z.string(),
3451
+ signature: z.string(),
3452
+ noOp: z.boolean(),
3453
+ ok: z.boolean(),
3454
+ error: z.string().optional(),
3455
+ gasUsed: z.string().optional()
3456
+ })
3457
+ )
3458
+ })
3459
+ )
3460
+ }),
3461
+ note: z.string()
3462
+ });
3120
3463
  var mcpContinuumDaoCastVoteBravoInputSchema = mcpMultisignInput({
3121
3464
  proposalId: z.union([z.string(), z.number()]),
3122
3465
  support: z.union([z.literal(0), z.literal(1), z.literal(2), z.string()]),
@@ -3152,7 +3495,10 @@ var mcpContinuumDaoFetchProposalStateOutputSchema = z.object({
3152
3495
  state: z.number(),
3153
3496
  againstVotes: z.string(),
3154
3497
  forVotes: z.string(),
3155
- abstainVotes: z.string()
3498
+ abstainVotes: z.string(),
3499
+ votesPartial: z.boolean().optional(),
3500
+ proposalId: z.string().optional(),
3501
+ catalogId: z.number().optional()
3156
3502
  });
3157
3503
  var mcpContinuumDaoFetchProposalsInputSchema = z.object({
3158
3504
  start: z.number().int().optional(),
@@ -3170,12 +3516,70 @@ var mcpContinuumDaoFetchProposalInputSchema = z.object({
3170
3516
  var mcpContinuumDaoFetchProposalOutputSchema = z.object({
3171
3517
  proposal: z.unknown()
3172
3518
  });
3519
+ var mcpContinuumDaoProposalVoteRowSchema = z.object({
3520
+ voter: z.string(),
3521
+ explorerUrl: z.string(),
3522
+ support: z.number().int(),
3523
+ supportLabel: z.string(),
3524
+ weight: z.string(),
3525
+ weightCtm: z.string(),
3526
+ reason: z.string(),
3527
+ optionWeights: z.array(z.string()).optional(),
3528
+ how: z.string(),
3529
+ attached: z.boolean(),
3530
+ attachedTokenId: z.string().optional(),
3531
+ nodeInfo: z.object({
3532
+ forumHandle: z.string().optional(),
3533
+ email: z.string().optional(),
3534
+ ipv4: z.string().optional(),
3535
+ ipv6: z.string().optional(),
3536
+ vpsProvider: z.string().optional(),
3537
+ ramInstalled: z.string().optional(),
3538
+ cpuCores: z.string().optional(),
3539
+ dIDType: z.string().optional(),
3540
+ dID: z.string().optional(),
3541
+ dataHex: z.string().optional()
3542
+ }).strict().optional(),
3543
+ txHash: z.string().optional(),
3544
+ txExplorerUrl: z.string().optional(),
3545
+ blockNumber: z.string().optional()
3546
+ });
3547
+ var mcpContinuumDaoFetchProposalVotesInputSchema = z.object({
3548
+ chainId: z.union([z.string(), z.number()]),
3549
+ rpcUrl: z.string().min(1),
3550
+ proposalId: z.union([z.string(), z.number()]),
3551
+ governor: evmAddressSchema.optional(),
3552
+ votingEscrow: evmAddressSchema.optional(),
3553
+ nodeProperties: evmAddressSchema.optional(),
3554
+ fromBlock: z.union([z.string(), z.number()]).optional(),
3555
+ toBlock: z.union([z.string(), z.number()]).optional()
3556
+ });
3557
+ var mcpContinuumDaoFetchProposalVotesOutputSchema = z.object({
3558
+ proposalId: z.string(),
3559
+ catalogId: z.number().optional(),
3560
+ governor: z.string(),
3561
+ nodeProperties: z.string().optional(),
3562
+ title: z.string().optional(),
3563
+ configuration: z.enum(["bravo", "delta"]).optional(),
3564
+ fromBlock: z.string(),
3565
+ toBlock: z.string(),
3566
+ truncated: z.boolean(),
3567
+ votes: z.array(mcpContinuumDaoProposalVoteRowSchema),
3568
+ voterCount: z.number().int().nonnegative(),
3569
+ attachedVoterCount: z.number().int().nonnegative(),
3570
+ forWeight: z.string(),
3571
+ againstWeight: z.string(),
3572
+ abstainWeight: z.string(),
3573
+ note: z.string()
3574
+ });
3173
3575
  var liveProposalRowSchema = z.object({
3174
3576
  id: z.number().optional(),
3175
3577
  onchainId: z.string(),
3176
3578
  title: z.string(),
3177
3579
  configuration: z.number().optional(),
3178
3580
  governorAddress: z.string().optional(),
3581
+ proposer: z.string().optional(),
3582
+ committeeProposer: z.boolean().optional(),
3179
3583
  state: z.number().nullable(),
3180
3584
  stateLabel: z.string(),
3181
3585
  bucket: z.enum(["live", "pending", "readyToExecute", "recentlyCompleted", "unknown"]),
@@ -3211,6 +3615,7 @@ var mcpContinuumDaoExplainProposalOutputSchema = z.object({
3211
3615
  title: z.string(),
3212
3616
  description: z.string(),
3213
3617
  proposer: z.string(),
3618
+ committeeProposer: z.boolean().optional(),
3214
3619
  forumKey: z.string(),
3215
3620
  forumSection: z.string().nullable().optional(),
3216
3621
  forumCid: z.number().nullable().optional(),
@@ -5903,13 +6308,14 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
5903
6308
  actionId: "continuum-dao.propose-bravo",
5904
6309
  protocolId: "continuum-dao",
5905
6310
  chainCategory: "evm",
5906
- 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.",
6311
+ description: "Build ContinuumDAO.propose for a Bravo (For/Against/Abstain) proposal. Refuses if getVotes(KeyGen) < live proposalThreshold() or propose() reverts. Sequential execute dry-run is the Foundry forge scripts from ctm_continuum_dao_simulate_proposal (not isolated eth_call). For a draft from a different EOA use that tool with account. 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.",
5907
6312
  prerequisites: [
5908
6313
  "keyGen",
5909
6314
  "Linea RPC",
5910
6315
  "configured governor",
5911
- "veCTM voting power >= live proposalThreshold()",
5912
- "forumKey from forum_create_topic"
6316
+ "KeyGen veCTM voting power >= live proposalThreshold() (hard fail)",
6317
+ "forumKey from forum_create_topic",
6318
+ "governor-executed actions must simulate without revert"
5913
6319
  ],
5914
6320
  followUp: [...MCP_MULTISIGN_SUBMIT_FOLLOW_UP, "ctm_continuum_dao_register_proposal"],
5915
6321
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoProposeBravo" },
@@ -5920,13 +6326,14 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
5920
6326
  actionId: "continuum-dao.propose-delta",
5921
6327
  protocolId: "continuum-dao",
5922
6328
  chainCategory: "evm",
5923
- 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.",
6329
+ description: "Build ContinuumDAO.propose for a Delta multi-option proposal. Refuses if getVotes(KeyGen) < live proposalThreshold() or propose() reverts. Sequential execute dry-run is the Foundry forge scripts from ctm_continuum_dao_simulate_proposal (not isolated eth_call). For a draft from a different EOA use that tool with account. 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.",
5924
6330
  prerequisites: [
5925
6331
  "keyGen",
5926
6332
  "at least 2 options",
5927
6333
  "nWinners < nOptions",
5928
- "veCTM voting power >= live proposalThreshold()",
5929
- "forumKey from forum_create_topic"
6334
+ "KeyGen veCTM voting power >= live proposalThreshold() (hard fail)",
6335
+ "forumKey from forum_create_topic",
6336
+ "governor-executed actions must simulate without revert"
5930
6337
  ],
5931
6338
  followUp: [...MCP_MULTISIGN_SUBMIT_FOLLOW_UP, "ctm_continuum_dao_register_proposal"],
5932
6339
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoProposeDeltaFromMcp" },
@@ -5937,7 +6344,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
5937
6344
  actionId: "continuum-dao.cast-vote-bravo",
5938
6345
  protocolId: "continuum-dao",
5939
6346
  chainCategory: "evm",
5940
- description: "Build ContinuumDAO.castVote. support: 0 against, 1 for, 2 abstain. Refuses unless the proposal is Active, the KeyGen has snapshot voting power, and has not already voted.",
6347
+ description: "Build ContinuumDAO.castVote. support: 0 against, 1 for, 2 abstain. proposalId may be a catalog id (including 0) or the governor hash. Refuses unless the proposal is Active, the KeyGen has snapshot voting power, and has not already voted.",
5941
6348
  prerequisites: ["keyGen", "proposalId", "Active proposal", "snapshot votes > 0", "hasVoted false"],
5942
6349
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoCastVoteBravoFromMcp" },
5943
6350
  inputZod: mcpContinuumDaoCastVoteBravoInputSchema
@@ -5957,7 +6364,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
5957
6364
  actionId: "continuum-dao.execute",
5958
6365
  protocolId: "continuum-dao",
5959
6366
  chainCategory: "evm",
5960
- description: "Build ContinuumDAO.execute(proposalId). Call after Succeeded. Queue is not implemented.",
6367
+ description: "Build ContinuumDAO.execute(proposalId). proposalId may be a catalog id (including 0) or the governor hash. Call after Succeeded. Queue is not implemented.",
5961
6368
  prerequisites: ["keyGen", "proposalId", "Succeeded state"],
5962
6369
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoExecute" },
5963
6370
  inputZod: mcpContinuumDaoProposalIdInputSchema
@@ -7429,6 +7836,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7429
7836
  prerequisites: ["rpcUrl", "account (KeyGen ETH address)", "governor"],
7430
7837
  followUp: [
7431
7838
  "ctm_continuum_dao_fetch_delegates",
7839
+ "ctm_continuum_dao_simulate_proposal",
7432
7840
  "ctm_continuum_dao_build_propose_bravo_multisign",
7433
7841
  "ctm_continuum_dao_build_propose_delta_multisign"
7434
7842
  ],
@@ -7436,6 +7844,46 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7436
7844
  inputZod: mcpContinuumDaoFetchVotingPowerInputSchema,
7437
7845
  outputZod: mcpContinuumDaoFetchVotingPowerOutputSchema
7438
7846
  }),
7847
+ defineMcpTool({
7848
+ name: "ctm_continuum_dao_simulate_proposal",
7849
+ actionId: "continuum-dao.simulate-proposal",
7850
+ protocolId: "continuum-dao",
7851
+ chainCategory: "evm",
7852
+ description: "Dry-run a Bravo or Delta ContinuumDAO proposal without creating a sign request. Load MCP servers etherscan (official V2) and foundry first. Returns foundry.files \u2014 write them with foundry__create_solidity_file and run foundry__forge_script on a Linea fork with no --broadcast. Sequential forge script is the execute sim (later actions see earlier state). Isolated eth_call is not sufficient. Also reads getVotes vs proposalThreshold() (warning if short; Committee is not exempt) and tries sequential eth_simulateV1 when the RPC supports it. Pass account for another EOA; omit account and pass keyGenId for the preferred KeyGen. Linea only. forumKey is not required.",
7853
+ prerequisites: [
7854
+ "chainId 59144 or 59141",
7855
+ "account or keyGenId",
7856
+ "configuration bravo|delta",
7857
+ "actions (Bravo) or options + nWinners (Delta)"
7858
+ ],
7859
+ followUp: [
7860
+ "ctm_continuum_dao_compose_proposal_action",
7861
+ "ctm_continuum_dao_build_propose_bravo_multisign",
7862
+ "ctm_continuum_dao_build_propose_delta_multisign"
7863
+ ],
7864
+ handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoSimulateProposal" },
7865
+ inputZod: mcpContinuumDaoSimulateProposalInputSchema,
7866
+ outputZod: mcpContinuumDaoSimulateProposalOutputSchema
7867
+ }),
7868
+ defineMcpTool({
7869
+ name: "ctm_continuum_dao_compose_proposal_action",
7870
+ actionId: "continuum-dao.compose-proposal-action",
7871
+ protocolId: "continuum-dao",
7872
+ chainCategory: "evm",
7873
+ description: "Compose a ContinuumDAO proposal action or preview a full draft. Load MCP servers etherscan (official V2, get_contract_abi with chainid 59144/59141) and foundry first. Prefer passing abi from etherscan__get_contract_abi. Pass target + functionName to match the function. Pass inputs values to type-check and encode. Pass configuration + actions/options to print the input table. After the table, simulate with a Foundry forge script (not isolated eth_call). Linea only. Does not submit.",
7874
+ prerequisites: [
7875
+ "chainId 59144 or 59141",
7876
+ "target + functionName (lookup/validate) or configuration + actions/options (preview)"
7877
+ ],
7878
+ followUp: [
7879
+ "ctm_continuum_dao_simulate_proposal",
7880
+ "ctm_continuum_dao_build_propose_bravo_multisign",
7881
+ "ctm_continuum_dao_build_propose_delta_multisign"
7882
+ ],
7883
+ handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoComposeProposalAction" },
7884
+ inputZod: mcpContinuumDaoComposeProposalActionInputSchema,
7885
+ outputZod: mcpContinuumDaoComposeProposalActionOutputSchema
7886
+ }),
7439
7887
  defineMcpTool({
7440
7888
  name: "ctm_continuum_dao_fetch_delegates",
7441
7889
  actionId: "continuum-dao.fetch-delegates",
@@ -7456,9 +7904,10 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7456
7904
  actionId: "continuum-dao.fetch-proposal-state",
7457
7905
  protocolId: "continuum-dao",
7458
7906
  chainCategory: "evm",
7459
- description: "Read ContinuumDAO.state and proposalVotes for an on-chain proposal id. Pass the proposal\u2019s own `governorAddress` when set \u2014 catalog ids -2 and -1 live on the superseded Linea governor 0x4800F9f1dC1b6daCA841B71E0531F547D374168E, not the current contract.",
7907
+ description: "Read ContinuumDAO.state and proposalVotes. `proposalId` may be a backend catalog id (0, -1, -2, \u2026) \u2014 those resolve to the row\u2019s onchainId hash and governorAddress before the Governor call. Catalog id 0 is not Governor proposal 0. Pass the row\u2019s governorAddress when set: ids -2 and -1 live on the superseded Linea governor 0x4800F9f1dC1b6daCA841B71E0531F547D374168E. After this, offer ctm_continuum_dao_fetch_proposal_votes to see who voted and how.",
7460
7908
  prerequisites: ["rpcUrl", "proposalId", "governor"],
7461
7909
  followUp: [
7910
+ "ctm_continuum_dao_fetch_proposal_votes",
7462
7911
  "ctm_continuum_dao_build_cast_vote_bravo_multisign",
7463
7912
  "ctm_continuum_dao_build_execute_multisign"
7464
7913
  ],
@@ -7471,9 +7920,13 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7471
7920
  actionId: "continuum-dao.fetch-proposals",
7472
7921
  protocolId: "continuum-dao",
7473
7922
  chainCategory: "evm",
7474
- description: "List proposals from the public ContinuumDAO backend (POST /proposals). start/end are catalog id indexes (end exclusive), not offsets, and may be negative: the superseded Linea governor 0x4800F9f1\u2026 is stored as ids -2 and -1 so the current contract can start at 0. Omit start/end to fetch the full catalog (minIndex..maxIndex). 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.",
7923
+ description: "List proposals from the public ContinuumDAO backend (POST /proposals). start/end are catalog id indexes (end exclusive), not offsets, and may be negative: the superseded Linea governor 0x4800F9f1\u2026 is stored as ids -2 and -1 so the current contract can start at 0. Omit start/end to fetch the full catalog (minIndex..maxIndex). 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. After naming a proposal, offer ctm_continuum_dao_fetch_proposal_votes so the operator can see who voted and how.",
7475
7924
  prerequisites: [],
7476
- followUp: ["ctm_continuum_dao_fetch_live_proposals", "ctm_continuum_dao_fetch_proposal"],
7925
+ followUp: [
7926
+ "ctm_continuum_dao_fetch_live_proposals",
7927
+ "ctm_continuum_dao_fetch_proposal",
7928
+ "ctm_continuum_dao_fetch_proposal_votes"
7929
+ ],
7477
7930
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchProposals" },
7478
7931
  inputZod: mcpContinuumDaoFetchProposalsInputSchema,
7479
7932
  outputZod: mcpContinuumDaoFetchProposalsOutputSchema
@@ -7483,9 +7936,13 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7483
7936
  actionId: "continuum-dao.fetch-proposal",
7484
7937
  protocolId: "continuum-dao",
7485
7938
  chainCategory: "evm",
7486
- description: "Fetch one proposal from the public ContinuumDAO backend (GET /proposals/:id). Id may be negative: -2 and -1 are the two proposals from the superseded Linea governor 0x4800F9f1dC1b6daCA841B71E0531F547D374168E.",
7939
+ description: "Fetch one proposal from the public ContinuumDAO backend (GET /proposals/:id). Id may be negative: -2 and -1 are the two proposals from the superseded Linea governor 0x4800F9f1dC1b6daCA841B71E0531F547D374168E. After this, offer ctm_continuum_dao_fetch_proposal_votes so the operator can see who voted and how.",
7487
7940
  prerequisites: ["id"],
7488
- followUp: ["ctm_continuum_dao_explain_proposal", "ctm_continuum_dao_fetch_proposal_state"],
7941
+ followUp: [
7942
+ "ctm_continuum_dao_explain_proposal",
7943
+ "ctm_continuum_dao_fetch_proposal_state",
7944
+ "ctm_continuum_dao_fetch_proposal_votes"
7945
+ ],
7489
7946
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchProposal" },
7490
7947
  inputZod: mcpContinuumDaoFetchProposalInputSchema,
7491
7948
  outputZod: mcpContinuumDaoFetchProposalOutputSchema
@@ -7495,11 +7952,12 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7495
7952
  actionId: "continuum-dao.fetch-live-proposals",
7496
7953
  protocolId: "continuum-dao",
7497
7954
  chainCategory: "evm",
7498
- description: "Answer \u201Cwhat proposals are live now?\u201D. Lists the backend catalog (including negative ids on the superseded Linea governor) and overlays ContinuumDAO.state using each row\u2019s governorAddress. 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.",
7955
+ description: "Answer \u201Cwhat proposals are live now?\u201D. Lists the backend catalog (including negative ids on the superseded Linea governor) and overlays ContinuumDAO.state using each row\u2019s governorAddress. Rows set `committeeProposer` when the proposer is a ContinuumDAO Committee address \u2014 say Committee next to those titles. 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. Then offer ctm_continuum_dao_fetch_proposal_votes for any named proposal so the operator can see who voted and how.",
7499
7956
  prerequisites: ["load_defi_protocol continuum-dao", "Linea chainId 59144 or 59141", "rpcUrl", "governor if constant is zero"],
7500
7957
  followUp: [
7501
7958
  "ctm_continuum_dao_explain_proposal",
7502
7959
  "ctm_continuum_dao_fetch_proposal",
7960
+ "ctm_continuum_dao_fetch_proposal_votes",
7503
7961
  "ctm_continuum_dao_build_cast_vote_bravo_multisign",
7504
7962
  "ctm_continuum_dao_build_execute_multisign"
7505
7963
  ],
@@ -7512,13 +7970,32 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7512
7970
  actionId: "continuum-dao.explain-proposal",
7513
7971
  protocolId: "continuum-dao",
7514
7972
  chainCategory: "evm",
7515
- 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. `network.c3governor` is always present; an action is C3-remote only when network.name is not Linea (home chain 59144 / 59141). Read the `briefing` field aloud. Does not vote. For a policy recommendation load the mpc-config continuum-dao-vote-policy skill.",
7973
+ 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. `network.c3governor` is always present; an action is C3-remote only when network.name is not Linea (home chain 59144 / 59141). `committeeProposer` is true when the proposer is a ContinuumDAO Committee address \u2014 say that aloud. Read the `briefing` field aloud. Then offer ctm_continuum_dao_fetch_proposal_votes so the operator can see who voted and how. Does not vote. For a policy recommendation load the mpc-config continuum-dao-vote-policy skill.",
7516
7974
  prerequisites: ["id (backend) or onchainId"],
7517
- followUp: ["ctm_continuum_dao_fetch_proposal_state", "ctm_continuum_dao_forum_fetch_thread"],
7975
+ followUp: [
7976
+ "ctm_continuum_dao_fetch_proposal_votes",
7977
+ "ctm_continuum_dao_fetch_proposal_state",
7978
+ "ctm_continuum_dao_forum_fetch_thread"
7979
+ ],
7518
7980
  handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoExplainProposal" },
7519
7981
  inputZod: mcpContinuumDaoExplainProposalInputSchema,
7520
7982
  outputZod: mcpContinuumDaoExplainProposalOutputSchema
7521
7983
  }),
7984
+ defineMcpTool({
7985
+ name: "ctm_continuum_dao_fetch_proposal_votes",
7986
+ actionId: "continuum-dao.fetch-proposal-votes",
7987
+ protocolId: "continuum-dao",
7988
+ chainCategory: "evm",
7989
+ description: "Who voted on a ContinuumDAO proposal and how. Reads Governor VoteCast / VoteCastWithParams for live or past proposals. Each voter includes attached (NodeProperties.attachedTokenId after attachNodeFor) and, when they entered it at attach, nodeInfo (forum handle, VPS, DID, email, IP). Do not read email or IP aloud unless the operator asks. `proposalId` may be a backend catalog id (0, -1, -2, \u2026) or the on-chain hash. Bravo rows have For/Against/Abstain; Delta rows include option weights (last is NOTA). Offer this after listing or explaining a proposal. Linea only. Does not vote.",
7990
+ prerequisites: ["rpcUrl", "proposalId", "governor if constant is zero"],
7991
+ followUp: [
7992
+ "ctm_continuum_dao_fetch_proposal_state",
7993
+ "ctm_continuum_dao_explain_proposal"
7994
+ ],
7995
+ handler: { importPath: "protocols/evm/continuum-dao", exportName: "continuumDaoFetchProposalVotes" },
7996
+ inputZod: mcpContinuumDaoFetchProposalVotesInputSchema,
7997
+ outputZod: mcpContinuumDaoFetchProposalVotesOutputSchema
7998
+ }),
7522
7999
  defineMcpTool({
7523
8000
  name: "ctm_continuum_dao_register_proposal",
7524
8001
  actionId: "continuum-dao.register-proposal",
@@ -10049,96 +10526,15 @@ var aerodromeProtocolModule = {
10049
10526
  ]
10050
10527
  };
10051
10528
  registerProtocolModule(aerodromeProtocolModule);
10052
- var CONTINUUM_DAO_PROTOCOL_ID = "continuum-dao";
10053
- var CONTINUUM_DAO_ETHEREUM_CHAIN_ID = 1;
10054
- var CONTINUUM_DAO_LINEA_CHAIN_ID = 59144;
10055
- var CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID = 59141;
10056
- var CTM_TOKEN_NAME = "Continuum";
10057
- var CTM_TOKEN_SYMBOL = "CTM";
10058
- var VECTM_TOKEN_NAME = "Voting Escrow Continuum";
10059
- var VECTM_TOKEN_SYMBOL = "veCTM";
10060
- var CTM_TOKEN_DECIMALS = 18;
10061
- var UNSET = {
10062
- ctm: zeroAddress,
10063
- votingEscrow: zeroAddress,
10064
- nodeProperties: zeroAddress,
10065
- rewards: zeroAddress,
10066
- governor: zeroAddress
10067
- };
10068
- var CTM_TOKEN_ADDRESS = getAddress("0x2026027054F5beBCEB650aBD62dC623e327658e7");
10069
- var VOTING_ESCROW_LINEA_ADDRESS = getAddress("0x221EC90B3B083A8501A37bdeb7035CeaedF3C31f");
10070
- getAddress("0x76FF2CB03175900F1D83328C82D27EA9aeaF2355");
10071
- getAddress("0x4800F9f1dC1b6daCA841B71E0531F547D374168E");
10072
- var CONTINUUM_DAO_DEPLOYMENTS = {
10073
- [CONTINUUM_DAO_LINEA_CHAIN_ID]: {
10074
- ...UNSET,
10075
- ctm: CTM_TOKEN_ADDRESS,
10076
- votingEscrow: VOTING_ESCROW_LINEA_ADDRESS
10077
- },
10078
- [CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID]: { ...UNSET },
10079
- [CONTINUUM_DAO_ETHEREUM_CHAIN_ID]: {
10080
- ...UNSET,
10081
- ctm: CTM_TOKEN_ADDRESS
10082
- }
10083
- };
10084
- function isConfiguredAddress(addr) {
10085
- if (!addr?.trim()) return false;
10086
- try {
10087
- return getAddress(addr) !== zeroAddress;
10088
- } catch {
10089
- return false;
10090
- }
10091
- }
10092
- function continuumDaoDeployment(chainId) {
10093
- return CONTINUUM_DAO_DEPLOYMENTS[chainId] ?? null;
10094
- }
10095
- function isContinuumDaoLockChain(chainId) {
10096
- return chainId === CONTINUUM_DAO_LINEA_CHAIN_ID || chainId === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID;
10097
- }
10098
- function isContinuumDaoSupportedChainId(chainId) {
10099
- return continuumDaoDeployment(chainId) != null;
10100
- }
10101
- function ctmTokenAddressOnEvmChain(chainId) {
10102
- const ctm = continuumDaoDeployment(chainId)?.ctm;
10103
- return ctm && isConfiguredAddress(ctm) ? getAddress(ctm) : null;
10104
- }
10105
- function votingEscrowAddressOnEvmChain(chainId) {
10106
- const ve = continuumDaoDeployment(chainId)?.votingEscrow;
10107
- return ve && isConfiguredAddress(ve) ? getAddress(ve) : null;
10108
- }
10109
- function listContinuumDaoDefaultAssets() {
10110
- const out = [];
10111
- for (const chainId of [
10112
- CONTINUUM_DAO_LINEA_CHAIN_ID,
10113
- CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID,
10114
- CONTINUUM_DAO_ETHEREUM_CHAIN_ID
10115
- ]) {
10116
- const dep = continuumDaoDeployment(chainId);
10117
- if (!dep) continue;
10118
- if (isConfiguredAddress(dep.ctm)) {
10119
- out.push({
10120
- chainId,
10121
- tokenType: "CTMERC20",
10122
- contractAddress: getAddress(dep.ctm),
10123
- name: CTM_TOKEN_NAME,
10124
- symbol: CTM_TOKEN_SYMBOL,
10125
- decimals: CTM_TOKEN_DECIMALS
10126
- });
10127
- }
10128
- if (isContinuumDaoLockChain(chainId) && isConfiguredAddress(dep.votingEscrow)) {
10129
- out.push({
10130
- chainId,
10131
- tokenType: "ERC721",
10132
- contractAddress: getAddress(dep.votingEscrow),
10133
- name: VECTM_TOKEN_NAME,
10134
- symbol: VECTM_TOKEN_SYMBOL
10135
- });
10136
- }
10137
- }
10138
- return out;
10139
- }
10140
10529
 
10141
10530
  // src/protocols/evm/continuum-dao/index.ts
10531
+ init_constants2();
10532
+ init_constants2();
10533
+ init_governance();
10534
+ init_simulateProposal();
10535
+ init_foundryProposalScript();
10536
+ init_explainProposal();
10537
+ init_forum();
10142
10538
  var continuumDaoProtocolModule = {
10143
10539
  id: CONTINUUM_DAO_PROTOCOL_ID,
10144
10540
  chainCategory: "evm",
@@ -10166,12 +10562,15 @@ var continuumDaoProtocolModule = {
10166
10562
  { 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" } } },
10167
10563
  { 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" } } },
10168
10564
  { 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" } } },
10169
- { 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" } } },
10170
- { 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" } } },
10171
- { 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" } } },
10172
- { 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" } } },
10565
+ { id: "continuum-dao.simulate-proposal", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Dry-run a Bravo/Delta proposal; returns sequential Foundry forge scripts (not isolated eth_call)", commonParams: [], params: { account: { type: "string", required: false, description: "Proposer EOA; defaults to KeyGen when keyGenId is set" }, configuration: { type: "string", required: true, description: "bravo or delta" } } },
10566
+ { id: "continuum-dao.compose-proposal-action", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Look up a contract function ABI, type-check parameter values, and preview a Bravo/Delta draft table", commonParams: [], params: { target: { type: "string", required: false, description: "Action contract address" }, functionName: { type: "string", required: false, description: "Function name or signature" }, configuration: { type: "string", required: false, description: "bravo or delta for preview" } } },
10567
+ { 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: "Catalog id or governor proposal hash" }, support: { type: "number", required: true, description: "0 against, 1 for, 2 abstain" } } },
10568
+ { 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: "Catalog id or governor proposal hash" } } },
10569
+ { 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: "Catalog id or governor proposal hash" } } },
10570
+ { 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: "Catalog id or governor proposal hash" } } },
10173
10571
  { 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" } } },
10174
10572
  { 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" } } },
10573
+ { id: "continuum-dao.fetch-proposal-votes", protocolId: CONTINUUM_DAO_PROTOCOL_ID, chainCategory: "evm", description: "Who voted on a proposal and how (VoteCast / VoteCastWithParams)", commonParams: [], params: { proposalId: { type: "string", required: true, description: "Catalog id or governor proposal hash" } } },
10175
10574
  { 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" } } },
10176
10575
  { 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" } } },
10177
10576
  { 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" } } },
@@ -11285,6 +11684,7 @@ init_support();
11285
11684
  init_support2();
11286
11685
  init_addresses();
11287
11686
  init_stockTokens();
11687
+ init_constants2();
11288
11688
  function advisor(protocolId, tokenFilter, impl) {
11289
11689
  return { protocolId, tokenFilter, ...impl };
11290
11690
  }
@@ -11660,7 +12060,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
11660
12060
  if (ve) tokens.push({ address: ve, symbol: "veCTM", roles: ["position_nft"] });
11661
12061
  return {
11662
12062
  tokens,
11663
- notes: tokens.length === 0 ? "ContinuumDAO addresses are placeholders until redeploy. Lock/attach/governance stay Linea-only. Create lock needs >= 1 CTM (live minimumLock) and 1\u2013208 weeks. 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. Create lock needs >= 1 CTM (live minimumLock) and 1\u2013208 weeks. 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.`
12063
+ notes: tokens.length === 0 ? "ContinuumDAO addresses are placeholders until redeploy. Lock/attach/governance stay Linea-only. Create lock needs >= 1 CTM (live minimumLock) and 1\u2013208 weeks. Prefer live GET /protocol/dao. For \u201Cwhat proposals are live now?\u201D use ctm_continuum_dao_fetch_live_proposals (not fetch_proposals). After naming a proposal, offer ctm_continuum_dao_fetch_proposal_votes to see who voted and how. 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. Create lock needs >= 1 CTM (live minimumLock) and 1\u2013208 weeks. For \u201Cwhat proposals are live now?\u201D use ctm_continuum_dao_fetch_live_proposals. After naming a proposal, offer ctm_continuum_dao_fetch_proposal_votes to see who voted and how. 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.`
11664
12064
  };
11665
12065
  }
11666
12066
  }),
@@ -11830,6 +12230,6 @@ function getAgentCatalog() {
11830
12230
  };
11831
12231
  }
11832
12232
 
11833
- 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, mcpAaveV4FetchMarketInputSchema, mcpAaveV4FetchMarketOutputSchema, mcpAaveV4FetchMarketsInputSchema, mcpAaveV4FetchMarketsOutputSchema, mcpAaveV4MerklClaimInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpAerodromeBuildAddLiquidityMultisignInputSchema, mcpAerodromeBuildClBurnMultisignInputSchema, mcpAerodromeBuildClCollectFeesMultisignInputSchema, mcpAerodromeBuildClDecreaseMultisignInputSchema, mcpAerodromeBuildClIncreaseMultisignInputSchema, mcpAerodromeBuildClMintMultisignInputSchema, mcpAerodromeBuildClaimEmissionsMultisignInputSchema, mcpAerodromeBuildClaimFeesMultisignInputSchema, mcpAerodromeBuildGaugeStakeMultisignInputSchema, mcpAerodromeBuildGaugeUnstakeMultisignInputSchema, mcpAerodromeBuildRemoveLiquidityMultisignInputSchema, mcpAerodromeBuildSwapMultisignInputSchema, mcpAerodromeDiscoverPoolsInputSchema, mcpAerodromeDiscoverPoolsOutputSchema, mcpAerodromeFetchLpYieldsInputSchema, mcpAerodromeFetchLpYieldsOutputSchema, mcpAerodromeFetchPoolsInputSchema, mcpAerodromeFetchPoolsOutputSchema, mcpAerodromeFetchPositionsInputSchema, mcpAerodromeFetchPositionsOutputSchema, mcpAerodromeFetchStockLpYieldsInputSchema, mcpAerodromeFetchStockLpYieldsOutputSchema, mcpAerodromeQuoteAddLiquidityInputSchema, mcpAerodromeQuoteAddLiquidityOutputSchema, mcpAerodromeQuoteClDepositInputSchema, mcpAerodromeQuoteClDepositOutputSchema, mcpAerodromeQuoteInputSchema, mcpAerodromeQuoteOutputSchema, 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, mcpCompoundV3BulkerInputSchema, mcpCompoundV3ClaimRewardsInputSchema, mcpCompoundV3FetchAccountInputSchema, mcpCompoundV3FetchAccountOutputSchema, mcpCompoundV3FetchMarketInputSchema, mcpCompoundV3FetchMarketOutputSchema, mcpCompoundV3FetchMarketsInputSchema, mcpCompoundV3FetchMarketsOutputSchema, mcpCompoundV3RepayInputSchema, mcpCompoundV3SupplyInputSchema, mcpCompoundV3WithdrawInputSchema, 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, mcpContinuumDaoMpaFlagInputSchema, mcpContinuumDaoMpaFlagOutputSchema, mcpContinuumDaoMpaListingInputSchema, mcpContinuumDaoMpaListingOutputSchema, mcpContinuumDaoMpaMailboxListInputSchema, mcpContinuumDaoMpaMailboxListOutputSchema, mcpContinuumDaoMpaMailboxOpenInputSchema, mcpContinuumDaoMpaMailboxOpenOutputSchema, mcpContinuumDaoMpaMailboxSendInputSchema, mcpContinuumDaoMpaMailboxSendOutputSchema, mcpContinuumDaoMpaRetractInputSchema, mcpContinuumDaoMpaRetractOutputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTechnocoreBindInputSchema, mcpContinuumDaoTechnocoreBindOutputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, mcpCurveDaoBuildAddLiquidityMultisignInputSchema, mcpCurveDaoBuildGaugeDepositMultisignInputSchema, mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoFetchImportantPoolsInputSchema, mcpCurveDaoFetchImportantPoolsOutputSchema, mcpCurveDaoFetchLpYieldsInputSchema, mcpCurveDaoFetchLpYieldsOutputSchema, mcpCurveDaoQuoteAddLiquidityInputSchema, mcpCurveDaoQuoteAddLiquidityOutputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpCurveDaoQuoteRemoveLiquidityInputSchema, mcpCurveDaoQuoteRemoveLiquidityOutputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaFetchSusdeApyInputSchema, mcpEthenaFetchSusdeApyOutputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchEarnVaultsInputSchema, mcpEulerV2FetchEarnVaultsOutputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2MerklClaimInputSchema, 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, mcpHyperliquidFetchLendMarketsInputSchema, mcpHyperliquidFetchLendMarketsOutputSchema, mcpHyperliquidFetchLendPositionsInputSchema, mcpHyperliquidFetchLendPositionsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchStockMarketsInputSchema, mcpHyperliquidFetchStockMarketsOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultApysInputSchema, mcpHyperliquidFetchVaultApysOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLendInputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoFetchStethAprInputSchema, mcpLidoFetchStethAprOutputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleFetchMarketInputSchema, mcpMapleFetchMarketOutputSchema, mcpMapleFetchMarketsInputSchema, mcpMapleFetchMarketsOutputSchema, mcpMapleRequestRedeemInputSchema, mcpMerklRewardsFetchInputSchema, mcpMerklRewardsFetchOutputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoBlueSupplyInputSchema, mcpMorphoBlueWithdrawInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightOffersInputSchema, mcpMorphoFetchMidnightOffersOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoFetchPositionsInputSchema, mcpMorphoFetchPositionsOutputSchema, mcpMorphoFetchStockMarketsInputSchema, mcpMorphoFetchStockMarketsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightCancelLendOfferInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightLendOfferInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpPendleBuildAddLiquidityMultisignInputSchema, mcpPendleBuildMintPyMultisignInputSchema, mcpPendleBuildMintSyMultisignInputSchema, mcpPendleBuildRedeemPyMultisignInputSchema, mcpPendleBuildRedeemRewardsMultisignInputSchema, mcpPendleBuildRedeemSyMultisignInputSchema, mcpPendleBuildRemoveLiquidityMultisignInputSchema, mcpPendleBuildSwapMultisignInputSchema, mcpPendleFetchMarketsInputSchema, mcpPendleFetchMarketsOutputSchema, mcpPendleFetchMerkleRewardsInputSchema, mcpPendleFetchMerkleRewardsOutputSchema, mcpPendleFetchPositionsInputSchema, mcpPendleFetchPositionsOutputSchema, mcpPendleFetchPricesInputSchema, mcpPendleFetchPricesOutputSchema, mcpPendleQuoteAddLiquidityInputSchema, mcpPendleQuoteMintPyInputSchema, mcpPendleQuoteMintSyInputSchema, mcpPendleQuoteOutputSchema, mcpPendleQuoteRedeemPyInputSchema, mcpPendleQuoteRedeemSyInputSchema, mcpPendleQuoteRemoveLiquidityInputSchema, mcpPendleQuoteSwapInputSchema, mcpPendleSearchAssetsInputSchema, mcpPendleSearchAssetsOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyFetchSusdsRateInputSchema, mcpSkyFetchSusdsRateOutputSchema, 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 };
12233
+ 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, mcpAaveV4FetchMarketInputSchema, mcpAaveV4FetchMarketOutputSchema, mcpAaveV4FetchMarketsInputSchema, mcpAaveV4FetchMarketsOutputSchema, mcpAaveV4MerklClaimInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpAerodromeBuildAddLiquidityMultisignInputSchema, mcpAerodromeBuildClBurnMultisignInputSchema, mcpAerodromeBuildClCollectFeesMultisignInputSchema, mcpAerodromeBuildClDecreaseMultisignInputSchema, mcpAerodromeBuildClIncreaseMultisignInputSchema, mcpAerodromeBuildClMintMultisignInputSchema, mcpAerodromeBuildClaimEmissionsMultisignInputSchema, mcpAerodromeBuildClaimFeesMultisignInputSchema, mcpAerodromeBuildGaugeStakeMultisignInputSchema, mcpAerodromeBuildGaugeUnstakeMultisignInputSchema, mcpAerodromeBuildRemoveLiquidityMultisignInputSchema, mcpAerodromeBuildSwapMultisignInputSchema, mcpAerodromeDiscoverPoolsInputSchema, mcpAerodromeDiscoverPoolsOutputSchema, mcpAerodromeFetchLpYieldsInputSchema, mcpAerodromeFetchLpYieldsOutputSchema, mcpAerodromeFetchPoolsInputSchema, mcpAerodromeFetchPoolsOutputSchema, mcpAerodromeFetchPositionsInputSchema, mcpAerodromeFetchPositionsOutputSchema, mcpAerodromeFetchStockLpYieldsInputSchema, mcpAerodromeFetchStockLpYieldsOutputSchema, mcpAerodromeQuoteAddLiquidityInputSchema, mcpAerodromeQuoteAddLiquidityOutputSchema, mcpAerodromeQuoteClDepositInputSchema, mcpAerodromeQuoteClDepositOutputSchema, mcpAerodromeQuoteInputSchema, mcpAerodromeQuoteOutputSchema, 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, mcpCompoundV3BulkerInputSchema, mcpCompoundV3ClaimRewardsInputSchema, mcpCompoundV3FetchAccountInputSchema, mcpCompoundV3FetchAccountOutputSchema, mcpCompoundV3FetchMarketInputSchema, mcpCompoundV3FetchMarketOutputSchema, mcpCompoundV3FetchMarketsInputSchema, mcpCompoundV3FetchMarketsOutputSchema, mcpCompoundV3RepayInputSchema, mcpCompoundV3SupplyInputSchema, mcpCompoundV3WithdrawInputSchema, mcpContinuumDaoAttachInputSchema, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoComposeProposalActionInputSchema, mcpContinuumDaoComposeProposalActionOutputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, mcpContinuumDaoExplainProposalInputSchema, mcpContinuumDaoExplainProposalOutputSchema, mcpContinuumDaoFetchDelegatesInputSchema, mcpContinuumDaoFetchDelegatesOutputSchema, mcpContinuumDaoFetchLiveProposalsInputSchema, mcpContinuumDaoFetchLiveProposalsOutputSchema, mcpContinuumDaoFetchProposalInputSchema, mcpContinuumDaoFetchProposalOutputSchema, mcpContinuumDaoFetchProposalStateInputSchema, mcpContinuumDaoFetchProposalStateOutputSchema, mcpContinuumDaoFetchProposalVotesInputSchema, mcpContinuumDaoFetchProposalVotesOutputSchema, 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, mcpContinuumDaoMpaFlagInputSchema, mcpContinuumDaoMpaFlagOutputSchema, mcpContinuumDaoMpaListingInputSchema, mcpContinuumDaoMpaListingOutputSchema, mcpContinuumDaoMpaMailboxListInputSchema, mcpContinuumDaoMpaMailboxListOutputSchema, mcpContinuumDaoMpaMailboxOpenInputSchema, mcpContinuumDaoMpaMailboxOpenOutputSchema, mcpContinuumDaoMpaMailboxSendInputSchema, mcpContinuumDaoMpaMailboxSendOutputSchema, mcpContinuumDaoMpaRetractInputSchema, mcpContinuumDaoMpaRetractOutputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposalVoteRowSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSimulateProposalInputSchema, mcpContinuumDaoSimulateProposalOutputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTechnocoreBindInputSchema, mcpContinuumDaoTechnocoreBindOutputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, mcpCurveDaoBuildAddLiquidityMultisignInputSchema, mcpCurveDaoBuildGaugeDepositMultisignInputSchema, mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoFetchImportantPoolsInputSchema, mcpCurveDaoFetchImportantPoolsOutputSchema, mcpCurveDaoFetchLpYieldsInputSchema, mcpCurveDaoFetchLpYieldsOutputSchema, mcpCurveDaoQuoteAddLiquidityInputSchema, mcpCurveDaoQuoteAddLiquidityOutputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpCurveDaoQuoteRemoveLiquidityInputSchema, mcpCurveDaoQuoteRemoveLiquidityOutputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaFetchSusdeApyInputSchema, mcpEthenaFetchSusdeApyOutputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchEarnVaultsInputSchema, mcpEulerV2FetchEarnVaultsOutputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2MerklClaimInputSchema, 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, mcpHyperliquidFetchLendMarketsInputSchema, mcpHyperliquidFetchLendMarketsOutputSchema, mcpHyperliquidFetchLendPositionsInputSchema, mcpHyperliquidFetchLendPositionsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchStockMarketsInputSchema, mcpHyperliquidFetchStockMarketsOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultApysInputSchema, mcpHyperliquidFetchVaultApysOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLendInputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoFetchStethAprInputSchema, mcpLidoFetchStethAprOutputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleFetchMarketInputSchema, mcpMapleFetchMarketOutputSchema, mcpMapleFetchMarketsInputSchema, mcpMapleFetchMarketsOutputSchema, mcpMapleRequestRedeemInputSchema, mcpMerklRewardsFetchInputSchema, mcpMerklRewardsFetchOutputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoBlueSupplyInputSchema, mcpMorphoBlueWithdrawInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightOffersInputSchema, mcpMorphoFetchMidnightOffersOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoFetchPositionsInputSchema, mcpMorphoFetchPositionsOutputSchema, mcpMorphoFetchStockMarketsInputSchema, mcpMorphoFetchStockMarketsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightCancelLendOfferInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightLendOfferInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpPendleBuildAddLiquidityMultisignInputSchema, mcpPendleBuildMintPyMultisignInputSchema, mcpPendleBuildMintSyMultisignInputSchema, mcpPendleBuildRedeemPyMultisignInputSchema, mcpPendleBuildRedeemRewardsMultisignInputSchema, mcpPendleBuildRedeemSyMultisignInputSchema, mcpPendleBuildRemoveLiquidityMultisignInputSchema, mcpPendleBuildSwapMultisignInputSchema, mcpPendleFetchMarketsInputSchema, mcpPendleFetchMarketsOutputSchema, mcpPendleFetchMerkleRewardsInputSchema, mcpPendleFetchMerkleRewardsOutputSchema, mcpPendleFetchPositionsInputSchema, mcpPendleFetchPositionsOutputSchema, mcpPendleFetchPricesInputSchema, mcpPendleFetchPricesOutputSchema, mcpPendleQuoteAddLiquidityInputSchema, mcpPendleQuoteMintPyInputSchema, mcpPendleQuoteMintSyInputSchema, mcpPendleQuoteOutputSchema, mcpPendleQuoteRedeemPyInputSchema, mcpPendleQuoteRedeemSyInputSchema, mcpPendleQuoteRemoveLiquidityInputSchema, mcpPendleQuoteSwapInputSchema, mcpPendleSearchAssetsInputSchema, mcpPendleSearchAssetsOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyFetchSusdsRateInputSchema, mcpSkyFetchSusdsRateOutputSchema, 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 };
11834
12234
  //# sourceMappingURL=catalog.js.map
11835
12235
  //# sourceMappingURL=catalog.js.map