@continuumdao/ctm-mpc-defi 0.2.42 → 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 +207 -26
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +914 -197
- package/dist/agent/catalog.js +202 -27
- 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/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs +67 -48
- 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 +82 -63
- package/dist/protocols/evm/aerodrome/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +441 -55
- 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 +419 -57
- package/dist/protocols/evm/morpho/index.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/catalog.cjs
CHANGED
|
@@ -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
|
-
|
|
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
|
|
2218
|
-
loan: zod.z.string().trim().min(1).optional().describe("Loan
|
|
2219
|
-
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.'),
|
|
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
|
|
2302
|
-
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)."),
|
|
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))
|
|
@@ -2718,6 +2809,28 @@ var mcpMorphoBlueCollateralDepositInputSchema = withMultisignKeySourceRefine(
|
|
|
2718
2809
|
})
|
|
2719
2810
|
)
|
|
2720
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
|
+
);
|
|
2721
2834
|
var mcpMorphoBlueBorrowInputSchema = withMultisignKeySourceRefine(
|
|
2722
2835
|
zod.z.preprocess(
|
|
2723
2836
|
preprocessMorphoBlueBorrowRepayInput,
|
|
@@ -5026,6 +5139,26 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
5026
5139
|
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch" },
|
|
5027
5140
|
inputZod: mcpMorphoBlueCollateralDepositInputSchema
|
|
5028
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
|
+
}),
|
|
5029
5162
|
defineProtocolMcpTool({
|
|
5030
5163
|
name: "ctm_morpho_build_blue_borrow_multisign",
|
|
5031
5164
|
actionId: "morpho.blue-borrow",
|
|
@@ -6828,10 +6961,11 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
6828
6961
|
actionId: "morpho.fetch-blue-markets",
|
|
6829
6962
|
protocolId: "morpho",
|
|
6830
6963
|
chainCategory: "evm",
|
|
6831
|
-
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.',
|
|
6832
6965
|
prerequisites: ["chainId"],
|
|
6833
6966
|
followUp: [
|
|
6834
6967
|
"ctm_morpho_build_blue_collateral_deposit_multisign",
|
|
6968
|
+
"ctm_morpho_build_blue_supply_multisign",
|
|
6835
6969
|
"ctm_morpho_build_blue_borrow_multisign",
|
|
6836
6970
|
"ctm_morpho_build_blue_repay_multisign"
|
|
6837
6971
|
],
|
|
@@ -6839,6 +6973,42 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
6839
6973
|
inputZod: mcpMorphoFetchBlueMarketsInputSchema,
|
|
6840
6974
|
outputZod: mcpMorphoFetchBlueMarketsOutputSchema
|
|
6841
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
|
+
}),
|
|
6842
7012
|
defineMcpTool({
|
|
6843
7013
|
name: "ctm_morpho_fetch_midnight_books",
|
|
6844
7014
|
actionId: "morpho.fetch-midnight-books",
|
|
@@ -9201,10 +9371,15 @@ var morphoProtocolModule = {
|
|
|
9201
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: {} },
|
|
9202
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: {} },
|
|
9203
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: {} },
|
|
9204
9376
|
{ id: "morpho.blue-borrow", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Borrow from Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9205
9377
|
{ id: "morpho.blue-repay", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Repay Morpho Blue borrow", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9206
9378
|
{ id: "morpho.blue-collateral-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw Morpho Blue collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
9207
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: {} },
|
|
9208
9383
|
{ id: "morpho.fetch-midnight-books", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho Midnight fixed-rate books", commonParams: [], params: {} },
|
|
9209
9384
|
{ id: "morpho.fetch-midnight-quote", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Quote Morpho Midnight lend/borrow fill", commonParams: [], params: {} },
|
|
9210
9385
|
{ id: "morpho.fetch-midnight-positions", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "List Morpho Midnight user positions", commonParams: [], params: {} },
|
|
@@ -10880,11 +11055,11 @@ function aerodromeAdvisorPriorityTokens() {
|
|
|
10880
11055
|
decimals: 18,
|
|
10881
11056
|
roles: ["swappable"]
|
|
10882
11057
|
},
|
|
10883
|
-
...
|
|
11058
|
+
...COINBASE_B20_STOCK_TOKENS.map((t) => ({
|
|
10884
11059
|
address: t.address,
|
|
10885
11060
|
symbol: t.symbol,
|
|
10886
11061
|
name: t.name,
|
|
10887
|
-
decimals:
|
|
11062
|
+
decimals: COINBASE_B20_STOCK_DECIMALS,
|
|
10888
11063
|
roles: ["swappable", "listed", "coinbase_b20"]
|
|
10889
11064
|
}))
|
|
10890
11065
|
];
|
|
@@ -11069,7 +11244,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
11069
11244
|
}));
|
|
11070
11245
|
return {
|
|
11071
11246
|
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."
|
|
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."
|
|
11073
11248
|
};
|
|
11074
11249
|
},
|
|
11075
11250
|
async isTokenSupported(chainId, address) {
|
|
@@ -11698,6 +11873,8 @@ exports.mcpMorphoBlueBorrowInputSchema = mcpMorphoBlueBorrowInputSchema;
|
|
|
11698
11873
|
exports.mcpMorphoBlueCollateralDepositInputSchema = mcpMorphoBlueCollateralDepositInputSchema;
|
|
11699
11874
|
exports.mcpMorphoBlueCollateralWithdrawInputSchema = mcpMorphoBlueCollateralWithdrawInputSchema;
|
|
11700
11875
|
exports.mcpMorphoBlueRepayInputSchema = mcpMorphoBlueRepayInputSchema;
|
|
11876
|
+
exports.mcpMorphoBlueSupplyInputSchema = mcpMorphoBlueSupplyInputSchema;
|
|
11877
|
+
exports.mcpMorphoBlueWithdrawInputSchema = mcpMorphoBlueWithdrawInputSchema;
|
|
11701
11878
|
exports.mcpMorphoFetchBlueMarketsInputSchema = mcpMorphoFetchBlueMarketsInputSchema;
|
|
11702
11879
|
exports.mcpMorphoFetchBlueMarketsOutputSchema = mcpMorphoFetchBlueMarketsOutputSchema;
|
|
11703
11880
|
exports.mcpMorphoFetchEarnVaultsInputSchema = mcpMorphoFetchEarnVaultsInputSchema;
|
|
@@ -11710,6 +11887,10 @@ exports.mcpMorphoFetchMidnightPositionsInputSchema = mcpMorphoFetchMidnightPosit
|
|
|
11710
11887
|
exports.mcpMorphoFetchMidnightPositionsOutputSchema = mcpMorphoFetchMidnightPositionsOutputSchema;
|
|
11711
11888
|
exports.mcpMorphoFetchMidnightQuoteInputSchema = mcpMorphoFetchMidnightQuoteInputSchema;
|
|
11712
11889
|
exports.mcpMorphoFetchMidnightQuoteOutputSchema = mcpMorphoFetchMidnightQuoteOutputSchema;
|
|
11890
|
+
exports.mcpMorphoFetchPositionsInputSchema = mcpMorphoFetchPositionsInputSchema;
|
|
11891
|
+
exports.mcpMorphoFetchPositionsOutputSchema = mcpMorphoFetchPositionsOutputSchema;
|
|
11892
|
+
exports.mcpMorphoFetchStockMarketsInputSchema = mcpMorphoFetchStockMarketsInputSchema;
|
|
11893
|
+
exports.mcpMorphoFetchStockMarketsOutputSchema = mcpMorphoFetchStockMarketsOutputSchema;
|
|
11713
11894
|
exports.mcpMorphoMerklClaimInputSchema = mcpMorphoMerklClaimInputSchema;
|
|
11714
11895
|
exports.mcpMorphoMidnightBorrowInputSchema = mcpMorphoMidnightBorrowInputSchema;
|
|
11715
11896
|
exports.mcpMorphoMidnightCancelLendOfferInputSchema = mcpMorphoMidnightCancelLendOfferInputSchema;
|