@continuumdao/ctm-mpc-defi 0.2.9 → 0.2.10
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 +519 -19
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +618 -14
- package/dist/agent/catalog.js +507 -20
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/hyperliquid/SKILL.md +34 -6
- package/dist/agent/skills/morpho/SKILL.md +48 -0
- package/dist/core/index.cjs +9 -0
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +3 -1
- package/dist/core/index.js +8 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +9 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/aave-v4/index.js.map +1 -1
- package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
- package/dist/protocols/evm/euler-v2/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.cjs +407 -34
- package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.d.ts +168 -15
- package/dist/protocols/evm/hyperliquid/index.js +390 -35
- package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
- package/dist/protocols/evm/maple/index.cjs.map +1 -1
- package/dist/protocols/evm/maple/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +1971 -0
- package/dist/protocols/evm/morpho/index.cjs.map +1 -0
- package/dist/protocols/evm/morpho/index.d.ts +522 -0
- package/dist/protocols/evm/morpho/index.js +1918 -0
- package/dist/protocols/evm/morpho/index.js.map +1 -0
- package/dist/protocols/evm/sky/index.cjs.map +1 -1
- package/dist/protocols/evm/sky/index.js.map +1 -1
- package/package.json +6 -1
package/dist/agent/catalog.js
CHANGED
|
@@ -924,6 +924,74 @@ var mcpEulerV2CollateralWithdrawInputSchema = mcpMultisignInput({
|
|
|
924
924
|
collateralAsset: evmAddressSchema,
|
|
925
925
|
amountHuman: z.string().min(1)
|
|
926
926
|
});
|
|
927
|
+
var mcpMorphoVaultDepositInputSchema = mcpMultisignInput({
|
|
928
|
+
vault: evmAddressSchema,
|
|
929
|
+
underlying: evmAddressSchema.describe("Underlying asset; use wrapped native with isNativeIn for ETH."),
|
|
930
|
+
amountHuman: z.string().min(1),
|
|
931
|
+
isNativeIn: z.boolean().optional()
|
|
932
|
+
});
|
|
933
|
+
var mcpMorphoVaultWithdrawInputSchema = mcpMultisignInput({
|
|
934
|
+
vault: evmAddressSchema,
|
|
935
|
+
amountHuman: z.string().min(1)
|
|
936
|
+
});
|
|
937
|
+
var mcpMorphoBlueCollateralDepositInputSchema = mcpMultisignInput({
|
|
938
|
+
marketId: z.string().min(1).describe("Morpho Blue marketId from API."),
|
|
939
|
+
collateralToken: evmAddressSchema,
|
|
940
|
+
amountHuman: z.string().min(1),
|
|
941
|
+
isNativeIn: z.boolean().optional()
|
|
942
|
+
});
|
|
943
|
+
var mcpMorphoBlueBorrowInputSchema = mcpMultisignInput({
|
|
944
|
+
marketId: z.string().min(1),
|
|
945
|
+
loanToken: evmAddressSchema,
|
|
946
|
+
amountHuman: z.string().min(1)
|
|
947
|
+
});
|
|
948
|
+
var mcpMorphoBlueRepayInputSchema = mcpMultisignInput({
|
|
949
|
+
marketId: z.string().min(1),
|
|
950
|
+
loanToken: evmAddressSchema,
|
|
951
|
+
amountHuman: z.string().min(1)
|
|
952
|
+
});
|
|
953
|
+
var mcpMorphoBlueCollateralWithdrawInputSchema = mcpMultisignInput({
|
|
954
|
+
marketId: z.string().min(1),
|
|
955
|
+
amountHuman: z.string().min(1),
|
|
956
|
+
collateralDecimals: z.number().int().min(0).max(36).optional()
|
|
957
|
+
});
|
|
958
|
+
var mcpMorphoMerklClaimInputSchema = mcpMultisignInput({
|
|
959
|
+
claimData: z.string().min(1).describe("Hex calldata for Merkl Distributor.claim from Merkl API."),
|
|
960
|
+
distributor: evmAddressSchema.optional(),
|
|
961
|
+
valueWei: z.string().optional()
|
|
962
|
+
});
|
|
963
|
+
var morphoExposureRowSchema = z.object({
|
|
964
|
+
label: z.string(),
|
|
965
|
+
allocatedUsdLabel: z.string(),
|
|
966
|
+
allocationPercentLabel: z.string()
|
|
967
|
+
});
|
|
968
|
+
var mcpMorphoFetchEarnVaultsInputSchema = z.object({
|
|
969
|
+
chainId: z.number().int().positive(),
|
|
970
|
+
underlying: z.string().trim().min(1).optional().describe("Deposit asset symbol (e.g. USDC) or ERC-20 address. Omit to search all listed vaults on the chain."),
|
|
971
|
+
query: z.string().trim().min(1).optional().describe("Case-insensitive filter on vault name, symbol, address, or underlying symbol (e.g. Steakhouse, bbqUSDC)."),
|
|
972
|
+
limit: z.number().int().min(1).max(200).optional().describe("Max rows (default 50).")
|
|
973
|
+
});
|
|
974
|
+
var mcpMorphoFetchEarnVaultsOutputSchema = z.object({
|
|
975
|
+
vaults: z.array(
|
|
976
|
+
z.object({
|
|
977
|
+
vaultAddress: z.string(),
|
|
978
|
+
vaultName: z.string(),
|
|
979
|
+
vaultSymbol: z.string(),
|
|
980
|
+
underlyingAddress: z.string(),
|
|
981
|
+
underlyingSymbol: z.string(),
|
|
982
|
+
apy: z.string(),
|
|
983
|
+
netApy: z.string(),
|
|
984
|
+
netApy7d: z.string(),
|
|
985
|
+
netApy30d: z.string(),
|
|
986
|
+
netApy90d: z.string(),
|
|
987
|
+
performanceFee: z.string(),
|
|
988
|
+
managementFee: z.string().nullable(),
|
|
989
|
+
totalDepositsUsd: z.string(),
|
|
990
|
+
liquidityUsd: z.string(),
|
|
991
|
+
exposure: z.array(morphoExposureRowSchema)
|
|
992
|
+
})
|
|
993
|
+
)
|
|
994
|
+
});
|
|
927
995
|
function mcpGmxMultisignInput(fields) {
|
|
928
996
|
return evmMultisignCommonInputSchema.extend(fields);
|
|
929
997
|
}
|
|
@@ -1128,7 +1196,8 @@ var mcpHyperliquidFetchMarketsOutputSchema = z.object({
|
|
|
1128
1196
|
asset: z.number(),
|
|
1129
1197
|
szDecimals: z.number(),
|
|
1130
1198
|
maxLeverage: z.number(),
|
|
1131
|
-
onlyIsolated: z.boolean().optional()
|
|
1199
|
+
onlyIsolated: z.boolean().optional(),
|
|
1200
|
+
dex: z.string().optional()
|
|
1132
1201
|
})
|
|
1133
1202
|
),
|
|
1134
1203
|
dexes: z.array(
|
|
@@ -1138,6 +1207,30 @@ var mcpHyperliquidFetchMarketsOutputSchema = z.object({
|
|
|
1138
1207
|
})
|
|
1139
1208
|
)
|
|
1140
1209
|
});
|
|
1210
|
+
var mcpHyperliquidSearchMarketsInputSchema = z.object({
|
|
1211
|
+
chainId: z.number().int().positive(),
|
|
1212
|
+
query: z.string().min(1),
|
|
1213
|
+
dex: z.string().optional(),
|
|
1214
|
+
limit: z.number().int().positive().max(50).optional()
|
|
1215
|
+
});
|
|
1216
|
+
var mcpHyperliquidSearchMarketsOutputSchema = z.object({
|
|
1217
|
+
matches: z.array(
|
|
1218
|
+
z.object({
|
|
1219
|
+
coin: z.string(),
|
|
1220
|
+
symbol: z.string(),
|
|
1221
|
+
dex: z.string().optional(),
|
|
1222
|
+
asset: z.number(),
|
|
1223
|
+
szDecimals: z.number(),
|
|
1224
|
+
maxLeverage: z.number(),
|
|
1225
|
+
onlyIsolated: z.boolean().optional(),
|
|
1226
|
+
displayName: z.string().optional(),
|
|
1227
|
+
category: z.string().optional(),
|
|
1228
|
+
keywords: z.array(z.string()).optional(),
|
|
1229
|
+
matchScore: z.number(),
|
|
1230
|
+
matchReason: z.string()
|
|
1231
|
+
})
|
|
1232
|
+
)
|
|
1233
|
+
});
|
|
1141
1234
|
var mcpHyperliquidFetchOpenContextInputSchema = z.object({
|
|
1142
1235
|
chainId: z.number().int().positive(),
|
|
1143
1236
|
executorAddress: evmAddressSchema,
|
|
@@ -1180,25 +1273,70 @@ var mcpHyperliquidFetchMarketSnapshotInputSchema = z.object({
|
|
|
1180
1273
|
chainId: z.number().int().positive(),
|
|
1181
1274
|
coin: z.string().min(1),
|
|
1182
1275
|
interval: hyperliquidOhlcvIntervalSchema.optional(),
|
|
1183
|
-
dex: z.string().optional()
|
|
1276
|
+
dex: z.string().optional(),
|
|
1277
|
+
/** Recent OHLCV bars to return (default 48, max 200). Live price is always current. */
|
|
1278
|
+
candleLimit: z.number().int().positive().max(200).optional()
|
|
1279
|
+
});
|
|
1280
|
+
var hyperliquidOhlcvCandleSchema = z.object({
|
|
1281
|
+
timestampMs: z.number(),
|
|
1282
|
+
open: z.string(),
|
|
1283
|
+
high: z.string(),
|
|
1284
|
+
low: z.string(),
|
|
1285
|
+
close: z.string(),
|
|
1286
|
+
volume: z.string()
|
|
1287
|
+
});
|
|
1288
|
+
var hyperliquidLivePriceSchema = z.object({
|
|
1289
|
+
markPx: z.string().nullable(),
|
|
1290
|
+
midPx: z.string().nullable(),
|
|
1291
|
+
oraclePx: z.string().nullable(),
|
|
1292
|
+
prevDayPx: z.string().nullable(),
|
|
1293
|
+
midUsd: z.string(),
|
|
1294
|
+
source: z.enum(["midPx", "markPx", "allMids"])
|
|
1184
1295
|
});
|
|
1185
1296
|
var mcpHyperliquidFetchMarketSnapshotOutputSchema = z.object({
|
|
1186
1297
|
snapshot: z.object({
|
|
1187
1298
|
coin: z.string(),
|
|
1188
|
-
|
|
1299
|
+
dex: z.string().nullable(),
|
|
1300
|
+
livePrice: hyperliquidLivePriceSchema,
|
|
1301
|
+
midUsd: z.string(),
|
|
1189
1302
|
fetchedAtMs: z.number(),
|
|
1190
1303
|
interval: hyperliquidOhlcvIntervalSchema,
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1304
|
+
latestCandle: hyperliquidOhlcvCandleSchema.nullable(),
|
|
1305
|
+
candles: z.array(hyperliquidOhlcvCandleSchema),
|
|
1306
|
+
candleCount: z.number()
|
|
1307
|
+
}),
|
|
1308
|
+
resolvedCoin: z.string(),
|
|
1309
|
+
dex: z.string().nullable()
|
|
1310
|
+
});
|
|
1311
|
+
var mcpHyperliquidFetchOhlcvInputSchema = z.object({
|
|
1312
|
+
chainId: z.number().int().positive(),
|
|
1313
|
+
coin: z.string().min(1),
|
|
1314
|
+
interval: hyperliquidOhlcvIntervalSchema.optional(),
|
|
1315
|
+
dex: z.string().optional(),
|
|
1316
|
+
/** Calendar-day lookback ending now (e.g. 7 = last week). Preferred for agent requests. */
|
|
1317
|
+
lookbackDays: z.number().positive().max(90).optional(),
|
|
1318
|
+
/** Hour lookback ending now. Alternative to lookbackDays. */
|
|
1319
|
+
lookbackHours: z.number().positive().max(90 * 24).optional(),
|
|
1320
|
+
/** Explicit range start (ms since epoch). Use with endTimeMs. */
|
|
1321
|
+
startTimeMs: z.number().int().positive().optional(),
|
|
1322
|
+
/** Explicit range end (ms since epoch). Defaults to now. */
|
|
1323
|
+
endTimeMs: z.number().int().positive().optional()
|
|
1324
|
+
});
|
|
1325
|
+
var mcpHyperliquidFetchOhlcvOutputSchema = z.object({
|
|
1326
|
+
ohlcv: z.object({
|
|
1327
|
+
coin: z.string(),
|
|
1328
|
+
dex: z.string().nullable(),
|
|
1329
|
+
interval: hyperliquidOhlcvIntervalSchema,
|
|
1330
|
+
startTimeMs: z.number(),
|
|
1331
|
+
endTimeMs: z.number(),
|
|
1332
|
+
expectedBars: z.number(),
|
|
1333
|
+
candleCount: z.number(),
|
|
1334
|
+
latestCandle: hyperliquidOhlcvCandleSchema.nullable(),
|
|
1335
|
+
candles: z.array(hyperliquidOhlcvCandleSchema),
|
|
1336
|
+
fetchedAtMs: z.number()
|
|
1337
|
+
}),
|
|
1338
|
+
resolvedCoin: z.string(),
|
|
1339
|
+
dex: z.string().nullable()
|
|
1202
1340
|
});
|
|
1203
1341
|
var mcpHyperliquidFetchUsdClassBalancesInputSchema = z.object({
|
|
1204
1342
|
chainId: z.number().int().positive(),
|
|
@@ -1609,6 +1747,87 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
1609
1747
|
handler: { importPath: "protocols/evm/euler-v2", exportName: "buildEvmMultisignBodyEulerV2BorrowCollateralWithdrawBatch" },
|
|
1610
1748
|
inputZod: mcpEulerV2CollateralWithdrawInputSchema
|
|
1611
1749
|
}),
|
|
1750
|
+
defineProtocolMcpTool({
|
|
1751
|
+
name: "ctm_morpho_build_vault_deposit_multisign",
|
|
1752
|
+
actionId: "morpho.vault-deposit",
|
|
1753
|
+
protocolId: "morpho",
|
|
1754
|
+
chainCategory: "evm",
|
|
1755
|
+
description: "Build Morpho vault deposit batch (wrap/approve + deposit). Works with listed V1 and V2 vaults.",
|
|
1756
|
+
prerequisites: [
|
|
1757
|
+
"keyGenId",
|
|
1758
|
+
"chainId",
|
|
1759
|
+
"vaultAddress from ctm_morpho_fetch_earn_vaults",
|
|
1760
|
+
"underlying",
|
|
1761
|
+
"amountHuman"
|
|
1762
|
+
],
|
|
1763
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoVaultDepositBatch" },
|
|
1764
|
+
inputZod: mcpMorphoVaultDepositInputSchema
|
|
1765
|
+
}),
|
|
1766
|
+
defineProtocolMcpTool({
|
|
1767
|
+
name: "ctm_morpho_build_vault_withdraw_multisign",
|
|
1768
|
+
actionId: "morpho.vault-withdraw",
|
|
1769
|
+
protocolId: "morpho",
|
|
1770
|
+
chainCategory: "evm",
|
|
1771
|
+
description: "Build Morpho vault withdraw batch. Works with listed V1 and V2 vaults.",
|
|
1772
|
+
prerequisites: [
|
|
1773
|
+
"keyGenId",
|
|
1774
|
+
"chainId",
|
|
1775
|
+
"vaultAddress from ctm_morpho_fetch_earn_vaults or user positions",
|
|
1776
|
+
"amountHuman"
|
|
1777
|
+
],
|
|
1778
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoVaultWithdraw" },
|
|
1779
|
+
inputZod: mcpMorphoVaultWithdrawInputSchema
|
|
1780
|
+
}),
|
|
1781
|
+
defineProtocolMcpTool({
|
|
1782
|
+
name: "ctm_morpho_build_blue_collateral_deposit_multisign",
|
|
1783
|
+
actionId: "morpho.blue-collateral-deposit",
|
|
1784
|
+
protocolId: "morpho",
|
|
1785
|
+
chainCategory: "evm",
|
|
1786
|
+
description: "Build Morpho Blue supplyCollateral batch.",
|
|
1787
|
+
prerequisites: ["keyGenId", "chainId", "marketId", "collateralToken", "amountHuman"],
|
|
1788
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch" },
|
|
1789
|
+
inputZod: mcpMorphoBlueCollateralDepositInputSchema
|
|
1790
|
+
}),
|
|
1791
|
+
defineProtocolMcpTool({
|
|
1792
|
+
name: "ctm_morpho_build_blue_borrow_multisign",
|
|
1793
|
+
actionId: "morpho.blue-borrow",
|
|
1794
|
+
protocolId: "morpho",
|
|
1795
|
+
chainCategory: "evm",
|
|
1796
|
+
description: "Build Morpho Blue borrow batch.",
|
|
1797
|
+
prerequisites: ["keyGenId", "chainId", "marketId", "loanToken", "amountHuman"],
|
|
1798
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueBorrowBatch" },
|
|
1799
|
+
inputZod: mcpMorphoBlueBorrowInputSchema
|
|
1800
|
+
}),
|
|
1801
|
+
defineProtocolMcpTool({
|
|
1802
|
+
name: "ctm_morpho_build_blue_repay_multisign",
|
|
1803
|
+
actionId: "morpho.blue-repay",
|
|
1804
|
+
protocolId: "morpho",
|
|
1805
|
+
chainCategory: "evm",
|
|
1806
|
+
description: "Build Morpho Blue repay batch.",
|
|
1807
|
+
prerequisites: ["keyGenId", "chainId", "marketId", "loanToken", "amountHuman"],
|
|
1808
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueRepayBatch" },
|
|
1809
|
+
inputZod: mcpMorphoBlueRepayInputSchema
|
|
1810
|
+
}),
|
|
1811
|
+
defineProtocolMcpTool({
|
|
1812
|
+
name: "ctm_morpho_build_blue_collateral_withdraw_multisign",
|
|
1813
|
+
actionId: "morpho.blue-collateral-withdraw",
|
|
1814
|
+
protocolId: "morpho",
|
|
1815
|
+
chainCategory: "evm",
|
|
1816
|
+
description: "Build Morpho Blue withdrawCollateral batch.",
|
|
1817
|
+
prerequisites: ["keyGenId", "chainId", "marketId", "amountHuman"],
|
|
1818
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch" },
|
|
1819
|
+
inputZod: mcpMorphoBlueCollateralWithdrawInputSchema
|
|
1820
|
+
}),
|
|
1821
|
+
defineProtocolMcpTool({
|
|
1822
|
+
name: "ctm_morpho_build_merkl_claim_multisign",
|
|
1823
|
+
actionId: "morpho.merkl-claim",
|
|
1824
|
+
protocolId: "morpho",
|
|
1825
|
+
chainCategory: "evm",
|
|
1826
|
+
description: "Build Morpho Merkl Distributor.claim transaction.",
|
|
1827
|
+
prerequisites: ["keyGenId", "chainId", "claim calldata from Merkl API"],
|
|
1828
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "buildEvmMultisignBodyMorphoMerklDistributorClaim" },
|
|
1829
|
+
inputZod: mcpMorphoMerklClaimInputSchema
|
|
1830
|
+
}),
|
|
1612
1831
|
defineProtocolMcpTool({
|
|
1613
1832
|
name: "ctm_gmx_build_increase_multisign",
|
|
1614
1833
|
actionId: "gmx.increase",
|
|
@@ -2132,19 +2351,31 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2132
2351
|
actionId: "hyperliquid.fetch-markets",
|
|
2133
2352
|
protocolId: "hyperliquid",
|
|
2134
2353
|
chainCategory: "evm",
|
|
2135
|
-
description: "List Hyperliquid perp markets (coin, maxLeverage, szDecimals
|
|
2354
|
+
description: "List Hyperliquid perp markets (native + all HIP-3 dexes when dex omitted). Each market has coin name, maxLeverage, szDecimals, and optional dex (e.g. xyz for xyz:AAPL). chainId 999 mainnet or 998 testnet.",
|
|
2136
2355
|
prerequisites: ["chainId 999 or 998"],
|
|
2137
2356
|
followUp: ["ctm_hyperliquid_fetch_open_context", "ctm_hyperliquid_build_limit_order_multisign"],
|
|
2138
2357
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchMarketsSummary" },
|
|
2139
2358
|
inputZod: mcpHyperliquidFetchMarketsInputSchema,
|
|
2140
2359
|
outputZod: mcpHyperliquidFetchMarketsOutputSchema
|
|
2141
2360
|
}),
|
|
2361
|
+
defineMcpTool({
|
|
2362
|
+
name: "ctm_hyperliquid_search_markets",
|
|
2363
|
+
actionId: "hyperliquid.search-markets",
|
|
2364
|
+
protocolId: "hyperliquid",
|
|
2365
|
+
chainCategory: "evm",
|
|
2366
|
+
description: "Search Hyperliquid perp markets across all dexes by ticker (AAPL, BTC), display name, or keyword (Apple, tesla). Case-insensitive. Returns canonical coin names (e.g. xyz:AAPL).",
|
|
2367
|
+
prerequisites: ["chainId 999 or 998", "query"],
|
|
2368
|
+
followUp: ["ctm_hyperliquid_fetch_open_context", "ctm_hyperliquid_build_limit_order_multisign"],
|
|
2369
|
+
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidSearchMarketsSummary" },
|
|
2370
|
+
inputZod: mcpHyperliquidSearchMarketsInputSchema,
|
|
2371
|
+
outputZod: mcpHyperliquidSearchMarketsOutputSchema
|
|
2372
|
+
}),
|
|
2142
2373
|
defineMcpTool({
|
|
2143
2374
|
name: "ctm_hyperliquid_fetch_open_context",
|
|
2144
2375
|
actionId: "hyperliquid.fetch-open-context",
|
|
2145
2376
|
protocolId: "hyperliquid",
|
|
2146
2377
|
chainCategory: "evm",
|
|
2147
|
-
description: "Per-market trading context: account value, withdrawable, margin used, leverage setting, mark price, available buy/sell size.",
|
|
2378
|
+
description: "Per-market trading context: account value, withdrawable, margin used, leverage setting, mark price, available buy/sell size. Resolves ticker/name (AAPL, Apple) across dexes.",
|
|
2148
2379
|
prerequisites: ["chainId", "executorAddress", "coin from fetch_markets"],
|
|
2149
2380
|
followUp: ["ctm_hyperliquid_build_limit_order_multisign"],
|
|
2150
2381
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchOpenContextSummary" },
|
|
@@ -2180,13 +2411,25 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2180
2411
|
actionId: "hyperliquid.fetch-market-snapshot",
|
|
2181
2412
|
protocolId: "hyperliquid",
|
|
2182
2413
|
chainCategory: "evm",
|
|
2183
|
-
description: "
|
|
2414
|
+
description: "Live mark/mid price plus recent OHLCV candles for a Hyperliquid perp. Uses metaAndAssetCtxs for live prices (not stale candle close). Default interval 15m, 48 bars. Throws if live price unavailable.",
|
|
2184
2415
|
prerequisites: ["chainId", "coin"],
|
|
2185
2416
|
followUp: ["ctm_hyperliquid_fetch_open_context", "ctm_hyperliquid_build_limit_order_multisign"],
|
|
2186
2417
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchMarketSnapshotSummary" },
|
|
2187
2418
|
inputZod: mcpHyperliquidFetchMarketSnapshotInputSchema,
|
|
2188
2419
|
outputZod: mcpHyperliquidFetchMarketSnapshotOutputSchema
|
|
2189
2420
|
}),
|
|
2421
|
+
defineMcpTool({
|
|
2422
|
+
name: "ctm_hyperliquid_fetch_ohlcv",
|
|
2423
|
+
actionId: "hyperliquid.fetch-ohlcv",
|
|
2424
|
+
protocolId: "hyperliquid",
|
|
2425
|
+
chainCategory: "evm",
|
|
2426
|
+
description: "OHLCV candle history for a Hyperliquid perp over an explicit lookback or time range. Requests only the needed window from Hyperliquid (e.g. lookbackDays: 7, interval: 15m \u2192 ~672 bars). Max 2000 bars \u2014 use coarser interval for longer history. Resolves ticker/name across dexes.",
|
|
2427
|
+
prerequisites: ["chainId 999 or 998", "coin", "lookbackDays or lookbackHours or startTimeMs"],
|
|
2428
|
+
followUp: ["ctm_hyperliquid_fetch_market_snapshot", "ctm_hyperliquid_build_limit_order_multisign"],
|
|
2429
|
+
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchOhlcvSummary" },
|
|
2430
|
+
inputZod: mcpHyperliquidFetchOhlcvInputSchema,
|
|
2431
|
+
outputZod: mcpHyperliquidFetchOhlcvOutputSchema
|
|
2432
|
+
}),
|
|
2190
2433
|
defineMcpTool({
|
|
2191
2434
|
name: "ctm_hyperliquid_fetch_usd_class_balances",
|
|
2192
2435
|
actionId: "hyperliquid.fetch-usd-balances",
|
|
@@ -2246,6 +2489,21 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
2246
2489
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchDelegationsForExecutor" },
|
|
2247
2490
|
inputZod: mcpHyperliquidFetchDelegationsInputSchema,
|
|
2248
2491
|
outputZod: mcpHyperliquidFetchDelegationsOutputSchema
|
|
2492
|
+
}),
|
|
2493
|
+
defineMcpTool({
|
|
2494
|
+
name: "ctm_morpho_fetch_earn_vaults",
|
|
2495
|
+
actionId: "morpho.fetch-earn-vaults",
|
|
2496
|
+
protocolId: "morpho",
|
|
2497
|
+
chainCategory: "evm",
|
|
2498
|
+
description: "Morpho-listed earn vaults (V1 + V2 unified). Filter by deposit asset symbol/address and/or case-insensitive vault name search. Returns vaultAddress for deposit/withdraw multisign tools.",
|
|
2499
|
+
prerequisites: ["chainId"],
|
|
2500
|
+
followUp: [
|
|
2501
|
+
"ctm_morpho_build_vault_deposit_multisign",
|
|
2502
|
+
"ctm_morpho_build_vault_withdraw_multisign"
|
|
2503
|
+
],
|
|
2504
|
+
handler: { importPath: "protocols/evm/morpho", exportName: "morphoFetchEarnVaultsSummary" },
|
|
2505
|
+
inputZod: mcpMorphoFetchEarnVaultsInputSchema,
|
|
2506
|
+
outputZod: mcpMorphoFetchEarnVaultsOutputSchema
|
|
2249
2507
|
})
|
|
2250
2508
|
];
|
|
2251
2509
|
var MCP_TOOL_DEFINITIONS = [
|
|
@@ -2472,7 +2730,30 @@ registerProtocolModule(ethenaProtocolModule);
|
|
|
2472
2730
|
function isMapleSyrupSupportedChain(chainId) {
|
|
2473
2731
|
return chainId === 1 || chainId === 11155111;
|
|
2474
2732
|
}
|
|
2733
|
+
|
|
2734
|
+
// src/core/defiProxy.ts
|
|
2735
|
+
var aaveGraphqlProxyUrl;
|
|
2736
|
+
var morphoGraphqlProxyUrl;
|
|
2737
|
+
function getAaveGraphqlProxyUrl() {
|
|
2738
|
+
return aaveGraphqlProxyUrl;
|
|
2739
|
+
}
|
|
2740
|
+
function getMorphoGraphqlProxyUrl() {
|
|
2741
|
+
return morphoGraphqlProxyUrl;
|
|
2742
|
+
}
|
|
2475
2743
|
async function postJsonViaOptionalProxy(args) {
|
|
2744
|
+
const proxy = args.proxyUrl?.trim();
|
|
2745
|
+
if (proxy) {
|
|
2746
|
+
const r2 = await fetch(proxy, {
|
|
2747
|
+
method: "POST",
|
|
2748
|
+
headers: { "content-type": "application/json" },
|
|
2749
|
+
body: JSON.stringify(args.proxyEnvelope ?? args.body)
|
|
2750
|
+
});
|
|
2751
|
+
if (!r2.ok) {
|
|
2752
|
+
const t = await r2.text().catch(() => "");
|
|
2753
|
+
throw new Error(t ? `Proxy HTTP ${r2.status}: ${t.slice(0, 200)}` : `Proxy HTTP ${r2.status}`);
|
|
2754
|
+
}
|
|
2755
|
+
return await r2.json();
|
|
2756
|
+
}
|
|
2476
2757
|
const r = await fetch(args.directUrl, {
|
|
2477
2758
|
method: "POST",
|
|
2478
2759
|
headers: { "content-type": "application/json" },
|
|
@@ -2535,7 +2816,10 @@ async function aaveV4Gql(query, variables) {
|
|
|
2535
2816
|
const body = { query, variables: variables ?? {} };
|
|
2536
2817
|
const j = await postJsonViaOptionalProxy({
|
|
2537
2818
|
directUrl: AAVE_V4_GRAPHQL_URL,
|
|
2538
|
-
body
|
|
2819
|
+
body,
|
|
2820
|
+
proxyUrl: getAaveGraphqlProxyUrl(),
|
|
2821
|
+
proxyEnvelope: body
|
|
2822
|
+
});
|
|
2539
2823
|
if (j.errors?.length) {
|
|
2540
2824
|
const msg = j.errors.map((e) => e.message ?? "Unknown").join("; ");
|
|
2541
2825
|
throw new Error(msg);
|
|
@@ -3008,6 +3292,175 @@ var hyperliquidProtocolModule = {
|
|
|
3008
3292
|
]
|
|
3009
3293
|
};
|
|
3010
3294
|
registerProtocolModule(hyperliquidProtocolModule);
|
|
3295
|
+
var MORPHO_GRAPHQL_URL = "https://api.morpho.org/graphql";
|
|
3296
|
+
async function morphoGql(query, variables) {
|
|
3297
|
+
const body = { query, variables: variables ?? {} };
|
|
3298
|
+
const j = await postJsonViaOptionalProxy({
|
|
3299
|
+
directUrl: MORPHO_GRAPHQL_URL,
|
|
3300
|
+
body,
|
|
3301
|
+
proxyUrl: getMorphoGraphqlProxyUrl(),
|
|
3302
|
+
proxyEnvelope: body
|
|
3303
|
+
});
|
|
3304
|
+
if (j.errors?.length) {
|
|
3305
|
+
const msg = j.errors.map((e) => e.message ?? "Unknown").join("; ");
|
|
3306
|
+
throw new Error(msg);
|
|
3307
|
+
}
|
|
3308
|
+
if (j.data == null) throw new Error("Morpho API: empty response");
|
|
3309
|
+
return j.data;
|
|
3310
|
+
}
|
|
3311
|
+
async function fetchMorphoChains() {
|
|
3312
|
+
const d = await morphoGql(`
|
|
3313
|
+
query { chains { id network } }
|
|
3314
|
+
`);
|
|
3315
|
+
return d.chains ?? [];
|
|
3316
|
+
}
|
|
3317
|
+
async function loadMorphoSupportedChainIds() {
|
|
3318
|
+
const rows = await fetchMorphoChains();
|
|
3319
|
+
const s = /* @__PURE__ */ new Set();
|
|
3320
|
+
for (const c of rows) {
|
|
3321
|
+
if (typeof c.id === "number" && Number.isFinite(c.id)) s.add(c.id);
|
|
3322
|
+
}
|
|
3323
|
+
return s;
|
|
3324
|
+
}
|
|
3325
|
+
var VAULT_PAGE_SIZE = 100;
|
|
3326
|
+
async function fetchMorphoVaultsForChain(chainId, first = 100) {
|
|
3327
|
+
const d = await morphoGql(
|
|
3328
|
+
`
|
|
3329
|
+
query MorphoVaults($chainId: Int!, $first: Int!) {
|
|
3330
|
+
vaults(first: $first, where: { chainId_in: [$chainId], listed: true }, orderBy: TotalAssetsUsd, orderDirection: Desc) {
|
|
3331
|
+
items {
|
|
3332
|
+
address symbol name listed
|
|
3333
|
+
asset { address symbol decimals price { usd } }
|
|
3334
|
+
chain { id }
|
|
3335
|
+
state { apy netApy fee totalAssetsUsd allRewards { supplyApr asset { address symbol } } }
|
|
3336
|
+
}
|
|
3337
|
+
}
|
|
3338
|
+
}
|
|
3339
|
+
`,
|
|
3340
|
+
{ chainId, first }
|
|
3341
|
+
);
|
|
3342
|
+
return d.vaults?.items ?? [];
|
|
3343
|
+
}
|
|
3344
|
+
async function fetchMorphoVaultV2sForChain(chainId, first = 100, skip = 0) {
|
|
3345
|
+
const d = await morphoGql(
|
|
3346
|
+
`
|
|
3347
|
+
query MorphoVaultV2s($chainId: Int!, $first: Int!, $skip: Int!) {
|
|
3348
|
+
vaultV2s(
|
|
3349
|
+
first: $first
|
|
3350
|
+
skip: $skip
|
|
3351
|
+
where: { chainId_in: [$chainId], listed: true }
|
|
3352
|
+
orderBy: TotalAssetsUsd
|
|
3353
|
+
orderDirection: Desc
|
|
3354
|
+
) {
|
|
3355
|
+
items {
|
|
3356
|
+
address symbol name listed
|
|
3357
|
+
asset { address symbol decimals price { usd } }
|
|
3358
|
+
chain { id }
|
|
3359
|
+
apy netApy performanceFee managementFee totalAssetsUsd
|
|
3360
|
+
rewards { supplyApr asset { address symbol } }
|
|
3361
|
+
}
|
|
3362
|
+
}
|
|
3363
|
+
}
|
|
3364
|
+
`,
|
|
3365
|
+
{ chainId, first, skip }
|
|
3366
|
+
);
|
|
3367
|
+
return d.vaultV2s?.items ?? [];
|
|
3368
|
+
}
|
|
3369
|
+
async function fetchAllMorphoVaultV2AssetAddresses(chainId) {
|
|
3370
|
+
const out = /* @__PURE__ */ new Set();
|
|
3371
|
+
let skip = 0;
|
|
3372
|
+
for (let page = 0; page < 20; page++) {
|
|
3373
|
+
const batch = await fetchMorphoVaultV2sForChain(chainId, VAULT_PAGE_SIZE, skip);
|
|
3374
|
+
if (!batch.length) break;
|
|
3375
|
+
for (const v of batch) {
|
|
3376
|
+
const a = (v.asset?.address ?? "").trim();
|
|
3377
|
+
if (isAddress(a)) out.add(getAddress(a).toLowerCase());
|
|
3378
|
+
}
|
|
3379
|
+
if (batch.length < VAULT_PAGE_SIZE) break;
|
|
3380
|
+
skip += VAULT_PAGE_SIZE;
|
|
3381
|
+
}
|
|
3382
|
+
return out;
|
|
3383
|
+
}
|
|
3384
|
+
var chainAssetCache = /* @__PURE__ */ new Map();
|
|
3385
|
+
async function ensureMorphoChainAssetCache(chainId) {
|
|
3386
|
+
const hit = chainAssetCache.get(chainId);
|
|
3387
|
+
if (hit) return hit;
|
|
3388
|
+
const modes = /* @__PURE__ */ new Map();
|
|
3389
|
+
const [v1Vaults, v2Assets] = await Promise.all([
|
|
3390
|
+
fetchMorphoVaultsForChain(chainId, 300),
|
|
3391
|
+
fetchAllMorphoVaultV2AssetAddresses(chainId)
|
|
3392
|
+
]);
|
|
3393
|
+
for (const v of v1Vaults) {
|
|
3394
|
+
const a = (v.asset?.address ?? "").trim();
|
|
3395
|
+
if (!isAddress(a)) continue;
|
|
3396
|
+
const k = getAddress(a).toLowerCase();
|
|
3397
|
+
const prev = modes.get(k) ?? { earn: false, borrow: false, collateral: false };
|
|
3398
|
+
prev.earn = true;
|
|
3399
|
+
modes.set(k, prev);
|
|
3400
|
+
}
|
|
3401
|
+
for (const k of v2Assets) {
|
|
3402
|
+
const prev = modes.get(k) ?? { earn: false, borrow: false, collateral: false };
|
|
3403
|
+
prev.earn = true;
|
|
3404
|
+
modes.set(k, prev);
|
|
3405
|
+
}
|
|
3406
|
+
const marketsD = await morphoGql(
|
|
3407
|
+
`
|
|
3408
|
+
query MorphoMarketsAssets($chainId: Int!) {
|
|
3409
|
+
markets(first: 500, where: { chainId_in: [$chainId] }) {
|
|
3410
|
+
items {
|
|
3411
|
+
loanAsset { address }
|
|
3412
|
+
collateralAsset { address }
|
|
3413
|
+
}
|
|
3414
|
+
}
|
|
3415
|
+
}
|
|
3416
|
+
`,
|
|
3417
|
+
{ chainId }
|
|
3418
|
+
);
|
|
3419
|
+
for (const m of marketsD.markets?.items ?? []) {
|
|
3420
|
+
const loanAddr = (m.loanAsset?.address ?? "").trim();
|
|
3421
|
+
const colAddr = (m.collateralAsset?.address ?? "").trim();
|
|
3422
|
+
if (isAddress(loanAddr)) {
|
|
3423
|
+
const k = getAddress(loanAddr).toLowerCase();
|
|
3424
|
+
const prev = modes.get(k) ?? { earn: false, borrow: false, collateral: false };
|
|
3425
|
+
prev.borrow = true;
|
|
3426
|
+
modes.set(k, prev);
|
|
3427
|
+
}
|
|
3428
|
+
if (isAddress(colAddr)) {
|
|
3429
|
+
const k = getAddress(colAddr).toLowerCase();
|
|
3430
|
+
const prev = modes.get(k) ?? { earn: false, borrow: false, collateral: false };
|
|
3431
|
+
prev.collateral = true;
|
|
3432
|
+
modes.set(k, prev);
|
|
3433
|
+
}
|
|
3434
|
+
}
|
|
3435
|
+
const cache = { modesByUnderlying: modes, nativeWrapped: null };
|
|
3436
|
+
chainAssetCache.set(chainId, cache);
|
|
3437
|
+
return cache;
|
|
3438
|
+
}
|
|
3439
|
+
|
|
3440
|
+
// src/protocols/evm/morpho/index.ts
|
|
3441
|
+
var MORPHO_PROTOCOL_ID = "morpho";
|
|
3442
|
+
var morphoProtocolModule = {
|
|
3443
|
+
id: MORPHO_PROTOCOL_ID,
|
|
3444
|
+
chainCategory: "evm",
|
|
3445
|
+
isChainSupported(ctx) {
|
|
3446
|
+
return ctx.chainCategory === "evm";
|
|
3447
|
+
},
|
|
3448
|
+
isTokenSupported(token) {
|
|
3449
|
+
return token.category === "evm" && (token.kind === "native" || token.kind === "erc20");
|
|
3450
|
+
},
|
|
3451
|
+
actions: [
|
|
3452
|
+
{ id: "morpho.fetch-earn-vaults", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Search Morpho-listed earn vaults by asset or name", commonParams: [], params: {} },
|
|
3453
|
+
{ 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: {} },
|
|
3454
|
+
{ id: "morpho.vault-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw from Morpho earn vault (V1 or V2)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
3455
|
+
{ id: "morpho.blue-collateral-deposit", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Supply collateral to Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
3456
|
+
{ id: "morpho.blue-borrow", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Borrow from Morpho Blue market", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
3457
|
+
{ id: "morpho.blue-repay", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Repay Morpho Blue borrow", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
3458
|
+
{ id: "morpho.blue-collateral-withdraw", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Withdraw Morpho Blue collateral", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
3459
|
+
{ id: "morpho.merkl-claim", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Claim Morpho Merkl rewards", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} },
|
|
3460
|
+
{ id: "morpho.midnight-borrow", protocolId: MORPHO_PROTOCOL_ID, chainCategory: "evm", description: "Morpho Midnight fixed-rate borrow (coming soon)", commonParams: ["keyGen", "purposeText", "useCustomGas"], params: {} }
|
|
3461
|
+
]
|
|
3462
|
+
};
|
|
3463
|
+
registerProtocolModule(morphoProtocolModule);
|
|
3011
3464
|
var skillsDir = join(dirname(fileURLToPath(import.meta.url)), "skills");
|
|
3012
3465
|
var SKILL_PROTOCOL_IDS = [
|
|
3013
3466
|
"aave-v4",
|
|
@@ -3019,7 +3472,8 @@ var SKILL_PROTOCOL_IDS = [
|
|
|
3019
3472
|
"maple-syrup",
|
|
3020
3473
|
"sky",
|
|
3021
3474
|
"gmx",
|
|
3022
|
-
"hyperliquid"
|
|
3475
|
+
"hyperliquid",
|
|
3476
|
+
"morpho"
|
|
3023
3477
|
];
|
|
3024
3478
|
function getToolsForProtocol(protocolId) {
|
|
3025
3479
|
return MCP_TOOL_DEFINITIONS.filter((t) => t.protocolId === protocolId);
|
|
@@ -3233,6 +3687,37 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
3233
3687
|
return { tokens: [] };
|
|
3234
3688
|
}
|
|
3235
3689
|
}),
|
|
3690
|
+
morpho: advisor("morpho", "api_underlyings", {
|
|
3691
|
+
async supportedChainIds() {
|
|
3692
|
+
const set = await loadMorphoSupportedChainIds();
|
|
3693
|
+
return [...set].sort((a, b) => a - b);
|
|
3694
|
+
},
|
|
3695
|
+
async supportedTokens(chainId) {
|
|
3696
|
+
const cache = await ensureMorphoChainAssetCache(chainId);
|
|
3697
|
+
const tokens = [...cache.modesByUnderlying.entries()].map(([address, modes]) => ({
|
|
3698
|
+
address,
|
|
3699
|
+
roles: [
|
|
3700
|
+
...modes.earn ? ["vault_underlying"] : [],
|
|
3701
|
+
...modes.borrow ? ["loan"] : [],
|
|
3702
|
+
...modes.collateral ? ["collateral"] : []
|
|
3703
|
+
]
|
|
3704
|
+
}));
|
|
3705
|
+
return {
|
|
3706
|
+
tokens,
|
|
3707
|
+
notes: "Morpho vault assets and Blue market loan/collateral tokens from api.morpho.org."
|
|
3708
|
+
};
|
|
3709
|
+
},
|
|
3710
|
+
async isTokenSupported(chainId, address) {
|
|
3711
|
+
const cache = await ensureMorphoChainAssetCache(chainId);
|
|
3712
|
+
let normalized;
|
|
3713
|
+
try {
|
|
3714
|
+
normalized = getAddress(address).toLowerCase();
|
|
3715
|
+
} catch {
|
|
3716
|
+
return false;
|
|
3717
|
+
}
|
|
3718
|
+
return cache.modesByUnderlying.has(normalized);
|
|
3719
|
+
}
|
|
3720
|
+
}),
|
|
3236
3721
|
"euler-v2": advisor("euler-v2", "subgraph_vaults", {
|
|
3237
3722
|
async supportedChainIds() {
|
|
3238
3723
|
return [...EULER_V2_SUBGRAPH_CHAIN_IDS];
|
|
@@ -3314,6 +3799,7 @@ registerProtocolModule(aaveV4ProtocolModule);
|
|
|
3314
3799
|
registerProtocolModule(eulerV2ProtocolModule);
|
|
3315
3800
|
registerProtocolModule(gmxProtocolModule);
|
|
3316
3801
|
registerProtocolModule(hyperliquidProtocolModule);
|
|
3802
|
+
registerProtocolModule(morphoProtocolModule);
|
|
3317
3803
|
function getAgentCatalog() {
|
|
3318
3804
|
return {
|
|
3319
3805
|
protocols: getProtocolModules(),
|
|
@@ -3332,11 +3818,12 @@ function getAgentCatalog() {
|
|
|
3332
3818
|
eulerV2: eulerV2ProtocolModule,
|
|
3333
3819
|
gmx: gmxProtocolModule,
|
|
3334
3820
|
hyperliquid: hyperliquidProtocolModule,
|
|
3821
|
+
morpho: morphoProtocolModule,
|
|
3335
3822
|
/** Prefer getAgentCatalogForMcp() or getMcpToolDefinitions() for MCP servers. */
|
|
3336
3823
|
mcp: getAgentCatalogForMcp()
|
|
3337
3824
|
};
|
|
3338
3825
|
}
|
|
3339
3826
|
|
|
3340
|
-
export { EVM_COMMON_PARAM_DOCS, MANAGEMENT_SIG_DOC, MCP_NON_SUBMIT_TOOL_NAMES, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, MULTISIGN_SUBMIT_OUTPUT_DOC, PROTOCOL_SUPPORT_ADVISORS, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleRequestRedeemInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, multisignOutputSchema, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
3827
|
+
export { EVM_COMMON_PARAM_DOCS, MANAGEMENT_SIG_DOC, MCP_NON_SUBMIT_TOOL_NAMES, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, MULTISIGN_SUBMIT_OUTPUT_DOC, PROTOCOL_SUPPORT_ADVISORS, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpMapleDepositInputSchema, mcpMapleRequestRedeemInputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, multisignOutputSchema, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
3341
3828
|
//# sourceMappingURL=catalog.js.map
|
|
3342
3829
|
//# sourceMappingURL=catalog.js.map
|