@continuumdao/ctm-mpc-defi 0.2.42 → 0.2.44

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.
Files changed (36) hide show
  1. package/dist/agent/catalog.cjs +352 -36
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +1542 -236
  4. package/dist/agent/catalog.js +343 -37
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/aave-v4/SKILL.md +9 -1
  7. package/dist/agent/skills/aerodrome/SKILL.md +1 -1
  8. package/dist/agent/skills/arcus/SKILL.md +1 -1
  9. package/dist/agent/skills/euler-v2/SKILL.md +9 -0
  10. package/dist/agent/skills/morpho/SKILL.md +39 -6
  11. package/dist/agent/skills/yield-compare/SKILL.md +6 -2
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/merklDistributor-CdqtZC9N.d.ts +65 -0
  15. package/dist/multisign-Dr0j9fHm.d.ts +489 -0
  16. package/dist/protocols/evm/aave-v4/index.cjs +207 -2
  17. package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
  18. package/dist/protocols/evm/aave-v4/index.d.ts +12 -467
  19. package/dist/protocols/evm/aave-v4/index.js +192 -3
  20. package/dist/protocols/evm/aave-v4/index.js.map +1 -1
  21. package/dist/protocols/evm/aerodrome/index.cjs +67 -48
  22. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
  23. package/dist/protocols/evm/aerodrome/index.d.ts +8 -8
  24. package/dist/protocols/evm/aerodrome/index.js +82 -63
  25. package/dist/protocols/evm/aerodrome/index.js.map +1 -1
  26. package/dist/protocols/evm/euler-v2/index.cjs +209 -1
  27. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  28. package/dist/protocols/evm/euler-v2/index.d.ts +9 -1
  29. package/dist/protocols/evm/euler-v2/index.js +208 -2
  30. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  31. package/dist/protocols/evm/morpho/index.cjs +610 -56
  32. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  33. package/dist/protocols/evm/morpho/index.d.ts +131 -2
  34. package/dist/protocols/evm/morpho/index.js +573 -58
  35. package/dist/protocols/evm/morpho/index.js.map +1 -1
  36. package/package.json +1 -1
@@ -387,6 +387,27 @@ var init_midnightApi = __esm({
387
387
  init_midnightConstants();
388
388
  }
389
389
  });
390
+ var COINBASE_B20_STOCK_TOKENS, COINBASE_B20_STOCK_DECIMALS;
391
+ var init_coinbaseB20 = __esm({
392
+ "src/protocols/evm/shared/coinbaseB20.ts"() {
393
+ COINBASE_B20_STOCK_TOKENS = [
394
+ { symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
395
+ { symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
396
+ { symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
397
+ { symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
398
+ { symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
399
+ { symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
400
+ { symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
401
+ { symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
402
+ { symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
403
+ { symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
404
+ { symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
405
+ { symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
406
+ { symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
407
+ ];
408
+ COINBASE_B20_STOCK_DECIMALS = 8;
409
+ }
410
+ });
390
411
  function isAerodromeChainSupported(chainId) {
391
412
  const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
392
413
  return n === AERODROME_CHAIN_ID;
@@ -436,25 +457,9 @@ var init_addresses = __esm({
436
457
  };
437
458
  }
438
459
  });
439
- var AERODROME_COINBASE_STOCK_TOKENS, AERODROME_COINBASE_STOCK_DECIMALS;
440
460
  var init_stockTokens = __esm({
441
461
  "src/protocols/evm/aerodrome/stockTokens.ts"() {
442
- AERODROME_COINBASE_STOCK_TOKENS = [
443
- { symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
444
- { symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
445
- { symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
446
- { symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
447
- { symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
448
- { symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
449
- { symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
450
- { symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
451
- { symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
452
- { symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
453
- { symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
454
- { symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
455
- { symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
456
- ];
457
- AERODROME_COINBASE_STOCK_DECIMALS = 8;
462
+ init_coinbaseB20();
458
463
  }
459
464
  });
460
465
  var init_discover = __esm({
@@ -1389,6 +1394,26 @@ function preprocessMorphoBlueBorrowRepayInput(raw) {
1389
1394
  aliasField(o, "loanToken", "loanToken", "loanTokenAddress");
1390
1395
  return o;
1391
1396
  }
1397
+ function preprocessMorphoBlueLoanMarketInput(raw, verb) {
1398
+ const o = preprocessObject(raw);
1399
+ if (!o) return raw;
1400
+ aliasField(o, "loanToken", "loanToken", "loanTokenAddress");
1401
+ aliasField(o, "marketId", "marketId", "marketID");
1402
+ derivePurposeIfMissing(o, (x) => {
1403
+ const amt = String(x.amountHuman ?? "").trim();
1404
+ const label = String(x.marketLabel ?? "").trim();
1405
+ if (amt && label) return `Morpho Blue ${verb} ${amt} for ${label}`;
1406
+ if (amt) return `Morpho Blue ${verb} ${amt}`;
1407
+ return void 0;
1408
+ });
1409
+ return o;
1410
+ }
1411
+ function preprocessMorphoBlueSupplyInput(raw) {
1412
+ return preprocessMorphoBlueLoanMarketInput(raw, "supply");
1413
+ }
1414
+ function preprocessMorphoBlueWithdrawInput(raw) {
1415
+ return preprocessMorphoBlueLoanMarketInput(raw, "withdraw");
1416
+ }
1392
1417
  function preprocessEulerV2IsolatedLendInput(raw) {
1393
1418
  const o = preprocessObject(raw);
1394
1419
  if (!o) return raw;
@@ -2214,9 +2239,9 @@ var mcpMorphoFetchEarnVaultsOutputSchema = zod.z.object({
2214
2239
  });
2215
2240
  var mcpMorphoFetchBlueMarketsInputSchema = zod.z.object({
2216
2241
  chainId: agentEvmChainIdSchema,
2217
- collateral: zod.z.string().trim().min(1).optional().describe("Collateral asset symbol or address (e.g. WETH, cbETH)."),
2218
- loan: zod.z.string().trim().min(1).optional().describe("Loan asset symbol or address (e.g. USDC)."),
2219
- query: zod.z.string().trim().min(1).optional().describe("Filter on market label, symbols, or marketId."),
2242
+ collateral: zod.z.string().trim().min(1).optional().describe("Collateral ticker or address (AAPLc, WETH, 0x\u2026). B20 stock tickers resolve on Base."),
2243
+ loan: zod.z.string().trim().min(1).optional().describe("Loan ticker or address (USDC, USDT, 0x\u2026)."),
2244
+ query: zod.z.string().trim().min(1).optional().describe('Filter on market label, symbols, or marketId. "stock" / "tokenized" / "coinbase" lists B20 collateral markets.'),
2220
2245
  limit: agentCoercedOptionalIntSchema(zod.z.number().int().min(1).max(200))
2221
2246
  });
2222
2247
  var mcpMorphoFetchBlueMarketsOutputSchema = zod.z.object({
@@ -2234,6 +2259,10 @@ var mcpMorphoFetchBlueMarketsOutputSchema = zod.z.object({
2234
2259
  borrowApyLabel: zod.z.string(),
2235
2260
  supplyApyLabel: zod.z.string(),
2236
2261
  netSupplyApyLabel: zod.z.string().describe("Blue net supply APY including incentives when Morpho publishes it."),
2262
+ lltvLabel: zod.z.string(),
2263
+ borrowAssetsUsdLabel: zod.z.string(),
2264
+ supplyAssetsUsdLabel: zod.z.string(),
2265
+ utilizationLabel: zod.z.string(),
2237
2266
  rewards: zod.z.array(
2238
2267
  zod.z.object({
2239
2268
  symbol: zod.z.string(),
@@ -2296,10 +2325,72 @@ function preprocessMorphoMidnightRepayInput(raw) {
2296
2325
  if (!purposeText) o.purposeText = "Morpho Midnight repay";
2297
2326
  return o;
2298
2327
  }
2328
+ var mcpMorphoFetchStockMarketsInputSchema = zod.z.object({
2329
+ chainId: agentEvmChainIdSchema.optional().describe("Defaults to Base 8453."),
2330
+ collateral: zod.z.string().trim().min(1).optional().describe("B20 ticker or address (AAPLc). Omit to list all stock-collateral markets."),
2331
+ rate: zod.z.enum(["variable", "fixed", "both"]).optional().describe("Blue variable, Midnight fixed, or both (default)."),
2332
+ limit: agentCoercedOptionalIntSchema(zod.z.number().int().min(1).max(200))
2333
+ });
2334
+ var mcpMorphoFetchStockMarketsOutputSchema = zod.z.object({
2335
+ chainId: zod.z.number().int(),
2336
+ markets: mcpMorphoFetchBlueMarketsOutputSchema.shape.markets,
2337
+ books: zod.z.array(
2338
+ zod.z.object({
2339
+ marketId: zod.z.string(),
2340
+ chainId: zod.z.number().int(),
2341
+ midnightAddress: zod.z.string(),
2342
+ loanTokenAddress: zod.z.string(),
2343
+ maturity: zod.z.number(),
2344
+ maturityIso: zod.z.string(),
2345
+ collateralTokenAddresses: zod.z.array(zod.z.string()),
2346
+ primaryCollateralTokenAddress: zod.z.string().nullable(),
2347
+ primaryCollateralLltv: zod.z.string().nullable(),
2348
+ bestAskPriceWad: zod.z.string().nullable(),
2349
+ bestBidPriceWad: zod.z.string().nullable(),
2350
+ bestAskAssets: zod.z.string().nullable(),
2351
+ bestBidAssets: zod.z.string().nullable(),
2352
+ lendApr: zod.z.string(),
2353
+ borrowApr: zod.z.string(),
2354
+ lendAprNumeric: zod.z.number().nullable(),
2355
+ borrowAprNumeric: zod.z.number().nullable(),
2356
+ marketLabel: zod.z.string()
2357
+ })
2358
+ ),
2359
+ notes: zod.z.string()
2360
+ });
2361
+ var mcpMorphoFetchPositionsInputSchema = zod.z.object({
2362
+ user: zod.z.string().min(1).describe("User EVM address"),
2363
+ chainId: agentEvmChainIdSchema
2364
+ });
2365
+ var mcpMorphoFetchPositionsOutputSchema = zod.z.object({
2366
+ vaults: zod.z.array(
2367
+ zod.z.object({
2368
+ vaultAddress: zod.z.string(),
2369
+ vaultSymbol: zod.z.string(),
2370
+ underlyingSymbol: zod.z.string(),
2371
+ assetsHuman: zod.z.string(),
2372
+ assetsUsdLabel: zod.z.string(),
2373
+ shares: zod.z.string()
2374
+ })
2375
+ ),
2376
+ blue: zod.z.array(
2377
+ zod.z.object({
2378
+ marketId: zod.z.string(),
2379
+ marketLabel: zod.z.string(),
2380
+ loanAssetSymbol: zod.z.string(),
2381
+ collateralAssetSymbol: zod.z.string(),
2382
+ collateralHuman: zod.z.string(),
2383
+ borrowHuman: zod.z.string(),
2384
+ supplyHuman: zod.z.string(),
2385
+ supplyUsdLabel: zod.z.string(),
2386
+ healthFactorLabel: zod.z.string()
2387
+ })
2388
+ )
2389
+ });
2299
2390
  var mcpMorphoFetchMidnightBooksInputSchema = zod.z.object({
2300
2391
  chainId: agentEvmChainIdSchema,
2301
- loan: zod.z.string().trim().min(1).optional().describe("Loan token address filter."),
2302
- collateral: zod.z.string().trim().min(1).optional().describe("Collateral token address filter."),
2392
+ loan: zod.z.string().trim().min(1).optional().describe("Loan ticker or address (USDC)."),
2393
+ collateral: zod.z.string().trim().min(1).optional().describe("Collateral ticker or address (AAPLc)."),
2303
2394
  query: zod.z.string().trim().min(1).optional().describe("Filter on marketId or addresses."),
2304
2395
  side: zod.z.enum(["bids", "asks", "either"]).optional().describe("Require bid depth (borrow) or ask depth (lend)."),
2305
2396
  limit: agentCoercedOptionalIntSchema(zod.z.number().int().min(1).max(200))
@@ -2398,6 +2489,45 @@ var mcpMorphoFetchMidnightOffersOutputSchema = zod.z.object({
2398
2489
  })
2399
2490
  )
2400
2491
  });
2492
+ var mcpMerklRewardsFetchInputSchema = zod.z.object({
2493
+ chainId: agentEvmChainIdSchema,
2494
+ user: zod.z.string().min(1).optional().describe("Wallet address. Omit when keyGenId is set \u2014 server fills from the KeyGen Ethereum address."),
2495
+ keyGenId: zod.z.string().min(1).optional().describe("Preferred. Server resolves user from get_preferred_key_gen / conversation KeyGen.")
2496
+ }).refine((d) => Boolean(d.user?.trim() || d.keyGenId?.trim()), {
2497
+ message: "Pass keyGenId (preferred) or user.",
2498
+ path: ["user"]
2499
+ });
2500
+ var mcpMerklRewardsFetchOutputSchema = zod.z.object({
2501
+ chainId: zod.z.number().int(),
2502
+ user: zod.z.string(),
2503
+ distributor: zod.z.string(),
2504
+ claimable: zod.z.array(
2505
+ zod.z.object({
2506
+ symbol: zod.z.string(),
2507
+ token: zod.z.string(),
2508
+ amountHuman: zod.z.string(),
2509
+ amountWei: zod.z.string(),
2510
+ decimals: zod.z.number().int(),
2511
+ root: zod.z.string()
2512
+ })
2513
+ ),
2514
+ claimableCount: zod.z.number().int(),
2515
+ firstRootClaimableCount: zod.z.number().int(),
2516
+ additionalRoots: zod.z.number().int(),
2517
+ skippedReulCount: zod.z.number().int(),
2518
+ notes: zod.z.string()
2519
+ });
2520
+ function preprocessMerklClaimInput(kind) {
2521
+ return (raw) => {
2522
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return raw;
2523
+ const o = { ...raw };
2524
+ const purposeText = String(o.purposeText ?? o.purpose ?? "").trim();
2525
+ if (!purposeText) {
2526
+ o.purposeText = `${kind}: claim wallet-wide Merkl rewards`;
2527
+ }
2528
+ return o;
2529
+ };
2530
+ }
2401
2531
  var mcpServerCommonInputSchema = zod.z.object({
2402
2532
  keyGenId: zod.z.string().min(1).describe("KeyGen id from fetch_key_gen_result / node preferred KeyGen"),
2403
2533
  chainId: zod.z.number().int().positive().describe("EVM chain id; RPC and gas config resolved from chain registry"),
@@ -2718,6 +2848,28 @@ var mcpMorphoBlueCollateralDepositInputSchema = withMultisignKeySourceRefine(
2718
2848
  })
2719
2849
  )
2720
2850
  );
2851
+ var mcpMorphoBlueSupplyInputSchema = withMultisignKeySourceRefine(
2852
+ zod.z.preprocess(
2853
+ preprocessMorphoBlueSupplyInput,
2854
+ evmMultisignCommonInputSchema.extend({
2855
+ marketId: zod.z.string().min(1).describe("marketId from ctm_morpho_fetch_blue_markets or fetch_stock_markets"),
2856
+ loanToken: evmAddressSchema.describe("loanTokenAddress from fetch row (USDC)"),
2857
+ amountHuman: zod.z.string().min(1),
2858
+ marketLabel: zod.z.string().optional()
2859
+ })
2860
+ )
2861
+ );
2862
+ var mcpMorphoBlueWithdrawInputSchema = withMultisignKeySourceRefine(
2863
+ zod.z.preprocess(
2864
+ preprocessMorphoBlueWithdrawInput,
2865
+ evmMultisignCommonInputSchema.extend({
2866
+ marketId: zod.z.string().min(1).describe("marketId from ctm_morpho_fetch_positions or fetch_blue_markets"),
2867
+ loanToken: evmAddressSchema.describe("loanTokenAddress from fetch row"),
2868
+ amountHuman: zod.z.string().min(1),
2869
+ marketLabel: zod.z.string().optional()
2870
+ })
2871
+ )
2872
+ );
2721
2873
  var mcpMorphoBlueBorrowInputSchema = withMultisignKeySourceRefine(
2722
2874
  zod.z.preprocess(
2723
2875
  preprocessMorphoBlueBorrowRepayInput,
@@ -2743,11 +2895,42 @@ var mcpMorphoBlueCollateralWithdrawInputSchema = mcpMultisignInput({
2743
2895
  amountHuman: zod.z.string().min(1),
2744
2896
  collateralDecimals: agentCoercedOptionalIntSchema(zod.z.number().int().min(0).max(36))
2745
2897
  });
2746
- var mcpMorphoMerklClaimInputSchema = mcpMultisignInput({
2747
- claimData: zod.z.string().min(1).describe("Hex calldata for Merkl Distributor.claim from Merkl API."),
2748
- distributor: evmAddressSchema.optional(),
2749
- valueWei: zod.z.string().optional()
2750
- });
2898
+ var mcpMorphoMerklClaimInputSchema = withMultisignKeySourceRefine(
2899
+ zod.z.preprocess(
2900
+ preprocessMerklClaimInput("Morpho"),
2901
+ evmMultisignCommonInputSchema.extend({
2902
+ claimData: zod.z.string().min(1).optional().describe(
2903
+ "Optional. Hex calldata for Merkl Distributor.claim. Omit \u2014 server fetches wallet-wide Merkl proofs for keyGenId + chainId."
2904
+ ),
2905
+ distributor: evmAddressSchema.optional(),
2906
+ valueWei: zod.z.string().optional()
2907
+ })
2908
+ )
2909
+ );
2910
+ var mcpEulerV2MerklClaimInputSchema = withMultisignKeySourceRefine(
2911
+ zod.z.preprocess(
2912
+ preprocessMerklClaimInput("Euler v2"),
2913
+ evmMultisignCommonInputSchema.extend({
2914
+ claimData: zod.z.string().min(1).optional().describe(
2915
+ "Optional. Hex calldata for Merkl Distributor.claim. Omit \u2014 server fetches wallet-wide Merkl proofs for keyGenId + chainId."
2916
+ ),
2917
+ distributor: evmAddressSchema.optional(),
2918
+ valueWei: zod.z.string().optional()
2919
+ })
2920
+ )
2921
+ );
2922
+ var mcpAaveV4MerklClaimInputSchema = withMultisignKeySourceRefine(
2923
+ zod.z.preprocess(
2924
+ preprocessMerklClaimInput("Aave v4"),
2925
+ evmMultisignCommonInputSchema.extend({
2926
+ claimData: zod.z.string().min(1).optional().describe(
2927
+ "Optional. Hex calldata for Merkl Distributor.claim. Omit \u2014 server fetches wallet-wide Merkl proofs for keyGenId + chainId."
2928
+ ),
2929
+ distributor: evmAddressSchema.optional(),
2930
+ valueWei: zod.z.string().optional()
2931
+ })
2932
+ )
2933
+ );
2751
2934
  var mcpMorphoMidnightLendInputSchema = withMultisignKeySourceRefine(
2752
2935
  zod.z.preprocess(
2753
2936
  preprocessMorphoMidnightLendInput,
@@ -4926,6 +5109,16 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
4926
5109
  handler: { importPath: "protocols/evm/aave-v4", exportName: "buildEvmMultisignBodyAaveV4SpokeRepay" },
4927
5110
  inputZod: mcpAaveV4RepayInputSchema
4928
5111
  }),
5112
+ defineProtocolMcpTool({
5113
+ name: "ctm_aave_v4_build_merkl_claim_multisign",
5114
+ actionId: "aave-v4.merkl-claim",
5115
+ protocolId: "aave-v4",
5116
+ chainCategory: "evm",
5117
+ description: "Build wallet-wide Merkl Distributor.claim. Pass keyGenId + chainId; server fetches proofs. Optional claimData override.",
5118
+ prerequisites: ["keyGenId", "chainId"],
5119
+ handler: { importPath: "protocols/evm/aave-v4", exportName: "buildEvmMultisignBodyAaveV4MerklDistributorClaim" },
5120
+ inputZod: mcpAaveV4MerklClaimInputSchema
5121
+ }),
4929
5122
  defineProtocolMcpTool({
4930
5123
  name: "ctm_euler_v2_build_isolated_lend_multisign",
4931
5124
  actionId: "euler-v2.isolated-lend",
@@ -4986,6 +5179,16 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
4986
5179
  handler: { importPath: "protocols/evm/euler-v2", exportName: "buildEvmMultisignBodyEulerV2BorrowCollateralWithdrawBatch" },
4987
5180
  inputZod: mcpEulerV2CollateralWithdrawInputSchema
4988
5181
  }),
5182
+ defineProtocolMcpTool({
5183
+ name: "ctm_euler_v2_build_merkl_claim_multisign",
5184
+ actionId: "euler-v2.merkl-claim",
5185
+ protocolId: "euler-v2",
5186
+ chainCategory: "evm",
5187
+ description: "Build wallet-wide Merkl Distributor.claim. Pass keyGenId + chainId; server fetches proofs. Optional claimData override. rEUL is omitted (Euler unlock stays in the node app).",
5188
+ prerequisites: ["keyGenId", "chainId"],
5189
+ handler: { importPath: "protocols/evm/euler-v2", exportName: "buildEvmMultisignBodyEulerV2MerklDistributorClaim" },
5190
+ inputZod: mcpEulerV2MerklClaimInputSchema
5191
+ }),
4989
5192
  defineProtocolMcpTool({
4990
5193
  name: "ctm_morpho_build_vault_deposit_multisign",
4991
5194
  actionId: "morpho.vault-deposit",
@@ -5026,6 +5229,26 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
5026
5229
  handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch" },
5027
5230
  inputZod: mcpMorphoBlueCollateralDepositInputSchema
5028
5231
  }),
5232
+ defineProtocolMcpTool({
5233
+ name: "ctm_morpho_build_blue_supply_multisign",
5234
+ actionId: "morpho.blue-supply",
5235
+ protocolId: "morpho",
5236
+ chainCategory: "evm",
5237
+ description: "Build Morpho Blue supply batch (lend loan token, e.g. USDC, into a market).",
5238
+ prerequisites: ["keyGenId", "chainId", "marketId", "loanToken", "amountHuman"],
5239
+ handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueSupplyBatch" },
5240
+ inputZod: mcpMorphoBlueSupplyInputSchema
5241
+ }),
5242
+ defineProtocolMcpTool({
5243
+ name: "ctm_morpho_build_blue_withdraw_multisign",
5244
+ actionId: "morpho.blue-withdraw",
5245
+ protocolId: "morpho",
5246
+ chainCategory: "evm",
5247
+ description: "Build Morpho Blue withdraw batch (withdraw supplied loan token).",
5248
+ prerequisites: ["keyGenId", "chainId", "marketId", "loanToken", "amountHuman"],
5249
+ handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueWithdrawBatch" },
5250
+ inputZod: mcpMorphoBlueWithdrawInputSchema
5251
+ }),
5029
5252
  defineProtocolMcpTool({
5030
5253
  name: "ctm_morpho_build_blue_borrow_multisign",
5031
5254
  actionId: "morpho.blue-borrow",
@@ -5061,8 +5284,8 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
5061
5284
  actionId: "morpho.merkl-claim",
5062
5285
  protocolId: "morpho",
5063
5286
  chainCategory: "evm",
5064
- description: "Build Morpho Merkl Distributor.claim transaction.",
5065
- prerequisites: ["keyGenId", "chainId", "claim calldata from Merkl API"],
5287
+ description: "Build wallet-wide Merkl Distributor.claim. Pass keyGenId + chainId; server fetches proofs. Optional claimData override.",
5288
+ prerequisites: ["keyGenId", "chainId"],
5066
5289
  handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoMerklDistributorClaim" },
5067
5290
  inputZod: mcpMorphoMerklClaimInputSchema
5068
5291
  }),
@@ -6828,10 +7051,11 @@ var CORE_MCP_TOOL_DEFINITIONS = [
6828
7051
  actionId: "morpho.fetch-blue-markets",
6829
7052
  protocolId: "morpho",
6830
7053
  chainCategory: "evm",
6831
- description: "Morpho Blue borrow markets. Filter by collateral/loan asset; returns marketId and token addresses for blue multisign tools.",
7054
+ description: 'Morpho Blue variable-rate markets. Filter by collateral/loan ticker or address (AAPLc, USDC). query "stock" lists Coinbase B20 collateral books. Returns marketId, LLTV, TVL, and token addresses for blue multisign tools.',
6832
7055
  prerequisites: ["chainId"],
6833
7056
  followUp: [
6834
7057
  "ctm_morpho_build_blue_collateral_deposit_multisign",
7058
+ "ctm_morpho_build_blue_supply_multisign",
6835
7059
  "ctm_morpho_build_blue_borrow_multisign",
6836
7060
  "ctm_morpho_build_blue_repay_multisign"
6837
7061
  ],
@@ -6839,6 +7063,54 @@ var CORE_MCP_TOOL_DEFINITIONS = [
6839
7063
  inputZod: mcpMorphoFetchBlueMarketsInputSchema,
6840
7064
  outputZod: mcpMorphoFetchBlueMarketsOutputSchema
6841
7065
  }),
7066
+ defineMcpTool({
7067
+ name: "ctm_morpho_fetch_stock_markets",
7068
+ actionId: "morpho.fetch-stock-markets",
7069
+ protocolId: "morpho",
7070
+ chainCategory: "evm",
7071
+ description: "Coinbase B20 stock-backed Morpho markets on Base (default 8453). Variable Blue + fixed Midnight. Tickers OK (AAPLc). Not idle stable yield \u2014 isolated equity collateral, thin books, 24/5 oracles.",
7072
+ prerequisites: ["chainId 8453 or omit"],
7073
+ followUp: [
7074
+ "ctm_morpho_build_blue_collateral_deposit_multisign",
7075
+ "ctm_morpho_build_blue_supply_multisign",
7076
+ "ctm_morpho_build_blue_borrow_multisign",
7077
+ "ctm_morpho_fetch_midnight_books",
7078
+ "ctm_morpho_build_midnight_lend_multisign",
7079
+ "ctm_morpho_build_midnight_borrow_multisign"
7080
+ ],
7081
+ handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchStockMarketsSummary" },
7082
+ inputZod: mcpMorphoFetchStockMarketsInputSchema,
7083
+ outputZod: mcpMorphoFetchStockMarketsOutputSchema
7084
+ }),
7085
+ defineMcpTool({
7086
+ name: "ctm_morpho_fetch_positions",
7087
+ actionId: "morpho.fetch-positions",
7088
+ protocolId: "morpho",
7089
+ chainCategory: "evm",
7090
+ description: "Morpho vault and Blue positions (collateral, borrow, and loan-token supply) for a user. Midnight positions stay on ctm_morpho_fetch_midnight_positions.",
7091
+ prerequisites: ["user address", "chainId"],
7092
+ followUp: [
7093
+ "ctm_morpho_build_vault_withdraw_multisign",
7094
+ "ctm_morpho_build_blue_repay_multisign",
7095
+ "ctm_morpho_build_blue_withdraw_multisign",
7096
+ "ctm_morpho_build_blue_collateral_withdraw_multisign"
7097
+ ],
7098
+ handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchPositionsSummary" },
7099
+ inputZod: mcpMorphoFetchPositionsInputSchema,
7100
+ outputZod: mcpMorphoFetchPositionsOutputSchema
7101
+ }),
7102
+ defineMcpTool({
7103
+ name: "ctm_morpho_fetch_merkl_rewards",
7104
+ actionId: "morpho.fetch-merkl-rewards",
7105
+ protocolId: "morpho",
7106
+ chainCategory: "evm",
7107
+ description: "Wallet-wide Merkl claimables for this address on a chain (not Morpho-only). Pass keyGenId or user. Other venues\u2019 campaigns can appear. rEUL is omitted. Follow with ctm_morpho_build_merkl_claim_multisign (keyGenId + chainId).",
7108
+ prerequisites: ["keyGenId or user", "chainId"],
7109
+ followUp: ["ctm_morpho_build_merkl_claim_multisign"],
7110
+ handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchMerklRewardsSummary" },
7111
+ inputZod: mcpMerklRewardsFetchInputSchema,
7112
+ outputZod: mcpMerklRewardsFetchOutputSchema
7113
+ }),
6842
7114
  defineMcpTool({
6843
7115
  name: "ctm_morpho_fetch_midnight_books",
6844
7116
  actionId: "morpho.fetch-midnight-books",
@@ -6920,6 +7192,18 @@ var CORE_MCP_TOOL_DEFINITIONS = [
6920
7192
  inputZod: mcpEulerV2FetchEarnVaultsInputSchema,
6921
7193
  outputZod: mcpEulerV2FetchEarnVaultsOutputSchema
6922
7194
  }),
7195
+ defineMcpTool({
7196
+ name: "ctm_euler_v2_fetch_merkl_rewards",
7197
+ actionId: "euler-v2.fetch-merkl-rewards",
7198
+ protocolId: "euler-v2",
7199
+ chainCategory: "evm",
7200
+ description: "Wallet-wide Merkl claimables for this address on a chain (not Euler-only). Pass keyGenId or user. Other venues\u2019 campaigns can appear. rEUL is omitted (skippedReulCount; unlock in the node app). Follow with ctm_euler_v2_build_merkl_claim_multisign.",
7201
+ prerequisites: ["keyGenId or user", "chainId"],
7202
+ followUp: ["ctm_euler_v2_build_merkl_claim_multisign"],
7203
+ handler: { importPath: "protocols/evm/euler-v2", exportName: "eulerV2FetchMerklRewardsSummary" },
7204
+ inputZod: mcpMerklRewardsFetchInputSchema,
7205
+ outputZod: mcpMerklRewardsFetchOutputSchema
7206
+ }),
6923
7207
  defineMcpTool({
6924
7208
  name: "ctm_cctp_fetch_supported_routes",
6925
7209
  actionId: "circle-cctp.fetch-routes",
@@ -7529,6 +7813,18 @@ var CORE_MCP_TOOL_DEFINITIONS = [
7529
7813
  inputZod: mcpAaveV4FetchMarketInputSchema,
7530
7814
  outputZod: mcpAaveV4FetchMarketOutputSchema
7531
7815
  }),
7816
+ defineMcpTool({
7817
+ name: "ctm_aave_v4_fetch_merkl_rewards",
7818
+ actionId: "aave-v4.fetch-merkl-rewards",
7819
+ protocolId: "aave-v4",
7820
+ chainCategory: "evm",
7821
+ description: "Wallet-wide Merkl claimables for this address on a chain (not Aave-only). Pass keyGenId or user. Other venues\u2019 campaigns can appear. rEUL is omitted. Follow with ctm_aave_v4_build_merkl_claim_multisign (keyGenId + chainId).",
7822
+ prerequisites: ["keyGenId or user", "chainId"],
7823
+ followUp: ["ctm_aave_v4_build_merkl_claim_multisign"],
7824
+ handler: { importPath: "protocols/evm/aave-v4", exportName: "aaveV4FetchMerklRewardsSummary" },
7825
+ inputZod: mcpMerklRewardsFetchInputSchema,
7826
+ outputZod: mcpMerklRewardsFetchOutputSchema
7827
+ }),
7532
7828
  defineMcpTool({
7533
7829
  name: "ctm_lido_fetch_steth_apr",
7534
7830
  actionId: "lido.fetch-steth-apr",
@@ -8237,7 +8533,9 @@ var aaveV4ProtocolModule = {
8237
8533
  { id: "aave-v4.deposit", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "Supply to Aave v4 Spoke", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8238
8534
  { id: "aave-v4.withdraw", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw from Spoke", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8239
8535
  { id: "aave-v4.borrow", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "Borrow from Spoke", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8240
- { id: "aave-v4.repay", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "Repay Spoke debt", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} }
8536
+ { id: "aave-v4.repay", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "Repay Spoke debt", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8537
+ { id: "aave-v4.fetch-merkl-rewards", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "List wallet-wide Merkl claimables on a chain", commonParams: [], params: {} },
8538
+ { id: "aave-v4.merkl-claim", protocolId: AAVE_V4_PROTOCOL_ID, chainCategory: "evm", description: "Claim wallet-wide Merkl rewards", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} }
8241
8539
  ]
8242
8540
  };
8243
8541
  registerProtocolModule(aaveV4ProtocolModule);
@@ -8451,7 +8749,9 @@ var eulerV2ProtocolModule = {
8451
8749
  { id: "euler-v2.vault-withdraw", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw from Euler vault", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8452
8750
  { id: "euler-v2.borrow-repay", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "Repay Euler borrow", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8453
8751
  { id: "euler-v2.collateral-deposit", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "Deposit borrow collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8454
- { id: "euler-v2.collateral-withdraw", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw borrow collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} }
8752
+ { id: "euler-v2.collateral-withdraw", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw borrow collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
8753
+ { id: "euler-v2.fetch-merkl-rewards", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "List wallet-wide Merkl claimables on a chain", commonParams: [], params: {} },
8754
+ { id: "euler-v2.merkl-claim", protocolId: EULER_V2_PROTOCOL_ID, chainCategory: "evm", description: "Claim wallet-wide Merkl rewards", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} }
8455
8755
  ]
8456
8756
  };
8457
8757
  registerProtocolModule(eulerV2ProtocolModule);
@@ -9201,10 +9501,16 @@ var morphoProtocolModule = {
9201
9501
  { id: "morpho.vault-deposit", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Deposit into Morpho-listed earn vault (V1 or V2)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9202
9502
  { id: "morpho.vault-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw from Morpho earn vault (V1 or V2)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9203
9503
  { id: "morpho.blue-collateral-deposit", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Supply collateral to Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9504
+ { id: "morpho.blue-supply", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Supply loan token to Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9505
+ { id: "morpho.blue-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw supplied loan token from Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9204
9506
  { id: "morpho.blue-borrow", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Borrow from Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9205
9507
  { id: "morpho.blue-repay", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Repay Morpho Blue borrow", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9206
9508
  { id: "morpho.blue-collateral-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw Morpho Blue collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9207
- { id: "morpho.merkl-claim", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Claim Morpho Merkl rewards", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9509
+ { id: "morpho.fetch-merkl-rewards", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List wallet-wide Merkl claimables on a chain", commonParams: [], params: {} },
9510
+ { id: "morpho.merkl-claim", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Claim wallet-wide Merkl rewards", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
9511
+ { id: "morpho.fetch-blue-markets", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Search Morpho Blue variable-rate markets", commonParams: [], params: {} },
9512
+ { id: "morpho.fetch-stock-markets", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Coinbase B20 stock-backed Morpho Blue and Midnight markets on Base", commonParams: [], params: {} },
9513
+ { id: "morpho.fetch-positions", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho vault and Blue positions for a user", commonParams: [], params: {} },
9208
9514
  { id: "morpho.fetch-midnight-books", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho Midnight fixed-rate books", commonParams: [], params: {} },
9209
9515
  { id: "morpho.fetch-midnight-quote", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Quote Morpho Midnight lend/borrow fill", commonParams: [], params: {} },
9210
9516
  { id: "morpho.fetch-midnight-positions", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho Midnight user positions", commonParams: [], params: {} },
@@ -10880,11 +11186,11 @@ function aerodromeAdvisorPriorityTokens() {
10880
11186
  decimals: 18,
10881
11187
  roles: ["swappable"]
10882
11188
  },
10883
- ...AERODROME_COINBASE_STOCK_TOKENS.map((t) => ({
11189
+ ...COINBASE_B20_STOCK_TOKENS.map((t) => ({
10884
11190
  address: t.address,
10885
11191
  symbol: t.symbol,
10886
11192
  name: t.name,
10887
- decimals: AERODROME_COINBASE_STOCK_DECIMALS,
11193
+ decimals: COINBASE_B20_STOCK_DECIMALS,
10888
11194
  roles: ["swappable", "listed", "coinbase_b20"]
10889
11195
  }))
10890
11196
  ];
@@ -11069,7 +11375,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
11069
11375
  }));
11070
11376
  return {
11071
11377
  tokens,
11072
- notes: chainId === ROBINHOOD_CHAIN_ID ? 'Morpho vault assets on Robinhood Chain. Robinhood Earn USDG yield uses Steakhouse USDG (steakUSDG) \u2014 query "robinhood earn" or robinhoodEarn: true on deposit multisign; not Arcus collateral.' : isMorphoArcChainId(chainId) ? "Morpho vault and Blue market assets on Arc (USDC-native gas). Mainnet is 5042; testnet is 5042002. Midnight remains Ethereum/Base only." : "Morpho vault assets, Blue market loan/collateral tokens, and Midnight book loan/collateral tokens from api.morpho.org."
11378
+ notes: chainId === ROBINHOOD_CHAIN_ID ? 'Morpho vault assets on Robinhood Chain. Robinhood Earn USDG yield uses Steakhouse USDG (steakUSDG) \u2014 query "robinhood earn" or robinhoodEarn: true on deposit multisign; not Arcus collateral.' : isMorphoArcChainId(chainId) ? "Morpho vault and Blue market assets on Arc (USDC-native gas). Mainnet is 5042; testnet is 5042002. Midnight remains Ethereum/Base only." : chainId === 8453 ? "Morpho vault, Lend (Blue USDC supply / Midnight lend), Blue borrow, and Midnight borrow on Base. Coinbase B20 stocks (AAPLc, NVDAc, \u2026) are collateral for stock-backed USDC loans \u2014 activate defi:morpho:lend then ctm_morpho_fetch_stock_markets. Tickers OK." : "Morpho vault assets, Blue market loan/collateral tokens, and Midnight book loan/collateral tokens from api.morpho.org."
11073
11379
  };
11074
11380
  },
11075
11381
  async isTokenSupported(chainId, address) {
@@ -11430,6 +11736,7 @@ exports.mcpAaveV4FetchMarketInputSchema = mcpAaveV4FetchMarketInputSchema;
11430
11736
  exports.mcpAaveV4FetchMarketOutputSchema = mcpAaveV4FetchMarketOutputSchema;
11431
11737
  exports.mcpAaveV4FetchMarketsInputSchema = mcpAaveV4FetchMarketsInputSchema;
11432
11738
  exports.mcpAaveV4FetchMarketsOutputSchema = mcpAaveV4FetchMarketsOutputSchema;
11739
+ exports.mcpAaveV4MerklClaimInputSchema = mcpAaveV4MerklClaimInputSchema;
11433
11740
  exports.mcpAaveV4RepayInputSchema = mcpAaveV4RepayInputSchema;
11434
11741
  exports.mcpAaveV4WithdrawInputSchema = mcpAaveV4WithdrawInputSchema;
11435
11742
  exports.mcpAerodromeBuildAddLiquidityMultisignInputSchema = mcpAerodromeBuildAddLiquidityMultisignInputSchema;
@@ -11615,6 +11922,7 @@ exports.mcpEulerV2FetchLendVaultsInputSchema = mcpEulerV2FetchLendVaultsInputSch
11615
11922
  exports.mcpEulerV2FetchLendVaultsOutputSchema = mcpEulerV2FetchLendVaultsOutputSchema;
11616
11923
  exports.mcpEulerV2IsolatedBorrowInputSchema = mcpEulerV2IsolatedBorrowInputSchema;
11617
11924
  exports.mcpEulerV2IsolatedLendInputSchema = mcpEulerV2IsolatedLendInputSchema;
11925
+ exports.mcpEulerV2MerklClaimInputSchema = mcpEulerV2MerklClaimInputSchema;
11618
11926
  exports.mcpEulerV2VaultWithdrawInputSchema = mcpEulerV2VaultWithdrawInputSchema;
11619
11927
  exports.mcpGmxCancelInputSchema = mcpGmxCancelInputSchema;
11620
11928
  exports.mcpGmxDecreaseInputSchema = mcpGmxDecreaseInputSchema;
@@ -11694,10 +12002,14 @@ exports.mcpMapleFetchMarketOutputSchema = mcpMapleFetchMarketOutputSchema;
11694
12002
  exports.mcpMapleFetchMarketsInputSchema = mcpMapleFetchMarketsInputSchema;
11695
12003
  exports.mcpMapleFetchMarketsOutputSchema = mcpMapleFetchMarketsOutputSchema;
11696
12004
  exports.mcpMapleRequestRedeemInputSchema = mcpMapleRequestRedeemInputSchema;
12005
+ exports.mcpMerklRewardsFetchInputSchema = mcpMerklRewardsFetchInputSchema;
12006
+ exports.mcpMerklRewardsFetchOutputSchema = mcpMerklRewardsFetchOutputSchema;
11697
12007
  exports.mcpMorphoBlueBorrowInputSchema = mcpMorphoBlueBorrowInputSchema;
11698
12008
  exports.mcpMorphoBlueCollateralDepositInputSchema = mcpMorphoBlueCollateralDepositInputSchema;
11699
12009
  exports.mcpMorphoBlueCollateralWithdrawInputSchema = mcpMorphoBlueCollateralWithdrawInputSchema;
11700
12010
  exports.mcpMorphoBlueRepayInputSchema = mcpMorphoBlueRepayInputSchema;
12011
+ exports.mcpMorphoBlueSupplyInputSchema = mcpMorphoBlueSupplyInputSchema;
12012
+ exports.mcpMorphoBlueWithdrawInputSchema = mcpMorphoBlueWithdrawInputSchema;
11701
12013
  exports.mcpMorphoFetchBlueMarketsInputSchema = mcpMorphoFetchBlueMarketsInputSchema;
11702
12014
  exports.mcpMorphoFetchBlueMarketsOutputSchema = mcpMorphoFetchBlueMarketsOutputSchema;
11703
12015
  exports.mcpMorphoFetchEarnVaultsInputSchema = mcpMorphoFetchEarnVaultsInputSchema;
@@ -11710,6 +12022,10 @@ exports.mcpMorphoFetchMidnightPositionsInputSchema = mcpMorphoFetchMidnightPosit
11710
12022
  exports.mcpMorphoFetchMidnightPositionsOutputSchema = mcpMorphoFetchMidnightPositionsOutputSchema;
11711
12023
  exports.mcpMorphoFetchMidnightQuoteInputSchema = mcpMorphoFetchMidnightQuoteInputSchema;
11712
12024
  exports.mcpMorphoFetchMidnightQuoteOutputSchema = mcpMorphoFetchMidnightQuoteOutputSchema;
12025
+ exports.mcpMorphoFetchPositionsInputSchema = mcpMorphoFetchPositionsInputSchema;
12026
+ exports.mcpMorphoFetchPositionsOutputSchema = mcpMorphoFetchPositionsOutputSchema;
12027
+ exports.mcpMorphoFetchStockMarketsInputSchema = mcpMorphoFetchStockMarketsInputSchema;
12028
+ exports.mcpMorphoFetchStockMarketsOutputSchema = mcpMorphoFetchStockMarketsOutputSchema;
11713
12029
  exports.mcpMorphoMerklClaimInputSchema = mcpMorphoMerklClaimInputSchema;
11714
12030
  exports.mcpMorphoMidnightBorrowInputSchema = mcpMorphoMidnightBorrowInputSchema;
11715
12031
  exports.mcpMorphoMidnightCancelLendOfferInputSchema = mcpMorphoMidnightCancelLendOfferInputSchema;