@continuumdao/ctm-mpc-defi 0.2.56 → 0.2.58
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 +749 -171
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +373 -44
- package/dist/agent/catalog.js +738 -173
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/aave-v4/SKILL.md +26 -3
- package/dist/agent/skills/aerodrome/SKILL.md +3 -1
- package/dist/agent/skills/circle-cctp/SKILL.md +1 -1
- package/dist/agent/skills/curve-dao/SKILL.md +2 -2
- package/dist/agent/skills/railgun/SKILL.md +39 -0
- package/dist/agent/skills/uniswap-v4/SKILL.md +2 -2
- package/dist/index.cjs +165 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +166 -20
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aave-v4/index.cjs +198 -15
- package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/aave-v4/index.d.ts +62 -7
- package/dist/protocols/evm/aave-v4/index.js +189 -16
- package/dist/protocols/evm/aave-v4/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs +152 -63
- package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
- package/dist/protocols/evm/aerodrome/index.d.ts +30 -58
- package/dist/protocols/evm/aerodrome/index.js +151 -64
- package/dist/protocols/evm/aerodrome/index.js.map +1 -1
- package/dist/protocols/evm/circle-cctp/index.cjs +5 -3
- package/dist/protocols/evm/circle-cctp/index.cjs.map +1 -1
- package/dist/protocols/evm/circle-cctp/index.d.ts +3 -1
- package/dist/protocols/evm/circle-cctp/index.js +5 -4
- package/dist/protocols/evm/circle-cctp/index.js.map +1 -1
- package/dist/protocols/evm/compound-v3/index.cjs +115 -2
- package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
- package/dist/protocols/evm/compound-v3/index.js +116 -3
- package/dist/protocols/evm/compound-v3/index.js.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.cjs +1 -1
- package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.d.ts +1 -1
- package/dist/protocols/evm/continuum-dao/index.js +1 -1
- package/dist/protocols/evm/continuum-dao/index.js.map +1 -1
- package/dist/protocols/evm/curve-dao/index.cjs +120 -5
- package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/curve-dao/index.js +120 -5
- package/dist/protocols/evm/curve-dao/index.js.map +1 -1
- package/dist/protocols/evm/euler-v2/index.cjs +121 -6
- package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
- package/dist/protocols/evm/euler-v2/index.js +121 -6
- package/dist/protocols/evm/euler-v2/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +129 -57
- package/dist/protocols/evm/morpho/index.cjs.map +1 -1
- package/dist/protocols/evm/morpho/index.d.ts +2 -1
- package/dist/protocols/evm/morpho/index.js +129 -58
- package/dist/protocols/evm/morpho/index.js.map +1 -1
- package/dist/protocols/evm/pendle/index.cjs +129 -10
- package/dist/protocols/evm/pendle/index.cjs.map +1 -1
- package/dist/protocols/evm/pendle/index.js +129 -10
- package/dist/protocols/evm/pendle/index.js.map +1 -1
- package/dist/protocols/evm/railgun/index.cjs +1261 -0
- package/dist/protocols/evm/railgun/index.cjs.map +1 -0
- package/dist/protocols/evm/railgun/index.d.ts +294 -0
- package/dist/protocols/evm/railgun/index.js +1218 -0
- package/dist/protocols/evm/railgun/index.js.map +1 -0
- package/dist/protocols/evm/uniswap-v4/index.cjs +164 -17
- package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/uniswap-v4/index.js +165 -18
- package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
- package/package.json +17 -1
package/dist/agent/catalog.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getAddress, parseAbi, stringToHex,
|
|
1
|
+
import { getAddress, parseAbi, stringToHex, isAddress, formatUnits, zeroAddress, keccak256, toBytes, defineChain, createPublicClient, http } from 'viem';
|
|
2
2
|
import { MidnightApi } from '@morpho-org/midnight-sdk/api';
|
|
3
3
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -45,6 +45,111 @@ var init_chainIdParse = __esm({
|
|
|
45
45
|
"src/chains/evm/chainIdParse.ts"() {
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
function isCoinbaseB20AssetToken(address) {
|
|
49
|
+
try {
|
|
50
|
+
return getAddress(address).toLowerCase().startsWith(COINBASE_B20_ASSET_PREFIX);
|
|
51
|
+
} catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function looksLikeCoinbaseStockSymbol(symbol) {
|
|
56
|
+
return /^[A-Za-z][A-Za-z0-9]{0,8}(?:\.[A-Za-z][A-Za-z0-9]{0,4})?c$/.test((symbol ?? "").trim());
|
|
57
|
+
}
|
|
58
|
+
function indexCatalog(rows) {
|
|
59
|
+
catalogRows = rows;
|
|
60
|
+
catalogAt = Date.now();
|
|
61
|
+
catalogBySymbol.clear();
|
|
62
|
+
catalogByAddress.clear();
|
|
63
|
+
for (const row of rows) {
|
|
64
|
+
catalogBySymbol.set(row.symbol.toLowerCase(), row);
|
|
65
|
+
catalogByAddress.set(row.address.toLowerCase(), row);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function parseCoinbaseTokenizedStocksPayload(payload) {
|
|
69
|
+
const tokens = Array.isArray(payload) ? payload : payload && typeof payload === "object" && Array.isArray(payload.tokens) ? payload.tokens : [];
|
|
70
|
+
const out = [];
|
|
71
|
+
const seen = /* @__PURE__ */ new Set();
|
|
72
|
+
for (const row of tokens) {
|
|
73
|
+
if (!row || typeof row !== "object") continue;
|
|
74
|
+
const rec = row;
|
|
75
|
+
const symbol = typeof rec.symbol === "string" ? rec.symbol.trim() : "";
|
|
76
|
+
const addressRaw = typeof rec.contract_address === "string" ? rec.contract_address.trim() : "";
|
|
77
|
+
if (!looksLikeCoinbaseStockSymbol(symbol) || !isCoinbaseB20AssetToken(addressRaw)) continue;
|
|
78
|
+
const address = getAddress(addressRaw);
|
|
79
|
+
const key = address.toLowerCase();
|
|
80
|
+
if (seen.has(key)) continue;
|
|
81
|
+
seen.add(key);
|
|
82
|
+
const name = typeof rec.name === "string" && rec.name.trim() ? rec.name.trim() : symbol;
|
|
83
|
+
const iconUrl = typeof rec.icon_url === "string" && rec.icon_url.trim() ? rec.icon_url.trim() : void 0;
|
|
84
|
+
const decimals = typeof rec.decimals === "number" && Number.isInteger(rec.decimals) && rec.decimals >= 0 && rec.decimals <= 18 ? rec.decimals : COINBASE_B20_STOCK_DECIMALS;
|
|
85
|
+
out.push({ address, symbol, name, decimals, iconUrl });
|
|
86
|
+
if (out.length >= CATALOG_MAX) break;
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
async function fetchCoinbaseB20StockCatalog() {
|
|
91
|
+
const merged = [];
|
|
92
|
+
const seen = /* @__PURE__ */ new Set();
|
|
93
|
+
let pageToken = "";
|
|
94
|
+
for (let page = 0; page < 4; page++) {
|
|
95
|
+
const url = new URL(COINBASE_TOKENIZED_STOCKS_API_URL);
|
|
96
|
+
url.searchParams.set("page_size", "500");
|
|
97
|
+
if (pageToken) url.searchParams.set("page_token", pageToken);
|
|
98
|
+
const res = await fetch(url, { cache: "no-store", signal: AbortSignal.timeout(8e3) });
|
|
99
|
+
if (!res.ok) break;
|
|
100
|
+
const json = await res.json();
|
|
101
|
+
for (const row of parseCoinbaseTokenizedStocksPayload(json)) {
|
|
102
|
+
const key = row.address.toLowerCase();
|
|
103
|
+
if (seen.has(key)) continue;
|
|
104
|
+
seen.add(key);
|
|
105
|
+
merged.push(row);
|
|
106
|
+
if (merged.length >= CATALOG_MAX) break;
|
|
107
|
+
}
|
|
108
|
+
pageToken = typeof json.next_page_token === "string" ? json.next_page_token.trim() : "";
|
|
109
|
+
if (!pageToken || merged.length >= CATALOG_MAX) break;
|
|
110
|
+
}
|
|
111
|
+
if (merged.length > 0) indexCatalog(merged);
|
|
112
|
+
return catalogRows ?? [];
|
|
113
|
+
}
|
|
114
|
+
async function ensureCoinbaseB20StockCatalog() {
|
|
115
|
+
if (catalogRows && catalogRows.length > 0 && Date.now() - catalogAt < CATALOG_TTL_MS) return catalogRows;
|
|
116
|
+
if (!catalogInflight) {
|
|
117
|
+
catalogInflight = fetchCoinbaseB20StockCatalog().finally(() => {
|
|
118
|
+
catalogInflight = null;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
return await catalogInflight;
|
|
123
|
+
} catch {
|
|
124
|
+
return catalogRows ?? [];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function lookupCoinbaseB20StockToken(token) {
|
|
128
|
+
const key = (token ?? "").trim();
|
|
129
|
+
if (!key) return null;
|
|
130
|
+
const fromCatalog = catalogBySymbol.get(key.toLowerCase());
|
|
131
|
+
if (fromCatalog) return fromCatalog;
|
|
132
|
+
try {
|
|
133
|
+
return catalogByAddress.get(getAddress(key).toLowerCase()) ?? null;
|
|
134
|
+
} catch {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
var COINBASE_B20_STOCK_DECIMALS, COINBASE_B20_ASSET_PREFIX, COINBASE_TOKENIZED_STOCKS_API_URL, CATALOG_TTL_MS, CATALOG_MAX, catalogRows, catalogAt, catalogInflight, catalogBySymbol, catalogByAddress;
|
|
139
|
+
var init_coinbaseB20 = __esm({
|
|
140
|
+
"src/protocols/evm/shared/coinbaseB20.ts"() {
|
|
141
|
+
COINBASE_B20_STOCK_DECIMALS = 8;
|
|
142
|
+
COINBASE_B20_ASSET_PREFIX = "0xb200000000000000000000";
|
|
143
|
+
COINBASE_TOKENIZED_STOCKS_API_URL = "https://api.coinbase.com/v1/tokenized-stocks";
|
|
144
|
+
CATALOG_TTL_MS = 15 * 60 * 1e3;
|
|
145
|
+
CATALOG_MAX = 500;
|
|
146
|
+
catalogRows = null;
|
|
147
|
+
catalogAt = 0;
|
|
148
|
+
catalogInflight = null;
|
|
149
|
+
catalogBySymbol = /* @__PURE__ */ new Map();
|
|
150
|
+
catalogByAddress = /* @__PURE__ */ new Map();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
48
153
|
function defiEvmTransport(rpcUrl, opts) {
|
|
49
154
|
const url = rpcUrl.trim();
|
|
50
155
|
return http(url, opts);
|
|
@@ -180,7 +285,7 @@ var init_constants = __esm({
|
|
|
180
285
|
rewards: zeroAddress,
|
|
181
286
|
governor: zeroAddress
|
|
182
287
|
};
|
|
183
|
-
CTM_TOKEN_ADDRESS = getAddress("
|
|
288
|
+
CTM_TOKEN_ADDRESS = getAddress("0x7581696b0ED142f6534E5797baaABBb9a1b27086");
|
|
184
289
|
VOTING_ESCROW_LINEA_ADDRESS = getAddress("0x221EC90B3B083A8501A37bdeb7035CeaedF3C31f");
|
|
185
290
|
getAddress("0x4ebd7cCBe32a51d1638cFE90E8eD1c4BdF42f729");
|
|
186
291
|
VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS = getAddress("0x92557d38beAe4658d3c03A02F349FFB60c3bfFA5");
|
|
@@ -517,27 +622,6 @@ var init_midnightApi = __esm({
|
|
|
517
622
|
init_midnightConstants();
|
|
518
623
|
}
|
|
519
624
|
});
|
|
520
|
-
var COINBASE_B20_STOCK_TOKENS, COINBASE_B20_STOCK_DECIMALS;
|
|
521
|
-
var init_coinbaseB20 = __esm({
|
|
522
|
-
"src/protocols/evm/shared/coinbaseB20.ts"() {
|
|
523
|
-
COINBASE_B20_STOCK_TOKENS = [
|
|
524
|
-
{ symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
|
|
525
|
-
{ symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
|
|
526
|
-
{ symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
|
|
527
|
-
{ symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
|
|
528
|
-
{ symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
|
|
529
|
-
{ symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
|
|
530
|
-
{ symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
|
|
531
|
-
{ symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
|
|
532
|
-
{ symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
|
|
533
|
-
{ symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
|
|
534
|
-
{ symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
|
|
535
|
-
{ symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
|
|
536
|
-
{ symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
|
|
537
|
-
];
|
|
538
|
-
COINBASE_B20_STOCK_DECIMALS = 8;
|
|
539
|
-
}
|
|
540
|
-
});
|
|
541
625
|
function isAerodromeChainSupported(chainId) {
|
|
542
626
|
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
543
627
|
return n === AERODROME_CHAIN_ID;
|
|
@@ -941,9 +1025,9 @@ async function loadFullCurveSessionForRpc(rpcUrl) {
|
|
|
941
1025
|
if (!url) {
|
|
942
1026
|
throw new Error("rpcUrl is required.");
|
|
943
1027
|
}
|
|
944
|
-
const
|
|
945
|
-
if (
|
|
946
|
-
return
|
|
1028
|
+
const cached3 = curveSessionCache.get(url);
|
|
1029
|
+
if (cached3 && cached3.expiresAt > Date.now()) {
|
|
1030
|
+
return cached3.session;
|
|
947
1031
|
}
|
|
948
1032
|
try {
|
|
949
1033
|
const { default: curve } = await import('@curvefi/api');
|
|
@@ -1306,7 +1390,108 @@ function parseMultisignBuilderOutput(data) {
|
|
|
1306
1390
|
return multisignOutputSchema.parse(data);
|
|
1307
1391
|
}
|
|
1308
1392
|
|
|
1393
|
+
// src/protocols/evm/aave-v4/api.ts
|
|
1394
|
+
init_defiProxy();
|
|
1395
|
+
init_coinbaseB20();
|
|
1396
|
+
var AAVE_V4_GRAPHQL_URL = "https://api.v4.aave.com/graphql";
|
|
1397
|
+
async function aaveV4Gql(query, variables) {
|
|
1398
|
+
const body = { query, variables: variables ?? {} };
|
|
1399
|
+
const j = await postJsonViaOptionalProxy({
|
|
1400
|
+
directUrl: AAVE_V4_GRAPHQL_URL,
|
|
1401
|
+
body,
|
|
1402
|
+
proxyUrl: getAaveGraphqlProxyUrl(),
|
|
1403
|
+
proxyEnvelope: body
|
|
1404
|
+
});
|
|
1405
|
+
if (j.errors?.length) {
|
|
1406
|
+
const msg = j.errors.map((e) => e.message ?? "Unknown").join("; ");
|
|
1407
|
+
throw new Error(msg);
|
|
1408
|
+
}
|
|
1409
|
+
if (j.data == null) {
|
|
1410
|
+
throw new Error("Aave V4 API: empty response");
|
|
1411
|
+
}
|
|
1412
|
+
return j.data;
|
|
1413
|
+
}
|
|
1414
|
+
async function fetchAaveV4Chains() {
|
|
1415
|
+
const d = await aaveV4Gql(`
|
|
1416
|
+
query C($c: ChainsRequest!) { chains(request: $c) { chainId name nativeWrappedToken } }
|
|
1417
|
+
`, { c: { query: { filter: "ALL" } } });
|
|
1418
|
+
return d.chains ?? [];
|
|
1419
|
+
}
|
|
1420
|
+
async function loadAaveV4SupportedChainIdsFromV4Api() {
|
|
1421
|
+
const rows = await fetchAaveV4Chains();
|
|
1422
|
+
const s = /* @__PURE__ */ new Set();
|
|
1423
|
+
for (const c of rows) s.add(c.chainId);
|
|
1424
|
+
return s;
|
|
1425
|
+
}
|
|
1426
|
+
var RESERVES_ADDRESS_FRAGMENT = `
|
|
1427
|
+
asset { underlying { address } }
|
|
1428
|
+
`;
|
|
1429
|
+
async function fetchAaveV4NativeWrappedToken(chainId) {
|
|
1430
|
+
const all = await fetchAaveV4Chains();
|
|
1431
|
+
const c = all.find((x) => x.chainId === chainId);
|
|
1432
|
+
const t = (c?.nativeWrappedToken ?? "").trim();
|
|
1433
|
+
if (t && isAddress(t)) return getAddress(t);
|
|
1434
|
+
return null;
|
|
1435
|
+
}
|
|
1436
|
+
async function fetchAaveV4SupportedUnderlyingAddressSet(chainId) {
|
|
1437
|
+
const d = await aaveV4Gql(
|
|
1438
|
+
`
|
|
1439
|
+
query A($r: ReservesRequest!) { reserves(request: $r) { ${RESERVES_ADDRESS_FRAGMENT} } }
|
|
1440
|
+
`,
|
|
1441
|
+
{
|
|
1442
|
+
r: {
|
|
1443
|
+
query: { chainIds: [chainId] },
|
|
1444
|
+
filter: "ALL",
|
|
1445
|
+
orderBy: { supplyApy: "DESC" }
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1448
|
+
);
|
|
1449
|
+
const s = /* @__PURE__ */ new Set();
|
|
1450
|
+
for (const r of d.reserves ?? []) {
|
|
1451
|
+
const a = (r.asset?.underlying?.address ?? "").trim();
|
|
1452
|
+
if (a && isAddress(a)) s.add(a.toLowerCase());
|
|
1453
|
+
}
|
|
1454
|
+
return s;
|
|
1455
|
+
}
|
|
1456
|
+
var aaveV4ChainTokenCache = /* @__PURE__ */ new Map();
|
|
1457
|
+
function ensureAaveV4ChainTokenCache(chainId) {
|
|
1458
|
+
const hit = aaveV4ChainTokenCache.get(chainId);
|
|
1459
|
+
if (hit) return hit;
|
|
1460
|
+
const p = (async () => {
|
|
1461
|
+
const [nativeWrapped, supportedUnderlying] = await Promise.all([
|
|
1462
|
+
fetchAaveV4NativeWrappedToken(chainId),
|
|
1463
|
+
fetchAaveV4SupportedUnderlyingAddressSet(chainId)
|
|
1464
|
+
]);
|
|
1465
|
+
return { supportedUnderlying, nativeWrapped };
|
|
1466
|
+
})();
|
|
1467
|
+
aaveV4ChainTokenCache.set(chainId, p);
|
|
1468
|
+
return p;
|
|
1469
|
+
}
|
|
1470
|
+
function parseAaveV4UiMarketId(raw) {
|
|
1471
|
+
const t = (raw ?? "").trim().toLowerCase().replace(/\s+/g, " ");
|
|
1472
|
+
if (!t) return void 0;
|
|
1473
|
+
if (t === "core") return "core";
|
|
1474
|
+
if (t === "bluechip" || t === "prime" || t === "institutional") return "bluechip";
|
|
1475
|
+
if (t === "main" || t === "plus" || t === "default") return "main";
|
|
1476
|
+
if (t === "bstocks" || t === "bstock" || t === "b stocks" || t === "stocks" || t === "stock" || t === "equities" || t === "equity" || t === "coinbase stocks" || t === "tokenized stocks" || t === "tokenised stocks") {
|
|
1477
|
+
return "bstocks";
|
|
1478
|
+
}
|
|
1479
|
+
return void 0;
|
|
1480
|
+
}
|
|
1481
|
+
function resolveAaveV4UnderlyingAddress(token) {
|
|
1482
|
+
const raw = (token ?? "").trim();
|
|
1483
|
+
if (!raw) return null;
|
|
1484
|
+
if (isAddress(raw)) return getAddress(raw);
|
|
1485
|
+
return lookupCoinbaseB20StockToken(raw)?.address ?? null;
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1309
1488
|
// src/agent/schemas/chainPreprocess.ts
|
|
1489
|
+
function rewriteAaveV4AssetField(o, key) {
|
|
1490
|
+
const raw = String(o[key] ?? "").trim();
|
|
1491
|
+
if (!raw || isAddress(raw)) return;
|
|
1492
|
+
const resolved = resolveAaveV4UnderlyingAddress(raw);
|
|
1493
|
+
if (resolved) o[key] = resolved;
|
|
1494
|
+
}
|
|
1310
1495
|
function preprocessObject(raw) {
|
|
1311
1496
|
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
1312
1497
|
return { ...raw };
|
|
@@ -1648,6 +1833,12 @@ function preprocessAaveMultisignInput(action) {
|
|
|
1648
1833
|
return (raw) => {
|
|
1649
1834
|
const o = preprocessObject(raw);
|
|
1650
1835
|
if (!o) return raw;
|
|
1836
|
+
rewriteAaveV4AssetField(o, "underlying");
|
|
1837
|
+
rewriteAaveV4AssetField(o, "collateralUnderlying");
|
|
1838
|
+
if (typeof o.marketId === "string") {
|
|
1839
|
+
const id = parseAaveV4UiMarketId(o.marketId);
|
|
1840
|
+
if (id) o.marketId = id;
|
|
1841
|
+
}
|
|
1651
1842
|
derivePurposeIfMissing(o, (x) => {
|
|
1652
1843
|
const amt = String(x.amountHuman ?? "").trim();
|
|
1653
1844
|
const asset = String(x.underlying ?? "").trim();
|
|
@@ -1664,8 +1855,8 @@ var uniswapQuoteTradeTypeSchema = z.enum(["EXACT_INPUT", "EXACT_OUTPUT"]);
|
|
|
1664
1855
|
var mcpUniswapV4QuoteInputSchema = z.object({
|
|
1665
1856
|
type: uniswapQuoteTradeTypeSchema.describe("EXACT_INPUT or EXACT_OUTPUT"),
|
|
1666
1857
|
amount: z.string().min(1).describe("Amount in token-in base units (wei string for ERC-20)"),
|
|
1667
|
-
tokenIn: z.string().min(1).describe("Input token; 0x0 for native ETH"),
|
|
1668
|
-
tokenOut: z.string().min(1).describe("Output token address"),
|
|
1858
|
+
tokenIn: z.string().min(1).describe("Input token address or Coinbase stock ticker (AAPLc); 0x0 for native ETH"),
|
|
1859
|
+
tokenOut: z.string().min(1).describe("Output token address or Coinbase stock ticker (AAPLc)"),
|
|
1669
1860
|
chainId: agentEvmChainIdSchema.describe("tokenInChainId / same-chain default"),
|
|
1670
1861
|
uniswapApiKey: z.string().min(1).describe("Uniswap Trade API x-api-key"),
|
|
1671
1862
|
swapper: evmAddressSchema.optional().describe("MPC executor; omit if keyGen + managementNodeUrl provided"),
|
|
@@ -1701,7 +1892,9 @@ var mcpUniswapV4BuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
1701
1892
|
z.preprocess(
|
|
1702
1893
|
preprocessUniswapBuildSwapInput,
|
|
1703
1894
|
evmMultisignCommonInputSchema.extend({
|
|
1704
|
-
tokenIn: evmAddressSchema.describe(
|
|
1895
|
+
tokenIn: evmAddressSchema.describe(
|
|
1896
|
+
"Token in address or Coinbase stock ticker (AAPLc); 0x0 for native ETH"
|
|
1897
|
+
),
|
|
1705
1898
|
swap: swapTxRequestSchema,
|
|
1706
1899
|
createSwapResponse: z.object({
|
|
1707
1900
|
swap: swapTxRequestSchema,
|
|
@@ -1718,8 +1911,8 @@ var mcpUniswapV4LimitOrderQuoteInputSchema = z.object({
|
|
|
1718
1911
|
type: uniswapQuoteTradeTypeSchema.describe("EXACT_INPUT or EXACT_OUTPUT"),
|
|
1719
1912
|
amount: z.string().min(1).describe("Amount in token-in base units (wei string for ERC-20)"),
|
|
1720
1913
|
limitPrice: z.string().min(1).describe("Limit price string from Trade API (pair exchange rate)"),
|
|
1721
|
-
tokenIn: z.string().min(1).describe("Input token; 0x0 for native ETH"),
|
|
1722
|
-
tokenOut: z.string().min(1).describe("Output token address"),
|
|
1914
|
+
tokenIn: z.string().min(1).describe("Input token address or Coinbase stock ticker (AAPLc); 0x0 for native ETH"),
|
|
1915
|
+
tokenOut: z.string().min(1).describe("Output token address or Coinbase stock ticker (AAPLc)"),
|
|
1723
1916
|
chainId: agentEvmChainIdSchema.describe("Must be 1 (Ethereum mainnet) for limit orders"),
|
|
1724
1917
|
orderDeadline: agentCoercedIntSchema(z.number().int().positive()).describe("Unix seconds when unfilled order expires"),
|
|
1725
1918
|
uniswapApiKey: z.string().min(1).describe("Uniswap Trade API x-api-key"),
|
|
@@ -2066,8 +2259,8 @@ var mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema = withMultisignKeySou
|
|
|
2066
2259
|
var mcpCurveDaoQuoteInputSchema = z.object({
|
|
2067
2260
|
chainId: agentEvmChainIdSchema.describe("EVM chain id (rpcUrl resolved from get_chain_registry rpcGateway)"),
|
|
2068
2261
|
rpcUrl: z.string().min(1).optional().describe("JSON-RPC URL; continuum-mcp-server injects from chain registry \u2014 do not pass a public RPC URL"),
|
|
2069
|
-
tokenIn: z.string().min(1).describe("Input token address, or 0xeeee\u2026 / 0x0 / eth for native"),
|
|
2070
|
-
tokenOut: z.string().min(1).describe("Output token address or 0xeeee\u2026 native placeholder"),
|
|
2262
|
+
tokenIn: z.string().min(1).describe("Input token address, Coinbase stock ticker (AAPLc), or 0xeeee\u2026 / 0x0 / eth for native"),
|
|
2263
|
+
tokenOut: z.string().min(1).describe("Output token address, Coinbase stock ticker (AAPLc), or 0xeeee\u2026 native placeholder"),
|
|
2071
2264
|
amountHuman: z.string().min(1).describe("Human-readable amount of tokenIn"),
|
|
2072
2265
|
tokenInDecimals: z.number().int().min(0).max(18).optional().describe("Token-in decimals; omit to read on-chain (native uses 18)")
|
|
2073
2266
|
});
|
|
@@ -2078,8 +2271,10 @@ var mcpCurveDaoBuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
2078
2271
|
z.preprocess(
|
|
2079
2272
|
preprocessCurveBuildSwapInput,
|
|
2080
2273
|
evmMultisignCommonInputSchema.extend({
|
|
2081
|
-
tokenIn: evmAddressSchema.describe(
|
|
2082
|
-
|
|
2274
|
+
tokenIn: evmAddressSchema.describe(
|
|
2275
|
+
"ERC-20 sold, or a Coinbase stock ticker (AAPLc). Native in uses the WETH path in the UI."
|
|
2276
|
+
),
|
|
2277
|
+
tokenOut: z.string().min(1).describe("Output token, Coinbase stock ticker (AAPLc), or 0xeeee\u2026 native placeholder"),
|
|
2083
2278
|
amountHuman: z.string().min(1).describe("Human-readable amount of tokenIn"),
|
|
2084
2279
|
slippagePercent: z.number().gt(0).lt(100).describe("Slippage 0\u2013100 exclusive"),
|
|
2085
2280
|
quoteSnapshot: jsonObjectSchema.optional().describe("Optional quote row from ctm_curve_dao_quote \u2014 aliases tokenIn/tokenOut/amountHuman")
|
|
@@ -3030,7 +3225,9 @@ var mcpSkySusdsDepositInputSchema = mcpMultisignInput({
|
|
|
3030
3225
|
var mcpSkySusdsRedeemInputSchema = mcpMultisignInput({
|
|
3031
3226
|
sharesHuman: z.string().min(1)
|
|
3032
3227
|
});
|
|
3033
|
-
var mcpAaveV4MarketIdSchema = z.string().min(1).optional().describe(
|
|
3228
|
+
var mcpAaveV4MarketIdSchema = z.string().min(1).optional().describe(
|
|
3229
|
+
"UI market segment: main (Plus), core, bluechip (Prime), or bstocks (Base Coinbase tokenized stocks). Aliases: stocks, equities. Default main."
|
|
3230
|
+
);
|
|
3034
3231
|
function mcpAaveV4MultisignInput(fields, action) {
|
|
3035
3232
|
return withMultisignKeySourceRefine(
|
|
3036
3233
|
z.preprocess(preprocessAaveMultisignInput(action), evmMultisignCommonInputSchema.extend(fields))
|
|
@@ -3048,7 +3245,7 @@ var mcpAaveV4DepositInputSchema = mcpAaveV4MultisignInput(
|
|
|
3048
3245
|
{
|
|
3049
3246
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 continuum-mcp-server resolves spoke from Aave v4 API."),
|
|
3050
3247
|
underlying: evmAddressSchema.describe(
|
|
3051
|
-
"Asset to supply. Native ETH: 0x0 or wrapped native with isNativeIn true."
|
|
3248
|
+
"Asset to supply. Address, or a Base bStock ticker (AAPLc). Native ETH: 0x0 or wrapped native with isNativeIn true."
|
|
3052
3249
|
),
|
|
3053
3250
|
amountHuman: z.string().min(1),
|
|
3054
3251
|
marketId: mcpAaveV4MarketIdSchema,
|
|
@@ -3064,7 +3261,7 @@ var mcpAaveV4DepositInputSchema = mcpAaveV4MultisignInput(
|
|
|
3064
3261
|
var mcpAaveV4WithdrawInputSchema = mcpAaveV4MultisignInput(
|
|
3065
3262
|
{
|
|
3066
3263
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 server resolves from Aave v4 API."),
|
|
3067
|
-
underlying: evmAddressSchema.describe("Supplied asset to withdraw."),
|
|
3264
|
+
underlying: evmAddressSchema.describe("Supplied asset to withdraw. Address or bStock ticker (AAPLc)."),
|
|
3068
3265
|
amountHuman: z.string().min(1),
|
|
3069
3266
|
marketId: mcpAaveV4MarketIdSchema,
|
|
3070
3267
|
...mcpAaveV4HealthPreviewFields
|
|
@@ -3074,10 +3271,14 @@ var mcpAaveV4WithdrawInputSchema = mcpAaveV4MultisignInput(
|
|
|
3074
3271
|
var mcpAaveV4BorrowInputSchema = mcpAaveV4MultisignInput(
|
|
3075
3272
|
{
|
|
3076
3273
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 server resolves from Aave v4 API."),
|
|
3077
|
-
underlying: evmAddressSchema.describe(
|
|
3274
|
+
underlying: evmAddressSchema.describe(
|
|
3275
|
+
"Debt asset to borrow (e.g. USDC), not collateral. On bstocks the equities are not borrowable."
|
|
3276
|
+
),
|
|
3078
3277
|
amountHuman: z.string().min(1),
|
|
3079
3278
|
marketId: mcpAaveV4MarketIdSchema,
|
|
3080
|
-
collateralUnderlying: evmAddressSchema.optional().describe(
|
|
3279
|
+
collateralUnderlying: evmAddressSchema.optional().describe(
|
|
3280
|
+
"Collateral token already supplied (address or bStock ticker such as AAPLc). Helps pick the hub when debt exists on multiple hubs."
|
|
3281
|
+
),
|
|
3081
3282
|
...mcpAaveV4HealthPreviewFields
|
|
3082
3283
|
},
|
|
3083
3284
|
"borrow"
|
|
@@ -3085,7 +3286,7 @@ var mcpAaveV4BorrowInputSchema = mcpAaveV4MultisignInput(
|
|
|
3085
3286
|
var mcpAaveV4RepayInputSchema = mcpAaveV4MultisignInput(
|
|
3086
3287
|
{
|
|
3087
3288
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 server resolves from Aave v4 API."),
|
|
3088
|
-
underlying: evmAddressSchema.describe("Debt token to repay."),
|
|
3289
|
+
underlying: evmAddressSchema.describe("Debt token to repay. On bstocks this is USDC."),
|
|
3089
3290
|
amountHuman: z.string().min(1),
|
|
3090
3291
|
marketId: mcpAaveV4MarketIdSchema,
|
|
3091
3292
|
...mcpAaveV4HealthPreviewFields
|
|
@@ -4263,11 +4464,18 @@ var mcpMapleFetchMarketInputSchema = z.object({
|
|
|
4263
4464
|
underlying: z.string().trim().min(1).optional().describe("Deposit asset address or ticker (USDC, USDT, USDG).")
|
|
4264
4465
|
});
|
|
4265
4466
|
var mcpMapleFetchMarketOutputSchema = mcpMapleFetchMarketsOutputSchema;
|
|
4266
|
-
var
|
|
4467
|
+
var aaveV4UiMarketIdEnum = z.enum(["main", "core", "bluechip", "bstocks"]);
|
|
4468
|
+
function preprocessAaveV4MarketId(value) {
|
|
4469
|
+
if (typeof value !== "string") return value;
|
|
4470
|
+
return parseAaveV4UiMarketId(value) ?? value;
|
|
4471
|
+
}
|
|
4472
|
+
var mcpAaveV4UiMarketIdSchema = z.preprocess(preprocessAaveV4MarketId, aaveV4UiMarketIdEnum.optional()).describe(
|
|
4473
|
+
"UI market segment: main (Plus), core, bluechip (Prime), or bstocks (Base Coinbase tokenized stocks). Aliases: stocks, equities. Omit to list all hubs."
|
|
4474
|
+
);
|
|
4267
4475
|
var mcpAaveV4MarketSummarySchema = z.object({
|
|
4268
4476
|
chainId: z.number(),
|
|
4269
4477
|
hubName: z.string(),
|
|
4270
|
-
marketId:
|
|
4478
|
+
marketId: aaveV4UiMarketIdEnum,
|
|
4271
4479
|
hubAddress: z.string(),
|
|
4272
4480
|
symbol: z.string(),
|
|
4273
4481
|
name: z.string(),
|
|
@@ -4287,7 +4495,9 @@ var mcpAaveV4MarketSummarySchema = z.object({
|
|
|
4287
4495
|
var mcpAaveV4FetchMarketsInputSchema = z.object({
|
|
4288
4496
|
chainId: agentEvmChainIdSchema,
|
|
4289
4497
|
marketId: mcpAaveV4UiMarketIdSchema,
|
|
4290
|
-
underlying: z.string().trim().min(1).optional().describe(
|
|
4498
|
+
underlying: z.string().trim().min(1).optional().describe(
|
|
4499
|
+
'Optional filter: ERC-20 address or ticker (USDT, USDC, AAPLc). "stock" lists bStock collateral. Omit to list all reserves.'
|
|
4500
|
+
)
|
|
4291
4501
|
});
|
|
4292
4502
|
var mcpAaveV4FetchMarketsOutputSchema = z.object({
|
|
4293
4503
|
chainId: z.number(),
|
|
@@ -4296,14 +4506,21 @@ var mcpAaveV4FetchMarketsOutputSchema = z.object({
|
|
|
4296
4506
|
});
|
|
4297
4507
|
var mcpAaveV4FetchMarketInputSchema = z.object({
|
|
4298
4508
|
chainId: agentEvmChainIdSchema,
|
|
4299
|
-
underlying: z.string().trim().min(1).describe(
|
|
4509
|
+
underlying: z.string().trim().min(1).describe(
|
|
4510
|
+
"Reserve underlying address or ticker (USDT, AAPLc). Prefer fetch_markets or fetch_stock_markets when listing rates."
|
|
4511
|
+
),
|
|
4300
4512
|
marketId: mcpAaveV4UiMarketIdSchema
|
|
4301
4513
|
});
|
|
4302
4514
|
var mcpAaveV4FetchMarketOutputSchema = mcpAaveV4FetchMarketsOutputSchema;
|
|
4515
|
+
var mcpAaveV4FetchStockMarketsInputSchema = z.object({
|
|
4516
|
+
chainId: agentEvmChainIdSchema.optional().describe("Defaults to Base 8453 (Coinbase Stocks hub)."),
|
|
4517
|
+
underlying: z.string().trim().min(1).optional().describe("B20 ticker or address (AAPLc), or USDC. Omit to list the whole Coinbase Stocks hub.")
|
|
4518
|
+
});
|
|
4519
|
+
var mcpAaveV4FetchStockMarketsOutputSchema = mcpAaveV4FetchMarketsOutputSchema;
|
|
4303
4520
|
var mcpEulerV2FetchLendVaultsInputSchema = z.object({
|
|
4304
4521
|
chainId: agentEvmChainIdSchema,
|
|
4305
4522
|
underlyingAddress: evmAddressSchema.describe(
|
|
4306
|
-
"Underlying asset address from
|
|
4523
|
+
"Underlying asset address, or a Coinbase stock ticker (AAPLc) from the live catalog."
|
|
4307
4524
|
),
|
|
4308
4525
|
limit: agentCoercedOptionalIntSchema(z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
|
|
4309
4526
|
});
|
|
@@ -4325,7 +4542,7 @@ var mcpEulerV2FetchLendVaultsOutputSchema = z.object({
|
|
|
4325
4542
|
var mcpEulerV2FetchEarnVaultsInputSchema = z.object({
|
|
4326
4543
|
chainId: agentEvmChainIdSchema,
|
|
4327
4544
|
underlyingAddress: evmAddressSchema.describe(
|
|
4328
|
-
"Underlying asset address from
|
|
4545
|
+
"Underlying asset address, or a Coinbase stock ticker (AAPLc) from the live catalog."
|
|
4329
4546
|
),
|
|
4330
4547
|
limit: agentCoercedOptionalIntSchema(z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
|
|
4331
4548
|
});
|
|
@@ -4352,6 +4569,77 @@ var mcpLidoFetchStethAprOutputSchema = z.object({
|
|
|
4352
4569
|
source: z.string(),
|
|
4353
4570
|
notes: z.string()
|
|
4354
4571
|
});
|
|
4572
|
+
var mcpRailgunFetchPopularAssetsInputSchema = z.object({
|
|
4573
|
+
chainId: agentEvmChainIdSchema,
|
|
4574
|
+
rpcUrl: z.string().min(1).optional().describe("Server-filled from the chain registry. Agents should omit.")
|
|
4575
|
+
}).strict();
|
|
4576
|
+
var mcpRailgunFetchPopularAssetsOutputSchema = z.object({
|
|
4577
|
+
chainId: z.number(),
|
|
4578
|
+
tokens: z.array(z.object({ address: z.string() }).strict()),
|
|
4579
|
+
nativeWrapped: z.string().optional(),
|
|
4580
|
+
notes: z.string()
|
|
4581
|
+
}).strict();
|
|
4582
|
+
var mcpRailgunFetchPrivateBalancesInputSchema = z.object({
|
|
4583
|
+
keyGenId: z.string().min(1).describe("KeyGen request id. The shielded wallet is stored on that KeyGen record."),
|
|
4584
|
+
chainId: agentEvmChainIdSchema,
|
|
4585
|
+
refresh: z.boolean().optional().describe("Scan again and write the KeyGen record. Default reads the stored scan, and scans when none is stored.")
|
|
4586
|
+
}).strict();
|
|
4587
|
+
var mcpRailgunPrivateBalanceSchema = z.object({
|
|
4588
|
+
tokenAddress: z.string(),
|
|
4589
|
+
spendable: z.string(),
|
|
4590
|
+
pending: z.string(),
|
|
4591
|
+
symbol: z.string().optional()
|
|
4592
|
+
}).strict();
|
|
4593
|
+
var mcpRailgunFetchPrivateBalancesOutputSchema = z.object({
|
|
4594
|
+
railgunAddress: z.string(),
|
|
4595
|
+
walletConfigured: z.boolean(),
|
|
4596
|
+
chainId: z.number(),
|
|
4597
|
+
scanned: z.boolean(),
|
|
4598
|
+
scanStatus: z.enum(["scanning", "ready", "empty", "error", "unscanned"]),
|
|
4599
|
+
balances: z.array(mcpRailgunPrivateBalanceSchema),
|
|
4600
|
+
notes: z.string()
|
|
4601
|
+
}).strict();
|
|
4602
|
+
var mcpRailgunEnsureWalletInputSchema = z.object({
|
|
4603
|
+
keyGenId: z.string().min(1),
|
|
4604
|
+
chainId: agentEvmChainIdSchema.optional()
|
|
4605
|
+
}).strict();
|
|
4606
|
+
var mcpRailgunEnsureWalletOutputSchema = z.object({
|
|
4607
|
+
railgunAddress: z.string(),
|
|
4608
|
+
created: z.boolean()
|
|
4609
|
+
}).strict();
|
|
4610
|
+
var mcpRailgunShieldInputSchema = mcpMultisignInput({
|
|
4611
|
+
tokenAddress: evmAddressSchema.describe("ERC-20 contract to shield"),
|
|
4612
|
+
amountWei: z.string().min(1).describe("Amount in wei"),
|
|
4613
|
+
railgunAddress: z.string().min(1).describe("Recipient 0zk address"),
|
|
4614
|
+
shieldSignature: z.string().min(1).optional().describe("personal_sign result from the first shield call. Omit on the first call.")
|
|
4615
|
+
});
|
|
4616
|
+
var mcpRailgunPrivateTransferInputSchema = z.object({
|
|
4617
|
+
keyGenId: z.string().min(1),
|
|
4618
|
+
chainId: agentEvmChainIdSchema,
|
|
4619
|
+
tokenAddress: evmAddressSchema,
|
|
4620
|
+
amountWei: z.string().min(1),
|
|
4621
|
+
recipientAddress: z.string().min(1).describe("Recipient 0zk address"),
|
|
4622
|
+
memoText: z.string().optional()
|
|
4623
|
+
}).strict();
|
|
4624
|
+
var mcpRailgunUnshieldInputSchema = z.object({
|
|
4625
|
+
keyGenId: z.string().min(1),
|
|
4626
|
+
chainId: agentEvmChainIdSchema,
|
|
4627
|
+
tokenAddress: evmAddressSchema,
|
|
4628
|
+
amountWei: z.string().min(1),
|
|
4629
|
+
recipientAddress: evmAddressSchema.optional().describe("Public recipient. Defaults to this KeyGen Ethereum address.")
|
|
4630
|
+
}).strict();
|
|
4631
|
+
var mcpRailgunAgreeSpendInputSchema = z.object({
|
|
4632
|
+
keyGenId: z.string().min(1),
|
|
4633
|
+
spendId: z.string().min(1)
|
|
4634
|
+
}).strict();
|
|
4635
|
+
var mcpRailgunPrivateActionOutputSchema = z.object({
|
|
4636
|
+
status: z.enum(["pending", "submitted", "failed"]),
|
|
4637
|
+
spendId: z.string(),
|
|
4638
|
+
approvals: z.number().int().nonnegative(),
|
|
4639
|
+
quorum: z.number().int().positive(),
|
|
4640
|
+
txHash: z.string().optional(),
|
|
4641
|
+
error: z.string().optional()
|
|
4642
|
+
}).strict();
|
|
4355
4643
|
var mcpSkyFetchSusdsRateInputSchema = z.object({
|
|
4356
4644
|
rpcUrl: z.string().min(1).optional().describe("Server-filled from chain registry. Agents should omit.")
|
|
4357
4645
|
}).strict();
|
|
@@ -4420,7 +4708,7 @@ var mcpPendleFetchMerkleRewardsOutputSchema = jsonObjectSchema.describe(
|
|
|
4420
4708
|
var mcpPendleQuoteSwapInputSchema = z.object({
|
|
4421
4709
|
chainId: agentEvmChainIdSchema,
|
|
4422
4710
|
rpcUrl: z.string().min(1).optional(),
|
|
4423
|
-
tokenIn: z.string().min(1).describe("Underlying, PT, or
|
|
4711
|
+
tokenIn: z.string().min(1).describe("Underlying, PT, YT, or Coinbase stock ticker (AAPLc). 0xeeee / 0x0 = native."),
|
|
4424
4712
|
tokenOut: z.string().min(1),
|
|
4425
4713
|
amountHuman: z.string().min(1),
|
|
4426
4714
|
slippagePercent: z.number().gt(0).lt(100),
|
|
@@ -6094,7 +6382,7 @@ var mcpCctpFetchBurnFeesInputSchema = z.object({
|
|
|
6094
6382
|
transferAmountHuman: z.string().min(1).optional().describe(
|
|
6095
6383
|
"Human USDC amount the recipient receives (6 decimals). Required for a maxFee that includes the fast-transfer protocol fee and for totalBurn. Omit only to inspect raw forwarding tiers."
|
|
6096
6384
|
),
|
|
6097
|
-
feeTier: z.enum(["low", "med", "high"]).optional().describe("Iris forwardFee tier; default
|
|
6385
|
+
feeTier: z.enum(["low", "med", "high"]).optional().describe("Iris forwardFee tier; default high"),
|
|
6098
6386
|
minFinalityThreshold: agentCoercedOptionalIntSchema(z.number().int().positive()).describe(
|
|
6099
6387
|
"Iris fee row. 1000 (default) is fast transfer and includes minimumFee bps. 2000 is standard transfer."
|
|
6100
6388
|
)
|
|
@@ -6131,7 +6419,7 @@ var mcpCctpBuildBurnMultisignInputSchema = mcpMultisignInput({
|
|
|
6131
6419
|
destChainId: agentEvmChainIdSchema.describe("Destination chain EIP-155 id (mint chain)"),
|
|
6132
6420
|
transferAmountHuman: z.string().min(1).describe("Human USDC amount recipient receives"),
|
|
6133
6421
|
mintRecipient: evmAddressSchema.optional().describe("Recipient on destination chain; defaults to MPC executor address"),
|
|
6134
|
-
feeTier: z.enum(["low", "med", "high"]).optional(),
|
|
6422
|
+
feeTier: z.enum(["low", "med", "high"]).optional().describe("Iris forwardFee tier; default high"),
|
|
6135
6423
|
minFinalityThreshold: agentCoercedOptionalIntSchema(z.number().int().positive()),
|
|
6136
6424
|
feeSnapshot: jsonObjectSchema.optional().describe(
|
|
6137
6425
|
"Optional output from ctm_cctp_fetch_burn_fees. Build re-quotes Iris. A snapshot maxFee below the live forward+protocol total is ignored; a higher snapshot is kept as a cap."
|
|
@@ -6555,7 +6843,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
6555
6843
|
actionId: "aave-v4.deposit",
|
|
6556
6844
|
protocolId: "aave-v4",
|
|
6557
6845
|
chainCategory: "evm",
|
|
6558
|
-
description: "Build Aave v4 Spoke supply/deposit batch (wrap native, approve, supply).",
|
|
6846
|
+
description: "Build Aave v4 Spoke supply/deposit batch (wrap native, approve, supply). Base bStocks: marketId bstocks and underlying ticker (AAPLc) or address.",
|
|
6559
6847
|
prerequisites: ["keyGenId", "chainId", "underlying", "amountHuman", "get_defi_protocol_skill for hubs/spokes"],
|
|
6560
6848
|
handler: { importPath: "protocols/evm/aave-v4", exportName: "buildEvmMultisignBodyAaveV4DepositBatch" },
|
|
6561
6849
|
inputZod: mcpAaveV4DepositInputSchema
|
|
@@ -6575,7 +6863,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
6575
6863
|
actionId: "aave-v4.borrow",
|
|
6576
6864
|
protocolId: "aave-v4",
|
|
6577
6865
|
chainCategory: "evm",
|
|
6578
|
-
description: "Build Aave v4 Spoke borrow; underlying is debt asset
|
|
6866
|
+
description: "Build Aave v4 Spoke borrow; underlying is the debt asset (USDC on bstocks). Equities are collateral-only. collateralUnderlying may be a bStock ticker (AAPLc).",
|
|
6579
6867
|
prerequisites: [
|
|
6580
6868
|
"keyGenId",
|
|
6581
6869
|
"chainId",
|
|
@@ -7709,6 +7997,16 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
7709
7997
|
prerequisites: ["keyGenId", "chainId 999", "question", "outcome", "amountHuman", "purposeText"],
|
|
7710
7998
|
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "buildEvmMultisignBodyHyperliquidOutcomeNegate" },
|
|
7711
7999
|
inputZod: mcpHyperliquidOutcomeNegateInputSchema
|
|
8000
|
+
}),
|
|
8001
|
+
defineProtocolMcpTool({
|
|
8002
|
+
name: "ctm_railgun_build_shield_multisign",
|
|
8003
|
+
actionId: "railgun.shield",
|
|
8004
|
+
protocolId: "railgun",
|
|
8005
|
+
chainCategory: "evm",
|
|
8006
|
+
description: "Shield an ERC-20 into a Railgun 0zk address. The first call omits shieldSignature and returns a personal_sign. Submit it, then call again with shieldSignature to build the approve-and-shield transaction.",
|
|
8007
|
+
prerequisites: ["keyGen", "executorAddress", "RPC URL", "0zk recipient"],
|
|
8008
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "buildEvmMultisignBodyRailgunShield" },
|
|
8009
|
+
inputZod: mcpRailgunShieldInputSchema
|
|
7712
8010
|
})
|
|
7713
8011
|
];
|
|
7714
8012
|
var catalogQuery = {
|
|
@@ -10009,10 +10307,11 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
10009
10307
|
actionId: "aave-v4.fetch-markets",
|
|
10010
10308
|
protocolId: "aave-v4",
|
|
10011
10309
|
chainCategory: "evm",
|
|
10012
|
-
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.",
|
|
10310
|
+
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/bstocks) or underlying filter. Base tokenized stocks: marketId bstocks or ctm_aave_v4_fetch_stock_markets. Tickers (AAPLc) OK.",
|
|
10013
10311
|
prerequisites: ["chainId", "get_defi_protocol_supported_chains"],
|
|
10014
10312
|
followUp: [
|
|
10015
10313
|
"ctm_aave_v4_fetch_market",
|
|
10314
|
+
"ctm_aave_v4_fetch_stock_markets",
|
|
10016
10315
|
"ctm_aave_v4_build_deposit_multisign",
|
|
10017
10316
|
"ctm_aave_v4_build_borrow_multisign"
|
|
10018
10317
|
],
|
|
@@ -10025,7 +10324,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
10025
10324
|
actionId: "aave-v4.fetch-market",
|
|
10026
10325
|
protocolId: "aave-v4",
|
|
10027
10326
|
chainCategory: "evm",
|
|
10028
|
-
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.",
|
|
10327
|
+
description: "One Aave v4 reserve (or the same underlying across hubs) with supply/borrow APY and liquidity. Copy underlying + marketId for deposit/borrow/repay. Tickers OK (USDT, AAPLc). Do not web-search Aave rates.",
|
|
10029
10328
|
prerequisites: ["chainId", "underlying from ctm_aave_v4_fetch_markets or get_defi_protocol_supported_tokens"],
|
|
10030
10329
|
followUp: [
|
|
10031
10330
|
"ctm_aave_v4_build_deposit_multisign",
|
|
@@ -10037,6 +10336,23 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
10037
10336
|
inputZod: mcpAaveV4FetchMarketInputSchema,
|
|
10038
10337
|
outputZod: mcpAaveV4FetchMarketOutputSchema
|
|
10039
10338
|
}),
|
|
10339
|
+
defineMcpTool({
|
|
10340
|
+
name: "ctm_aave_v4_fetch_stock_markets",
|
|
10341
|
+
actionId: "aave-v4.fetch-stock-markets",
|
|
10342
|
+
protocolId: "aave-v4",
|
|
10343
|
+
chainCategory: "evm",
|
|
10344
|
+
description: "Coinbase tokenized stocks (bStocks) on the Aave v4 Coinbase Stocks hub, Base chainId 8453 by default. Equities (AAPLc, NVDAc, \u2026) are collateral-only; USDC is the borrow asset. Tickers OK. Same rows as ctm_aave_v4_fetch_markets with marketId bstocks. Chainlink feeds are 24/5. Not for U.S. persons.",
|
|
10345
|
+
prerequisites: ["chainId 8453 or omit"],
|
|
10346
|
+
followUp: [
|
|
10347
|
+
"ctm_aave_v4_build_deposit_multisign",
|
|
10348
|
+
"ctm_aave_v4_build_borrow_multisign",
|
|
10349
|
+
"ctm_aave_v4_build_repay_multisign",
|
|
10350
|
+
"ctm_aave_v4_build_withdraw_multisign"
|
|
10351
|
+
],
|
|
10352
|
+
handler: { importPath: "protocols/evm/aave-v4", exportName: "aaveV4FetchStockMarketsSummary" },
|
|
10353
|
+
inputZod: mcpAaveV4FetchStockMarketsInputSchema,
|
|
10354
|
+
outputZod: mcpAaveV4FetchStockMarketsOutputSchema
|
|
10355
|
+
}),
|
|
10040
10356
|
defineMcpTool({
|
|
10041
10357
|
name: "ctm_aave_v4_fetch_merkl_rewards",
|
|
10042
10358
|
actionId: "aave-v4.fetch-merkl-rewards",
|
|
@@ -10721,6 +11037,78 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
10721
11037
|
handler: { importPath: "protocols/evm/trueo", exportName: "trueoFetchOrderbookSummary" },
|
|
10722
11038
|
inputZod: mcpTrueoFetchOrderbookInputSchema,
|
|
10723
11039
|
outputZod: mcpTrueoFetchOrderbookOutputSchema
|
|
11040
|
+
}),
|
|
11041
|
+
defineMcpTool({
|
|
11042
|
+
name: "ctm_railgun_fetch_popular_assets",
|
|
11043
|
+
actionId: "railgun.fetch-popular-assets",
|
|
11044
|
+
protocolId: "railgun",
|
|
11045
|
+
chainCategory: "evm",
|
|
11046
|
+
description: "Top 5 public ERC-20s on a Railgun chain by recent shield count. This is the asset-row icon list, not the user shielded holdings. rpcUrl is injected.",
|
|
11047
|
+
prerequisites: ["chainId", "get_defi_protocol_supported_chains"],
|
|
11048
|
+
followUp: ["ctm_railgun_build_shield_multisign"],
|
|
11049
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPopularAssets" },
|
|
11050
|
+
inputZod: mcpRailgunFetchPopularAssetsInputSchema,
|
|
11051
|
+
outputZod: mcpRailgunFetchPopularAssetsOutputSchema
|
|
11052
|
+
}),
|
|
11053
|
+
defineMcpTool({
|
|
11054
|
+
name: "ctm_railgun_ensure_wallet",
|
|
11055
|
+
actionId: "railgun.ensure-wallet",
|
|
11056
|
+
protocolId: "railgun",
|
|
11057
|
+
chainCategory: "evm",
|
|
11058
|
+
description: "Create the Railgun wallet on this KeyGen if it does not exist yet, and return its 0zk address. The spending key is split across the KeyGen nodes. No node receives a key it can spend alone. Does not return a mnemonic. Use this from the node agent and from Telegram before shield, unshield, or private transfer.",
|
|
11059
|
+
prerequisites: ["keyGenId"],
|
|
11060
|
+
followUp: ["ctm_railgun_fetch_private_balances", "ctm_railgun_build_shield_multisign"],
|
|
11061
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPrivateBalancesSummary" },
|
|
11062
|
+
inputZod: mcpRailgunEnsureWalletInputSchema,
|
|
11063
|
+
outputZod: mcpRailgunEnsureWalletOutputSchema
|
|
11064
|
+
}),
|
|
11065
|
+
defineMcpTool({
|
|
11066
|
+
name: "ctm_railgun_fetch_private_balances",
|
|
11067
|
+
actionId: "railgun.fetch-private-balances",
|
|
11068
|
+
protocolId: "railgun",
|
|
11069
|
+
chainCategory: "evm",
|
|
11070
|
+
description: "Shielded balances stored on the KeyGen record for this chain. Scans on the node when no scan is stored, or when refresh is true, then writes the result back to the KeyGen. Does not return a mnemonic or viewing key. Works from the node agent and from Telegram.",
|
|
11071
|
+
prerequisites: ["keyGenId", "chainId", "ctm_railgun_ensure_wallet"],
|
|
11072
|
+
followUp: ["ctm_railgun_private_transfer", "ctm_railgun_unshield"],
|
|
11073
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPrivateBalancesSummary" },
|
|
11074
|
+
inputZod: mcpRailgunFetchPrivateBalancesInputSchema,
|
|
11075
|
+
outputZod: mcpRailgunFetchPrivateBalancesOutputSchema
|
|
11076
|
+
}),
|
|
11077
|
+
defineMcpTool({
|
|
11078
|
+
name: "ctm_railgun_private_transfer",
|
|
11079
|
+
actionId: "railgun.private-transfer",
|
|
11080
|
+
protocolId: "railgun",
|
|
11081
|
+
chainCategory: "evm",
|
|
11082
|
+
description: "Start a private Railgun transfer. It stays pending until the KeyGen signing quorum agrees with ctm_railgun_agree_spend. No single node can spend. Do not pass a mnemonic.",
|
|
11083
|
+
prerequisites: ["keyGenId", "chainId", "0zk recipient", "ctm_railgun_ensure_wallet"],
|
|
11084
|
+
followUp: ["ctm_railgun_fetch_private_balances"],
|
|
11085
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "railgunPrivateTransfer" },
|
|
11086
|
+
inputZod: mcpRailgunPrivateTransferInputSchema,
|
|
11087
|
+
outputZod: mcpRailgunPrivateActionOutputSchema
|
|
11088
|
+
}),
|
|
11089
|
+
defineMcpTool({
|
|
11090
|
+
name: "ctm_railgun_unshield",
|
|
11091
|
+
actionId: "railgun.unshield",
|
|
11092
|
+
protocolId: "railgun",
|
|
11093
|
+
chainCategory: "evm",
|
|
11094
|
+
description: "Start an unshield to a public address. It stays pending until the KeyGen signing quorum agrees with ctm_railgun_agree_spend. Recipient defaults to the KeyGen Ethereum address. No single node can spend. Do not pass a mnemonic.",
|
|
11095
|
+
prerequisites: ["keyGenId", "chainId", "ctm_railgun_ensure_wallet"],
|
|
11096
|
+
followUp: ["ctm_railgun_fetch_private_balances"],
|
|
11097
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "railgunUnshield" },
|
|
11098
|
+
inputZod: mcpRailgunUnshieldInputSchema,
|
|
11099
|
+
outputZod: mcpRailgunPrivateActionOutputSchema
|
|
11100
|
+
}),
|
|
11101
|
+
defineMcpTool({
|
|
11102
|
+
name: "ctm_railgun_agree_spend",
|
|
11103
|
+
actionId: "railgun.agree-spend",
|
|
11104
|
+
protocolId: "railgun",
|
|
11105
|
+
chainCategory: "evm",
|
|
11106
|
+
description: "Agree this node\u2019s Railgun spending share for a pending spendId. Read the pending spend on the KeyGen record before agreeing. One share cannot spend the 0zk wallet.",
|
|
11107
|
+
prerequisites: ["keyGenId", "spendId"],
|
|
11108
|
+
followUp: ["ctm_railgun_fetch_private_balances"],
|
|
11109
|
+
handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPrivateBalancesSummary" },
|
|
11110
|
+
inputZod: mcpRailgunAgreeSpendInputSchema,
|
|
11111
|
+
outputZod: mcpRailgunPrivateActionOutputSchema
|
|
10724
11112
|
})
|
|
10725
11113
|
];
|
|
10726
11114
|
var MCP_TOOL_DEFINITIONS = [
|
|
@@ -10837,6 +11225,222 @@ var lidoProtocolModule = {
|
|
|
10837
11225
|
]
|
|
10838
11226
|
};
|
|
10839
11227
|
registerProtocolModule(lidoProtocolModule);
|
|
11228
|
+
|
|
11229
|
+
// src/protocols/evm/railgun/networks.ts
|
|
11230
|
+
function selectRailgunNetworks(config) {
|
|
11231
|
+
const rows = [];
|
|
11232
|
+
for (const entry of Object.values(config)) {
|
|
11233
|
+
if (!entry || entry.deprecated || entry.isDevOnlyNetwork) continue;
|
|
11234
|
+
const chainId = Number(entry.chain?.id);
|
|
11235
|
+
const proxyContract = String(entry.proxyContract ?? "").trim();
|
|
11236
|
+
const wrappedAddress = String(entry.baseToken?.wrappedAddress ?? "").trim();
|
|
11237
|
+
if (!Number.isFinite(chainId) || chainId <= 0 || !proxyContract || !wrappedAddress) continue;
|
|
11238
|
+
rows.push({
|
|
11239
|
+
chainId,
|
|
11240
|
+
networkName: String(entry.name ?? ""),
|
|
11241
|
+
publicName: String(entry.publicName ?? entry.name ?? ""),
|
|
11242
|
+
proxyContract,
|
|
11243
|
+
deploymentBlock: Number(entry.deploymentBlock ?? 0),
|
|
11244
|
+
wrappedAddress,
|
|
11245
|
+
wrappedSymbol: String(entry.baseToken?.wrappedSymbol ?? entry.baseToken?.symbol ?? ""),
|
|
11246
|
+
wrappedDecimals: Number(entry.baseToken?.decimals ?? 18),
|
|
11247
|
+
isTestnet: Boolean(entry.isTestnet)
|
|
11248
|
+
});
|
|
11249
|
+
}
|
|
11250
|
+
rows.sort((a, b) => a.chainId - b.chainId);
|
|
11251
|
+
return rows;
|
|
11252
|
+
}
|
|
11253
|
+
var cached = null;
|
|
11254
|
+
async function loadRailgunNetworks() {
|
|
11255
|
+
if (cached) return cached;
|
|
11256
|
+
const mod = await import('@railgun-community/shared-models');
|
|
11257
|
+
cached = selectRailgunNetworks(mod.NETWORK_CONFIG);
|
|
11258
|
+
return cached;
|
|
11259
|
+
}
|
|
11260
|
+
async function loadRailgunSupportedChainIds() {
|
|
11261
|
+
const rows = await loadRailgunNetworks();
|
|
11262
|
+
return new Set(rows.map((row) => row.chainId));
|
|
11263
|
+
}
|
|
11264
|
+
async function railgunNetworkByChainId(chainId) {
|
|
11265
|
+
const rows = await loadRailgunNetworks();
|
|
11266
|
+
return rows.find((row) => row.chainId === chainId);
|
|
11267
|
+
}
|
|
11268
|
+
|
|
11269
|
+
// src/protocols/evm/railgun/popular-assets.ts
|
|
11270
|
+
init_constants();
|
|
11271
|
+
var RAILGUN_POPULAR_ASSET_LIMIT = 5;
|
|
11272
|
+
var POPULAR_ASSET_CACHE_MS = 10 * 60 * 1e3;
|
|
11273
|
+
var RECENT_SHIELD_LIMIT = 200;
|
|
11274
|
+
var SHIELD_INDEX_BY_NETWORK_NAME = {
|
|
11275
|
+
Ethereum: "https://rail-squid.squids.live/squid-railgun-ethereum-v2/graphql",
|
|
11276
|
+
BNB_Chain: "https://rail-squid.squids.live/squid-railgun-bsc-v2/graphql",
|
|
11277
|
+
Polygon: "https://rail-squid.squids.live/squid-railgun-polygon-v2/graphql",
|
|
11278
|
+
Arbitrum: "https://rail-squid.squids.live/squid-railgun-arbitrum-v2/graphql"
|
|
11279
|
+
};
|
|
11280
|
+
var RECENT_SHIELDS_QUERY = `query RecentShields($limit: Int!) {
|
|
11281
|
+
shieldCommitments(orderBy: [blockNumber_DESC], limit: $limit) {
|
|
11282
|
+
preimage { token { tokenType tokenAddress } }
|
|
11283
|
+
}
|
|
11284
|
+
}`;
|
|
11285
|
+
var cache = /* @__PURE__ */ new Map();
|
|
11286
|
+
function rankPopularShieldTokens(rows, limit = RAILGUN_POPULAR_ASSET_LIMIT) {
|
|
11287
|
+
const counts = /* @__PURE__ */ new Map();
|
|
11288
|
+
for (const row of rows) {
|
|
11289
|
+
if (Number(row.tokenType) !== 0) continue;
|
|
11290
|
+
let address;
|
|
11291
|
+
try {
|
|
11292
|
+
address = getAddress(row.tokenAddress);
|
|
11293
|
+
} catch {
|
|
11294
|
+
continue;
|
|
11295
|
+
}
|
|
11296
|
+
if (address === zeroAddress) continue;
|
|
11297
|
+
const key = address.toLowerCase();
|
|
11298
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
11299
|
+
}
|
|
11300
|
+
return [...counts.entries()].sort((a, b) => b[1] - a[1] || (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)).slice(0, limit).map(([address]) => getAddress(address));
|
|
11301
|
+
}
|
|
11302
|
+
function shieldIndexEndpoint(networkName) {
|
|
11303
|
+
return SHIELD_INDEX_BY_NETWORK_NAME[networkName] ?? null;
|
|
11304
|
+
}
|
|
11305
|
+
function commitmentsFromShieldIndex(payload) {
|
|
11306
|
+
const rows = payload?.data?.shieldCommitments;
|
|
11307
|
+
if (!Array.isArray(rows)) return [];
|
|
11308
|
+
return rows.map((row) => {
|
|
11309
|
+
const token = row?.preimage?.token;
|
|
11310
|
+
const tokenType = token?.tokenType === "ERC20" || token?.tokenType === 0 ? 0 : Number(token?.tokenType ?? -1);
|
|
11311
|
+
return {
|
|
11312
|
+
tokenAddress: String(token?.tokenAddress ?? ""),
|
|
11313
|
+
tokenType: Number.isFinite(tokenType) ? tokenType : -1
|
|
11314
|
+
};
|
|
11315
|
+
});
|
|
11316
|
+
}
|
|
11317
|
+
var shieldLogReaderOverride = null;
|
|
11318
|
+
async function readShieldCommitments(args) {
|
|
11319
|
+
const endpoint = shieldIndexEndpoint(args.networkName);
|
|
11320
|
+
if (!endpoint) return [];
|
|
11321
|
+
const response = await fetch(endpoint, {
|
|
11322
|
+
method: "POST",
|
|
11323
|
+
headers: { "content-type": "application/json" },
|
|
11324
|
+
body: JSON.stringify({
|
|
11325
|
+
query: RECENT_SHIELDS_QUERY,
|
|
11326
|
+
variables: { limit: RECENT_SHIELD_LIMIT }
|
|
11327
|
+
})
|
|
11328
|
+
});
|
|
11329
|
+
if (!response.ok) throw new Error(`Railgun shield index returned ${response.status}`);
|
|
11330
|
+
return commitmentsFromShieldIndex(await response.json());
|
|
11331
|
+
}
|
|
11332
|
+
function applyContinuumToken(chainId, result) {
|
|
11333
|
+
const ctm = ctmTokenAddressOnEvmChain(chainId);
|
|
11334
|
+
if (!ctm) return result;
|
|
11335
|
+
const present = result.tokens.some((token) => token.address.toLowerCase() === ctm.toLowerCase());
|
|
11336
|
+
{
|
|
11337
|
+
if (!present) return result;
|
|
11338
|
+
return {
|
|
11339
|
+
...result,
|
|
11340
|
+
tokens: result.tokens.filter((token) => token.address.toLowerCase() !== ctm.toLowerCase())
|
|
11341
|
+
};
|
|
11342
|
+
}
|
|
11343
|
+
}
|
|
11344
|
+
async function loadRailgunPopularAssets(args) {
|
|
11345
|
+
const network = await railgunNetworkByChainId(args.chainId);
|
|
11346
|
+
if (!network) {
|
|
11347
|
+
return { tokens: [], notes: "Railgun is not deployed on this chain." };
|
|
11348
|
+
}
|
|
11349
|
+
const cached3 = cache.get(args.chainId);
|
|
11350
|
+
if (cached3 && Date.now() - cached3.at < POPULAR_ASSET_CACHE_MS) {
|
|
11351
|
+
return applyContinuumToken(args.chainId, {
|
|
11352
|
+
tokens: cached3.tokens,
|
|
11353
|
+
nativeWrapped: cached3.nativeWrapped,
|
|
11354
|
+
notes: cached3.notes
|
|
11355
|
+
});
|
|
11356
|
+
}
|
|
11357
|
+
const rpcUrl = args.rpcUrl?.trim() ?? "";
|
|
11358
|
+
if (!shieldIndexEndpoint(network.networkName) && !shieldLogReaderOverride) {
|
|
11359
|
+
return applyContinuumToken(args.chainId, {
|
|
11360
|
+
tokens: [],
|
|
11361
|
+
nativeWrapped: network.wrappedAddress,
|
|
11362
|
+
notes: "This chain has no indexed Railgun shield feed."
|
|
11363
|
+
});
|
|
11364
|
+
}
|
|
11365
|
+
try {
|
|
11366
|
+
const commitments = await (shieldLogReaderOverride ?? readShieldCommitments)({
|
|
11367
|
+
rpcUrl,
|
|
11368
|
+
chainId: args.chainId,
|
|
11369
|
+
proxy: getAddress(network.proxyContract),
|
|
11370
|
+
deploymentBlock: network.deploymentBlock,
|
|
11371
|
+
networkName: network.networkName
|
|
11372
|
+
});
|
|
11373
|
+
const tokens = rankPopularShieldTokens(commitments).map((address) => ({ address }));
|
|
11374
|
+
const notes = tokens.length === 0 ? "No recent ERC-20 shields were returned for this chain." : `Top ${tokens.length} ERC-20s by recent indexed shield count.`;
|
|
11375
|
+
const entry = {
|
|
11376
|
+
at: Date.now(),
|
|
11377
|
+
tokens,
|
|
11378
|
+
nativeWrapped: network.wrappedAddress,
|
|
11379
|
+
notes
|
|
11380
|
+
};
|
|
11381
|
+
cache.set(args.chainId, entry);
|
|
11382
|
+
return applyContinuumToken(args.chainId, { tokens, nativeWrapped: network.wrappedAddress, notes });
|
|
11383
|
+
} catch {
|
|
11384
|
+
return applyContinuumToken(args.chainId, {
|
|
11385
|
+
tokens: [],
|
|
11386
|
+
nativeWrapped: network.wrappedAddress,
|
|
11387
|
+
notes: "The Railgun shield index could not be read."
|
|
11388
|
+
});
|
|
11389
|
+
}
|
|
11390
|
+
}
|
|
11391
|
+
|
|
11392
|
+
// src/protocols/evm/railgun/index.ts
|
|
11393
|
+
var RAILGUN_PROTOCOL_ID = "railgun";
|
|
11394
|
+
var railgunProtocolModule = {
|
|
11395
|
+
id: RAILGUN_PROTOCOL_ID,
|
|
11396
|
+
chainCategory: "evm",
|
|
11397
|
+
isChainSupported(ctx) {
|
|
11398
|
+
if (ctx.chainCategory !== "evm") return false;
|
|
11399
|
+
return loadRailgunSupportedChainIds().then((ids) => ids.has(Number(ctx.chainId)));
|
|
11400
|
+
},
|
|
11401
|
+
isTokenSupported(token) {
|
|
11402
|
+
return token.category === "evm" && (token.kind === "native" || token.kind === "erc20");
|
|
11403
|
+
},
|
|
11404
|
+
actions: [
|
|
11405
|
+
{
|
|
11406
|
+
id: "railgun.shield",
|
|
11407
|
+
protocolId: RAILGUN_PROTOCOL_ID,
|
|
11408
|
+
chainCategory: "evm",
|
|
11409
|
+
description: "Shield an ERC-20 into a Railgun 0zk address",
|
|
11410
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
11411
|
+
params: {
|
|
11412
|
+
tokenAddress: { type: "string", required: true, description: "ERC-20 to shield" },
|
|
11413
|
+
amountWei: { type: "string", required: true, description: "Amount in wei" },
|
|
11414
|
+
railgunAddress: { type: "string", required: true, description: "Recipient 0zk address" }
|
|
11415
|
+
}
|
|
11416
|
+
},
|
|
11417
|
+
{
|
|
11418
|
+
id: "railgun.private-transfer",
|
|
11419
|
+
protocolId: RAILGUN_PROTOCOL_ID,
|
|
11420
|
+
chainCategory: "evm",
|
|
11421
|
+
description: "Private transfer from the unlocked Railgun wallet",
|
|
11422
|
+
commonParams: ["purposeText"],
|
|
11423
|
+
params: {
|
|
11424
|
+
tokenAddress: { type: "string", required: true, description: "Shielded ERC-20" },
|
|
11425
|
+
amountWei: { type: "string", required: true, description: "Amount in wei" },
|
|
11426
|
+
recipientAddress: { type: "string", required: true, description: "Recipient 0zk address" }
|
|
11427
|
+
}
|
|
11428
|
+
},
|
|
11429
|
+
{
|
|
11430
|
+
id: "railgun.unshield",
|
|
11431
|
+
protocolId: RAILGUN_PROTOCOL_ID,
|
|
11432
|
+
chainCategory: "evm",
|
|
11433
|
+
description: "Unshield from the unlocked Railgun wallet to a public address",
|
|
11434
|
+
commonParams: ["purposeText"],
|
|
11435
|
+
params: {
|
|
11436
|
+
tokenAddress: { type: "string", required: true, description: "Shielded ERC-20" },
|
|
11437
|
+
amountWei: { type: "string", required: true, description: "Amount in wei" },
|
|
11438
|
+
recipientAddress: { type: "string", required: true, description: "Public recipient" }
|
|
11439
|
+
}
|
|
11440
|
+
}
|
|
11441
|
+
]
|
|
11442
|
+
};
|
|
11443
|
+
registerProtocolModule(railgunProtocolModule);
|
|
10840
11444
|
var USDE_ETHEREUM_MAINNET = "0x4c9edd5852cd905f086c759e8383e09bff1e68b3";
|
|
10841
11445
|
var SUSDE_ETHEREUM_MAINNET = "0x9d39a5de30e57443bff2a8307a4256c8797a3497";
|
|
10842
11446
|
var USDE_MOST_L2S = "0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34";
|
|
@@ -11030,83 +11634,6 @@ var skyProtocolModule = {
|
|
|
11030
11634
|
};
|
|
11031
11635
|
registerProtocolModule(skyProtocolModule);
|
|
11032
11636
|
|
|
11033
|
-
// src/protocols/evm/aave-v4/api.ts
|
|
11034
|
-
init_defiProxy();
|
|
11035
|
-
var AAVE_V4_GRAPHQL_URL = "https://api.v4.aave.com/graphql";
|
|
11036
|
-
async function aaveV4Gql(query, variables) {
|
|
11037
|
-
const body = { query, variables: variables ?? {} };
|
|
11038
|
-
const j = await postJsonViaOptionalProxy({
|
|
11039
|
-
directUrl: AAVE_V4_GRAPHQL_URL,
|
|
11040
|
-
body,
|
|
11041
|
-
proxyUrl: getAaveGraphqlProxyUrl(),
|
|
11042
|
-
proxyEnvelope: body
|
|
11043
|
-
});
|
|
11044
|
-
if (j.errors?.length) {
|
|
11045
|
-
const msg = j.errors.map((e) => e.message ?? "Unknown").join("; ");
|
|
11046
|
-
throw new Error(msg);
|
|
11047
|
-
}
|
|
11048
|
-
if (j.data == null) {
|
|
11049
|
-
throw new Error("Aave V4 API: empty response");
|
|
11050
|
-
}
|
|
11051
|
-
return j.data;
|
|
11052
|
-
}
|
|
11053
|
-
async function fetchAaveV4Chains() {
|
|
11054
|
-
const d = await aaveV4Gql(`
|
|
11055
|
-
query C($c: ChainsRequest!) { chains(request: $c) { chainId name nativeWrappedToken } }
|
|
11056
|
-
`, { c: { query: { filter: "ALL" } } });
|
|
11057
|
-
return d.chains ?? [];
|
|
11058
|
-
}
|
|
11059
|
-
async function loadAaveV4SupportedChainIdsFromV4Api() {
|
|
11060
|
-
const rows = await fetchAaveV4Chains();
|
|
11061
|
-
const s = /* @__PURE__ */ new Set();
|
|
11062
|
-
for (const c of rows) s.add(c.chainId);
|
|
11063
|
-
return s;
|
|
11064
|
-
}
|
|
11065
|
-
var RESERVES_ADDRESS_FRAGMENT = `
|
|
11066
|
-
asset { underlying { address } }
|
|
11067
|
-
`;
|
|
11068
|
-
async function fetchAaveV4NativeWrappedToken(chainId) {
|
|
11069
|
-
const all = await fetchAaveV4Chains();
|
|
11070
|
-
const c = all.find((x) => x.chainId === chainId);
|
|
11071
|
-
const t = (c?.nativeWrappedToken ?? "").trim();
|
|
11072
|
-
if (t && isAddress(t)) return getAddress(t);
|
|
11073
|
-
return null;
|
|
11074
|
-
}
|
|
11075
|
-
async function fetchAaveV4SupportedUnderlyingAddressSet(chainId) {
|
|
11076
|
-
const d = await aaveV4Gql(
|
|
11077
|
-
`
|
|
11078
|
-
query A($r: ReservesRequest!) { reserves(request: $r) { ${RESERVES_ADDRESS_FRAGMENT} } }
|
|
11079
|
-
`,
|
|
11080
|
-
{
|
|
11081
|
-
r: {
|
|
11082
|
-
query: { chainIds: [chainId] },
|
|
11083
|
-
filter: "ALL",
|
|
11084
|
-
orderBy: { supplyApy: "DESC" }
|
|
11085
|
-
}
|
|
11086
|
-
}
|
|
11087
|
-
);
|
|
11088
|
-
const s = /* @__PURE__ */ new Set();
|
|
11089
|
-
for (const r of d.reserves ?? []) {
|
|
11090
|
-
const a = (r.asset?.underlying?.address ?? "").trim();
|
|
11091
|
-
if (a && isAddress(a)) s.add(a.toLowerCase());
|
|
11092
|
-
}
|
|
11093
|
-
return s;
|
|
11094
|
-
}
|
|
11095
|
-
var aaveV4ChainTokenCache = /* @__PURE__ */ new Map();
|
|
11096
|
-
function ensureAaveV4ChainTokenCache(chainId) {
|
|
11097
|
-
const hit = aaveV4ChainTokenCache.get(chainId);
|
|
11098
|
-
if (hit) return hit;
|
|
11099
|
-
const p = (async () => {
|
|
11100
|
-
const [nativeWrapped, supportedUnderlying] = await Promise.all([
|
|
11101
|
-
fetchAaveV4NativeWrappedToken(chainId),
|
|
11102
|
-
fetchAaveV4SupportedUnderlyingAddressSet(chainId)
|
|
11103
|
-
]);
|
|
11104
|
-
return { supportedUnderlying, nativeWrapped };
|
|
11105
|
-
})();
|
|
11106
|
-
aaveV4ChainTokenCache.set(chainId, p);
|
|
11107
|
-
return p;
|
|
11108
|
-
}
|
|
11109
|
-
|
|
11110
11637
|
// src/protocols/evm/aave-v4/index.ts
|
|
11111
11638
|
var AAVE_V4_PROTOCOL_ID = "aave-v4";
|
|
11112
11639
|
var aaveV4ProtocolModule = {
|
|
@@ -11306,19 +11833,19 @@ function ensureEulerV2ChainAssetCache(chainId) {
|
|
|
11306
11833
|
}
|
|
11307
11834
|
|
|
11308
11835
|
// src/protocols/evm/euler-v2/loadEulerV2SupportedChainIds.ts
|
|
11309
|
-
var
|
|
11836
|
+
var cached2 = null;
|
|
11310
11837
|
async function loadEulerV2SupportedChainIds() {
|
|
11311
|
-
if (
|
|
11838
|
+
if (cached2) return cached2;
|
|
11312
11839
|
try {
|
|
11313
11840
|
const ids = await fetchEulerV3ActiveChainIds();
|
|
11314
11841
|
if (ids.length) {
|
|
11315
|
-
|
|
11316
|
-
return
|
|
11842
|
+
cached2 = new Set(ids);
|
|
11843
|
+
return cached2;
|
|
11317
11844
|
}
|
|
11318
11845
|
} catch {
|
|
11319
11846
|
}
|
|
11320
|
-
|
|
11321
|
-
return
|
|
11847
|
+
cached2 = new Set(Object.keys(EULER_V2_GOLDSKY_SUBGRAPH_URL_BY_CHAIN_ID).map((k) => Number(k)));
|
|
11848
|
+
return cached2;
|
|
11322
11849
|
}
|
|
11323
11850
|
|
|
11324
11851
|
// src/protocols/evm/euler-v2/index.ts
|
|
@@ -12099,9 +12626,9 @@ async function ensureMorphoChainAssetCache(chainId) {
|
|
|
12099
12626
|
}
|
|
12100
12627
|
} catch {
|
|
12101
12628
|
}
|
|
12102
|
-
const
|
|
12103
|
-
chainAssetCache.set(chainId,
|
|
12104
|
-
return
|
|
12629
|
+
const cache2 = { modesByUnderlying: modes, nativeWrapped: null };
|
|
12630
|
+
chainAssetCache.set(chainId, cache2);
|
|
12631
|
+
return cache2;
|
|
12105
12632
|
}
|
|
12106
12633
|
|
|
12107
12634
|
// src/protocols/evm/morpho/index.ts
|
|
@@ -13599,8 +14126,8 @@ async function pendleFetchMarketsPage(args) {
|
|
|
13599
14126
|
}
|
|
13600
14127
|
async function pendleFetchMarketsForChain(chainId) {
|
|
13601
14128
|
const now = Date.now();
|
|
13602
|
-
const
|
|
13603
|
-
if (
|
|
14129
|
+
const cached3 = marketsCacheByChain.get(chainId);
|
|
14130
|
+
if (cached3 && now - cached3.at < PENDLE_ICON_CACHE_MS) return cached3.rows;
|
|
13604
14131
|
const rows = [];
|
|
13605
14132
|
for (let page = 0; page < PENDLE_LISTING_MAX_PAGES; page++) {
|
|
13606
14133
|
const batch = await pendleFetchMarketsPage({
|
|
@@ -14139,6 +14666,7 @@ var skillsDir = join(dirname(fileURLToPath(import.meta.url)), "skills");
|
|
|
14139
14666
|
var SKILL_PROTOCOL_IDS = [
|
|
14140
14667
|
"aave-v4",
|
|
14141
14668
|
"lido",
|
|
14669
|
+
"railgun",
|
|
14142
14670
|
"uniswap-v4",
|
|
14143
14671
|
"curve-dao",
|
|
14144
14672
|
"ethena",
|
|
@@ -14206,6 +14734,7 @@ function getProtocolDiscoverySummary(protocolId) {
|
|
|
14206
14734
|
}))
|
|
14207
14735
|
};
|
|
14208
14736
|
}
|
|
14737
|
+
init_coinbaseB20();
|
|
14209
14738
|
init_support();
|
|
14210
14739
|
init_support2();
|
|
14211
14740
|
init_addresses();
|
|
@@ -14214,7 +14743,8 @@ init_constants();
|
|
|
14214
14743
|
function advisor(protocolId, tokenFilter, impl) {
|
|
14215
14744
|
return { protocolId, tokenFilter, ...impl };
|
|
14216
14745
|
}
|
|
14217
|
-
function aerodromeAdvisorPriorityTokens() {
|
|
14746
|
+
async function aerodromeAdvisorPriorityTokens() {
|
|
14747
|
+
const stocks = await ensureCoinbaseB20StockCatalog().catch(() => []);
|
|
14218
14748
|
return [
|
|
14219
14749
|
{
|
|
14220
14750
|
address: "0x0000000000000000000000000000000000000000",
|
|
@@ -14240,11 +14770,11 @@ function aerodromeAdvisorPriorityTokens() {
|
|
|
14240
14770
|
decimals: 18,
|
|
14241
14771
|
roles: ["swappable"]
|
|
14242
14772
|
},
|
|
14243
|
-
...
|
|
14773
|
+
...stocks.map((t) => ({
|
|
14244
14774
|
address: t.address,
|
|
14245
14775
|
symbol: t.symbol,
|
|
14246
14776
|
name: t.name,
|
|
14247
|
-
decimals: COINBASE_B20_STOCK_DECIMALS,
|
|
14777
|
+
decimals: t.decimals || COINBASE_B20_STOCK_DECIMALS,
|
|
14248
14778
|
roles: ["swappable", "listed", "coinbase_b20"]
|
|
14249
14779
|
}))
|
|
14250
14780
|
];
|
|
@@ -14256,36 +14786,44 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14256
14786
|
return [...set].sort((a, b) => a - b);
|
|
14257
14787
|
},
|
|
14258
14788
|
async supportedTokens(chainId) {
|
|
14259
|
-
const
|
|
14260
|
-
|
|
14261
|
-
|
|
14262
|
-
|
|
14263
|
-
|
|
14264
|
-
|
|
14789
|
+
const cache2 = await ensureAaveV4ChainTokenCache(chainId);
|
|
14790
|
+
await ensureCoinbaseB20StockCatalog().catch(() => []);
|
|
14791
|
+
const tokens = [...cache2.supportedUnderlying].map((address) => {
|
|
14792
|
+
const known = lookupCoinbaseB20StockToken(address);
|
|
14793
|
+
if (!known) return { address, roles: ["underlying"] };
|
|
14794
|
+
return {
|
|
14795
|
+
address,
|
|
14796
|
+
symbol: known.symbol,
|
|
14797
|
+
name: "name" in known ? known.name : void 0,
|
|
14798
|
+
decimals: COINBASE_B20_STOCK_DECIMALS,
|
|
14799
|
+
roles: ["underlying", "coinbase_b20", "collateral"]
|
|
14800
|
+
};
|
|
14801
|
+
});
|
|
14802
|
+
if (cache2.nativeWrapped) {
|
|
14265
14803
|
tokens.unshift({
|
|
14266
|
-
address:
|
|
14804
|
+
address: cache2.nativeWrapped,
|
|
14267
14805
|
symbol: "WETH",
|
|
14268
14806
|
roles: ["native_wrapped"]
|
|
14269
14807
|
});
|
|
14270
14808
|
}
|
|
14271
14809
|
return {
|
|
14272
14810
|
tokens,
|
|
14273
|
-
nativeWrapped:
|
|
14274
|
-
notes: "Native ETH deposits use wrapped native token address from Aave v4 API."
|
|
14811
|
+
nativeWrapped: cache2.nativeWrapped ?? void 0,
|
|
14812
|
+
notes: "Native ETH deposits use wrapped native token address from Aave v4 API. Base chainId 8453 Coinbase Stocks hub is marketId bstocks. Listed equities come from the Aave v4 API; tickers resolve from the live Coinbase catalog. Equities are collateral-only; USDC is the borrow asset."
|
|
14275
14813
|
};
|
|
14276
14814
|
},
|
|
14277
14815
|
async isTokenSupported(chainId, address) {
|
|
14278
|
-
const
|
|
14816
|
+
const cache2 = await ensureAaveV4ChainTokenCache(chainId);
|
|
14279
14817
|
let normalized;
|
|
14280
14818
|
try {
|
|
14281
14819
|
normalized = getAddress(address).toLowerCase();
|
|
14282
14820
|
} catch {
|
|
14283
14821
|
return false;
|
|
14284
14822
|
}
|
|
14285
|
-
if (
|
|
14823
|
+
if (cache2.nativeWrapped && getAddress(cache2.nativeWrapped).toLowerCase() === normalized) {
|
|
14286
14824
|
return true;
|
|
14287
14825
|
}
|
|
14288
|
-
return
|
|
14826
|
+
return cache2.supportedUnderlying.has(normalized);
|
|
14289
14827
|
}
|
|
14290
14828
|
}),
|
|
14291
14829
|
"uniswap-v4": advisor("uniswap-v4", "any_erc20_on_chain", {
|
|
@@ -14418,8 +14956,8 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14418
14956
|
return [...set].sort((a, b) => a - b);
|
|
14419
14957
|
},
|
|
14420
14958
|
async supportedTokens(chainId) {
|
|
14421
|
-
const
|
|
14422
|
-
const tokens = [...
|
|
14959
|
+
const cache2 = await ensureMorphoChainAssetCache(chainId);
|
|
14960
|
+
const tokens = [...cache2.modesByUnderlying.entries()].map(([address, modes]) => ({
|
|
14423
14961
|
address,
|
|
14424
14962
|
roles: [
|
|
14425
14963
|
...modes.earn ? ["vault_underlying"] : [],
|
|
@@ -14433,14 +14971,14 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14433
14971
|
};
|
|
14434
14972
|
},
|
|
14435
14973
|
async isTokenSupported(chainId, address) {
|
|
14436
|
-
const
|
|
14974
|
+
const cache2 = await ensureMorphoChainAssetCache(chainId);
|
|
14437
14975
|
let normalized;
|
|
14438
14976
|
try {
|
|
14439
14977
|
normalized = getAddress(address).toLowerCase();
|
|
14440
14978
|
} catch {
|
|
14441
14979
|
return false;
|
|
14442
14980
|
}
|
|
14443
|
-
return
|
|
14981
|
+
return cache2.modesByUnderlying.has(normalized);
|
|
14444
14982
|
}
|
|
14445
14983
|
}),
|
|
14446
14984
|
"euler-v2": advisor("euler-v2", "subgraph_vaults", {
|
|
@@ -14449,8 +14987,8 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14449
14987
|
return [...set].sort((a, b) => a - b);
|
|
14450
14988
|
},
|
|
14451
14989
|
async supportedTokens(chainId) {
|
|
14452
|
-
const
|
|
14453
|
-
const tokens = [...
|
|
14990
|
+
const cache2 = await ensureEulerV2ChainAssetCache(chainId);
|
|
14991
|
+
const tokens = [...cache2.modesByUnderlying.entries()].map(([address, modes]) => ({
|
|
14454
14992
|
address,
|
|
14455
14993
|
roles: [
|
|
14456
14994
|
...modes.lend ? ["vault_underlying"] : [],
|
|
@@ -14460,19 +14998,19 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14460
14998
|
}));
|
|
14461
14999
|
return {
|
|
14462
15000
|
tokens,
|
|
14463
|
-
nativeWrapped:
|
|
15001
|
+
nativeWrapped: cache2.nativeWrapped ?? void 0,
|
|
14464
15002
|
notes: "Euler EVK vault underlyings and Earn vault assets from the Euler V3 API. Use address as underlyingAddress for ctm_euler_v2_fetch_lend_vaults."
|
|
14465
15003
|
};
|
|
14466
15004
|
},
|
|
14467
15005
|
async isTokenSupported(chainId, address) {
|
|
14468
|
-
const
|
|
15006
|
+
const cache2 = await ensureEulerV2ChainAssetCache(chainId);
|
|
14469
15007
|
let normalized;
|
|
14470
15008
|
try {
|
|
14471
15009
|
normalized = getAddress(address).toLowerCase();
|
|
14472
15010
|
} catch {
|
|
14473
15011
|
return false;
|
|
14474
15012
|
}
|
|
14475
|
-
return
|
|
15013
|
+
return cache2.modesByUnderlying.has(normalized);
|
|
14476
15014
|
}
|
|
14477
15015
|
}),
|
|
14478
15016
|
[MAPLE_PROTOCOL_ID]: advisor(MAPLE_PROTOCOL_ID, "fixed_addresses", {
|
|
@@ -14557,9 +15095,9 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14557
15095
|
return { tokens: [], notes: "Aerodrome is Base-only (chainId 8453)." };
|
|
14558
15096
|
}
|
|
14559
15097
|
return {
|
|
14560
|
-
tokens: aerodromeAdvisorPriorityTokens(),
|
|
15098
|
+
tokens: await aerodromeAdvisorPriorityTokens(),
|
|
14561
15099
|
nativeWrapped: AERODROME_WETH_BASE,
|
|
14562
|
-
notes: "
|
|
15100
|
+
notes: "ETH, WETH, USDC, AERO, plus the live Coinbase B20 catalog. For a price call ctm_aerodrome_quote with a ticker. To see pools for one token call ctm_aerodrome_discover_pools. Do not dump LpSugar."
|
|
14563
15101
|
};
|
|
14564
15102
|
}
|
|
14565
15103
|
}),
|
|
@@ -14622,7 +15160,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14622
15160
|
return listCompoundV3SupportedChainIds();
|
|
14623
15161
|
},
|
|
14624
15162
|
async supportedTokens(chainId, ctx) {
|
|
14625
|
-
const
|
|
15163
|
+
const cache2 = await ensureCompoundV3ChainAssetCache({ chainId, rpcUrl: ctx?.rpcUrl });
|
|
14626
15164
|
const nativeWrapped = compoundV3WrappedNative(chainId);
|
|
14627
15165
|
const tokens = [];
|
|
14628
15166
|
if (nativeWrapped) {
|
|
@@ -14638,7 +15176,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14638
15176
|
roles: ["native_wrapped"]
|
|
14639
15177
|
});
|
|
14640
15178
|
}
|
|
14641
|
-
for (const [address, modes] of
|
|
15179
|
+
for (const [address, modes] of cache2) {
|
|
14642
15180
|
if (nativeWrapped && address === nativeWrapped.toLowerCase()) continue;
|
|
14643
15181
|
tokens.push({
|
|
14644
15182
|
address,
|
|
@@ -14652,7 +15190,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14652
15190
|
};
|
|
14653
15191
|
},
|
|
14654
15192
|
async isTokenSupported(chainId, address, ctx) {
|
|
14655
|
-
const
|
|
15193
|
+
const cache2 = await ensureCompoundV3ChainAssetCache({ chainId, rpcUrl: ctx?.rpcUrl });
|
|
14656
15194
|
let normalized;
|
|
14657
15195
|
try {
|
|
14658
15196
|
normalized = getAddress(address).toLowerCase();
|
|
@@ -14662,7 +15200,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14662
15200
|
if (normalized === "0x0000000000000000000000000000000000000000") return true;
|
|
14663
15201
|
const wrapped = compoundV3WrappedNative(chainId);
|
|
14664
15202
|
if (wrapped && wrapped.toLowerCase() === normalized) return true;
|
|
14665
|
-
return
|
|
15203
|
+
return cache2.has(normalized);
|
|
14666
15204
|
}
|
|
14667
15205
|
}),
|
|
14668
15206
|
[PENDLE_PROTOCOL_ID]: advisor(PENDLE_PROTOCOL_ID, "api_underlyings", {
|
|
@@ -14790,6 +15328,32 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14790
15328
|
return false;
|
|
14791
15329
|
}
|
|
14792
15330
|
}
|
|
15331
|
+
}),
|
|
15332
|
+
railgun: advisor("railgun", "api_underlyings", {
|
|
15333
|
+
async supportedChainIds() {
|
|
15334
|
+
return [...await loadRailgunSupportedChainIds()];
|
|
15335
|
+
},
|
|
15336
|
+
async supportedTokens(chainId, ctx) {
|
|
15337
|
+
const result = await loadRailgunPopularAssets({ chainId, rpcUrl: ctx?.rpcUrl });
|
|
15338
|
+
return {
|
|
15339
|
+
tokens: result.tokens.map((token) => ({ address: token.address, roles: ["shield"] })),
|
|
15340
|
+
nativeWrapped: result.nativeWrapped,
|
|
15341
|
+
notes: result.notes
|
|
15342
|
+
};
|
|
15343
|
+
},
|
|
15344
|
+
async isTokenSupported(chainId, address, ctx) {
|
|
15345
|
+
const result = await loadRailgunPopularAssets({ chainId, rpcUrl: ctx?.rpcUrl });
|
|
15346
|
+
const listed = new Set(result.tokens.map((token) => token.address.toLowerCase()));
|
|
15347
|
+
try {
|
|
15348
|
+
const normalized = getAddress(address);
|
|
15349
|
+
if (normalized === zeroAddress) {
|
|
15350
|
+
return Boolean(result.nativeWrapped && listed.has(result.nativeWrapped.toLowerCase()));
|
|
15351
|
+
}
|
|
15352
|
+
return listed.has(normalized.toLowerCase());
|
|
15353
|
+
} catch {
|
|
15354
|
+
return false;
|
|
15355
|
+
}
|
|
15356
|
+
}
|
|
14793
15357
|
})
|
|
14794
15358
|
};
|
|
14795
15359
|
function getProtocolSupportAdvisor(protocolId) {
|
|
@@ -14811,6 +15375,7 @@ function getAgentCatalog() {
|
|
|
14811
15375
|
uniswapV4: uniswapV4ProtocolModule,
|
|
14812
15376
|
curveDao: curveDaoProtocolModule,
|
|
14813
15377
|
lido: lidoProtocolModule,
|
|
15378
|
+
railgun: railgunProtocolModule,
|
|
14814
15379
|
ethena: ethenaProtocolModule,
|
|
14815
15380
|
maple: mapleProtocolModule,
|
|
14816
15381
|
sky: skyProtocolModule,
|
|
@@ -14834,6 +15399,6 @@ function getAgentCatalog() {
|
|
|
14834
15399
|
};
|
|
14835
15400
|
}
|
|
14836
15401
|
|
|
14837
|
-
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, agentEvmChainIdSchema, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4FetchMarketInputSchema, mcpAaveV4FetchMarketOutputSchema, mcpAaveV4FetchMarketsInputSchema, mcpAaveV4FetchMarketsOutputSchema, mcpAaveV4MerklClaimInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpAerodromeBuildAddLiquidityMultisignInputSchema, mcpAerodromeBuildClBurnMultisignInputSchema, mcpAerodromeBuildClCollectFeesMultisignInputSchema, mcpAerodromeBuildClDecreaseMultisignInputSchema, mcpAerodromeBuildClIncreaseMultisignInputSchema, mcpAerodromeBuildClMintMultisignInputSchema, mcpAerodromeBuildClaimEmissionsMultisignInputSchema, mcpAerodromeBuildClaimFeesMultisignInputSchema, mcpAerodromeBuildGaugeStakeMultisignInputSchema, mcpAerodromeBuildGaugeUnstakeMultisignInputSchema, mcpAerodromeBuildRemoveLiquidityMultisignInputSchema, mcpAerodromeBuildSwapMultisignInputSchema, mcpAerodromeDiscoverPoolsInputSchema, mcpAerodromeDiscoverPoolsOutputSchema, mcpAerodromeFetchLpYieldsInputSchema, mcpAerodromeFetchLpYieldsOutputSchema, mcpAerodromeFetchPoolsInputSchema, mcpAerodromeFetchPoolsOutputSchema, mcpAerodromeFetchPositionsInputSchema, mcpAerodromeFetchPositionsOutputSchema, mcpAerodromeFetchStockLpYieldsInputSchema, mcpAerodromeFetchStockLpYieldsOutputSchema, mcpAerodromeQuoteAddLiquidityInputSchema, mcpAerodromeQuoteAddLiquidityOutputSchema, mcpAerodromeQuoteClDepositInputSchema, mcpAerodromeQuoteClDepositOutputSchema, mcpAerodromeQuoteInputSchema, mcpAerodromeQuoteOutputSchema, mcpArcusBuildCancelOrderMultisignInputSchema, mcpArcusBuildCloseMultisignInputSchema, mcpArcusBuildCreateApiKeyMultisignInputSchema, mcpArcusBuildDepositMultisignInputSchema, mcpArcusBuildPlaceOrderMultisignInputSchema, mcpArcusBuildSetLeverageMultisignInputSchema, mcpArcusBuildWithdrawMultisignInputSchema, mcpArcusFetchAccountInputSchema, mcpArcusFetchAccountOutputSchema, mcpArcusFetchMarketSnapshotInputSchema, mcpArcusFetchMarketSnapshotOutputSchema, mcpArcusFetchMarketsInputSchema, mcpArcusFetchMarketsOutputSchema, mcpArcusFetchOhlcvInputSchema, mcpArcusFetchOhlcvOutputSchema, mcpArcusFetchOpenContextInputSchema, mcpArcusFetchOpenContextOutputSchema, mcpArcusFetchOpenOrdersInputSchema, mcpArcusFetchOpenOrdersOutputSchema, mcpArcusFetchPositionsInputSchema, mcpArcusFetchPositionsOutputSchema, mcpArcusSearchMarketsInputSchema, mcpArcusSearchMarketsOutputSchema, mcpArcusSpotBuildRfqMultisignInputSchema, mcpArcusSpotFetchBalancesInputSchema, mcpArcusSpotFetchBalancesOutputSchema, mcpArcusSpotFetchMarketsInputSchema, mcpArcusSpotFetchMarketsOutputSchema, mcpArcusSpotFetchOhlcvInputSchema, mcpArcusSpotFetchOhlcvOutputSchema, mcpCompoundV3BulkerInputSchema, mcpCompoundV3ClaimRewardsInputSchema, mcpCompoundV3FetchAccountInputSchema, mcpCompoundV3FetchAccountOutputSchema, mcpCompoundV3FetchMarketInputSchema, mcpCompoundV3FetchMarketOutputSchema, mcpCompoundV3FetchMarketsInputSchema, mcpCompoundV3FetchMarketsOutputSchema, mcpCompoundV3RepayInputSchema, mcpCompoundV3SupplyInputSchema, mcpCompoundV3WithdrawInputSchema, mcpContinuumDaoAttachInputSchema, mcpContinuumDaoCancelInputSchema, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoComposeProposalActionInputSchema, mcpContinuumDaoComposeProposalActionOutputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, mcpContinuumDaoExecuteInputSchema, mcpContinuumDaoExplainProposalInputSchema, mcpContinuumDaoExplainProposalOutputSchema, mcpContinuumDaoFetchDelegatesInputSchema, mcpContinuumDaoFetchDelegatesOutputSchema, mcpContinuumDaoFetchLiveProposalsInputSchema, mcpContinuumDaoFetchLiveProposalsOutputSchema, mcpContinuumDaoFetchProposalInputSchema, mcpContinuumDaoFetchProposalOutputSchema, mcpContinuumDaoFetchProposalStateInputSchema, mcpContinuumDaoFetchProposalStateOutputSchema, mcpContinuumDaoFetchProposalVotesInputSchema, mcpContinuumDaoFetchProposalVotesOutputSchema, mcpContinuumDaoFetchProposalsInputSchema, mcpContinuumDaoFetchProposalsOutputSchema, mcpContinuumDaoFetchVotingPowerInputSchema, mcpContinuumDaoFetchVotingPowerOutputSchema, mcpContinuumDaoForumCreateIdeaInputSchema, mcpContinuumDaoForumCreateIdeaOutputSchema, mcpContinuumDaoForumCreateTopicInputSchema, mcpContinuumDaoForumCreateTopicOutputSchema, mcpContinuumDaoForumDeleteInputSchema, mcpContinuumDaoForumDeleteOutputSchema, mcpContinuumDaoForumFetchPostInputSchema, mcpContinuumDaoForumFetchPostOutputSchema, mcpContinuumDaoForumFetchThreadInputSchema, mcpContinuumDaoForumFetchThreadOutputSchema, mcpContinuumDaoForumMarkReadInputSchema, mcpContinuumDaoForumMarkReadOutputSchema, mcpContinuumDaoForumMarkUnreadInputSchema, mcpContinuumDaoForumMarkUnreadOutputSchema, mcpContinuumDaoForumMeInputSchema, mcpContinuumDaoForumMeOutputSchema, mcpContinuumDaoForumReactInputSchema, mcpContinuumDaoForumReactOutputSchema, mcpContinuumDaoForumRecentInputSchema, mcpContinuumDaoForumRecentOutputSchema, mcpContinuumDaoForumReplyCountInputSchema, mcpContinuumDaoForumReplyCountOutputSchema, mcpContinuumDaoForumReplyInputSchema, mcpContinuumDaoForumReplyOutputSchema, mcpContinuumDaoForumResolveInputSchema, mcpContinuumDaoForumResolveOutputSchema, mcpContinuumDaoForumSearchInputSchema, mcpContinuumDaoForumSearchOutputSchema, mcpContinuumDaoForumSectionsInputSchema, mcpContinuumDaoForumSectionsOutputSchema, mcpContinuumDaoForumSignInEligibleInputSchema, mcpContinuumDaoForumSignInEligibleOutputSchema, mcpContinuumDaoForumSignInInputSchema, mcpContinuumDaoForumSignOutInputSchema, mcpContinuumDaoForumSignOutOutputSchema, mcpContinuumDaoForumUnreadInputSchema, mcpContinuumDaoForumUnreadOutputSchema, mcpContinuumDaoForumUserPostIdsInputSchema, mcpContinuumDaoForumUserPostIdsOutputSchema, mcpContinuumDaoIncreaseAmountInputSchema, mcpContinuumDaoIncreaseUnlockTimeInputSchema, mcpContinuumDaoLiquidateInputSchema, mcpContinuumDaoMergeInputSchema, mcpContinuumDaoMpaFlagInputSchema, mcpContinuumDaoMpaFlagOutputSchema, mcpContinuumDaoMpaListingInputSchema, mcpContinuumDaoMpaListingOutputSchema, mcpContinuumDaoMpaMailboxListInputSchema, mcpContinuumDaoMpaMailboxListOutputSchema, mcpContinuumDaoMpaMailboxOpenInputSchema, mcpContinuumDaoMpaMailboxOpenOutputSchema, mcpContinuumDaoMpaMailboxSendInputSchema, mcpContinuumDaoMpaMailboxSendOutputSchema, mcpContinuumDaoMpaRetractInputSchema, mcpContinuumDaoMpaRetractOutputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposalVoteRowSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSimulateProposalInputSchema, mcpContinuumDaoSimulateProposalOutputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTechnocoreBindInputSchema, mcpContinuumDaoTechnocoreBindOutputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, mcpContinuumDaoWithdrawInputSchema, mcpContinuumDaoWriteInput, mcpCurveDaoBuildAddLiquidityMultisignInputSchema, mcpCurveDaoBuildGaugeDepositMultisignInputSchema, mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoFetchImportantPoolsInputSchema, mcpCurveDaoFetchImportantPoolsOutputSchema, mcpCurveDaoFetchLpYieldsInputSchema, mcpCurveDaoFetchLpYieldsOutputSchema, mcpCurveDaoQuoteAddLiquidityInputSchema, mcpCurveDaoQuoteAddLiquidityOutputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpCurveDaoQuoteRemoveLiquidityInputSchema, mcpCurveDaoQuoteRemoveLiquidityOutputSchema, mcpDeriveCancelInputSchema, mcpDeriveDepositAddressTransferInputSchema, mcpDeriveDepositNewSubaccountInputSchema, mcpDeriveFetchCurrenciesInputSchema, mcpDeriveFetchCurrenciesOutputSchema, mcpDeriveFetchMarketSnapshotInputSchema, mcpDeriveFetchMarketSnapshotOutputSchema, mcpDeriveFetchOhlcvInputSchema, mcpDeriveFetchOhlcvOutputSchema, mcpDeriveFetchOpenOrdersInputSchema, mcpDeriveFetchOpenOrdersOutputSchema, mcpDeriveFetchOptionChainInputSchema, mcpDeriveFetchOptionChainOutputSchema, mcpDeriveFetchPendingDepositsInputSchema, mcpDeriveFetchPendingDepositsOutputSchema, mcpDeriveFetchPortfolioInputSchema, mcpDeriveFetchPortfolioOutputSchema, mcpDeriveFetchPositionsInputSchema, mcpDeriveFetchPositionsOutputSchema, mcpDeriveFetchRiskUniversesInputSchema, mcpDeriveFetchRiskUniversesOutputSchema, mcpDeriveFetchSubaccountsInputSchema, mcpDeriveFetchSubaccountsOutputSchema, mcpDeriveFetchTickersInputSchema, mcpDeriveFetchTickersOutputSchema, mcpDeriveHypeVaultDepositInputSchema, mcpDeriveOrderQuoteInputSchema, mcpDeriveOrderQuoteOutputSchema, mcpDerivePlaceOrderInputSchema, mcpDeriveRegisterDepositAddressInputSchema, mcpDeriveRegisterDepositAddressOutputSchema, mcpDeriveReplaceOrderInputSchema, mcpDeriveSearchInstrumentsInputSchema, mcpDeriveSearchInstrumentsOutputSchema, mcpDeriveSocketDepositInputSchema, mcpDeriveTransferSpotInputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaFetchSusdeApyInputSchema, mcpEthenaFetchSusdeApyOutputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchEarnVaultsInputSchema, mcpEulerV2FetchEarnVaultsOutputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2MerklClaimInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGetPredictionMarketInputSchema, mcpGetPredictionMarketOutputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchOrdersInputSchema, mcpGmxFetchOrdersOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidBridgeDepositInputSchema, mcpHyperliquidBridgeWithdrawInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchLendMarketsInputSchema, mcpHyperliquidFetchLendMarketsOutputSchema, mcpHyperliquidFetchLendPositionsInputSchema, mcpHyperliquidFetchLendPositionsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchStockMarketsInputSchema, mcpHyperliquidFetchStockMarketsOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultApysInputSchema, mcpHyperliquidFetchVaultApysOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLendInputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidTrailingStopInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoFetchStethAprInputSchema, mcpLidoFetchStethAprOutputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpListMyPredictionMarketsInputSchema, mcpListMyPredictionMarketsOutputSchema, mcpMapleDepositInputSchema, mcpMapleFetchMarketInputSchema, mcpMapleFetchMarketOutputSchema, mcpMapleFetchMarketsInputSchema, mcpMapleFetchMarketsOutputSchema, mcpMapleRequestRedeemInputSchema, mcpMerklRewardsFetchInputSchema, mcpMerklRewardsFetchOutputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoBlueSupplyInputSchema, mcpMorphoBlueWithdrawInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightOffersInputSchema, mcpMorphoFetchMidnightOffersOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoFetchPositionsInputSchema, mcpMorphoFetchPositionsOutputSchema, mcpMorphoFetchStockMarketsInputSchema, mcpMorphoFetchStockMarketsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightCancelLendOfferInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightLendOfferInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpPendleBuildAddLiquidityMultisignInputSchema, mcpPendleBuildMintPyMultisignInputSchema, mcpPendleBuildMintSyMultisignInputSchema, mcpPendleBuildRedeemPyMultisignInputSchema, mcpPendleBuildRedeemRewardsMultisignInputSchema, mcpPendleBuildRedeemSyMultisignInputSchema, mcpPendleBuildRemoveLiquidityMultisignInputSchema, mcpPendleBuildSwapMultisignInputSchema, mcpPendleFetchMarketsInputSchema, mcpPendleFetchMarketsOutputSchema, mcpPendleFetchMerkleRewardsInputSchema, mcpPendleFetchMerkleRewardsOutputSchema, mcpPendleFetchPositionsInputSchema, mcpPendleFetchPositionsOutputSchema, mcpPendleFetchPricesInputSchema, mcpPendleFetchPricesOutputSchema, mcpPendleQuoteAddLiquidityInputSchema, mcpPendleQuoteMintPyInputSchema, mcpPendleQuoteMintSyInputSchema, mcpPendleQuoteOutputSchema, mcpPendleQuoteRedeemPyInputSchema, mcpPendleQuoteRedeemSyInputSchema, mcpPendleQuoteRemoveLiquidityInputSchema, mcpPendleQuoteSwapInputSchema, mcpPendleSearchAssetsInputSchema, mcpPendleSearchAssetsOutputSchema, mcpPredictionMarketRowSchema, mcpSearchPredictionMarketsInputSchema, mcpSearchPredictionMarketsOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyFetchSusdsRateInputSchema, mcpSkyFetchSusdsRateOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpTrueoBurnInputSchema, mcpTrueoCancelOrderInputSchema, mcpTrueoCreateOrderInputSchema, mcpTrueoFetchCategoriesInputSchema, mcpTrueoFetchCategoriesOutputSchema, mcpTrueoFetchChanceSeriesInputSchema, mcpTrueoFetchChanceSeriesOutputSchema, mcpTrueoFetchMarketInputSchema, mcpTrueoFetchMarketOutputSchema, mcpTrueoFetchOrderbookInputSchema, mcpTrueoFetchOrderbookOutputSchema, mcpTrueoFetchTrendingInputSchema, mcpTrueoFetchTrendingOutputSchema, mcpTrueoMarketRowSchema, mcpTrueoMintInputSchema, mcpTrueoRedeemInputSchema, mcpTrueoSearchMarketsInputSchema, mcpTrueoSearchMarketsOutputSchema, mcpTrueoSwapInputSchema, mcpTrueoUnwrapTydInputSchema, mcpTrueoWrapTydInputSchema, mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CheckPermissionsInputSchema, mcpUniswapV4CheckPermissionsOutputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4KycApplyLinkInputSchema, mcpUniswapV4KycApplyLinkOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, mcpVeniceBurnDiemInputSchema, mcpVeniceCompleteUnstakeDiemInputSchema, mcpVeniceCompleteUnstakeSvvvInputSchema, mcpVeniceInitiateUnstakeDiemInputSchema, mcpVeniceInitiateUnstakeSvvvInputSchema, mcpVeniceListModelsInputSchema, mcpVeniceListModelsOutputSchema, mcpVeniceMintDiemInputSchema, mcpVeniceReadMintDiemPreviewInputSchema, mcpVeniceReadMintDiemPreviewOutputSchema, mcpVeniceReadStakingStateInputSchema, mcpVeniceReadStakingStateOutputSchema, mcpVeniceStakeDiemInputSchema, mcpVeniceStakeVvvInputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
15402
|
+
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, agentEvmChainIdSchema, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4FetchMarketInputSchema, mcpAaveV4FetchMarketOutputSchema, mcpAaveV4FetchMarketsInputSchema, mcpAaveV4FetchMarketsOutputSchema, mcpAaveV4FetchStockMarketsInputSchema, mcpAaveV4FetchStockMarketsOutputSchema, mcpAaveV4MerklClaimInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpAerodromeBuildAddLiquidityMultisignInputSchema, mcpAerodromeBuildClBurnMultisignInputSchema, mcpAerodromeBuildClCollectFeesMultisignInputSchema, mcpAerodromeBuildClDecreaseMultisignInputSchema, mcpAerodromeBuildClIncreaseMultisignInputSchema, mcpAerodromeBuildClMintMultisignInputSchema, mcpAerodromeBuildClaimEmissionsMultisignInputSchema, mcpAerodromeBuildClaimFeesMultisignInputSchema, mcpAerodromeBuildGaugeStakeMultisignInputSchema, mcpAerodromeBuildGaugeUnstakeMultisignInputSchema, mcpAerodromeBuildRemoveLiquidityMultisignInputSchema, mcpAerodromeBuildSwapMultisignInputSchema, mcpAerodromeDiscoverPoolsInputSchema, mcpAerodromeDiscoverPoolsOutputSchema, mcpAerodromeFetchLpYieldsInputSchema, mcpAerodromeFetchLpYieldsOutputSchema, mcpAerodromeFetchPoolsInputSchema, mcpAerodromeFetchPoolsOutputSchema, mcpAerodromeFetchPositionsInputSchema, mcpAerodromeFetchPositionsOutputSchema, mcpAerodromeFetchStockLpYieldsInputSchema, mcpAerodromeFetchStockLpYieldsOutputSchema, mcpAerodromeQuoteAddLiquidityInputSchema, mcpAerodromeQuoteAddLiquidityOutputSchema, mcpAerodromeQuoteClDepositInputSchema, mcpAerodromeQuoteClDepositOutputSchema, mcpAerodromeQuoteInputSchema, mcpAerodromeQuoteOutputSchema, mcpArcusBuildCancelOrderMultisignInputSchema, mcpArcusBuildCloseMultisignInputSchema, mcpArcusBuildCreateApiKeyMultisignInputSchema, mcpArcusBuildDepositMultisignInputSchema, mcpArcusBuildPlaceOrderMultisignInputSchema, mcpArcusBuildSetLeverageMultisignInputSchema, mcpArcusBuildWithdrawMultisignInputSchema, mcpArcusFetchAccountInputSchema, mcpArcusFetchAccountOutputSchema, mcpArcusFetchMarketSnapshotInputSchema, mcpArcusFetchMarketSnapshotOutputSchema, mcpArcusFetchMarketsInputSchema, mcpArcusFetchMarketsOutputSchema, mcpArcusFetchOhlcvInputSchema, mcpArcusFetchOhlcvOutputSchema, mcpArcusFetchOpenContextInputSchema, mcpArcusFetchOpenContextOutputSchema, mcpArcusFetchOpenOrdersInputSchema, mcpArcusFetchOpenOrdersOutputSchema, mcpArcusFetchPositionsInputSchema, mcpArcusFetchPositionsOutputSchema, mcpArcusSearchMarketsInputSchema, mcpArcusSearchMarketsOutputSchema, mcpArcusSpotBuildRfqMultisignInputSchema, mcpArcusSpotFetchBalancesInputSchema, mcpArcusSpotFetchBalancesOutputSchema, mcpArcusSpotFetchMarketsInputSchema, mcpArcusSpotFetchMarketsOutputSchema, mcpArcusSpotFetchOhlcvInputSchema, mcpArcusSpotFetchOhlcvOutputSchema, mcpCompoundV3BulkerInputSchema, mcpCompoundV3ClaimRewardsInputSchema, mcpCompoundV3FetchAccountInputSchema, mcpCompoundV3FetchAccountOutputSchema, mcpCompoundV3FetchMarketInputSchema, mcpCompoundV3FetchMarketOutputSchema, mcpCompoundV3FetchMarketsInputSchema, mcpCompoundV3FetchMarketsOutputSchema, mcpCompoundV3RepayInputSchema, mcpCompoundV3SupplyInputSchema, mcpCompoundV3WithdrawInputSchema, mcpContinuumDaoAttachInputSchema, mcpContinuumDaoCancelInputSchema, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoComposeProposalActionInputSchema, mcpContinuumDaoComposeProposalActionOutputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, mcpContinuumDaoExecuteInputSchema, mcpContinuumDaoExplainProposalInputSchema, mcpContinuumDaoExplainProposalOutputSchema, mcpContinuumDaoFetchDelegatesInputSchema, mcpContinuumDaoFetchDelegatesOutputSchema, mcpContinuumDaoFetchLiveProposalsInputSchema, mcpContinuumDaoFetchLiveProposalsOutputSchema, mcpContinuumDaoFetchProposalInputSchema, mcpContinuumDaoFetchProposalOutputSchema, mcpContinuumDaoFetchProposalStateInputSchema, mcpContinuumDaoFetchProposalStateOutputSchema, mcpContinuumDaoFetchProposalVotesInputSchema, mcpContinuumDaoFetchProposalVotesOutputSchema, mcpContinuumDaoFetchProposalsInputSchema, mcpContinuumDaoFetchProposalsOutputSchema, mcpContinuumDaoFetchVotingPowerInputSchema, mcpContinuumDaoFetchVotingPowerOutputSchema, mcpContinuumDaoForumCreateIdeaInputSchema, mcpContinuumDaoForumCreateIdeaOutputSchema, mcpContinuumDaoForumCreateTopicInputSchema, mcpContinuumDaoForumCreateTopicOutputSchema, mcpContinuumDaoForumDeleteInputSchema, mcpContinuumDaoForumDeleteOutputSchema, mcpContinuumDaoForumFetchPostInputSchema, mcpContinuumDaoForumFetchPostOutputSchema, mcpContinuumDaoForumFetchThreadInputSchema, mcpContinuumDaoForumFetchThreadOutputSchema, mcpContinuumDaoForumMarkReadInputSchema, mcpContinuumDaoForumMarkReadOutputSchema, mcpContinuumDaoForumMarkUnreadInputSchema, mcpContinuumDaoForumMarkUnreadOutputSchema, mcpContinuumDaoForumMeInputSchema, mcpContinuumDaoForumMeOutputSchema, mcpContinuumDaoForumReactInputSchema, mcpContinuumDaoForumReactOutputSchema, mcpContinuumDaoForumRecentInputSchema, mcpContinuumDaoForumRecentOutputSchema, mcpContinuumDaoForumReplyCountInputSchema, mcpContinuumDaoForumReplyCountOutputSchema, mcpContinuumDaoForumReplyInputSchema, mcpContinuumDaoForumReplyOutputSchema, mcpContinuumDaoForumResolveInputSchema, mcpContinuumDaoForumResolveOutputSchema, mcpContinuumDaoForumSearchInputSchema, mcpContinuumDaoForumSearchOutputSchema, mcpContinuumDaoForumSectionsInputSchema, mcpContinuumDaoForumSectionsOutputSchema, mcpContinuumDaoForumSignInEligibleInputSchema, mcpContinuumDaoForumSignInEligibleOutputSchema, mcpContinuumDaoForumSignInInputSchema, mcpContinuumDaoForumSignOutInputSchema, mcpContinuumDaoForumSignOutOutputSchema, mcpContinuumDaoForumUnreadInputSchema, mcpContinuumDaoForumUnreadOutputSchema, mcpContinuumDaoForumUserPostIdsInputSchema, mcpContinuumDaoForumUserPostIdsOutputSchema, mcpContinuumDaoIncreaseAmountInputSchema, mcpContinuumDaoIncreaseUnlockTimeInputSchema, mcpContinuumDaoLiquidateInputSchema, mcpContinuumDaoMergeInputSchema, mcpContinuumDaoMpaFlagInputSchema, mcpContinuumDaoMpaFlagOutputSchema, mcpContinuumDaoMpaListingInputSchema, mcpContinuumDaoMpaListingOutputSchema, mcpContinuumDaoMpaMailboxListInputSchema, mcpContinuumDaoMpaMailboxListOutputSchema, mcpContinuumDaoMpaMailboxOpenInputSchema, mcpContinuumDaoMpaMailboxOpenOutputSchema, mcpContinuumDaoMpaMailboxSendInputSchema, mcpContinuumDaoMpaMailboxSendOutputSchema, mcpContinuumDaoMpaRetractInputSchema, mcpContinuumDaoMpaRetractOutputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposalVoteRowSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSimulateProposalInputSchema, mcpContinuumDaoSimulateProposalOutputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTechnocoreBindInputSchema, mcpContinuumDaoTechnocoreBindOutputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, mcpContinuumDaoWithdrawInputSchema, mcpContinuumDaoWriteInput, mcpCurveDaoBuildAddLiquidityMultisignInputSchema, mcpCurveDaoBuildGaugeDepositMultisignInputSchema, mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoFetchImportantPoolsInputSchema, mcpCurveDaoFetchImportantPoolsOutputSchema, mcpCurveDaoFetchLpYieldsInputSchema, mcpCurveDaoFetchLpYieldsOutputSchema, mcpCurveDaoQuoteAddLiquidityInputSchema, mcpCurveDaoQuoteAddLiquidityOutputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpCurveDaoQuoteRemoveLiquidityInputSchema, mcpCurveDaoQuoteRemoveLiquidityOutputSchema, mcpDeriveCancelInputSchema, mcpDeriveDepositAddressTransferInputSchema, mcpDeriveDepositNewSubaccountInputSchema, mcpDeriveFetchCurrenciesInputSchema, mcpDeriveFetchCurrenciesOutputSchema, mcpDeriveFetchMarketSnapshotInputSchema, mcpDeriveFetchMarketSnapshotOutputSchema, mcpDeriveFetchOhlcvInputSchema, mcpDeriveFetchOhlcvOutputSchema, mcpDeriveFetchOpenOrdersInputSchema, mcpDeriveFetchOpenOrdersOutputSchema, mcpDeriveFetchOptionChainInputSchema, mcpDeriveFetchOptionChainOutputSchema, mcpDeriveFetchPendingDepositsInputSchema, mcpDeriveFetchPendingDepositsOutputSchema, mcpDeriveFetchPortfolioInputSchema, mcpDeriveFetchPortfolioOutputSchema, mcpDeriveFetchPositionsInputSchema, mcpDeriveFetchPositionsOutputSchema, mcpDeriveFetchRiskUniversesInputSchema, mcpDeriveFetchRiskUniversesOutputSchema, mcpDeriveFetchSubaccountsInputSchema, mcpDeriveFetchSubaccountsOutputSchema, mcpDeriveFetchTickersInputSchema, mcpDeriveFetchTickersOutputSchema, mcpDeriveHypeVaultDepositInputSchema, mcpDeriveOrderQuoteInputSchema, mcpDeriveOrderQuoteOutputSchema, mcpDerivePlaceOrderInputSchema, mcpDeriveRegisterDepositAddressInputSchema, mcpDeriveRegisterDepositAddressOutputSchema, mcpDeriveReplaceOrderInputSchema, mcpDeriveSearchInstrumentsInputSchema, mcpDeriveSearchInstrumentsOutputSchema, mcpDeriveSocketDepositInputSchema, mcpDeriveTransferSpotInputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaFetchSusdeApyInputSchema, mcpEthenaFetchSusdeApyOutputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchEarnVaultsInputSchema, mcpEulerV2FetchEarnVaultsOutputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2MerklClaimInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGetPredictionMarketInputSchema, mcpGetPredictionMarketOutputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchOrdersInputSchema, mcpGmxFetchOrdersOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidBridgeDepositInputSchema, mcpHyperliquidBridgeWithdrawInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchLendMarketsInputSchema, mcpHyperliquidFetchLendMarketsOutputSchema, mcpHyperliquidFetchLendPositionsInputSchema, mcpHyperliquidFetchLendPositionsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchStockMarketsInputSchema, mcpHyperliquidFetchStockMarketsOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultApysInputSchema, mcpHyperliquidFetchVaultApysOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLendInputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidTrailingStopInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoFetchStethAprInputSchema, mcpLidoFetchStethAprOutputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpListMyPredictionMarketsInputSchema, mcpListMyPredictionMarketsOutputSchema, mcpMapleDepositInputSchema, mcpMapleFetchMarketInputSchema, mcpMapleFetchMarketOutputSchema, mcpMapleFetchMarketsInputSchema, mcpMapleFetchMarketsOutputSchema, mcpMapleRequestRedeemInputSchema, mcpMerklRewardsFetchInputSchema, mcpMerklRewardsFetchOutputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoBlueSupplyInputSchema, mcpMorphoBlueWithdrawInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightOffersInputSchema, mcpMorphoFetchMidnightOffersOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoFetchPositionsInputSchema, mcpMorphoFetchPositionsOutputSchema, mcpMorphoFetchStockMarketsInputSchema, mcpMorphoFetchStockMarketsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightCancelLendOfferInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightLendOfferInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpPendleBuildAddLiquidityMultisignInputSchema, mcpPendleBuildMintPyMultisignInputSchema, mcpPendleBuildMintSyMultisignInputSchema, mcpPendleBuildRedeemPyMultisignInputSchema, mcpPendleBuildRedeemRewardsMultisignInputSchema, mcpPendleBuildRedeemSyMultisignInputSchema, mcpPendleBuildRemoveLiquidityMultisignInputSchema, mcpPendleBuildSwapMultisignInputSchema, mcpPendleFetchMarketsInputSchema, mcpPendleFetchMarketsOutputSchema, mcpPendleFetchMerkleRewardsInputSchema, mcpPendleFetchMerkleRewardsOutputSchema, mcpPendleFetchPositionsInputSchema, mcpPendleFetchPositionsOutputSchema, mcpPendleFetchPricesInputSchema, mcpPendleFetchPricesOutputSchema, mcpPendleQuoteAddLiquidityInputSchema, mcpPendleQuoteMintPyInputSchema, mcpPendleQuoteMintSyInputSchema, mcpPendleQuoteOutputSchema, mcpPendleQuoteRedeemPyInputSchema, mcpPendleQuoteRedeemSyInputSchema, mcpPendleQuoteRemoveLiquidityInputSchema, mcpPendleQuoteSwapInputSchema, mcpPendleSearchAssetsInputSchema, mcpPendleSearchAssetsOutputSchema, mcpPredictionMarketRowSchema, mcpRailgunAgreeSpendInputSchema, mcpRailgunEnsureWalletInputSchema, mcpRailgunEnsureWalletOutputSchema, mcpRailgunFetchPopularAssetsInputSchema, mcpRailgunFetchPopularAssetsOutputSchema, mcpRailgunFetchPrivateBalancesInputSchema, mcpRailgunFetchPrivateBalancesOutputSchema, mcpRailgunPrivateActionOutputSchema, mcpRailgunPrivateTransferInputSchema, mcpRailgunShieldInputSchema, mcpRailgunUnshieldInputSchema, mcpSearchPredictionMarketsInputSchema, mcpSearchPredictionMarketsOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyFetchSusdsRateInputSchema, mcpSkyFetchSusdsRateOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpTrueoBurnInputSchema, mcpTrueoCancelOrderInputSchema, mcpTrueoCreateOrderInputSchema, mcpTrueoFetchCategoriesInputSchema, mcpTrueoFetchCategoriesOutputSchema, mcpTrueoFetchChanceSeriesInputSchema, mcpTrueoFetchChanceSeriesOutputSchema, mcpTrueoFetchMarketInputSchema, mcpTrueoFetchMarketOutputSchema, mcpTrueoFetchOrderbookInputSchema, mcpTrueoFetchOrderbookOutputSchema, mcpTrueoFetchTrendingInputSchema, mcpTrueoFetchTrendingOutputSchema, mcpTrueoMarketRowSchema, mcpTrueoMintInputSchema, mcpTrueoRedeemInputSchema, mcpTrueoSearchMarketsInputSchema, mcpTrueoSearchMarketsOutputSchema, mcpTrueoSwapInputSchema, mcpTrueoUnwrapTydInputSchema, mcpTrueoWrapTydInputSchema, mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CheckPermissionsInputSchema, mcpUniswapV4CheckPermissionsOutputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4KycApplyLinkInputSchema, mcpUniswapV4KycApplyLinkOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, mcpVeniceBurnDiemInputSchema, mcpVeniceCompleteUnstakeDiemInputSchema, mcpVeniceCompleteUnstakeSvvvInputSchema, mcpVeniceInitiateUnstakeDiemInputSchema, mcpVeniceInitiateUnstakeSvvvInputSchema, mcpVeniceListModelsInputSchema, mcpVeniceListModelsOutputSchema, mcpVeniceMintDiemInputSchema, mcpVeniceReadMintDiemPreviewInputSchema, mcpVeniceReadMintDiemPreviewOutputSchema, mcpVeniceReadStakingStateInputSchema, mcpVeniceReadStakingStateOutputSchema, mcpVeniceStakeDiemInputSchema, mcpVeniceStakeVvvInputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
|
|
14838
15403
|
//# sourceMappingURL=catalog.js.map
|
|
14839
15404
|
//# sourceMappingURL=catalog.js.map
|