@continuumdao/ctm-mpc-defi 0.2.41 → 0.2.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/catalog.cjs +219 -27
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +914 -197
- package/dist/agent/catalog.js +214 -28
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/aerodrome/SKILL.md +1 -1
- package/dist/agent/skills/arcus/SKILL.md +1 -1
- package/dist/agent/skills/morpho/SKILL.md +32 -5
- package/dist/agent/skills/yield-compare/SKILL.md +6 -2
- package/dist/chains/evm/index.cjs +6 -2
- package/dist/chains/evm/index.cjs.map +1 -1
- package/dist/chains/evm/index.js +7 -3
- package/dist/chains/evm/index.js.map +1 -1
- package/dist/core/index.cjs +14 -0
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +7 -2
- package/dist/core/index.js +13 -2
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +45 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +44 -8
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aave-v4/index.cjs +11 -7
- package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/aave-v4/index.js +12 -8
- package/dist/protocols/evm/aave-v4/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs +81 -50
- package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
- package/dist/protocols/evm/aerodrome/index.d.ts +8 -8
- package/dist/protocols/evm/aerodrome/index.js +96 -65
- package/dist/protocols/evm/aerodrome/index.js.map +1 -1
- package/dist/protocols/evm/arcus/index.cjs +6 -2
- package/dist/protocols/evm/arcus/index.cjs.map +1 -1
- package/dist/protocols/evm/arcus/index.js +7 -3
- package/dist/protocols/evm/arcus/index.js.map +1 -1
- package/dist/protocols/evm/circle-cctp/index.cjs +7 -3
- package/dist/protocols/evm/circle-cctp/index.cjs.map +1 -1
- package/dist/protocols/evm/circle-cctp/index.js +8 -4
- package/dist/protocols/evm/circle-cctp/index.js.map +1 -1
- package/dist/protocols/evm/compound-v3/index.cjs +9 -3
- package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
- package/dist/protocols/evm/compound-v3/index.js +10 -4
- package/dist/protocols/evm/compound-v3/index.js.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.cjs +11 -5
- package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.js +12 -6
- package/dist/protocols/evm/continuum-dao/index.js.map +1 -1
- package/dist/protocols/evm/curve-dao/index.cjs +8 -4
- package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/curve-dao/index.js +9 -5
- package/dist/protocols/evm/curve-dao/index.js.map +1 -1
- package/dist/protocols/evm/ethena/index.cjs +13 -9
- package/dist/protocols/evm/ethena/index.cjs.map +1 -1
- package/dist/protocols/evm/ethena/index.js +14 -10
- package/dist/protocols/evm/ethena/index.js.map +1 -1
- package/dist/protocols/evm/euler-v2/index.cjs +20 -16
- package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
- package/dist/protocols/evm/euler-v2/index.js +21 -17
- package/dist/protocols/evm/euler-v2/index.js.map +1 -1
- package/dist/protocols/evm/gmx/index.cjs +12 -8
- package/dist/protocols/evm/gmx/index.cjs.map +1 -1
- package/dist/protocols/evm/gmx/index.js +13 -9
- package/dist/protocols/evm/gmx/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.cjs +5 -1
- package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.js +6 -2
- package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
- package/dist/protocols/evm/lido/index.cjs +7 -3
- package/dist/protocols/evm/lido/index.cjs.map +1 -1
- package/dist/protocols/evm/lido/index.js +8 -4
- package/dist/protocols/evm/lido/index.js.map +1 -1
- package/dist/protocols/evm/maple/index.cjs +7 -3
- package/dist/protocols/evm/maple/index.cjs.map +1 -1
- package/dist/protocols/evm/maple/index.js +8 -4
- package/dist/protocols/evm/maple/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +454 -64
- package/dist/protocols/evm/morpho/index.cjs.map +1 -1
- package/dist/protocols/evm/morpho/index.d.ts +123 -2
- package/dist/protocols/evm/morpho/index.js +432 -66
- package/dist/protocols/evm/morpho/index.js.map +1 -1
- package/dist/protocols/evm/pendle/index.cjs +9 -3
- package/dist/protocols/evm/pendle/index.cjs.map +1 -1
- package/dist/protocols/evm/pendle/index.js +10 -4
- package/dist/protocols/evm/pendle/index.js.map +1 -1
- package/dist/protocols/evm/sky/index.cjs +17 -13
- package/dist/protocols/evm/sky/index.cjs.map +1 -1
- package/dist/protocols/evm/sky/index.js +18 -14
- package/dist/protocols/evm/sky/index.js.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.cjs +13 -7
- package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.js +14 -8
- package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
- package/dist/protocols/evm/venice/index.cjs +10 -4
- package/dist/protocols/evm/venice/index.cjs.map +1 -1
- package/dist/protocols/evm/venice/index.js +10 -4
- package/dist/protocols/evm/venice/index.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/catalog.cjs
CHANGED
|
@@ -19,6 +19,14 @@ var __export = (target, all) => {
|
|
|
19
19
|
for (var name in all)
|
|
20
20
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
21
21
|
};
|
|
22
|
+
function defiEvmTransport(rpcUrl, opts) {
|
|
23
|
+
const url = rpcUrl.trim();
|
|
24
|
+
return viem.http(url, opts);
|
|
25
|
+
}
|
|
26
|
+
var init_defiEvmClient = __esm({
|
|
27
|
+
"src/core/defiEvmClient.ts"() {
|
|
28
|
+
}
|
|
29
|
+
});
|
|
22
30
|
|
|
23
31
|
// src/core/defiProxy.ts
|
|
24
32
|
function getAaveGraphqlProxyUrl() {
|
|
@@ -379,6 +387,27 @@ var init_midnightApi = __esm({
|
|
|
379
387
|
init_midnightConstants();
|
|
380
388
|
}
|
|
381
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
|
+
});
|
|
382
411
|
function isAerodromeChainSupported(chainId) {
|
|
383
412
|
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
384
413
|
return n === AERODROME_CHAIN_ID;
|
|
@@ -428,25 +457,9 @@ var init_addresses = __esm({
|
|
|
428
457
|
};
|
|
429
458
|
}
|
|
430
459
|
});
|
|
431
|
-
var AERODROME_COINBASE_STOCK_TOKENS, AERODROME_COINBASE_STOCK_DECIMALS;
|
|
432
460
|
var init_stockTokens = __esm({
|
|
433
461
|
"src/protocols/evm/aerodrome/stockTokens.ts"() {
|
|
434
|
-
|
|
435
|
-
{ symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
|
|
436
|
-
{ symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
|
|
437
|
-
{ symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
|
|
438
|
-
{ symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
|
|
439
|
-
{ symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
|
|
440
|
-
{ symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
|
|
441
|
-
{ symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
|
|
442
|
-
{ symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
|
|
443
|
-
{ symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
|
|
444
|
-
{ symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
|
|
445
|
-
{ symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
|
|
446
|
-
{ symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
|
|
447
|
-
{ symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
|
|
448
|
-
];
|
|
449
|
-
AERODROME_COINBASE_STOCK_DECIMALS = 8;
|
|
462
|
+
init_coinbaseB20();
|
|
450
463
|
}
|
|
451
464
|
});
|
|
452
465
|
var init_discover = __esm({
|
|
@@ -1381,6 +1394,26 @@ function preprocessMorphoBlueBorrowRepayInput(raw) {
|
|
|
1381
1394
|
aliasField(o, "loanToken", "loanToken", "loanTokenAddress");
|
|
1382
1395
|
return o;
|
|
1383
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
|
+
}
|
|
1384
1417
|
function preprocessEulerV2IsolatedLendInput(raw) {
|
|
1385
1418
|
const o = preprocessObject(raw);
|
|
1386
1419
|
if (!o) return raw;
|
|
@@ -2206,9 +2239,9 @@ var mcpMorphoFetchEarnVaultsOutputSchema = zod.z.object({
|
|
|
2206
2239
|
});
|
|
2207
2240
|
var mcpMorphoFetchBlueMarketsInputSchema = zod.z.object({
|
|
2208
2241
|
chainId: agentEvmChainIdSchema,
|
|
2209
|
-
collateral: zod.z.string().trim().min(1).optional().describe("Collateral
|
|
2210
|
-
loan: zod.z.string().trim().min(1).optional().describe("Loan
|
|
2211
|
-
query: zod.z.string().trim().min(1).optional().describe(
|
|
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.'),
|
|
2212
2245
|
limit: agentCoercedOptionalIntSchema(zod.z.number().int().min(1).max(200))
|
|
2213
2246
|
});
|
|
2214
2247
|
var mcpMorphoFetchBlueMarketsOutputSchema = zod.z.object({
|
|
@@ -2226,6 +2259,10 @@ var mcpMorphoFetchBlueMarketsOutputSchema = zod.z.object({
|
|
|
2226
2259
|
borrowApyLabel: zod.z.string(),
|
|
2227
2260
|
supplyApyLabel: zod.z.string(),
|
|
2228
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(),
|
|
2229
2266
|
rewards: zod.z.array(
|
|
2230
2267
|
zod.z.object({
|
|
2231
2268
|
symbol: zod.z.string(),
|
|
@@ -2288,10 +2325,72 @@ function preprocessMorphoMidnightRepayInput(raw) {
|
|
|
2288
2325
|
if (!purposeText) o.purposeText = "Morpho Midnight repay";
|
|
2289
2326
|
return o;
|
|
2290
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
|
+
});
|
|
2291
2390
|
var mcpMorphoFetchMidnightBooksInputSchema = zod.z.object({
|
|
2292
2391
|
chainId: agentEvmChainIdSchema,
|
|
2293
|
-
loan: zod.z.string().trim().min(1).optional().describe("Loan
|
|
2294
|
-
collateral: zod.z.string().trim().min(1).optional().describe("Collateral
|
|
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)."),
|
|
2295
2394
|
query: zod.z.string().trim().min(1).optional().describe("Filter on marketId or addresses."),
|
|
2296
2395
|
side: zod.z.enum(["bids", "asks", "either"]).optional().describe("Require bid depth (borrow) or ask depth (lend)."),
|
|
2297
2396
|
limit: agentCoercedOptionalIntSchema(zod.z.number().int().min(1).max(200))
|
|
@@ -2710,6 +2809,28 @@ var mcpMorphoBlueCollateralDepositInputSchema = withMultisignKeySourceRefine(
|
|
|
2710
2809
|
})
|
|
2711
2810
|
)
|
|
2712
2811
|
);
|
|
2812
|
+
var mcpMorphoBlueSupplyInputSchema = withMultisignKeySourceRefine(
|
|
2813
|
+
zod.z.preprocess(
|
|
2814
|
+
preprocessMorphoBlueSupplyInput,
|
|
2815
|
+
evmMultisignCommonInputSchema.extend({
|
|
2816
|
+
marketId: zod.z.string().min(1).describe("marketId from ctm_morpho_fetch_blue_markets or fetch_stock_markets"),
|
|
2817
|
+
loanToken: evmAddressSchema.describe("loanTokenAddress from fetch row (USDC)"),
|
|
2818
|
+
amountHuman: zod.z.string().min(1),
|
|
2819
|
+
marketLabel: zod.z.string().optional()
|
|
2820
|
+
})
|
|
2821
|
+
)
|
|
2822
|
+
);
|
|
2823
|
+
var mcpMorphoBlueWithdrawInputSchema = withMultisignKeySourceRefine(
|
|
2824
|
+
zod.z.preprocess(
|
|
2825
|
+
preprocessMorphoBlueWithdrawInput,
|
|
2826
|
+
evmMultisignCommonInputSchema.extend({
|
|
2827
|
+
marketId: zod.z.string().min(1).describe("marketId from ctm_morpho_fetch_positions or fetch_blue_markets"),
|
|
2828
|
+
loanToken: evmAddressSchema.describe("loanTokenAddress from fetch row"),
|
|
2829
|
+
amountHuman: zod.z.string().min(1),
|
|
2830
|
+
marketLabel: zod.z.string().optional()
|
|
2831
|
+
})
|
|
2832
|
+
)
|
|
2833
|
+
);
|
|
2713
2834
|
var mcpMorphoBlueBorrowInputSchema = withMultisignKeySourceRefine(
|
|
2714
2835
|
zod.z.preprocess(
|
|
2715
2836
|
preprocessMorphoBlueBorrowRepayInput,
|
|
@@ -5018,6 +5139,26 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
5018
5139
|
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch" },
|
|
5019
5140
|
inputZod: mcpMorphoBlueCollateralDepositInputSchema
|
|
5020
5141
|
}),
|
|
5142
|
+
defineProtocolMcpTool({
|
|
5143
|
+
name: "ctm_morpho_build_blue_supply_multisign",
|
|
5144
|
+
actionId: "morpho.blue-supply",
|
|
5145
|
+
protocolId: "morpho",
|
|
5146
|
+
chainCategory: "evm",
|
|
5147
|
+
description: "Build Morpho Blue supply batch (lend loan token, e.g. USDC, into a market).",
|
|
5148
|
+
prerequisites: ["keyGenId", "chainId", "marketId", "loanToken", "amountHuman"],
|
|
5149
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueSupplyBatch" },
|
|
5150
|
+
inputZod: mcpMorphoBlueSupplyInputSchema
|
|
5151
|
+
}),
|
|
5152
|
+
defineProtocolMcpTool({
|
|
5153
|
+
name: "ctm_morpho_build_blue_withdraw_multisign",
|
|
5154
|
+
actionId: "morpho.blue-withdraw",
|
|
5155
|
+
protocolId: "morpho",
|
|
5156
|
+
chainCategory: "evm",
|
|
5157
|
+
description: "Build Morpho Blue withdraw batch (withdraw supplied loan token).",
|
|
5158
|
+
prerequisites: ["keyGenId", "chainId", "marketId", "loanToken", "amountHuman"],
|
|
5159
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueWithdrawBatch" },
|
|
5160
|
+
inputZod: mcpMorphoBlueWithdrawInputSchema
|
|
5161
|
+
}),
|
|
5021
5162
|
defineProtocolMcpTool({
|
|
5022
5163
|
name: "ctm_morpho_build_blue_borrow_multisign",
|
|
5023
5164
|
actionId: "morpho.blue-borrow",
|
|
@@ -6820,10 +6961,11 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
6820
6961
|
actionId: "morpho.fetch-blue-markets",
|
|
6821
6962
|
protocolId: "morpho",
|
|
6822
6963
|
chainCategory: "evm",
|
|
6823
|
-
description:
|
|
6964
|
+
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.',
|
|
6824
6965
|
prerequisites: ["chainId"],
|
|
6825
6966
|
followUp: [
|
|
6826
6967
|
"ctm_morpho_build_blue_collateral_deposit_multisign",
|
|
6968
|
+
"ctm_morpho_build_blue_supply_multisign",
|
|
6827
6969
|
"ctm_morpho_build_blue_borrow_multisign",
|
|
6828
6970
|
"ctm_morpho_build_blue_repay_multisign"
|
|
6829
6971
|
],
|
|
@@ -6831,6 +6973,42 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
6831
6973
|
inputZod: mcpMorphoFetchBlueMarketsInputSchema,
|
|
6832
6974
|
outputZod: mcpMorphoFetchBlueMarketsOutputSchema
|
|
6833
6975
|
}),
|
|
6976
|
+
defineMcpTool({
|
|
6977
|
+
name: "ctm_morpho_fetch_stock_markets",
|
|
6978
|
+
actionId: "morpho.fetch-stock-markets",
|
|
6979
|
+
protocolId: "morpho",
|
|
6980
|
+
chainCategory: "evm",
|
|
6981
|
+
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.",
|
|
6982
|
+
prerequisites: ["chainId 8453 or omit"],
|
|
6983
|
+
followUp: [
|
|
6984
|
+
"ctm_morpho_build_blue_collateral_deposit_multisign",
|
|
6985
|
+
"ctm_morpho_build_blue_supply_multisign",
|
|
6986
|
+
"ctm_morpho_build_blue_borrow_multisign",
|
|
6987
|
+
"ctm_morpho_fetch_midnight_books",
|
|
6988
|
+
"ctm_morpho_build_midnight_lend_multisign",
|
|
6989
|
+
"ctm_morpho_build_midnight_borrow_multisign"
|
|
6990
|
+
],
|
|
6991
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchStockMarketsSummary" },
|
|
6992
|
+
inputZod: mcpMorphoFetchStockMarketsInputSchema,
|
|
6993
|
+
outputZod: mcpMorphoFetchStockMarketsOutputSchema
|
|
6994
|
+
}),
|
|
6995
|
+
defineMcpTool({
|
|
6996
|
+
name: "ctm_morpho_fetch_positions",
|
|
6997
|
+
actionId: "morpho.fetch-positions",
|
|
6998
|
+
protocolId: "morpho",
|
|
6999
|
+
chainCategory: "evm",
|
|
7000
|
+
description: "Morpho vault and Blue positions (collateral, borrow, and loan-token supply) for a user. Midnight positions stay on ctm_morpho_fetch_midnight_positions.",
|
|
7001
|
+
prerequisites: ["user address", "chainId"],
|
|
7002
|
+
followUp: [
|
|
7003
|
+
"ctm_morpho_build_vault_withdraw_multisign",
|
|
7004
|
+
"ctm_morpho_build_blue_repay_multisign",
|
|
7005
|
+
"ctm_morpho_build_blue_withdraw_multisign",
|
|
7006
|
+
"ctm_morpho_build_blue_collateral_withdraw_multisign"
|
|
7007
|
+
],
|
|
7008
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchPositionsSummary" },
|
|
7009
|
+
inputZod: mcpMorphoFetchPositionsInputSchema,
|
|
7010
|
+
outputZod: mcpMorphoFetchPositionsOutputSchema
|
|
7011
|
+
}),
|
|
6834
7012
|
defineMcpTool({
|
|
6835
7013
|
name: "ctm_morpho_fetch_midnight_books",
|
|
6836
7014
|
actionId: "morpho.fetch-midnight-books",
|
|
@@ -9193,10 +9371,15 @@ var morphoProtocolModule = {
|
|
|
9193
9371
|
{ 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: {} },
|
|
9194
9372
|
{ id: "morpho.vault-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw from Morpho earn vault (V1 or V2)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9195
9373
|
{ id: "morpho.blue-collateral-deposit", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Supply collateral to Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9374
|
+
{ id: "morpho.blue-supply", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Supply loan token to Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9375
|
+
{ id: "morpho.blue-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw supplied loan token from Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9196
9376
|
{ id: "morpho.blue-borrow", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Borrow from Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9197
9377
|
{ id: "morpho.blue-repay", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Repay Morpho Blue borrow", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9198
9378
|
{ id: "morpho.blue-collateral-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw Morpho Blue collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9199
9379
|
{ id: "morpho.merkl-claim", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Claim Morpho Merkl rewards", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9380
|
+
{ id: "morpho.fetch-blue-markets", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Search Morpho Blue variable-rate markets", commonParams: [], params: {} },
|
|
9381
|
+
{ 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: {} },
|
|
9382
|
+
{ id: "morpho.fetch-positions", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho vault and Blue positions for a user", commonParams: [], params: {} },
|
|
9200
9383
|
{ id: "morpho.fetch-midnight-books", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho Midnight fixed-rate books", commonParams: [], params: {} },
|
|
9201
9384
|
{ id: "morpho.fetch-midnight-quote", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Quote Morpho Midnight lend/borrow fill", commonParams: [], params: {} },
|
|
9202
9385
|
{ id: "morpho.fetch-midnight-positions", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho Midnight user positions", commonParams: [], params: {} },
|
|
@@ -10152,6 +10335,9 @@ async function fetchCompoundV3SubgraphMarkets(args) {
|
|
|
10152
10335
|
return null;
|
|
10153
10336
|
}
|
|
10154
10337
|
}
|
|
10338
|
+
|
|
10339
|
+
// src/protocols/evm/compound-v3/reads.ts
|
|
10340
|
+
init_defiEvmClient();
|
|
10155
10341
|
function publicClient(rpcUrl, chainId) {
|
|
10156
10342
|
const chain = viem.defineChain({
|
|
10157
10343
|
id: chainId,
|
|
@@ -10159,7 +10345,7 @@ function publicClient(rpcUrl, chainId) {
|
|
|
10159
10345
|
nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
|
|
10160
10346
|
rpcUrls: { default: { http: [rpcUrl] } }
|
|
10161
10347
|
});
|
|
10162
|
-
return viem.createPublicClient({ chain, transport:
|
|
10348
|
+
return viem.createPublicClient({ chain, transport: defiEvmTransport(rpcUrl) });
|
|
10163
10349
|
}
|
|
10164
10350
|
async function readTokenMeta(client, asset) {
|
|
10165
10351
|
const [symbol, decimals] = await Promise.all([
|
|
@@ -10869,11 +11055,11 @@ function aerodromeAdvisorPriorityTokens() {
|
|
|
10869
11055
|
decimals: 18,
|
|
10870
11056
|
roles: ["swappable"]
|
|
10871
11057
|
},
|
|
10872
|
-
...
|
|
11058
|
+
...COINBASE_B20_STOCK_TOKENS.map((t) => ({
|
|
10873
11059
|
address: t.address,
|
|
10874
11060
|
symbol: t.symbol,
|
|
10875
11061
|
name: t.name,
|
|
10876
|
-
decimals:
|
|
11062
|
+
decimals: COINBASE_B20_STOCK_DECIMALS,
|
|
10877
11063
|
roles: ["swappable", "listed", "coinbase_b20"]
|
|
10878
11064
|
}))
|
|
10879
11065
|
];
|
|
@@ -11058,7 +11244,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
11058
11244
|
}));
|
|
11059
11245
|
return {
|
|
11060
11246
|
tokens,
|
|
11061
|
-
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."
|
|
11247
|
+
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, Blue, and Midnight assets on Base. Coinbase B20 stocks (AAPLc, NVDAc, \u2026) are collateral for stock-backed USDC loans \u2014 use ctm_morpho_fetch_stock_markets or fetch_blue_markets collateral/query "stock". Tickers OK.' : "Morpho vault assets, Blue market loan/collateral tokens, and Midnight book loan/collateral tokens from api.morpho.org."
|
|
11062
11248
|
};
|
|
11063
11249
|
},
|
|
11064
11250
|
async isTokenSupported(chainId, address) {
|
|
@@ -11687,6 +11873,8 @@ exports.mcpMorphoBlueBorrowInputSchema = mcpMorphoBlueBorrowInputSchema;
|
|
|
11687
11873
|
exports.mcpMorphoBlueCollateralDepositInputSchema = mcpMorphoBlueCollateralDepositInputSchema;
|
|
11688
11874
|
exports.mcpMorphoBlueCollateralWithdrawInputSchema = mcpMorphoBlueCollateralWithdrawInputSchema;
|
|
11689
11875
|
exports.mcpMorphoBlueRepayInputSchema = mcpMorphoBlueRepayInputSchema;
|
|
11876
|
+
exports.mcpMorphoBlueSupplyInputSchema = mcpMorphoBlueSupplyInputSchema;
|
|
11877
|
+
exports.mcpMorphoBlueWithdrawInputSchema = mcpMorphoBlueWithdrawInputSchema;
|
|
11690
11878
|
exports.mcpMorphoFetchBlueMarketsInputSchema = mcpMorphoFetchBlueMarketsInputSchema;
|
|
11691
11879
|
exports.mcpMorphoFetchBlueMarketsOutputSchema = mcpMorphoFetchBlueMarketsOutputSchema;
|
|
11692
11880
|
exports.mcpMorphoFetchEarnVaultsInputSchema = mcpMorphoFetchEarnVaultsInputSchema;
|
|
@@ -11699,6 +11887,10 @@ exports.mcpMorphoFetchMidnightPositionsInputSchema = mcpMorphoFetchMidnightPosit
|
|
|
11699
11887
|
exports.mcpMorphoFetchMidnightPositionsOutputSchema = mcpMorphoFetchMidnightPositionsOutputSchema;
|
|
11700
11888
|
exports.mcpMorphoFetchMidnightQuoteInputSchema = mcpMorphoFetchMidnightQuoteInputSchema;
|
|
11701
11889
|
exports.mcpMorphoFetchMidnightQuoteOutputSchema = mcpMorphoFetchMidnightQuoteOutputSchema;
|
|
11890
|
+
exports.mcpMorphoFetchPositionsInputSchema = mcpMorphoFetchPositionsInputSchema;
|
|
11891
|
+
exports.mcpMorphoFetchPositionsOutputSchema = mcpMorphoFetchPositionsOutputSchema;
|
|
11892
|
+
exports.mcpMorphoFetchStockMarketsInputSchema = mcpMorphoFetchStockMarketsInputSchema;
|
|
11893
|
+
exports.mcpMorphoFetchStockMarketsOutputSchema = mcpMorphoFetchStockMarketsOutputSchema;
|
|
11702
11894
|
exports.mcpMorphoMerklClaimInputSchema = mcpMorphoMerklClaimInputSchema;
|
|
11703
11895
|
exports.mcpMorphoMidnightBorrowInputSchema = mcpMorphoMidnightBorrowInputSchema;
|
|
11704
11896
|
exports.mcpMorphoMidnightCancelLendOfferInputSchema = mcpMorphoMidnightCancelLendOfferInputSchema;
|