@continuumdao/ctm-mpc-defi 0.2.33 → 0.2.35
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 +712 -44
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +1630 -244
- package/dist/agent/catalog.js +678 -45
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/aave-v4/SKILL.md +19 -4
- package/dist/agent/skills/aerodrome/SKILL.md +2 -2
- package/dist/agent/skills/compound-v3/SKILL.md +2 -2
- package/dist/agent/skills/curve-dao/SKILL.md +14 -0
- package/dist/agent/skills/ethena/SKILL.md +3 -1
- package/dist/agent/skills/euler-v2/SKILL.md +1 -1
- package/dist/agent/skills/gmx/SKILL.md +1 -1
- package/dist/agent/skills/hyperliquid/SKILL.md +7 -5
- package/dist/agent/skills/lido/SKILL.md +3 -0
- package/dist/agent/skills/maple-syrup/SKILL.md +35 -3
- package/dist/agent/skills/morpho/SKILL.md +1 -1
- package/dist/agent/skills/sky/SKILL.md +2 -0
- package/dist/agent/skills/yield-compare/SKILL.md +78 -0
- package/dist/index.cjs +129 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +129 -27
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aave-v4/index.cjs +170 -0
- package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/aave-v4/index.d.ts +59 -1
- package/dist/protocols/evm/aave-v4/index.js +164 -1
- package/dist/protocols/evm/aave-v4/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs +1308 -901
- package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
- package/dist/protocols/evm/aerodrome/index.d.ts +69 -2
- package/dist/protocols/evm/aerodrome/index.js +1217 -807
- package/dist/protocols/evm/aerodrome/index.js.map +1 -1
- package/dist/protocols/evm/compound-v3/index.cjs +82 -6
- package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
- package/dist/protocols/evm/compound-v3/index.d.ts +89 -1
- package/dist/protocols/evm/compound-v3/index.js +80 -7
- package/dist/protocols/evm/compound-v3/index.js.map +1 -1
- package/dist/protocols/evm/curve-dao/index.cjs +447 -18
- package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/curve-dao/index.d.ts +108 -1
- package/dist/protocols/evm/curve-dao/index.js +440 -19
- package/dist/protocols/evm/curve-dao/index.js.map +1 -1
- package/dist/protocols/evm/ethena/index.cjs +89 -0
- package/dist/protocols/evm/ethena/index.cjs.map +1 -1
- package/dist/protocols/evm/ethena/index.d.ts +17 -1
- package/dist/protocols/evm/ethena/index.js +89 -2
- package/dist/protocols/evm/ethena/index.js.map +1 -1
- package/dist/protocols/evm/euler-v2/index.cjs +41 -6
- package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
- package/dist/protocols/evm/euler-v2/index.d.ts +21 -1
- package/dist/protocols/evm/euler-v2/index.js +41 -7
- package/dist/protocols/evm/euler-v2/index.js.map +1 -1
- package/dist/protocols/evm/gmx/index.cjs +83 -1
- package/dist/protocols/evm/gmx/index.cjs.map +1 -1
- package/dist/protocols/evm/gmx/index.d.ts +22 -2
- package/dist/protocols/evm/gmx/index.js +80 -2
- package/dist/protocols/evm/gmx/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.cjs +67 -11
- package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.d.ts +39 -2
- package/dist/protocols/evm/hyperliquid/index.js +64 -12
- package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
- package/dist/protocols/evm/lido/index.cjs +13 -0
- package/dist/protocols/evm/lido/index.cjs.map +1 -1
- package/dist/protocols/evm/lido/index.d.ts +9 -1
- package/dist/protocols/evm/lido/index.js +13 -1
- package/dist/protocols/evm/lido/index.js.map +1 -1
- package/dist/protocols/evm/maple/index.cjs +129 -1
- package/dist/protocols/evm/maple/index.cjs.map +1 -1
- package/dist/protocols/evm/maple/index.d.ts +45 -1
- package/dist/protocols/evm/maple/index.js +124 -3
- package/dist/protocols/evm/maple/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +34 -7
- package/dist/protocols/evm/morpho/index.cjs.map +1 -1
- package/dist/protocols/evm/morpho/index.d.ts +23 -1
- package/dist/protocols/evm/morpho/index.js +34 -8
- package/dist/protocols/evm/morpho/index.js.map +1 -1
- package/dist/protocols/evm/sky/index.cjs +52 -0
- package/dist/protocols/evm/sky/index.cjs.map +1 -1
- package/dist/protocols/evm/sky/index.d.ts +16 -1
- package/dist/protocols/evm/sky/index.js +50 -1
- package/dist/protocols/evm/sky/index.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/catalog.cjs
CHANGED
|
@@ -379,6 +379,98 @@ var init_midnightApi = __esm({
|
|
|
379
379
|
init_midnightConstants();
|
|
380
380
|
}
|
|
381
381
|
});
|
|
382
|
+
function isAerodromeChainSupported(chainId) {
|
|
383
|
+
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
384
|
+
return n === AERODROME_CHAIN_ID;
|
|
385
|
+
}
|
|
386
|
+
var AERODROME_PROTOCOL_ID, AERODROME_CHAIN_ID, AERODROME_WETH_BASE, AERODROME_USDC_BASE;
|
|
387
|
+
var init_support2 = __esm({
|
|
388
|
+
"src/protocols/evm/aerodrome/support.ts"() {
|
|
389
|
+
AERODROME_PROTOCOL_ID = "aerodrome";
|
|
390
|
+
AERODROME_CHAIN_ID = 8453;
|
|
391
|
+
AERODROME_WETH_BASE = "0x4200000000000000000000000000000000000006";
|
|
392
|
+
AERODROME_USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
var AERODROME_BASE_ADDRESSES_FALLBACK;
|
|
396
|
+
var init_addresses = __esm({
|
|
397
|
+
"src/protocols/evm/aerodrome/addresses.ts"() {
|
|
398
|
+
init_support2();
|
|
399
|
+
AERODROME_BASE_ADDRESSES_FALLBACK = {
|
|
400
|
+
chainId: AERODROME_CHAIN_ID,
|
|
401
|
+
aero: "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
402
|
+
router: "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43",
|
|
403
|
+
poolFactory: "0x420DD381b31aEf6683db6B902084cB0FFECe40Da",
|
|
404
|
+
factoryRegistry: "0x5C3F18F06CC09CA1910767A34a20F771039E37C0",
|
|
405
|
+
voter: "0x16613524e02ad97eDfeF371bC883F2F5d6C480A5",
|
|
406
|
+
votingEscrow: "0xeBf418Fe2512e7E6bd9b87a8F0f294aCDC67e6B4",
|
|
407
|
+
rewardsDistributor: "0x227f65131A261548b057215bB1D5Ab2997964C7d",
|
|
408
|
+
mixedQuoter: "0x0A5aA5D3a4d28014f967Bf0f29EAA3FF9807D5c6",
|
|
409
|
+
/** MixedRouteQuoterV3 — v2 + all three CL factories (bitmask path encoding). */
|
|
410
|
+
mixedQuoterV3: "0xCd2A7D98e82D6107eac1828ce8DeAA6acB65b555",
|
|
411
|
+
nfpm: "0x827922686190790b37229fd06084350E74485b72",
|
|
412
|
+
/** Oldest Slipstream CL factory (Gauges V1). Path bit 1<<20. */
|
|
413
|
+
clFactory: "0x5e7BB104d84c7CB9B682AaC2F3d509f5F406809A",
|
|
414
|
+
/** Slipstream CL factory 2 (gauge caps). Raw tickSpacing in MixedQuoterV3. */
|
|
415
|
+
clFactory2: "0xaDe65c38CD4849aDBA595a4323a8C7DdfE89716a",
|
|
416
|
+
/** Newest Slipstream CL factory (Gauges V3) — Coinbase B20 stock pools. Path bit 1<<19. */
|
|
417
|
+
clFactory3: "0xf8f2eB4940CFE7d13603DDDD87f123820Fc061Ef",
|
|
418
|
+
universalRouter: "0x6Cb442acF35158D5eDa88fe602221b67B400Be3E",
|
|
419
|
+
swapRouter: "0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5",
|
|
420
|
+
swapRouter2: "0xcbBb8035cAc7D4B3Ca7aBb74cF7BdF900215Ce0D",
|
|
421
|
+
swapRouter3: "0x698Cb2b6dd822994581fEa6eA4Fc755d1363A92F",
|
|
422
|
+
pricesOracle: "0xee717411f6E44F9feE011835C8E6FAaC5dEfF166",
|
|
423
|
+
slipstreamHelper: "0x0AD09A66af0154a84e86F761313d02d0abB6edd5",
|
|
424
|
+
lpSugar: "0x69dD9db6d8f8E7d83887A704f447b1a584b599A1",
|
|
425
|
+
sugarSlipstreamHelper: "0x9c62ab10577fB3C20A22E231b7703Ed6D456CC7a",
|
|
426
|
+
swapper: "0x91616a7B9CF6D23f8C17845581051EBdC4BcB916",
|
|
427
|
+
weth: AERODROME_WETH_BASE
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
var AERODROME_COINBASE_STOCK_TOKENS, AERODROME_COINBASE_STOCK_DECIMALS;
|
|
432
|
+
var init_stockTokens = __esm({
|
|
433
|
+
"src/protocols/evm/aerodrome/stockTokens.ts"() {
|
|
434
|
+
AERODROME_COINBASE_STOCK_TOKENS = [
|
|
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;
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
var init_discover = __esm({
|
|
453
|
+
"src/protocols/evm/aerodrome/discover.ts"() {
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
var init_yields = __esm({
|
|
457
|
+
"src/protocols/evm/aerodrome/yields.ts"() {
|
|
458
|
+
init_addresses();
|
|
459
|
+
init_support2();
|
|
460
|
+
new Set(
|
|
461
|
+
[
|
|
462
|
+
AERODROME_WETH_BASE,
|
|
463
|
+
AERODROME_USDC_BASE,
|
|
464
|
+
AERODROME_BASE_ADDRESSES_FALLBACK.aero,
|
|
465
|
+
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
466
|
+
"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
467
|
+
"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",
|
|
468
|
+
"0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
|
|
469
|
+
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"
|
|
470
|
+
].map((a) => a.toLowerCase())
|
|
471
|
+
);
|
|
472
|
+
}
|
|
473
|
+
});
|
|
382
474
|
|
|
383
475
|
// src/core/registry.ts
|
|
384
476
|
var modules = [];
|
|
@@ -746,6 +838,22 @@ var curveDaoProtocolModule = {
|
|
|
746
838
|
amountHuman: { type: "string", required: true, description: "Human-readable input amount" },
|
|
747
839
|
slippagePercent: { type: "number", required: true, description: "Slippage percent (0\u2013100 exclusive)" }
|
|
748
840
|
}
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
id: "curve-dao.add-liquidity",
|
|
844
|
+
protocolId: CURVE_DAO_PROTOCOL_ID,
|
|
845
|
+
chainCategory: "evm",
|
|
846
|
+
description: "Add liquidity to an important Curve pool (optional gauge stake)",
|
|
847
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
848
|
+
params: {}
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
id: "curve-dao.remove-liquidity",
|
|
852
|
+
protocolId: CURVE_DAO_PROTOCOL_ID,
|
|
853
|
+
chainCategory: "evm",
|
|
854
|
+
description: "Remove liquidity from an important Curve pool",
|
|
855
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
856
|
+
params: {}
|
|
749
857
|
}
|
|
750
858
|
]
|
|
751
859
|
};
|
|
@@ -1726,6 +1834,54 @@ var mcpCurveDaoBuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
1726
1834
|
})
|
|
1727
1835
|
)
|
|
1728
1836
|
);
|
|
1837
|
+
var mcpCurveDaoFetchImportantPoolsInputSchema = zod.z.object({
|
|
1838
|
+
chainId: agentEvmChainIdSchema,
|
|
1839
|
+
query: zod.z.string().trim().min(1).optional().describe("Optional shrink filter on name, address, or coin symbol.")
|
|
1840
|
+
});
|
|
1841
|
+
var mcpCurveDaoFetchImportantPoolsOutputSchema = jsonObjectSchema.describe(
|
|
1842
|
+
"{ chainId, pools[] (id, address, name, coins, tvlUsd, baseApy, gaugeCrvApy, gaugeAddress), notes }. Hard cap ~100. Not a factory dump."
|
|
1843
|
+
);
|
|
1844
|
+
var mcpCurveDaoFetchLpYieldsInputSchema = mcpCurveDaoFetchImportantPoolsInputSchema.extend({
|
|
1845
|
+
pool: zod.z.string().trim().min(1).optional().describe("Optional pool address or id to shrink the set.")
|
|
1846
|
+
});
|
|
1847
|
+
var mcpCurveDaoFetchLpYieldsOutputSchema = mcpCurveDaoFetchImportantPoolsOutputSchema;
|
|
1848
|
+
var mcpCurveDaoQuoteAddLiquidityInputSchema = zod.z.object({
|
|
1849
|
+
chainId: agentEvmChainIdSchema,
|
|
1850
|
+
rpcUrl: zod.z.string().min(1).optional(),
|
|
1851
|
+
pool: zod.z.string().min(1).describe("Pool address or id from ctm_curve_dao_fetch_important_pools"),
|
|
1852
|
+
amountsHuman: zod.z.array(zod.z.string().min(1)).min(1).describe("Human amounts per underlying coin, same order as coins[]"),
|
|
1853
|
+
stakeInGauge: zod.z.boolean().optional().describe("If true, quote assumes LP is staked for gauge_crv_apy")
|
|
1854
|
+
});
|
|
1855
|
+
var mcpCurveDaoQuoteAddLiquidityOutputSchema = jsonObjectSchema;
|
|
1856
|
+
var mcpCurveDaoQuoteRemoveLiquidityInputSchema = zod.z.object({
|
|
1857
|
+
chainId: agentEvmChainIdSchema,
|
|
1858
|
+
rpcUrl: zod.z.string().min(1).optional(),
|
|
1859
|
+
pool: zod.z.string().min(1),
|
|
1860
|
+
lpAmountHuman: zod.z.string().min(1)
|
|
1861
|
+
});
|
|
1862
|
+
var mcpCurveDaoQuoteRemoveLiquidityOutputSchema = jsonObjectSchema;
|
|
1863
|
+
var mcpCurveDaoBuildAddLiquidityMultisignInputSchema = withMultisignKeySourceRefine(
|
|
1864
|
+
evmMultisignCommonInputSchema.extend({
|
|
1865
|
+
pool: zod.z.string().min(1),
|
|
1866
|
+
amountsHuman: zod.z.array(zod.z.string()).min(1),
|
|
1867
|
+
slippagePercent: zod.z.number().gt(0).lt(100),
|
|
1868
|
+
stakeInGauge: zod.z.boolean().optional()
|
|
1869
|
+
})
|
|
1870
|
+
);
|
|
1871
|
+
var mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema = withMultisignKeySourceRefine(
|
|
1872
|
+
evmMultisignCommonInputSchema.extend({
|
|
1873
|
+
pool: zod.z.string().min(1),
|
|
1874
|
+
lpAmountHuman: zod.z.string().min(1),
|
|
1875
|
+
slippagePercent: zod.z.number().gt(0).lt(100)
|
|
1876
|
+
})
|
|
1877
|
+
);
|
|
1878
|
+
var mcpCurveDaoBuildGaugeDepositMultisignInputSchema = withMultisignKeySourceRefine(
|
|
1879
|
+
evmMultisignCommonInputSchema.extend({
|
|
1880
|
+
pool: zod.z.string().min(1),
|
|
1881
|
+
lpAmountHuman: zod.z.string().min(1),
|
|
1882
|
+
withdraw: zod.z.boolean().optional().describe("If true, withdraw LP from the gauge instead of deposit")
|
|
1883
|
+
})
|
|
1884
|
+
);
|
|
1729
1885
|
var chain8453 = agentEvmChainIdSchema.describe("Must be 8453 (Base). Aerodrome is Base-only.");
|
|
1730
1886
|
var rpcUrlOptional = zod.z.string().min(1).optional().describe("JSON-RPC URL; continuum-mcp-server injects from chain registry \u2014 do not pass a public RPC URL");
|
|
1731
1887
|
var mcpAerodromeDiscoverPoolsInputSchema = zod.z.object({
|
|
@@ -1740,10 +1896,23 @@ var mcpAerodromeDiscoverPoolsOutputSchema = jsonObjectSchema.describe(
|
|
|
1740
1896
|
var mcpAerodromeFetchPoolsInputSchema = zod.z.object({
|
|
1741
1897
|
chainId: chain8453,
|
|
1742
1898
|
rpcUrl: rpcUrlOptional,
|
|
1743
|
-
|
|
1899
|
+
query: zod.z.string().trim().min(1).optional().describe("Optional shrink filter. Does not expand beyond the ~100 important pools."),
|
|
1900
|
+
limit: zod.z.number().int().positive().max(100).optional(),
|
|
1744
1901
|
offset: zod.z.number().int().min(0).optional()
|
|
1745
1902
|
});
|
|
1746
|
-
var mcpAerodromeFetchPoolsOutputSchema = jsonObjectSchema.describe(
|
|
1903
|
+
var mcpAerodromeFetchPoolsOutputSchema = jsonObjectSchema.describe(
|
|
1904
|
+
"{ chainId, pools[], notes }. At most ~100 important Base pairs \u2014 not an LpSugar.all dump."
|
|
1905
|
+
);
|
|
1906
|
+
var mcpAerodromeFetchLpYieldsInputSchema = zod.z.object({
|
|
1907
|
+
chainId: chain8453,
|
|
1908
|
+
rpcUrl: rpcUrlOptional,
|
|
1909
|
+
query: zod.z.string().trim().min(1).optional()
|
|
1910
|
+
});
|
|
1911
|
+
var mcpAerodromeFetchLpYieldsOutputSchema = jsonObjectSchema.describe(
|
|
1912
|
+
"{ chainId, pools[] (lp, feeApr, emissionsApr, totalApr, gauge, kind, tvlUsd), notes }"
|
|
1913
|
+
);
|
|
1914
|
+
var mcpAerodromeFetchStockLpYieldsInputSchema = mcpAerodromeFetchLpYieldsInputSchema;
|
|
1915
|
+
var mcpAerodromeFetchStockLpYieldsOutputSchema = mcpAerodromeFetchLpYieldsOutputSchema;
|
|
1747
1916
|
var mcpAerodromeFetchPositionsInputSchema = zod.z.object({
|
|
1748
1917
|
chainId: chain8453,
|
|
1749
1918
|
rpcUrl: rpcUrlOptional,
|
|
@@ -2021,7 +2190,13 @@ var mcpMorphoFetchEarnVaultsOutputSchema = zod.z.object({
|
|
|
2021
2190
|
managementFee: zod.z.string().nullable(),
|
|
2022
2191
|
totalDepositsUsd: zod.z.string(),
|
|
2023
2192
|
liquidityUsd: zod.z.string(),
|
|
2024
|
-
exposure: zod.z.array(morphoExposureRowSchema)
|
|
2193
|
+
exposure: zod.z.array(morphoExposureRowSchema),
|
|
2194
|
+
rewards: zod.z.array(
|
|
2195
|
+
zod.z.object({
|
|
2196
|
+
symbol: zod.z.string(),
|
|
2197
|
+
supplyAprLabel: zod.z.string()
|
|
2198
|
+
})
|
|
2199
|
+
).describe("Extra vault incentive APR from Morpho GraphQL allRewards (variable).")
|
|
2025
2200
|
})
|
|
2026
2201
|
)
|
|
2027
2202
|
});
|
|
@@ -2045,7 +2220,14 @@ var mcpMorphoFetchBlueMarketsOutputSchema = zod.z.object({
|
|
|
2045
2220
|
loanTokenSymbol: zod.z.string(),
|
|
2046
2221
|
loanTokenDecimals: zod.z.number().int(),
|
|
2047
2222
|
borrowApyLabel: zod.z.string(),
|
|
2048
|
-
supplyApyLabel: zod.z.string()
|
|
2223
|
+
supplyApyLabel: zod.z.string(),
|
|
2224
|
+
netSupplyApyLabel: zod.z.string().describe("Blue net supply APY including incentives when Morpho publishes it."),
|
|
2225
|
+
rewards: zod.z.array(
|
|
2226
|
+
zod.z.object({
|
|
2227
|
+
symbol: zod.z.string(),
|
|
2228
|
+
supplyAprLabel: zod.z.string()
|
|
2229
|
+
})
|
|
2230
|
+
)
|
|
2049
2231
|
})
|
|
2050
2232
|
)
|
|
2051
2233
|
});
|
|
@@ -3091,6 +3273,70 @@ var mcpContinuumDaoForumSignInInputSchema = mcpMultisignInput({
|
|
|
3091
3273
|
username: zod.z.string().min(2).max(16).optional().describe("Required on first login when there is no node key (2\u201316 letters, numbers, . _ -)."),
|
|
3092
3274
|
forumUrl: zod.z.string().optional()
|
|
3093
3275
|
});
|
|
3276
|
+
var mcpMapleSyrupMarketSummarySchema = zod.z.object({
|
|
3277
|
+
chainId: zod.z.number(),
|
|
3278
|
+
name: zod.z.string(),
|
|
3279
|
+
pool: zod.z.string().describe("Copy as pool for ctm_maple_build_*_multisign"),
|
|
3280
|
+
syrupRouter: zod.z.string().describe("Copy as syrupRouter for ctm_maple_build_deposit_multisign"),
|
|
3281
|
+
asset: zod.z.string().describe("Copy as asset for ctm_maple_build_deposit_multisign"),
|
|
3282
|
+
assetSymbol: zod.z.string(),
|
|
3283
|
+
assetDecimals: zod.z.number(),
|
|
3284
|
+
weeklyApyPercent: zod.z.string(),
|
|
3285
|
+
monthlyApyPercent: zod.z.string(),
|
|
3286
|
+
totalAssets: zod.z.string()
|
|
3287
|
+
});
|
|
3288
|
+
var mcpMapleFetchMarketsInputSchema = zod.z.object({
|
|
3289
|
+
chainId: agentEvmChainIdSchema,
|
|
3290
|
+
underlying: zod.z.string().trim().min(1).optional().describe("Optional filter: ERC-20 address or ticker (USDT, USDC). Omit to list all Syrup pools.")
|
|
3291
|
+
});
|
|
3292
|
+
var mcpMapleFetchMarketsOutputSchema = zod.z.object({
|
|
3293
|
+
chainId: zod.z.number(),
|
|
3294
|
+
markets: zod.z.array(mcpMapleSyrupMarketSummarySchema),
|
|
3295
|
+
notes: zod.z.string()
|
|
3296
|
+
});
|
|
3297
|
+
var mcpMapleFetchMarketInputSchema = zod.z.object({
|
|
3298
|
+
chainId: agentEvmChainIdSchema,
|
|
3299
|
+
pool: evmAddressSchema.optional().describe("Syrup PoolV2 / share token from fetch_markets."),
|
|
3300
|
+
underlying: zod.z.string().trim().min(1).optional().describe("Deposit asset address or ticker (USDC, USDT, USDG).")
|
|
3301
|
+
});
|
|
3302
|
+
var mcpMapleFetchMarketOutputSchema = mcpMapleFetchMarketsOutputSchema;
|
|
3303
|
+
var mcpAaveV4UiMarketIdSchema = zod.z.enum(["main", "core", "bluechip"]).optional().describe("UI market segment: main (Plus), core, or bluechip (Prime). Omit to list all hubs.");
|
|
3304
|
+
var mcpAaveV4MarketSummarySchema = zod.z.object({
|
|
3305
|
+
chainId: zod.z.number(),
|
|
3306
|
+
hubName: zod.z.string(),
|
|
3307
|
+
marketId: zod.z.enum(["main", "core", "bluechip"]),
|
|
3308
|
+
hubAddress: zod.z.string(),
|
|
3309
|
+
symbol: zod.z.string(),
|
|
3310
|
+
name: zod.z.string(),
|
|
3311
|
+
underlying: zod.z.string().describe("Copy as underlying for ctm_aave_v4_build_*_multisign"),
|
|
3312
|
+
spoke: zod.z.string().nullable(),
|
|
3313
|
+
canSupply: zod.z.boolean(),
|
|
3314
|
+
canBorrow: zod.z.boolean(),
|
|
3315
|
+
canUseAsCollateral: zod.z.boolean(),
|
|
3316
|
+
supplyApyPercent: zod.z.string(),
|
|
3317
|
+
borrowApyPercent: zod.z.string(),
|
|
3318
|
+
supplied: zod.z.string(),
|
|
3319
|
+
borrowed: zod.z.string(),
|
|
3320
|
+
availableLiquidity: zod.z.string(),
|
|
3321
|
+
utilizationPercent: zod.z.string().nullable(),
|
|
3322
|
+
collateralFactorPercent: zod.z.string()
|
|
3323
|
+
});
|
|
3324
|
+
var mcpAaveV4FetchMarketsInputSchema = zod.z.object({
|
|
3325
|
+
chainId: agentEvmChainIdSchema,
|
|
3326
|
+
marketId: mcpAaveV4UiMarketIdSchema,
|
|
3327
|
+
underlying: zod.z.string().trim().min(1).optional().describe("Optional filter: ERC-20 address or ticker (USDT, USDC). Omit to list all reserves.")
|
|
3328
|
+
});
|
|
3329
|
+
var mcpAaveV4FetchMarketsOutputSchema = zod.z.object({
|
|
3330
|
+
chainId: zod.z.number(),
|
|
3331
|
+
markets: zod.z.array(mcpAaveV4MarketSummarySchema),
|
|
3332
|
+
notes: zod.z.string()
|
|
3333
|
+
});
|
|
3334
|
+
var mcpAaveV4FetchMarketInputSchema = zod.z.object({
|
|
3335
|
+
chainId: agentEvmChainIdSchema,
|
|
3336
|
+
underlying: zod.z.string().trim().min(1).describe("Reserve underlying address or ticker (e.g. USDT). Prefer fetch_markets when listing rates."),
|
|
3337
|
+
marketId: mcpAaveV4UiMarketIdSchema
|
|
3338
|
+
});
|
|
3339
|
+
var mcpAaveV4FetchMarketOutputSchema = mcpAaveV4FetchMarketsOutputSchema;
|
|
3094
3340
|
var mcpEulerV2FetchLendVaultsInputSchema = zod.z.object({
|
|
3095
3341
|
chainId: agentEvmChainIdSchema,
|
|
3096
3342
|
underlyingAddress: evmAddressSchema.describe(
|
|
@@ -3113,6 +3359,64 @@ var mcpEulerV2FetchLendVaultsOutputSchema = zod.z.object({
|
|
|
3113
3359
|
})
|
|
3114
3360
|
)
|
|
3115
3361
|
});
|
|
3362
|
+
var mcpEulerV2FetchEarnVaultsInputSchema = zod.z.object({
|
|
3363
|
+
chainId: agentEvmChainIdSchema,
|
|
3364
|
+
underlyingAddress: evmAddressSchema.describe(
|
|
3365
|
+
"Underlying asset address from get_defi_protocol_supported_tokens."
|
|
3366
|
+
),
|
|
3367
|
+
limit: agentCoercedOptionalIntSchema(zod.z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
|
|
3368
|
+
});
|
|
3369
|
+
var mcpEulerV2FetchEarnVaultsOutputSchema = zod.z.object({
|
|
3370
|
+
vaults: zod.z.array(
|
|
3371
|
+
zod.z.object({
|
|
3372
|
+
evaultAddress: zod.z.string().describe("Copy as vault for earn deposit multisign"),
|
|
3373
|
+
vaultName: zod.z.string(),
|
|
3374
|
+
curatorDisplayName: zod.z.string(),
|
|
3375
|
+
supplyApyPercentLabel: zod.z.string(),
|
|
3376
|
+
totalAssetsHumanLabel: zod.z.string(),
|
|
3377
|
+
availableLiquidityHumanLabel: zod.z.string(),
|
|
3378
|
+
performanceFeePercentLabel: zod.z.string(),
|
|
3379
|
+
underlyingAddress: zod.z.string(),
|
|
3380
|
+
strategyCount: zod.z.number().int()
|
|
3381
|
+
})
|
|
3382
|
+
)
|
|
3383
|
+
});
|
|
3384
|
+
var mcpLidoFetchStethAprInputSchema = zod.z.object({}).strict();
|
|
3385
|
+
var mcpLidoFetchStethAprOutputSchema = zod.z.object({
|
|
3386
|
+
aprPercent: zod.z.string(),
|
|
3387
|
+
apr: zod.z.number().nullable(),
|
|
3388
|
+
asset: zod.z.string(),
|
|
3389
|
+
source: zod.z.string(),
|
|
3390
|
+
notes: zod.z.string()
|
|
3391
|
+
});
|
|
3392
|
+
var mcpSkyFetchSusdsRateInputSchema = zod.z.object({
|
|
3393
|
+
rpcUrl: zod.z.string().min(1).optional().describe("Server-filled from chain registry. Agents should omit.")
|
|
3394
|
+
}).strict();
|
|
3395
|
+
var mcpSkyFetchSusdsRateOutputSchema = zod.z.object({
|
|
3396
|
+
chainId: zod.z.number(),
|
|
3397
|
+
vault: zod.z.string(),
|
|
3398
|
+
asset: zod.z.string(),
|
|
3399
|
+
assetSymbol: zod.z.string(),
|
|
3400
|
+
apyPercent: zod.z.string(),
|
|
3401
|
+
apy: zod.z.number().nullable(),
|
|
3402
|
+
usdsPerSusdsShare: zod.z.string(),
|
|
3403
|
+
notes: zod.z.string()
|
|
3404
|
+
});
|
|
3405
|
+
var mcpEthenaFetchSusdeApyInputSchema = zod.z.object({
|
|
3406
|
+
rpcUrl: zod.z.string().min(1).optional().describe("Server-filled from chain registry. Agents should omit.")
|
|
3407
|
+
}).strict();
|
|
3408
|
+
var mcpEthenaFetchSusdeApyOutputSchema = zod.z.object({
|
|
3409
|
+
chainId: zod.z.number(),
|
|
3410
|
+
product: zod.z.string(),
|
|
3411
|
+
asset: zod.z.string(),
|
|
3412
|
+
assetSymbol: zod.z.string(),
|
|
3413
|
+
share: zod.z.string(),
|
|
3414
|
+
apyPercent: zod.z.string(),
|
|
3415
|
+
apy: zod.z.number().nullable(),
|
|
3416
|
+
usdePerSusde: zod.z.string(),
|
|
3417
|
+
cooldownDurationSec: zod.z.number().nullable(),
|
|
3418
|
+
notes: zod.z.string()
|
|
3419
|
+
});
|
|
3116
3420
|
var mcpCompoundV3FetchMarketsInputSchema = zod.z.object({
|
|
3117
3421
|
chainId: agentEvmChainIdSchema,
|
|
3118
3422
|
rpcUrl: zod.z.string().min(1).optional().describe("Server-filled from chain registry. Agents should omit.")
|
|
@@ -3137,6 +3441,8 @@ var mcpCompoundV3MarketSummarySchema = zod.z.object({
|
|
|
3137
3441
|
utilization: zod.z.number().nullable(),
|
|
3138
3442
|
supplyAprPercent: zod.z.string().nullable(),
|
|
3139
3443
|
borrowAprPercent: zod.z.string().nullable(),
|
|
3444
|
+
supplyRewardAprPercent: zod.z.string().nullable().describe("Forward COMP (or reward-token) supply incentive APR. Extra and variable; null if unpriced."),
|
|
3445
|
+
borrowRewardAprPercent: zod.z.string().nullable().describe("Forward COMP (or reward-token) borrow incentive APR. Extra and variable; null if unpriced."),
|
|
3140
3446
|
assets: zod.z.array(mcpCompoundV3MarketAssetSchema)
|
|
3141
3447
|
});
|
|
3142
3448
|
var mcpCompoundV3FetchMarketsOutputSchema = zod.z.object({
|
|
@@ -3381,7 +3687,15 @@ var mcpGmxFetchMarketPricesOutputSchema = zod.z.object({
|
|
|
3381
3687
|
indexMarkUsd: zod.z.string().nullable(),
|
|
3382
3688
|
collateralUsd: zod.z.string().nullable(),
|
|
3383
3689
|
indexPerCollateral: zod.z.string().nullable(),
|
|
3384
|
-
fetchedAtMs: zod.z.number()
|
|
3690
|
+
fetchedAtMs: zod.z.number(),
|
|
3691
|
+
fundingFactorPerSecond: zod.z.string().nullable(),
|
|
3692
|
+
longsPayShorts: zod.z.boolean().nullable(),
|
|
3693
|
+
fundingHourlyPercentLabel: zod.z.string().nullable(),
|
|
3694
|
+
fundingAprPercentLabel: zod.z.string().nullable(),
|
|
3695
|
+
borrowingFactorPerSecondForLongs: zod.z.string().nullable(),
|
|
3696
|
+
borrowingFactorPerSecondForShorts: zod.z.string().nullable(),
|
|
3697
|
+
borrowingHourlyPercentLongLabel: zod.z.string().nullable(),
|
|
3698
|
+
borrowingHourlyPercentShortLabel: zod.z.string().nullable()
|
|
3385
3699
|
});
|
|
3386
3700
|
var mcpGmxFetchOhlcvInputSchema = zod.z.object({
|
|
3387
3701
|
chainId: agentEvmChainIdSchema,
|
|
@@ -3452,6 +3766,28 @@ var hyperliquidAccountSummarySchema = zod.z.object({
|
|
|
3452
3766
|
var mcpHyperliquidFetchMarketsInputSchema = hyperliquidFetchChainInputSchema.extend({
|
|
3453
3767
|
dex: zod.z.string().optional()
|
|
3454
3768
|
});
|
|
3769
|
+
var mcpHyperliquidFetchStockMarketsInputSchema = hyperliquidFetchChainInputSchema;
|
|
3770
|
+
var mcpHyperliquidFetchStockMarketsOutputSchema = zod.z.object({
|
|
3771
|
+
markets: zod.z.array(
|
|
3772
|
+
zod.z.object({
|
|
3773
|
+
name: zod.z.string().describe("HIP-3 coin, e.g. xyz:AAPL"),
|
|
3774
|
+
asset: zod.z.number(),
|
|
3775
|
+
szDecimals: zod.z.number(),
|
|
3776
|
+
maxLeverage: zod.z.number(),
|
|
3777
|
+
onlyIsolated: zod.z.boolean().optional(),
|
|
3778
|
+
dex: zod.z.string().optional(),
|
|
3779
|
+
displayName: zod.z.string().optional(),
|
|
3780
|
+
category: zod.z.string().optional(),
|
|
3781
|
+
keywords: zod.z.array(zod.z.string()).optional()
|
|
3782
|
+
})
|
|
3783
|
+
),
|
|
3784
|
+
dexes: zod.z.array(
|
|
3785
|
+
zod.z.object({
|
|
3786
|
+
name: zod.z.string(),
|
|
3787
|
+
fullName: zod.z.string()
|
|
3788
|
+
})
|
|
3789
|
+
)
|
|
3790
|
+
});
|
|
3455
3791
|
var mcpHyperliquidFetchMarketsOutputSchema = zod.z.object({
|
|
3456
3792
|
markets: zod.z.array(
|
|
3457
3793
|
zod.z.object({
|
|
@@ -3556,6 +3892,7 @@ var mcpHyperliquidFetchMarketSnapshotOutputSchema = zod.z.object({
|
|
|
3556
3892
|
dex: zod.z.string().nullable(),
|
|
3557
3893
|
livePrice: hyperliquidLivePriceSchema,
|
|
3558
3894
|
midUsd: zod.z.string(),
|
|
3895
|
+
funding: zod.z.string().nullable().describe("Official HyperCore hourly funding from metaAndAssetCtxs"),
|
|
3559
3896
|
fetchedAtMs: zod.z.number(),
|
|
3560
3897
|
interval: hyperliquidOhlcvIntervalSchema,
|
|
3561
3898
|
latestCandle: hyperliquidOhlcvCandleSchema.nullable(),
|
|
@@ -3612,6 +3949,10 @@ var mcpHyperliquidFetchVaultsOutputSchema = zod.z.object({
|
|
|
3612
3949
|
})
|
|
3613
3950
|
)
|
|
3614
3951
|
});
|
|
3952
|
+
var mcpHyperliquidFetchVaultApysInputSchema = mcpHyperliquidFetchVaultsInputSchema;
|
|
3953
|
+
var mcpHyperliquidFetchVaultApysOutputSchema = mcpHyperliquidFetchVaultsOutputSchema.extend({
|
|
3954
|
+
notes: zod.z.string()
|
|
3955
|
+
});
|
|
3615
3956
|
var mcpHyperliquidFetchUserVaultEquitiesInputSchema = hyperliquidFetchChainInputSchema.extend({
|
|
3616
3957
|
executorAddress: evmAddressSchema
|
|
3617
3958
|
});
|
|
@@ -5506,6 +5847,84 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
5506
5847
|
handler: { importPath: "protocols/evm/curve-dao", exportName: "buildEvmMultisignBodyCurveDaoBatch" },
|
|
5507
5848
|
inputZod: mcpCurveDaoBuildSwapMultisignInputSchema
|
|
5508
5849
|
}),
|
|
5850
|
+
defineMcpTool({
|
|
5851
|
+
name: "ctm_curve_dao_fetch_important_pools",
|
|
5852
|
+
actionId: "curve-dao.fetch-important-pools",
|
|
5853
|
+
protocolId: "curve-dao",
|
|
5854
|
+
chainCategory: "evm",
|
|
5855
|
+
description: "Official api.curve.fi catalog of ~100 important pools (TVL-ranked, dead/zero-TVL dropped). The only Curve list tool \u2014 do not dump factories or call fetchAllCurvePools. Optional query shrinks the set.",
|
|
5856
|
+
prerequisites: ["chainId"],
|
|
5857
|
+
followUp: ["ctm_curve_dao_fetch_lp_yields", "ctm_curve_dao_quote_add_liquidity"],
|
|
5858
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "curveDaoFetchImportantPools" },
|
|
5859
|
+
inputZod: mcpCurveDaoFetchImportantPoolsInputSchema,
|
|
5860
|
+
outputZod: mcpCurveDaoFetchImportantPoolsOutputSchema
|
|
5861
|
+
}),
|
|
5862
|
+
defineMcpTool({
|
|
5863
|
+
name: "ctm_curve_dao_fetch_lp_yields",
|
|
5864
|
+
actionId: "curve-dao.fetch-lp-yields",
|
|
5865
|
+
protocolId: "curve-dao",
|
|
5866
|
+
chainCategory: "evm",
|
|
5867
|
+
description: "LP yields for the same ~100 important Curve pools (baseApy + gauge_crv_apy + TVL). gauge_crv_apy requires staking LP in the gauge.",
|
|
5868
|
+
prerequisites: ["chainId"],
|
|
5869
|
+
followUp: ["ctm_curve_dao_quote_add_liquidity", "ctm_curve_dao_build_gauge_deposit_multisign"],
|
|
5870
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "curveDaoFetchLpYields" },
|
|
5871
|
+
inputZod: mcpCurveDaoFetchLpYieldsInputSchema,
|
|
5872
|
+
outputZod: mcpCurveDaoFetchLpYieldsOutputSchema
|
|
5873
|
+
}),
|
|
5874
|
+
defineMcpTool({
|
|
5875
|
+
name: "ctm_curve_dao_quote_add_liquidity",
|
|
5876
|
+
actionId: "curve-dao.quote-add-liquidity",
|
|
5877
|
+
protocolId: "curve-dao",
|
|
5878
|
+
chainCategory: "evm",
|
|
5879
|
+
description: "Quote Curve add_liquidity for an important pool. Copy pool + amountsHuman onto the build tool.",
|
|
5880
|
+
prerequisites: ["pool from ctm_curve_dao_fetch_important_pools"],
|
|
5881
|
+
followUp: ["ctm_curve_dao_build_add_liquidity_multisign"],
|
|
5882
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "curveDaoQuoteAddLiquidity" },
|
|
5883
|
+
inputZod: mcpCurveDaoQuoteAddLiquidityInputSchema,
|
|
5884
|
+
outputZod: mcpCurveDaoQuoteAddLiquidityOutputSchema
|
|
5885
|
+
}),
|
|
5886
|
+
defineMcpTool({
|
|
5887
|
+
name: "ctm_curve_dao_quote_remove_liquidity",
|
|
5888
|
+
actionId: "curve-dao.quote-remove-liquidity",
|
|
5889
|
+
protocolId: "curve-dao",
|
|
5890
|
+
chainCategory: "evm",
|
|
5891
|
+
description: "Quote balanced Curve remove_liquidity for an important pool.",
|
|
5892
|
+
prerequisites: ["pool from ctm_curve_dao_fetch_important_pools"],
|
|
5893
|
+
followUp: ["ctm_curve_dao_build_remove_liquidity_multisign"],
|
|
5894
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "curveDaoQuoteRemoveLiquidity" },
|
|
5895
|
+
inputZod: mcpCurveDaoQuoteRemoveLiquidityInputSchema,
|
|
5896
|
+
outputZod: mcpCurveDaoQuoteRemoveLiquidityOutputSchema
|
|
5897
|
+
}),
|
|
5898
|
+
defineMultisignSubmitMcpTool({
|
|
5899
|
+
name: "ctm_curve_dao_build_add_liquidity_multisign",
|
|
5900
|
+
actionId: "curve-dao.add-liquidity",
|
|
5901
|
+
protocolId: "curve-dao",
|
|
5902
|
+
chainCategory: "evm",
|
|
5903
|
+
description: "Create mpc-auth multiSignRequest for Curve add_liquidity (optional gauge.deposit when stakeInGauge). Pool must be from fetch_important_pools.",
|
|
5904
|
+
prerequisites: ["ctm_curve_dao_quote_add_liquidity"],
|
|
5905
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "buildEvmMultisignBodyCurveAddLiquidity" },
|
|
5906
|
+
inputZod: mcpCurveDaoBuildAddLiquidityMultisignInputSchema
|
|
5907
|
+
}),
|
|
5908
|
+
defineMultisignSubmitMcpTool({
|
|
5909
|
+
name: "ctm_curve_dao_build_remove_liquidity_multisign",
|
|
5910
|
+
actionId: "curve-dao.remove-liquidity",
|
|
5911
|
+
protocolId: "curve-dao",
|
|
5912
|
+
chainCategory: "evm",
|
|
5913
|
+
description: "Create mpc-auth multiSignRequest for Curve remove_liquidity. Unstake from the gauge first if LP is staked.",
|
|
5914
|
+
prerequisites: ["ctm_curve_dao_quote_remove_liquidity"],
|
|
5915
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "buildEvmMultisignBodyCurveRemoveLiquidity" },
|
|
5916
|
+
inputZod: mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema
|
|
5917
|
+
}),
|
|
5918
|
+
defineMultisignSubmitMcpTool({
|
|
5919
|
+
name: "ctm_curve_dao_build_gauge_deposit_multisign",
|
|
5920
|
+
actionId: "curve-dao.gauge-deposit",
|
|
5921
|
+
protocolId: "curve-dao",
|
|
5922
|
+
chainCategory: "evm",
|
|
5923
|
+
description: "Stake or unstake Curve LP in the gauge (required for advertised gauge_crv_apy). Set withdraw:true to unstake.",
|
|
5924
|
+
prerequisites: ["pool with gaugeAddress from fetch_important_pools"],
|
|
5925
|
+
handler: { importPath: "protocols/evm/curve-dao", exportName: "buildEvmMultisignBodyCurveGaugeDeposit" },
|
|
5926
|
+
inputZod: mcpCurveDaoBuildGaugeDepositMultisignInputSchema
|
|
5927
|
+
}),
|
|
5509
5928
|
defineMcpTool({
|
|
5510
5929
|
name: "ctm_aerodrome_discover_pools",
|
|
5511
5930
|
actionId: "aerodrome.discover-pools",
|
|
@@ -5523,13 +5942,37 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
5523
5942
|
actionId: "aerodrome.fetch-pools",
|
|
5524
5943
|
protocolId: "aerodrome",
|
|
5525
5944
|
chainCategory: "evm",
|
|
5526
|
-
description: "
|
|
5945
|
+
description: "At most ~100 important Aerodrome pools on Base (ETH/WETH, USDC, AERO, major stables; TVL-ranked). Not an LpSugar.all dump. Optional query only shrinks the set. For B20 stock LPs use ctm_aerodrome_fetch_stock_lp_yields.",
|
|
5527
5946
|
prerequisites: ["chainId 8453"],
|
|
5528
5947
|
followUp: ["ctm_aerodrome_quote_add_liquidity", "ctm_aerodrome_fetch_positions"],
|
|
5529
5948
|
handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeFetchPoolsSummary" },
|
|
5530
5949
|
inputZod: mcpAerodromeFetchPoolsInputSchema,
|
|
5531
5950
|
outputZod: mcpAerodromeFetchPoolsOutputSchema
|
|
5532
5951
|
}),
|
|
5952
|
+
defineMcpTool({
|
|
5953
|
+
name: "ctm_aerodrome_fetch_lp_yields",
|
|
5954
|
+
actionId: "aerodrome.fetch-lp-yields",
|
|
5955
|
+
protocolId: "aerodrome",
|
|
5956
|
+
chainCategory: "evm",
|
|
5957
|
+
description: "Fee tier + AERO emissions APR for the same ~100 important Aerodrome pairs. feeApr is null (Sugar has no volume). Not a factory dump. B20 stocks: ctm_aerodrome_fetch_stock_lp_yields.",
|
|
5958
|
+
prerequisites: ["chainId 8453"],
|
|
5959
|
+
followUp: ["ctm_aerodrome_quote_add_liquidity", "ctm_aerodrome_build_gauge_stake_multisign"],
|
|
5960
|
+
handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeFetchLpYieldsSummary" },
|
|
5961
|
+
inputZod: mcpAerodromeFetchLpYieldsInputSchema,
|
|
5962
|
+
outputZod: mcpAerodromeFetchLpYieldsOutputSchema
|
|
5963
|
+
}),
|
|
5964
|
+
defineMcpTool({
|
|
5965
|
+
name: "ctm_aerodrome_fetch_stock_lp_yields",
|
|
5966
|
+
actionId: "aerodrome.fetch-stock-lp-yields",
|
|
5967
|
+
protocolId: "aerodrome",
|
|
5968
|
+
chainCategory: "evm",
|
|
5969
|
+
description: "Coinbase B20 stock LP yields only (AAPLc/USDC, \u2026). Separate from main-pair fetch_lp_yields. Trading stocks is not this list.",
|
|
5970
|
+
prerequisites: ["chainId 8453"],
|
|
5971
|
+
followUp: ["ctm_aerodrome_quote_add_liquidity"],
|
|
5972
|
+
handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeFetchStockLpYieldsSummary" },
|
|
5973
|
+
inputZod: mcpAerodromeFetchStockLpYieldsInputSchema,
|
|
5974
|
+
outputZod: mcpAerodromeFetchStockLpYieldsOutputSchema
|
|
5975
|
+
}),
|
|
5533
5976
|
defineMcpTool({
|
|
5534
5977
|
name: "ctm_aerodrome_fetch_positions",
|
|
5535
5978
|
actionId: "aerodrome.fetch-positions",
|
|
@@ -5751,7 +6194,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
5751
6194
|
actionId: "gmx.fetch-market-prices",
|
|
5752
6195
|
protocolId: "gmx",
|
|
5753
6196
|
chainCategory: "evm",
|
|
5754
|
-
description: "Latest GMX index mark
|
|
6197
|
+
description: "Latest GMX index mark, collateral USD, and official funding (fundingFactorPerSecond, longsPayShorts, hourly/APR labels). Borrow-per-second is a cost caveat, not a second yield. Read-only via GMX HTTP API + MarketInfo.",
|
|
5755
6198
|
prerequisites: ["chainId", "symbol from ctm_gmx_fetch_markets", "collateralSymbol e.g. USDC"],
|
|
5756
6199
|
followUp: ["ctm_gmx_fetch_ohlcv", "ctm_gmx_build_increase_multisign"],
|
|
5757
6200
|
handler: { importPath: "protocols/evm/gmx", exportName: "gmxFetchMarketPrices" },
|
|
@@ -5811,13 +6254,25 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
5811
6254
|
actionId: "hyperliquid.fetch-markets",
|
|
5812
6255
|
protocolId: "hyperliquid",
|
|
5813
6256
|
chainCategory: "evm",
|
|
5814
|
-
description: "List Hyperliquid perp markets
|
|
6257
|
+
description: "List native Hyperliquid crypto perp markets. HIP-3 stocks (xyz:AAPL) are ctm_hyperliquid_fetch_stock_markets. Pass dex to list one builder. chainId 999 mainnet or 998 testnet.",
|
|
5815
6258
|
prerequisites: ["chainId 999 or 998"],
|
|
5816
6259
|
followUp: ["ctm_hyperliquid_fetch_open_context", "ctm_hyperliquid_build_limit_order_multisign", "ctm_hyperliquid_build_update_leverage_multisign"],
|
|
5817
6260
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchMarketsSummary" },
|
|
5818
6261
|
inputZod: mcpHyperliquidFetchMarketsInputSchema,
|
|
5819
6262
|
outputZod: mcpHyperliquidFetchMarketsOutputSchema
|
|
5820
6263
|
}),
|
|
6264
|
+
defineMcpTool({
|
|
6265
|
+
name: "ctm_hyperliquid_fetch_stock_markets",
|
|
6266
|
+
actionId: "hyperliquid.fetch-stock-markets",
|
|
6267
|
+
protocolId: "hyperliquid",
|
|
6268
|
+
chainCategory: "evm",
|
|
6269
|
+
description: "HIP-3 / equity stock perps (xyz:AAPL, TSLA, \u2026) with dex, displayName, and category. Trading only \u2014 not a savings APR. Native crypto: ctm_hyperliquid_fetch_markets.",
|
|
6270
|
+
prerequisites: ["chainId 999 or 998"],
|
|
6271
|
+
followUp: ["ctm_hyperliquid_search_markets", "ctm_hyperliquid_build_limit_order_multisign"],
|
|
6272
|
+
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchStockMarketsSummary" },
|
|
6273
|
+
inputZod: mcpHyperliquidFetchStockMarketsInputSchema,
|
|
6274
|
+
outputZod: mcpHyperliquidFetchStockMarketsOutputSchema
|
|
6275
|
+
}),
|
|
5821
6276
|
defineMcpTool({
|
|
5822
6277
|
name: "ctm_hyperliquid_search_markets",
|
|
5823
6278
|
actionId: "hyperliquid.search-markets",
|
|
@@ -5871,7 +6326,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
5871
6326
|
actionId: "hyperliquid.fetch-market-snapshot",
|
|
5872
6327
|
protocolId: "hyperliquid",
|
|
5873
6328
|
chainCategory: "evm",
|
|
5874
|
-
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.",
|
|
6329
|
+
description: "Live mark/mid price, official hourly funding, plus recent OHLCV candles for a Hyperliquid perp. Uses metaAndAssetCtxs for live prices and funding (not stale candle close). Default interval 15m, 48 bars. Throws if live price unavailable.",
|
|
5875
6330
|
prerequisites: ["chainId", "coin"],
|
|
5876
6331
|
followUp: ["ctm_hyperliquid_fetch_open_context", "ctm_hyperliquid_build_limit_order_multisign", "ctm_hyperliquid_build_update_leverage_multisign"],
|
|
5877
6332
|
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchMarketSnapshotSummary" },
|
|
@@ -5914,6 +6369,18 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
5914
6369
|
inputZod: mcpHyperliquidFetchVaultsInputSchema,
|
|
5915
6370
|
outputZod: mcpHyperliquidFetchVaultsOutputSchema
|
|
5916
6371
|
}),
|
|
6372
|
+
defineMcpTool({
|
|
6373
|
+
name: "ctm_hyperliquid_fetch_vault_apys",
|
|
6374
|
+
actionId: "hyperliquid.fetch-vault-apys",
|
|
6375
|
+
protocolId: "hyperliquid",
|
|
6376
|
+
chainCategory: "evm",
|
|
6377
|
+
description: "Hyperliquid vault APRs sorted descending (HLP first). Use this for idle USDC yield compare \u2014 not HIP-3 stocks. Same catalog cap as fetch_vaults.",
|
|
6378
|
+
prerequisites: ["chainId 999 for catalog"],
|
|
6379
|
+
followUp: ["ctm_hyperliquid_build_vault_deposit_multisign"],
|
|
6380
|
+
handler: { importPath: "protocols/evm/hyperliquid", exportName: "hyperliquidFetchVaultApysSummary" },
|
|
6381
|
+
inputZod: mcpHyperliquidFetchVaultApysInputSchema,
|
|
6382
|
+
outputZod: mcpHyperliquidFetchVaultApysOutputSchema
|
|
6383
|
+
}),
|
|
5917
6384
|
defineMcpTool({
|
|
5918
6385
|
name: "ctm_hyperliquid_fetch_user_vault_equities",
|
|
5919
6386
|
actionId: "hyperliquid.fetch-user-vault-equities",
|
|
@@ -6187,6 +6654,18 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
6187
6654
|
inputZod: mcpEulerV2FetchLendVaultsInputSchema,
|
|
6188
6655
|
outputZod: mcpEulerV2FetchLendVaultsOutputSchema
|
|
6189
6656
|
}),
|
|
6657
|
+
defineMcpTool({
|
|
6658
|
+
name: "ctm_euler_v2_fetch_earn_vaults",
|
|
6659
|
+
actionId: "euler-v2.fetch-earn-vaults",
|
|
6660
|
+
protocolId: "euler-v2",
|
|
6661
|
+
chainCategory: "evm",
|
|
6662
|
+
description: "Euler Earn vaults (curated, not isolated lend) for an underlying with live supply APY. Use this (not web search) for Euler earn rates. Copy evaultAddress for deposit.",
|
|
6663
|
+
prerequisites: ["chainId", "underlyingAddress from get_defi_protocol_supported_tokens"],
|
|
6664
|
+
followUp: ["ctm_euler_v2_build_isolated_lend_multisign"],
|
|
6665
|
+
handler: { importPath: "protocols/evm/euler-v2", exportName: "eulerV2FetchEarnVaultsSummary" },
|
|
6666
|
+
inputZod: mcpEulerV2FetchEarnVaultsInputSchema,
|
|
6667
|
+
outputZod: mcpEulerV2FetchEarnVaultsOutputSchema
|
|
6668
|
+
}),
|
|
6190
6669
|
defineMcpTool({
|
|
6191
6670
|
name: "ctm_cctp_fetch_supported_routes",
|
|
6192
6671
|
actionId: "circle-cctp.fetch-routes",
|
|
@@ -6638,6 +7117,103 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
6638
7117
|
inputZod: mcpContinuumDaoForumSectionsInputSchema,
|
|
6639
7118
|
outputZod: mcpContinuumDaoForumSectionsOutputSchema
|
|
6640
7119
|
}),
|
|
7120
|
+
defineMcpTool({
|
|
7121
|
+
name: "ctm_maple_fetch_markets",
|
|
7122
|
+
actionId: "maple-syrup.fetch-markets",
|
|
7123
|
+
protocolId: "maple-syrup",
|
|
7124
|
+
chainCategory: "evm",
|
|
7125
|
+
description: "List Maple Syrup pools on a chain with live weekly/monthly APY and TVL. Use this (not web search) for Maple lending rates. Copy pool + syrupRouter + asset for build_deposit_multisign / build_request_redeem_multisign. Optional underlying filter.",
|
|
7126
|
+
prerequisites: ["chainId", "get_defi_protocol_supported_chains"],
|
|
7127
|
+
followUp: [
|
|
7128
|
+
"ctm_maple_fetch_market",
|
|
7129
|
+
"ctm_maple_build_deposit_multisign",
|
|
7130
|
+
"ctm_maple_build_request_redeem_multisign"
|
|
7131
|
+
],
|
|
7132
|
+
handler: { importPath: "protocols/evm/maple", exportName: "mapleSyrupFetchMarketsSummary" },
|
|
7133
|
+
inputZod: mcpMapleFetchMarketsInputSchema,
|
|
7134
|
+
outputZod: mcpMapleFetchMarketsOutputSchema
|
|
7135
|
+
}),
|
|
7136
|
+
defineMcpTool({
|
|
7137
|
+
name: "ctm_maple_fetch_market",
|
|
7138
|
+
actionId: "maple-syrup.fetch-market",
|
|
7139
|
+
protocolId: "maple-syrup",
|
|
7140
|
+
chainCategory: "evm",
|
|
7141
|
+
description: "One Maple Syrup pool (by pool address or underlying) with weekly/monthly APY and TVL. Copy pool + syrupRouter + asset for deposit/redeem. Do not web-search Maple rates.",
|
|
7142
|
+
prerequisites: ["chainId", "pool or underlying from ctm_maple_fetch_markets"],
|
|
7143
|
+
followUp: ["ctm_maple_build_deposit_multisign", "ctm_maple_build_request_redeem_multisign"],
|
|
7144
|
+
handler: { importPath: "protocols/evm/maple", exportName: "mapleSyrupFetchMarketSummary" },
|
|
7145
|
+
inputZod: mcpMapleFetchMarketInputSchema,
|
|
7146
|
+
outputZod: mcpMapleFetchMarketOutputSchema
|
|
7147
|
+
}),
|
|
7148
|
+
defineMcpTool({
|
|
7149
|
+
name: "ctm_aave_v4_fetch_markets",
|
|
7150
|
+
actionId: "aave-v4.fetch-markets",
|
|
7151
|
+
protocolId: "aave-v4",
|
|
7152
|
+
chainCategory: "evm",
|
|
7153
|
+
description: "List Aave v4 hub reserves on a chain with live supply/borrow APY, liquidity, and collateral factor. Use this (not web search) to compare lending rates or pick an underlying + marketId for build_*_multisign. Optional marketId (main/core/bluechip) or underlying filter.",
|
|
7154
|
+
prerequisites: ["chainId", "get_defi_protocol_supported_chains"],
|
|
7155
|
+
followUp: [
|
|
7156
|
+
"ctm_aave_v4_fetch_market",
|
|
7157
|
+
"ctm_aave_v4_build_deposit_multisign",
|
|
7158
|
+
"ctm_aave_v4_build_borrow_multisign"
|
|
7159
|
+
],
|
|
7160
|
+
handler: { importPath: "protocols/evm/aave-v4", exportName: "aaveV4FetchMarketsSummary" },
|
|
7161
|
+
inputZod: mcpAaveV4FetchMarketsInputSchema,
|
|
7162
|
+
outputZod: mcpAaveV4FetchMarketsOutputSchema
|
|
7163
|
+
}),
|
|
7164
|
+
defineMcpTool({
|
|
7165
|
+
name: "ctm_aave_v4_fetch_market",
|
|
7166
|
+
actionId: "aave-v4.fetch-market",
|
|
7167
|
+
protocolId: "aave-v4",
|
|
7168
|
+
chainCategory: "evm",
|
|
7169
|
+
description: "One Aave v4 reserve (or the same underlying across hubs) with supply/borrow APY and liquidity. Copy underlying + marketId for deposit/borrow/repay. Do not web-search Aave rates.",
|
|
7170
|
+
prerequisites: ["chainId", "underlying from ctm_aave_v4_fetch_markets or get_defi_protocol_supported_tokens"],
|
|
7171
|
+
followUp: [
|
|
7172
|
+
"ctm_aave_v4_build_deposit_multisign",
|
|
7173
|
+
"ctm_aave_v4_build_withdraw_multisign",
|
|
7174
|
+
"ctm_aave_v4_build_borrow_multisign",
|
|
7175
|
+
"ctm_aave_v4_build_repay_multisign"
|
|
7176
|
+
],
|
|
7177
|
+
handler: { importPath: "protocols/evm/aave-v4", exportName: "aaveV4FetchMarketSummary" },
|
|
7178
|
+
inputZod: mcpAaveV4FetchMarketInputSchema,
|
|
7179
|
+
outputZod: mcpAaveV4FetchMarketOutputSchema
|
|
7180
|
+
}),
|
|
7181
|
+
defineMcpTool({
|
|
7182
|
+
name: "ctm_lido_fetch_steth_apr",
|
|
7183
|
+
actionId: "lido.fetch-steth-apr",
|
|
7184
|
+
protocolId: "lido",
|
|
7185
|
+
chainCategory: "evm",
|
|
7186
|
+
description: "Recent stETH staking APR from the official Lido API. Use this (not web search) when comparing ETH staking vs lending. Ethereum mainnet.",
|
|
7187
|
+
prerequisites: ["load_defi_protocol lido"],
|
|
7188
|
+
followUp: ["ctm_lido_build_submit_multisign"],
|
|
7189
|
+
handler: { importPath: "protocols/evm/lido", exportName: "lidoFetchStethAprSummary" },
|
|
7190
|
+
inputZod: mcpLidoFetchStethAprInputSchema,
|
|
7191
|
+
outputZod: mcpLidoFetchStethAprOutputSchema
|
|
7192
|
+
}),
|
|
7193
|
+
defineMcpTool({
|
|
7194
|
+
name: "ctm_sky_fetch_susds_rate",
|
|
7195
|
+
actionId: "sky.fetch-susds-rate",
|
|
7196
|
+
protocolId: "sky",
|
|
7197
|
+
chainCategory: "evm",
|
|
7198
|
+
description: "Sky Savings Rate (sUSDS APY) from on-chain ssr(). Use this (not web search) for USDS savings. Ethereum mainnet. rpcUrl is injected.",
|
|
7199
|
+
prerequisites: ["chainId 1", "get_chain_registry rpcGateway"],
|
|
7200
|
+
followUp: ["ctm_sky_build_susds_deposit_multisign"],
|
|
7201
|
+
handler: { importPath: "protocols/evm/sky", exportName: "skyFetchSusdsRateSummary" },
|
|
7202
|
+
inputZod: mcpSkyFetchSusdsRateInputSchema,
|
|
7203
|
+
outputZod: mcpSkyFetchSusdsRateOutputSchema
|
|
7204
|
+
}),
|
|
7205
|
+
defineMcpTool({
|
|
7206
|
+
name: "ctm_ethena_fetch_susde_apy",
|
|
7207
|
+
actionId: "ethena.fetch-susde-apy",
|
|
7208
|
+
protocolId: "ethena",
|
|
7209
|
+
chainCategory: "evm",
|
|
7210
|
+
description: "sUSDe staking APY plus USDe-per-share from the vault. Use this (not web search) for USDe yield. Ethereum mainnet. rpcUrl is injected.",
|
|
7211
|
+
prerequisites: ["chainId 1", "get_chain_registry rpcGateway"],
|
|
7212
|
+
followUp: ["ctm_ethena_build_stake_multisign"],
|
|
7213
|
+
handler: { importPath: "protocols/evm/ethena", exportName: "ethenaFetchSusdeApySummary" },
|
|
7214
|
+
inputZod: mcpEthenaFetchSusdeApyInputSchema,
|
|
7215
|
+
outputZod: mcpEthenaFetchSusdeApyOutputSchema
|
|
7216
|
+
}),
|
|
6641
7217
|
defineMcpTool({
|
|
6642
7218
|
name: "ctm_compound_v3_fetch_markets",
|
|
6643
7219
|
actionId: "compound-v3.fetch-markets",
|
|
@@ -8295,34 +8871,14 @@ var veniceProtocolModule = {
|
|
|
8295
8871
|
]
|
|
8296
8872
|
};
|
|
8297
8873
|
registerProtocolModule(veniceProtocolModule);
|
|
8298
|
-
var AERODROME_PROTOCOL_ID = "aerodrome";
|
|
8299
|
-
var AERODROME_CHAIN_ID = 8453;
|
|
8300
|
-
var AERODROME_WETH_BASE = "0x4200000000000000000000000000000000000006";
|
|
8301
|
-
var AERODROME_USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
8302
|
-
function isAerodromeChainSupported(chainId) {
|
|
8303
|
-
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
8304
|
-
return n === AERODROME_CHAIN_ID;
|
|
8305
|
-
}
|
|
8306
|
-
var AERODROME_BASE_ADDRESSES_FALLBACK = {
|
|
8307
|
-
aero: "0x940181a94A35A4569E4529A3CDfB74e38FD98631"};
|
|
8308
|
-
var AERODROME_COINBASE_STOCK_TOKENS = [
|
|
8309
|
-
{ symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
|
|
8310
|
-
{ symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
|
|
8311
|
-
{ symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
|
|
8312
|
-
{ symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
|
|
8313
|
-
{ symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
|
|
8314
|
-
{ symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
|
|
8315
|
-
{ symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
|
|
8316
|
-
{ symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
|
|
8317
|
-
{ symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
|
|
8318
|
-
{ symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
|
|
8319
|
-
{ symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
|
|
8320
|
-
{ symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
|
|
8321
|
-
{ symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
|
|
8322
|
-
];
|
|
8323
|
-
var AERODROME_COINBASE_STOCK_DECIMALS = 8;
|
|
8324
8874
|
|
|
8325
8875
|
// src/protocols/evm/aerodrome/index.ts
|
|
8876
|
+
init_support2();
|
|
8877
|
+
init_support2();
|
|
8878
|
+
init_addresses();
|
|
8879
|
+
init_stockTokens();
|
|
8880
|
+
init_discover();
|
|
8881
|
+
init_yields();
|
|
8326
8882
|
var aerodromeProtocolModule = {
|
|
8327
8883
|
id: AERODROME_PROTOCOL_ID,
|
|
8328
8884
|
chainCategory: "evm",
|
|
@@ -8867,11 +9423,18 @@ var cometInterfaceAbi = viem.parseAbi([
|
|
|
8867
9423
|
"function isBorrowCollateralized(address account) view returns (bool)",
|
|
8868
9424
|
"function isLiquidatable(address account) view returns (bool)",
|
|
8869
9425
|
"function getAssetInfo(uint8 i) view returns ((uint8 offset, address asset, address priceFeed, uint64 scale, uint64 borrowCollateralFactor, uint64 liquidateCollateralFactor, uint64 liquidationFactor, uint128 supplyCap))",
|
|
8870
|
-
"function getAssetInfoByAddress(address asset) view returns ((uint8 offset, address asset, address priceFeed, uint64 scale, uint64 borrowCollateralFactor, uint64 liquidateCollateralFactor, uint64 liquidationFactor, uint128 supplyCap))"
|
|
9426
|
+
"function getAssetInfoByAddress(address asset) view returns ((uint8 offset, address asset, address priceFeed, uint64 scale, uint64 borrowCollateralFactor, uint64 liquidateCollateralFactor, uint64 liquidationFactor, uint128 supplyCap))",
|
|
9427
|
+
"function baseTrackingSupplySpeed() view returns (uint256)",
|
|
9428
|
+
"function baseTrackingBorrowSpeed() view returns (uint256)",
|
|
9429
|
+
"function baseIndexScale() view returns (uint64)",
|
|
9430
|
+
"function trackingIndexScale() view returns (uint256)",
|
|
9431
|
+
"function totalSupply() view returns (uint256)",
|
|
9432
|
+
"function totalBorrow() view returns (uint256)"
|
|
8871
9433
|
]);
|
|
8872
|
-
viem.parseAbi([
|
|
9434
|
+
var cometRewardsAbi = viem.parseAbi([
|
|
8873
9435
|
"function getRewardOwed(address comet, address account) view returns ((address token, uint256 owed))",
|
|
8874
|
-
"function claim(address comet, address src, bool shouldAccrue)"
|
|
9436
|
+
"function claim(address comet, address src, bool shouldAccrue)",
|
|
9437
|
+
"function rewardConfig(address comet) view returns ((address token, uint64 rescaleFactor, bool shouldUpscale))"
|
|
8875
9438
|
]);
|
|
8876
9439
|
viem.parseAbi([
|
|
8877
9440
|
"function invoke(bytes32[] actions, bytes[] data) payable"
|
|
@@ -8913,6 +9476,22 @@ function compoundV3UtilizationToDecimal(utilization) {
|
|
|
8913
9476
|
function compoundV3FactorToPercent(factor) {
|
|
8914
9477
|
return Number(factor) / 1e16;
|
|
8915
9478
|
}
|
|
9479
|
+
var COMPOUND_V3_PRICE_SCALE = 1e8;
|
|
9480
|
+
var COMPOUND_V3_TRACKING_INDEX_SCALE = 1e15;
|
|
9481
|
+
function compoundV3TrackingSpeedToRewardAprPercent(args) {
|
|
9482
|
+
if (args.trackingSpeed <= 0n || args.totalBase <= 0n || args.basePrice <= 0n || args.rewardPrice <= 0n) {
|
|
9483
|
+
return null;
|
|
9484
|
+
}
|
|
9485
|
+
const scale = Number(args.trackingIndexScale > 0n ? args.trackingIndexScale : BigInt(COMPOUND_V3_TRACKING_INDEX_SCALE));
|
|
9486
|
+
if (!Number.isFinite(scale) || scale <= 0) return null;
|
|
9487
|
+
const tokensPerYear = Number(args.trackingSpeed) / scale * COMPOUND_V3_SECONDS_PER_YEAR;
|
|
9488
|
+
const rewardUsdPerYear = tokensPerYear * (Number(args.rewardPrice) / COMPOUND_V3_PRICE_SCALE);
|
|
9489
|
+
const totalUsd = Number(args.totalBase) / 10 ** args.baseDecimals * (Number(args.basePrice) / COMPOUND_V3_PRICE_SCALE);
|
|
9490
|
+
if (!Number.isFinite(rewardUsdPerYear) || !Number.isFinite(totalUsd) || totalUsd <= 0) return null;
|
|
9491
|
+
const pct = rewardUsdPerYear / totalUsd * 100;
|
|
9492
|
+
if (!Number.isFinite(pct) || pct < 0) return null;
|
|
9493
|
+
return pct;
|
|
9494
|
+
}
|
|
8916
9495
|
|
|
8917
9496
|
// src/protocols/evm/compound-v3/subgraph.ts
|
|
8918
9497
|
var COMPOUND_V3_SUBGRAPH_BY_CHAIN = {
|
|
@@ -8971,7 +9550,7 @@ async function enrichMarketOnChain(client, market) {
|
|
|
8971
9550
|
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "numAssets" }),
|
|
8972
9551
|
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "decimals" })
|
|
8973
9552
|
]);
|
|
8974
|
-
const [supplyRate, borrowRate, baseMeta, baseFeed] = await Promise.all([
|
|
9553
|
+
const [supplyRate, borrowRate, baseMeta, baseFeed, supplySpeed, borrowSpeed, totalSupply, totalBorrow, trackingScale] = await Promise.all([
|
|
8975
9554
|
client.readContract({
|
|
8976
9555
|
address: comet,
|
|
8977
9556
|
abi: cometInterfaceAbi,
|
|
@@ -8985,7 +9564,12 @@ async function enrichMarketOnChain(client, market) {
|
|
|
8985
9564
|
args: [utilization]
|
|
8986
9565
|
}),
|
|
8987
9566
|
readTokenMeta(client, viem.getAddress(baseToken)),
|
|
8988
|
-
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "baseTokenPriceFeed" })
|
|
9567
|
+
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "baseTokenPriceFeed" }),
|
|
9568
|
+
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "baseTrackingSupplySpeed" }).catch(() => 0n),
|
|
9569
|
+
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "baseTrackingBorrowSpeed" }).catch(() => 0n),
|
|
9570
|
+
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "totalSupply" }).catch(() => 0n),
|
|
9571
|
+
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "totalBorrow" }).catch(() => 0n),
|
|
9572
|
+
client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "trackingIndexScale" }).catch(() => BigInt(COMPOUND_V3_TRACKING_INDEX_SCALE))
|
|
8989
9573
|
]);
|
|
8990
9574
|
const basePrice = await client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "getPrice", args: [baseFeed] }).catch(() => 0n);
|
|
8991
9575
|
const assets = [
|
|
@@ -9020,6 +9604,47 @@ async function enrichMarketOnChain(client, market) {
|
|
|
9020
9604
|
role: "collateral"
|
|
9021
9605
|
});
|
|
9022
9606
|
}
|
|
9607
|
+
let rewardPrice = 0n;
|
|
9608
|
+
try {
|
|
9609
|
+
const cfg = await client.readContract({
|
|
9610
|
+
address: viem.getAddress(market.rewards),
|
|
9611
|
+
abi: cometRewardsAbi,
|
|
9612
|
+
functionName: "rewardConfig",
|
|
9613
|
+
args: [comet]
|
|
9614
|
+
});
|
|
9615
|
+
const rewardToken = viem.getAddress(cfg.token);
|
|
9616
|
+
const listed = assets.find((a) => a.asset.toLowerCase() === rewardToken.toLowerCase());
|
|
9617
|
+
if (listed && listed.priceRaw !== "0") {
|
|
9618
|
+
rewardPrice = BigInt(listed.priceRaw);
|
|
9619
|
+
} else {
|
|
9620
|
+
const info = await client.readContract({
|
|
9621
|
+
address: comet,
|
|
9622
|
+
abi: cometInterfaceAbi,
|
|
9623
|
+
functionName: "getAssetInfoByAddress",
|
|
9624
|
+
args: [rewardToken]
|
|
9625
|
+
});
|
|
9626
|
+
rewardPrice = await client.readContract({ address: comet, abi: cometInterfaceAbi, functionName: "getPrice", args: [info.priceFeed] }).catch(() => 0n);
|
|
9627
|
+
}
|
|
9628
|
+
} catch {
|
|
9629
|
+
rewardPrice = 0n;
|
|
9630
|
+
}
|
|
9631
|
+
const baseDecimals = Number(decimals) || baseMeta.decimals;
|
|
9632
|
+
const supplyRewardApr = compoundV3TrackingSpeedToRewardAprPercent({
|
|
9633
|
+
trackingSpeed: supplySpeed,
|
|
9634
|
+
trackingIndexScale: trackingScale,
|
|
9635
|
+
totalBase: totalSupply,
|
|
9636
|
+
baseDecimals,
|
|
9637
|
+
basePrice,
|
|
9638
|
+
rewardPrice
|
|
9639
|
+
});
|
|
9640
|
+
const borrowRewardApr = compoundV3TrackingSpeedToRewardAprPercent({
|
|
9641
|
+
trackingSpeed: borrowSpeed,
|
|
9642
|
+
trackingIndexScale: trackingScale,
|
|
9643
|
+
totalBase: totalBorrow,
|
|
9644
|
+
baseDecimals,
|
|
9645
|
+
basePrice,
|
|
9646
|
+
rewardPrice
|
|
9647
|
+
});
|
|
9023
9648
|
return {
|
|
9024
9649
|
chainId: market.chainId,
|
|
9025
9650
|
slug: market.slug,
|
|
@@ -9031,6 +9656,8 @@ async function enrichMarketOnChain(client, market) {
|
|
|
9031
9656
|
utilization: compoundV3UtilizationToDecimal(utilization),
|
|
9032
9657
|
supplyAprPercent: compoundV3AprToPercentLabel(compoundV3RatePerSecondToAprDecimal(supplyRate)),
|
|
9033
9658
|
borrowAprPercent: compoundV3AprToPercentLabel(compoundV3RatePerSecondToAprDecimal(borrowRate)),
|
|
9659
|
+
supplyRewardAprPercent: supplyRewardApr == null ? null : compoundV3AprToPercentLabel(supplyRewardApr / 100),
|
|
9660
|
+
borrowRewardAprPercent: borrowRewardApr == null ? null : compoundV3AprToPercentLabel(borrowRewardApr / 100),
|
|
9034
9661
|
assets
|
|
9035
9662
|
};
|
|
9036
9663
|
}
|
|
@@ -9046,6 +9673,8 @@ function registryMarketRow(market) {
|
|
|
9046
9673
|
utilization: null,
|
|
9047
9674
|
supplyAprPercent: null,
|
|
9048
9675
|
borrowAprPercent: null,
|
|
9676
|
+
supplyRewardAprPercent: null,
|
|
9677
|
+
borrowRewardAprPercent: null,
|
|
9049
9678
|
assets: market.baseToken ? [
|
|
9050
9679
|
{
|
|
9051
9680
|
asset: market.baseToken,
|
|
@@ -9072,7 +9701,7 @@ async function compoundV3FetchMarketsSummary(args) {
|
|
|
9072
9701
|
if (!args.rpcUrl?.trim()) {
|
|
9073
9702
|
return {
|
|
9074
9703
|
markets: registry.map(registryMarketRow),
|
|
9075
|
-
notes: "Registry from official comet deployments. Pass rpcUrl (MCP server injects it) to enrich APRs and collaterals." + subgraphNote
|
|
9704
|
+
notes: "Registry from official comet deployments. Pass rpcUrl (MCP server injects it) to enrich APRs, reward APRs, and collaterals." + subgraphNote
|
|
9076
9705
|
};
|
|
9077
9706
|
}
|
|
9078
9707
|
const client = publicClient(args.rpcUrl, args.chainId);
|
|
@@ -9086,7 +9715,7 @@ async function compoundV3FetchMarketsSummary(args) {
|
|
|
9086
9715
|
}
|
|
9087
9716
|
return {
|
|
9088
9717
|
markets,
|
|
9089
|
-
notes: "Comet proxy addresses from official deployments;
|
|
9718
|
+
notes: "Comet proxy addresses from official deployments; base supply/borrow APR and COMP incentive APR from on-chain CometInterface. Incentive APR is extra and variable; null when the reward token has no on-chain price feed." + subgraphNote
|
|
9090
9719
|
};
|
|
9091
9720
|
}
|
|
9092
9721
|
var chainAssetCache2 = /* @__PURE__ */ new Map();
|
|
@@ -9190,7 +9819,8 @@ var SKILL_PROTOCOL_IDS = [
|
|
|
9190
9819
|
"circle-cctp",
|
|
9191
9820
|
"aerodrome",
|
|
9192
9821
|
"continuum-dao",
|
|
9193
|
-
"compound-v3"
|
|
9822
|
+
"compound-v3",
|
|
9823
|
+
"yield-compare"
|
|
9194
9824
|
];
|
|
9195
9825
|
function getToolsForProtocol(protocolId) {
|
|
9196
9826
|
return MCP_TOOL_DEFINITIONS.filter((t) => t.protocolId === protocolId);
|
|
@@ -9239,6 +9869,9 @@ function getProtocolDiscoverySummary(protocolId) {
|
|
|
9239
9869
|
};
|
|
9240
9870
|
}
|
|
9241
9871
|
init_support();
|
|
9872
|
+
init_support2();
|
|
9873
|
+
init_addresses();
|
|
9874
|
+
init_stockTokens();
|
|
9242
9875
|
function advisor(protocolId, tokenFilter, impl) {
|
|
9243
9876
|
return { protocolId, tokenFilter, ...impl };
|
|
9244
9877
|
}
|
|
@@ -9509,7 +10142,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
9509
10142
|
async supportedTokens() {
|
|
9510
10143
|
return {
|
|
9511
10144
|
tokens: [],
|
|
9512
|
-
notes: "Maple Syrup pools
|
|
10145
|
+
notes: "Maple Syrup pools and APYs come from ctm_maple_fetch_markets. Copy syrupRouter, pool, and asset from the fetch row."
|
|
9513
10146
|
};
|
|
9514
10147
|
}
|
|
9515
10148
|
}),
|
|
@@ -9762,6 +10395,10 @@ exports.listProtocolSupportAdvisorIds = listProtocolSupportAdvisorIds;
|
|
|
9762
10395
|
exports.listProtocolsWithSkills = listProtocolsWithSkills;
|
|
9763
10396
|
exports.mcpAaveV4BorrowInputSchema = mcpAaveV4BorrowInputSchema;
|
|
9764
10397
|
exports.mcpAaveV4DepositInputSchema = mcpAaveV4DepositInputSchema;
|
|
10398
|
+
exports.mcpAaveV4FetchMarketInputSchema = mcpAaveV4FetchMarketInputSchema;
|
|
10399
|
+
exports.mcpAaveV4FetchMarketOutputSchema = mcpAaveV4FetchMarketOutputSchema;
|
|
10400
|
+
exports.mcpAaveV4FetchMarketsInputSchema = mcpAaveV4FetchMarketsInputSchema;
|
|
10401
|
+
exports.mcpAaveV4FetchMarketsOutputSchema = mcpAaveV4FetchMarketsOutputSchema;
|
|
9765
10402
|
exports.mcpAaveV4RepayInputSchema = mcpAaveV4RepayInputSchema;
|
|
9766
10403
|
exports.mcpAaveV4WithdrawInputSchema = mcpAaveV4WithdrawInputSchema;
|
|
9767
10404
|
exports.mcpAerodromeBuildAddLiquidityMultisignInputSchema = mcpAerodromeBuildAddLiquidityMultisignInputSchema;
|
|
@@ -9778,10 +10415,14 @@ exports.mcpAerodromeBuildRemoveLiquidityMultisignInputSchema = mcpAerodromeBuild
|
|
|
9778
10415
|
exports.mcpAerodromeBuildSwapMultisignInputSchema = mcpAerodromeBuildSwapMultisignInputSchema;
|
|
9779
10416
|
exports.mcpAerodromeDiscoverPoolsInputSchema = mcpAerodromeDiscoverPoolsInputSchema;
|
|
9780
10417
|
exports.mcpAerodromeDiscoverPoolsOutputSchema = mcpAerodromeDiscoverPoolsOutputSchema;
|
|
10418
|
+
exports.mcpAerodromeFetchLpYieldsInputSchema = mcpAerodromeFetchLpYieldsInputSchema;
|
|
10419
|
+
exports.mcpAerodromeFetchLpYieldsOutputSchema = mcpAerodromeFetchLpYieldsOutputSchema;
|
|
9781
10420
|
exports.mcpAerodromeFetchPoolsInputSchema = mcpAerodromeFetchPoolsInputSchema;
|
|
9782
10421
|
exports.mcpAerodromeFetchPoolsOutputSchema = mcpAerodromeFetchPoolsOutputSchema;
|
|
9783
10422
|
exports.mcpAerodromeFetchPositionsInputSchema = mcpAerodromeFetchPositionsInputSchema;
|
|
9784
10423
|
exports.mcpAerodromeFetchPositionsOutputSchema = mcpAerodromeFetchPositionsOutputSchema;
|
|
10424
|
+
exports.mcpAerodromeFetchStockLpYieldsInputSchema = mcpAerodromeFetchStockLpYieldsInputSchema;
|
|
10425
|
+
exports.mcpAerodromeFetchStockLpYieldsOutputSchema = mcpAerodromeFetchStockLpYieldsOutputSchema;
|
|
9785
10426
|
exports.mcpAerodromeQuoteAddLiquidityInputSchema = mcpAerodromeQuoteAddLiquidityInputSchema;
|
|
9786
10427
|
exports.mcpAerodromeQuoteAddLiquidityOutputSchema = mcpAerodromeQuoteAddLiquidityOutputSchema;
|
|
9787
10428
|
exports.mcpAerodromeQuoteClDepositInputSchema = mcpAerodromeQuoteClDepositInputSchema;
|
|
@@ -9900,16 +10541,31 @@ exports.mcpContinuumDaoSplitInputSchema = mcpContinuumDaoSplitInputSchema;
|
|
|
9900
10541
|
exports.mcpContinuumDaoTokenIdInputSchema = mcpContinuumDaoTokenIdInputSchema;
|
|
9901
10542
|
exports.mcpContinuumDaoTransferInputSchema = mcpContinuumDaoTransferInputSchema;
|
|
9902
10543
|
exports.mcpContinuumDaoUndelegateInputSchema = mcpContinuumDaoUndelegateInputSchema;
|
|
10544
|
+
exports.mcpCurveDaoBuildAddLiquidityMultisignInputSchema = mcpCurveDaoBuildAddLiquidityMultisignInputSchema;
|
|
10545
|
+
exports.mcpCurveDaoBuildGaugeDepositMultisignInputSchema = mcpCurveDaoBuildGaugeDepositMultisignInputSchema;
|
|
10546
|
+
exports.mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema = mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema;
|
|
9903
10547
|
exports.mcpCurveDaoBuildSwapMultisignInputSchema = mcpCurveDaoBuildSwapMultisignInputSchema;
|
|
10548
|
+
exports.mcpCurveDaoFetchImportantPoolsInputSchema = mcpCurveDaoFetchImportantPoolsInputSchema;
|
|
10549
|
+
exports.mcpCurveDaoFetchImportantPoolsOutputSchema = mcpCurveDaoFetchImportantPoolsOutputSchema;
|
|
10550
|
+
exports.mcpCurveDaoFetchLpYieldsInputSchema = mcpCurveDaoFetchLpYieldsInputSchema;
|
|
10551
|
+
exports.mcpCurveDaoFetchLpYieldsOutputSchema = mcpCurveDaoFetchLpYieldsOutputSchema;
|
|
10552
|
+
exports.mcpCurveDaoQuoteAddLiquidityInputSchema = mcpCurveDaoQuoteAddLiquidityInputSchema;
|
|
10553
|
+
exports.mcpCurveDaoQuoteAddLiquidityOutputSchema = mcpCurveDaoQuoteAddLiquidityOutputSchema;
|
|
9904
10554
|
exports.mcpCurveDaoQuoteInputSchema = mcpCurveDaoQuoteInputSchema;
|
|
9905
10555
|
exports.mcpCurveDaoQuoteOutputSchema = mcpCurveDaoQuoteOutputSchema;
|
|
10556
|
+
exports.mcpCurveDaoQuoteRemoveLiquidityInputSchema = mcpCurveDaoQuoteRemoveLiquidityInputSchema;
|
|
10557
|
+
exports.mcpCurveDaoQuoteRemoveLiquidityOutputSchema = mcpCurveDaoQuoteRemoveLiquidityOutputSchema;
|
|
9906
10558
|
exports.mcpEthenaClaimInputSchema = mcpEthenaClaimInputSchema;
|
|
9907
10559
|
exports.mcpEthenaCooldownInputSchema = mcpEthenaCooldownInputSchema;
|
|
10560
|
+
exports.mcpEthenaFetchSusdeApyInputSchema = mcpEthenaFetchSusdeApyInputSchema;
|
|
10561
|
+
exports.mcpEthenaFetchSusdeApyOutputSchema = mcpEthenaFetchSusdeApyOutputSchema;
|
|
9908
10562
|
exports.mcpEthenaRedeemInputSchema = mcpEthenaRedeemInputSchema;
|
|
9909
10563
|
exports.mcpEthenaStakeInputSchema = mcpEthenaStakeInputSchema;
|
|
9910
10564
|
exports.mcpEulerV2BorrowRepayInputSchema = mcpEulerV2BorrowRepayInputSchema;
|
|
9911
10565
|
exports.mcpEulerV2CollateralDepositInputSchema = mcpEulerV2CollateralDepositInputSchema;
|
|
9912
10566
|
exports.mcpEulerV2CollateralWithdrawInputSchema = mcpEulerV2CollateralWithdrawInputSchema;
|
|
10567
|
+
exports.mcpEulerV2FetchEarnVaultsInputSchema = mcpEulerV2FetchEarnVaultsInputSchema;
|
|
10568
|
+
exports.mcpEulerV2FetchEarnVaultsOutputSchema = mcpEulerV2FetchEarnVaultsOutputSchema;
|
|
9913
10569
|
exports.mcpEulerV2FetchLendVaultsInputSchema = mcpEulerV2FetchLendVaultsInputSchema;
|
|
9914
10570
|
exports.mcpEulerV2FetchLendVaultsOutputSchema = mcpEulerV2FetchLendVaultsOutputSchema;
|
|
9915
10571
|
exports.mcpEulerV2IsolatedBorrowInputSchema = mcpEulerV2IsolatedBorrowInputSchema;
|
|
@@ -9960,10 +10616,14 @@ exports.mcpHyperliquidFetchPositionsInputSchema = mcpHyperliquidFetchPositionsIn
|
|
|
9960
10616
|
exports.mcpHyperliquidFetchPositionsOutputSchema = mcpHyperliquidFetchPositionsOutputSchema;
|
|
9961
10617
|
exports.mcpHyperliquidFetchStakingSummaryInputSchema = mcpHyperliquidFetchStakingSummaryInputSchema;
|
|
9962
10618
|
exports.mcpHyperliquidFetchStakingSummaryOutputSchema = mcpHyperliquidFetchStakingSummaryOutputSchema;
|
|
10619
|
+
exports.mcpHyperliquidFetchStockMarketsInputSchema = mcpHyperliquidFetchStockMarketsInputSchema;
|
|
10620
|
+
exports.mcpHyperliquidFetchStockMarketsOutputSchema = mcpHyperliquidFetchStockMarketsOutputSchema;
|
|
9963
10621
|
exports.mcpHyperliquidFetchUsdClassBalancesInputSchema = mcpHyperliquidFetchUsdClassBalancesInputSchema;
|
|
9964
10622
|
exports.mcpHyperliquidFetchUsdClassBalancesOutputSchema = mcpHyperliquidFetchUsdClassBalancesOutputSchema;
|
|
9965
10623
|
exports.mcpHyperliquidFetchUserVaultEquitiesInputSchema = mcpHyperliquidFetchUserVaultEquitiesInputSchema;
|
|
9966
10624
|
exports.mcpHyperliquidFetchUserVaultEquitiesOutputSchema = mcpHyperliquidFetchUserVaultEquitiesOutputSchema;
|
|
10625
|
+
exports.mcpHyperliquidFetchVaultApysInputSchema = mcpHyperliquidFetchVaultApysInputSchema;
|
|
10626
|
+
exports.mcpHyperliquidFetchVaultApysOutputSchema = mcpHyperliquidFetchVaultApysOutputSchema;
|
|
9967
10627
|
exports.mcpHyperliquidFetchVaultsInputSchema = mcpHyperliquidFetchVaultsInputSchema;
|
|
9968
10628
|
exports.mcpHyperliquidFetchVaultsOutputSchema = mcpHyperliquidFetchVaultsOutputSchema;
|
|
9969
10629
|
exports.mcpHyperliquidLimitOrderInputSchema = mcpHyperliquidLimitOrderInputSchema;
|
|
@@ -9977,11 +10637,17 @@ exports.mcpHyperliquidUsdTransferInputSchema = mcpHyperliquidUsdTransferInputSch
|
|
|
9977
10637
|
exports.mcpHyperliquidVaultDepositInputSchema = mcpHyperliquidVaultDepositInputSchema;
|
|
9978
10638
|
exports.mcpHyperliquidVaultWithdrawInputSchema = mcpHyperliquidVaultWithdrawInputSchema;
|
|
9979
10639
|
exports.mcpLidoClaimWithdrawalInputSchema = mcpLidoClaimWithdrawalInputSchema;
|
|
10640
|
+
exports.mcpLidoFetchStethAprInputSchema = mcpLidoFetchStethAprInputSchema;
|
|
10641
|
+
exports.mcpLidoFetchStethAprOutputSchema = mcpLidoFetchStethAprOutputSchema;
|
|
9980
10642
|
exports.mcpLidoRequestWithdrawalsInputSchema = mcpLidoRequestWithdrawalsInputSchema;
|
|
9981
10643
|
exports.mcpLidoSubmitInputSchema = mcpLidoSubmitInputSchema;
|
|
9982
10644
|
exports.mcpLidoUnwrapWstEthInputSchema = mcpLidoUnwrapWstEthInputSchema;
|
|
9983
10645
|
exports.mcpLidoWrapStEthInputSchema = mcpLidoWrapStEthInputSchema;
|
|
9984
10646
|
exports.mcpMapleDepositInputSchema = mcpMapleDepositInputSchema;
|
|
10647
|
+
exports.mcpMapleFetchMarketInputSchema = mcpMapleFetchMarketInputSchema;
|
|
10648
|
+
exports.mcpMapleFetchMarketOutputSchema = mcpMapleFetchMarketOutputSchema;
|
|
10649
|
+
exports.mcpMapleFetchMarketsInputSchema = mcpMapleFetchMarketsInputSchema;
|
|
10650
|
+
exports.mcpMapleFetchMarketsOutputSchema = mcpMapleFetchMarketsOutputSchema;
|
|
9985
10651
|
exports.mcpMapleRequestRedeemInputSchema = mcpMapleRequestRedeemInputSchema;
|
|
9986
10652
|
exports.mcpMorphoBlueBorrowInputSchema = mcpMorphoBlueBorrowInputSchema;
|
|
9987
10653
|
exports.mcpMorphoBlueCollateralDepositInputSchema = mcpMorphoBlueCollateralDepositInputSchema;
|
|
@@ -10013,6 +10679,8 @@ exports.mcpMultisignSubmitOutputSchema = mcpServerSubmitOutputSchema;
|
|
|
10013
10679
|
exports.mcpServerCommonInputSchema = mcpServerCommonInputSchema;
|
|
10014
10680
|
exports.mcpServerMultisignInput = mcpServerMultisignInput;
|
|
10015
10681
|
exports.mcpServerSubmitOutputSchema = mcpServerSubmitOutputSchema;
|
|
10682
|
+
exports.mcpSkyFetchSusdsRateInputSchema = mcpSkyFetchSusdsRateInputSchema;
|
|
10683
|
+
exports.mcpSkyFetchSusdsRateOutputSchema = mcpSkyFetchSusdsRateOutputSchema;
|
|
10016
10684
|
exports.mcpSkyLockstakeCloseInputSchema = mcpSkyLockstakeCloseInputSchema;
|
|
10017
10685
|
exports.mcpSkyLockstakeDrawInputSchema = mcpSkyLockstakeDrawInputSchema;
|
|
10018
10686
|
exports.mcpSkyLockstakeGetRewardInputSchema = mcpSkyLockstakeGetRewardInputSchema;
|