@continuumdao/ctm-mpc-defi 0.2.55 → 0.2.57
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 +692 -310
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +279 -99
- package/dist/agent/catalog.js +687 -312
- 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 +5 -4
- package/dist/agent/skills/continuum-dao-marketplace/SKILL.md +4 -4
- package/dist/agent/skills/curve-dao/SKILL.md +2 -2
- 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 +77 -19
- package/dist/protocols/evm/circle-cctp/index.cjs.map +1 -1
- package/dist/protocols/evm/circle-cctp/index.d.ts +53 -3
- package/dist/protocols/evm/circle-cctp/index.js +76 -20
- 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 +288 -32
- package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.d.ts +14 -1
- package/dist/protocols/evm/continuum-dao/index.js +287 -33
- 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/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 +1 -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);
|
|
@@ -100,6 +205,110 @@ var init_defiProxy = __esm({
|
|
|
100
205
|
"src/core/defiProxy.ts"() {
|
|
101
206
|
}
|
|
102
207
|
});
|
|
208
|
+
function isConfiguredAddress(addr) {
|
|
209
|
+
if (!addr?.trim()) return false;
|
|
210
|
+
try {
|
|
211
|
+
return getAddress(addr) !== zeroAddress;
|
|
212
|
+
} catch {
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function continuumDaoDeployment(chainId) {
|
|
217
|
+
return CONTINUUM_DAO_DEPLOYMENTS[chainId] ?? null;
|
|
218
|
+
}
|
|
219
|
+
function isContinuumDaoLockChain(chainId) {
|
|
220
|
+
return chainId === CONTINUUM_DAO_LINEA_CHAIN_ID || chainId === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID;
|
|
221
|
+
}
|
|
222
|
+
function isContinuumDaoSupportedChainId(chainId) {
|
|
223
|
+
return continuumDaoDeployment(chainId) != null;
|
|
224
|
+
}
|
|
225
|
+
function ctmTokenAddressOnEvmChain(chainId) {
|
|
226
|
+
const ctm = continuumDaoDeployment(chainId)?.ctm;
|
|
227
|
+
return ctm && isConfiguredAddress(ctm) ? getAddress(ctm) : null;
|
|
228
|
+
}
|
|
229
|
+
function votingEscrowAddressOnEvmChain(chainId) {
|
|
230
|
+
const ve = continuumDaoDeployment(chainId)?.votingEscrow;
|
|
231
|
+
return ve && isConfiguredAddress(ve) ? getAddress(ve) : null;
|
|
232
|
+
}
|
|
233
|
+
function votingEscrowMarketplaceAddressOnEvmChain(chainId) {
|
|
234
|
+
if (chainId !== CONTINUUM_DAO_LINEA_CHAIN_ID) return null;
|
|
235
|
+
return VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS;
|
|
236
|
+
}
|
|
237
|
+
function listContinuumDaoDefaultAssets() {
|
|
238
|
+
const out = [];
|
|
239
|
+
for (const chainId of [
|
|
240
|
+
CONTINUUM_DAO_LINEA_CHAIN_ID,
|
|
241
|
+
CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID,
|
|
242
|
+
CONTINUUM_DAO_ETHEREUM_CHAIN_ID
|
|
243
|
+
]) {
|
|
244
|
+
const dep = continuumDaoDeployment(chainId);
|
|
245
|
+
if (!dep) continue;
|
|
246
|
+
if (isConfiguredAddress(dep.ctm)) {
|
|
247
|
+
out.push({
|
|
248
|
+
chainId,
|
|
249
|
+
tokenType: "CTMERC20",
|
|
250
|
+
contractAddress: getAddress(dep.ctm),
|
|
251
|
+
name: CTM_TOKEN_NAME,
|
|
252
|
+
symbol: CTM_TOKEN_SYMBOL,
|
|
253
|
+
decimals: CTM_TOKEN_DECIMALS
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
if (isContinuumDaoLockChain(chainId) && isConfiguredAddress(dep.votingEscrow)) {
|
|
257
|
+
out.push({
|
|
258
|
+
chainId,
|
|
259
|
+
tokenType: "ERC721",
|
|
260
|
+
contractAddress: getAddress(dep.votingEscrow),
|
|
261
|
+
name: VECTM_TOKEN_NAME,
|
|
262
|
+
symbol: VECTM_TOKEN_SYMBOL
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return out;
|
|
267
|
+
}
|
|
268
|
+
var CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, CTM_TOKEN_DECIMALS, WEEK_SECONDS, UNSET, CTM_TOKEN_ADDRESS, VOTING_ESCROW_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS, MARKETPLACE_WETH_LINEA_ADDRESS, MARKETPLACE_USDC_LINEA_ADDRESS, CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS, CONTINUUM_DAO_DEPLOYMENTS;
|
|
269
|
+
var init_constants = __esm({
|
|
270
|
+
"src/protocols/evm/continuum-dao/constants.ts"() {
|
|
271
|
+
CONTINUUM_DAO_PROTOCOL_ID = "continuum-dao";
|
|
272
|
+
CONTINUUM_DAO_ETHEREUM_CHAIN_ID = 1;
|
|
273
|
+
CONTINUUM_DAO_LINEA_CHAIN_ID = 59144;
|
|
274
|
+
CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID = 59141;
|
|
275
|
+
CTM_TOKEN_NAME = "Continuum";
|
|
276
|
+
CTM_TOKEN_SYMBOL = "CTM";
|
|
277
|
+
VECTM_TOKEN_NAME = "Voting Escrow Continuum";
|
|
278
|
+
VECTM_TOKEN_SYMBOL = "veCTM";
|
|
279
|
+
CTM_TOKEN_DECIMALS = 18;
|
|
280
|
+
WEEK_SECONDS = 7 * 86400;
|
|
281
|
+
UNSET = {
|
|
282
|
+
ctm: zeroAddress,
|
|
283
|
+
votingEscrow: zeroAddress,
|
|
284
|
+
nodeProperties: zeroAddress,
|
|
285
|
+
rewards: zeroAddress,
|
|
286
|
+
governor: zeroAddress
|
|
287
|
+
};
|
|
288
|
+
CTM_TOKEN_ADDRESS = getAddress("0x2026027054F5beBCEB650aBD62dC623e327658e7");
|
|
289
|
+
VOTING_ESCROW_LINEA_ADDRESS = getAddress("0x221EC90B3B083A8501A37bdeb7035CeaedF3C31f");
|
|
290
|
+
getAddress("0x4ebd7cCBe32a51d1638cFE90E8eD1c4BdF42f729");
|
|
291
|
+
VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS = getAddress("0x92557d38beAe4658d3c03A02F349FFB60c3bfFA5");
|
|
292
|
+
MARKETPLACE_WETH_LINEA_ADDRESS = getAddress("0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f");
|
|
293
|
+
MARKETPLACE_USDC_LINEA_ADDRESS = getAddress("0x176211869cA2b568f2A7D4EE941E073a821EE1ff");
|
|
294
|
+
CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID = "continuum-dao-marketplace";
|
|
295
|
+
CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS = getAddress("0x76FF2CB03175900F1D83328C82D27EA9aeaF2355");
|
|
296
|
+
getAddress("0x4800F9f1dC1b6daCA841B71E0531F547D374168E");
|
|
297
|
+
CONTINUUM_DAO_DEPLOYMENTS = {
|
|
298
|
+
[CONTINUUM_DAO_LINEA_CHAIN_ID]: {
|
|
299
|
+
...UNSET,
|
|
300
|
+
ctm: CTM_TOKEN_ADDRESS,
|
|
301
|
+
votingEscrow: VOTING_ESCROW_LINEA_ADDRESS,
|
|
302
|
+
governor: CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS
|
|
303
|
+
},
|
|
304
|
+
[CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID]: { ...UNSET },
|
|
305
|
+
[CONTINUUM_DAO_ETHEREUM_CHAIN_ID]: {
|
|
306
|
+
...UNSET,
|
|
307
|
+
ctm: CTM_TOKEN_ADDRESS
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
});
|
|
103
312
|
|
|
104
313
|
// src/protocols/evm/arcus/support.ts
|
|
105
314
|
function isArcusChainSupported(chainId) {
|
|
@@ -114,7 +323,7 @@ var init_support = __esm({
|
|
|
114
323
|
|
|
115
324
|
// src/protocols/evm/arcus/constants.ts
|
|
116
325
|
var ARCUS_PROTOCOL_ID;
|
|
117
|
-
var
|
|
326
|
+
var init_constants2 = __esm({
|
|
118
327
|
"src/protocols/evm/arcus/constants.ts"() {
|
|
119
328
|
ARCUS_PROTOCOL_ID = "arcus";
|
|
120
329
|
}
|
|
@@ -413,27 +622,6 @@ var init_midnightApi = __esm({
|
|
|
413
622
|
init_midnightConstants();
|
|
414
623
|
}
|
|
415
624
|
});
|
|
416
|
-
var COINBASE_B20_STOCK_TOKENS, COINBASE_B20_STOCK_DECIMALS;
|
|
417
|
-
var init_coinbaseB20 = __esm({
|
|
418
|
-
"src/protocols/evm/shared/coinbaseB20.ts"() {
|
|
419
|
-
COINBASE_B20_STOCK_TOKENS = [
|
|
420
|
-
{ symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
|
|
421
|
-
{ symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
|
|
422
|
-
{ symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
|
|
423
|
-
{ symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
|
|
424
|
-
{ symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
|
|
425
|
-
{ symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
|
|
426
|
-
{ symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
|
|
427
|
-
{ symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
|
|
428
|
-
{ symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
|
|
429
|
-
{ symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
|
|
430
|
-
{ symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
|
|
431
|
-
{ symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
|
|
432
|
-
{ symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
|
|
433
|
-
];
|
|
434
|
-
COINBASE_B20_STOCK_DECIMALS = 8;
|
|
435
|
-
}
|
|
436
|
-
});
|
|
437
625
|
function isAerodromeChainSupported(chainId) {
|
|
438
626
|
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
439
627
|
return n === AERODROME_CHAIN_ID;
|
|
@@ -510,109 +698,6 @@ var init_yields = __esm({
|
|
|
510
698
|
);
|
|
511
699
|
}
|
|
512
700
|
});
|
|
513
|
-
function isConfiguredAddress(addr) {
|
|
514
|
-
if (!addr?.trim()) return false;
|
|
515
|
-
try {
|
|
516
|
-
return getAddress(addr) !== zeroAddress;
|
|
517
|
-
} catch {
|
|
518
|
-
return false;
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
function continuumDaoDeployment(chainId) {
|
|
522
|
-
return CONTINUUM_DAO_DEPLOYMENTS[chainId] ?? null;
|
|
523
|
-
}
|
|
524
|
-
function isContinuumDaoLockChain(chainId) {
|
|
525
|
-
return chainId === CONTINUUM_DAO_LINEA_CHAIN_ID || chainId === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID;
|
|
526
|
-
}
|
|
527
|
-
function isContinuumDaoSupportedChainId(chainId) {
|
|
528
|
-
return continuumDaoDeployment(chainId) != null;
|
|
529
|
-
}
|
|
530
|
-
function ctmTokenAddressOnEvmChain(chainId) {
|
|
531
|
-
const ctm = continuumDaoDeployment(chainId)?.ctm;
|
|
532
|
-
return ctm && isConfiguredAddress(ctm) ? getAddress(ctm) : null;
|
|
533
|
-
}
|
|
534
|
-
function votingEscrowAddressOnEvmChain(chainId) {
|
|
535
|
-
const ve = continuumDaoDeployment(chainId)?.votingEscrow;
|
|
536
|
-
return ve && isConfiguredAddress(ve) ? getAddress(ve) : null;
|
|
537
|
-
}
|
|
538
|
-
function votingEscrowMarketplaceAddressOnEvmChain(chainId) {
|
|
539
|
-
if (chainId !== CONTINUUM_DAO_LINEA_CHAIN_ID) return null;
|
|
540
|
-
return VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS;
|
|
541
|
-
}
|
|
542
|
-
function listContinuumDaoDefaultAssets() {
|
|
543
|
-
const out = [];
|
|
544
|
-
for (const chainId of [
|
|
545
|
-
CONTINUUM_DAO_LINEA_CHAIN_ID,
|
|
546
|
-
CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID,
|
|
547
|
-
CONTINUUM_DAO_ETHEREUM_CHAIN_ID
|
|
548
|
-
]) {
|
|
549
|
-
const dep = continuumDaoDeployment(chainId);
|
|
550
|
-
if (!dep) continue;
|
|
551
|
-
if (isConfiguredAddress(dep.ctm)) {
|
|
552
|
-
out.push({
|
|
553
|
-
chainId,
|
|
554
|
-
tokenType: "CTMERC20",
|
|
555
|
-
contractAddress: getAddress(dep.ctm),
|
|
556
|
-
name: CTM_TOKEN_NAME,
|
|
557
|
-
symbol: CTM_TOKEN_SYMBOL,
|
|
558
|
-
decimals: CTM_TOKEN_DECIMALS
|
|
559
|
-
});
|
|
560
|
-
}
|
|
561
|
-
if (isContinuumDaoLockChain(chainId) && isConfiguredAddress(dep.votingEscrow)) {
|
|
562
|
-
out.push({
|
|
563
|
-
chainId,
|
|
564
|
-
tokenType: "ERC721",
|
|
565
|
-
contractAddress: getAddress(dep.votingEscrow),
|
|
566
|
-
name: VECTM_TOKEN_NAME,
|
|
567
|
-
symbol: VECTM_TOKEN_SYMBOL
|
|
568
|
-
});
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
return out;
|
|
572
|
-
}
|
|
573
|
-
var CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, CTM_TOKEN_DECIMALS, UNSET, CTM_TOKEN_ADDRESS, VOTING_ESCROW_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS, CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS, CONTINUUM_DAO_DEPLOYMENTS;
|
|
574
|
-
var init_constants2 = __esm({
|
|
575
|
-
"src/protocols/evm/continuum-dao/constants.ts"() {
|
|
576
|
-
CONTINUUM_DAO_PROTOCOL_ID = "continuum-dao";
|
|
577
|
-
CONTINUUM_DAO_ETHEREUM_CHAIN_ID = 1;
|
|
578
|
-
CONTINUUM_DAO_LINEA_CHAIN_ID = 59144;
|
|
579
|
-
CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID = 59141;
|
|
580
|
-
CTM_TOKEN_NAME = "Continuum";
|
|
581
|
-
CTM_TOKEN_SYMBOL = "CTM";
|
|
582
|
-
VECTM_TOKEN_NAME = "Voting Escrow Continuum";
|
|
583
|
-
VECTM_TOKEN_SYMBOL = "veCTM";
|
|
584
|
-
CTM_TOKEN_DECIMALS = 18;
|
|
585
|
-
UNSET = {
|
|
586
|
-
ctm: zeroAddress,
|
|
587
|
-
votingEscrow: zeroAddress,
|
|
588
|
-
nodeProperties: zeroAddress,
|
|
589
|
-
rewards: zeroAddress,
|
|
590
|
-
governor: zeroAddress
|
|
591
|
-
};
|
|
592
|
-
CTM_TOKEN_ADDRESS = getAddress("0x2026027054F5beBCEB650aBD62dC623e327658e7");
|
|
593
|
-
VOTING_ESCROW_LINEA_ADDRESS = getAddress("0x221EC90B3B083A8501A37bdeb7035CeaedF3C31f");
|
|
594
|
-
getAddress("0x4ebd7cCBe32a51d1638cFE90E8eD1c4BdF42f729");
|
|
595
|
-
VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS = getAddress("0x92557d38beAe4658d3c03A02F349FFB60c3bfFA5");
|
|
596
|
-
getAddress("0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f");
|
|
597
|
-
getAddress("0x176211869cA2b568f2A7D4EE941E073a821EE1ff");
|
|
598
|
-
CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID = "continuum-dao-marketplace";
|
|
599
|
-
CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS = getAddress("0x76FF2CB03175900F1D83328C82D27EA9aeaF2355");
|
|
600
|
-
getAddress("0x4800F9f1dC1b6daCA841B71E0531F547D374168E");
|
|
601
|
-
CONTINUUM_DAO_DEPLOYMENTS = {
|
|
602
|
-
[CONTINUUM_DAO_LINEA_CHAIN_ID]: {
|
|
603
|
-
...UNSET,
|
|
604
|
-
ctm: CTM_TOKEN_ADDRESS,
|
|
605
|
-
votingEscrow: VOTING_ESCROW_LINEA_ADDRESS,
|
|
606
|
-
governor: CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS
|
|
607
|
-
},
|
|
608
|
-
[CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID]: { ...UNSET },
|
|
609
|
-
[CONTINUUM_DAO_ETHEREUM_CHAIN_ID]: {
|
|
610
|
-
...UNSET,
|
|
611
|
-
ctm: CTM_TOKEN_ADDRESS
|
|
612
|
-
}
|
|
613
|
-
};
|
|
614
|
-
}
|
|
615
|
-
});
|
|
616
701
|
var init_committeeList = __esm({
|
|
617
702
|
"src/protocols/evm/continuum-dao/committeeList.ts"() {
|
|
618
703
|
}
|
|
@@ -1305,7 +1390,108 @@ function parseMultisignBuilderOutput(data) {
|
|
|
1305
1390
|
return multisignOutputSchema.parse(data);
|
|
1306
1391
|
}
|
|
1307
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
|
+
|
|
1308
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
|
+
}
|
|
1309
1495
|
function preprocessObject(raw) {
|
|
1310
1496
|
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
1311
1497
|
return { ...raw };
|
|
@@ -1647,6 +1833,12 @@ function preprocessAaveMultisignInput(action) {
|
|
|
1647
1833
|
return (raw) => {
|
|
1648
1834
|
const o = preprocessObject(raw);
|
|
1649
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
|
+
}
|
|
1650
1842
|
derivePurposeIfMissing(o, (x) => {
|
|
1651
1843
|
const amt = String(x.amountHuman ?? "").trim();
|
|
1652
1844
|
const asset = String(x.underlying ?? "").trim();
|
|
@@ -1663,8 +1855,8 @@ var uniswapQuoteTradeTypeSchema = z.enum(["EXACT_INPUT", "EXACT_OUTPUT"]);
|
|
|
1663
1855
|
var mcpUniswapV4QuoteInputSchema = z.object({
|
|
1664
1856
|
type: uniswapQuoteTradeTypeSchema.describe("EXACT_INPUT or EXACT_OUTPUT"),
|
|
1665
1857
|
amount: z.string().min(1).describe("Amount in token-in base units (wei string for ERC-20)"),
|
|
1666
|
-
tokenIn: z.string().min(1).describe("Input token; 0x0 for native ETH"),
|
|
1667
|
-
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)"),
|
|
1668
1860
|
chainId: agentEvmChainIdSchema.describe("tokenInChainId / same-chain default"),
|
|
1669
1861
|
uniswapApiKey: z.string().min(1).describe("Uniswap Trade API x-api-key"),
|
|
1670
1862
|
swapper: evmAddressSchema.optional().describe("MPC executor; omit if keyGen + managementNodeUrl provided"),
|
|
@@ -1700,7 +1892,9 @@ var mcpUniswapV4BuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
1700
1892
|
z.preprocess(
|
|
1701
1893
|
preprocessUniswapBuildSwapInput,
|
|
1702
1894
|
evmMultisignCommonInputSchema.extend({
|
|
1703
|
-
tokenIn: evmAddressSchema.describe(
|
|
1895
|
+
tokenIn: evmAddressSchema.describe(
|
|
1896
|
+
"Token in address or Coinbase stock ticker (AAPLc); 0x0 for native ETH"
|
|
1897
|
+
),
|
|
1704
1898
|
swap: swapTxRequestSchema,
|
|
1705
1899
|
createSwapResponse: z.object({
|
|
1706
1900
|
swap: swapTxRequestSchema,
|
|
@@ -1717,8 +1911,8 @@ var mcpUniswapV4LimitOrderQuoteInputSchema = z.object({
|
|
|
1717
1911
|
type: uniswapQuoteTradeTypeSchema.describe("EXACT_INPUT or EXACT_OUTPUT"),
|
|
1718
1912
|
amount: z.string().min(1).describe("Amount in token-in base units (wei string for ERC-20)"),
|
|
1719
1913
|
limitPrice: z.string().min(1).describe("Limit price string from Trade API (pair exchange rate)"),
|
|
1720
|
-
tokenIn: z.string().min(1).describe("Input token; 0x0 for native ETH"),
|
|
1721
|
-
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)"),
|
|
1722
1916
|
chainId: agentEvmChainIdSchema.describe("Must be 1 (Ethereum mainnet) for limit orders"),
|
|
1723
1917
|
orderDeadline: agentCoercedIntSchema(z.number().int().positive()).describe("Unix seconds when unfilled order expires"),
|
|
1724
1918
|
uniswapApiKey: z.string().min(1).describe("Uniswap Trade API x-api-key"),
|
|
@@ -2065,8 +2259,8 @@ var mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema = withMultisignKeySou
|
|
|
2065
2259
|
var mcpCurveDaoQuoteInputSchema = z.object({
|
|
2066
2260
|
chainId: agentEvmChainIdSchema.describe("EVM chain id (rpcUrl resolved from get_chain_registry rpcGateway)"),
|
|
2067
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"),
|
|
2068
|
-
tokenIn: z.string().min(1).describe("Input token address, or 0xeeee\u2026 / 0x0 / eth for native"),
|
|
2069
|
-
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"),
|
|
2070
2264
|
amountHuman: z.string().min(1).describe("Human-readable amount of tokenIn"),
|
|
2071
2265
|
tokenInDecimals: z.number().int().min(0).max(18).optional().describe("Token-in decimals; omit to read on-chain (native uses 18)")
|
|
2072
2266
|
});
|
|
@@ -2077,8 +2271,10 @@ var mcpCurveDaoBuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
2077
2271
|
z.preprocess(
|
|
2078
2272
|
preprocessCurveBuildSwapInput,
|
|
2079
2273
|
evmMultisignCommonInputSchema.extend({
|
|
2080
|
-
tokenIn: evmAddressSchema.describe(
|
|
2081
|
-
|
|
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"),
|
|
2082
2278
|
amountHuman: z.string().min(1).describe("Human-readable amount of tokenIn"),
|
|
2083
2279
|
slippagePercent: z.number().gt(0).lt(100).describe("Slippage 0\u2013100 exclusive"),
|
|
2084
2280
|
quoteSnapshot: jsonObjectSchema.optional().describe("Optional quote row from ctm_curve_dao_quote \u2014 aliases tokenIn/tokenOut/amountHuman")
|
|
@@ -2742,6 +2938,172 @@ function preprocessMerklClaimInput(kind) {
|
|
|
2742
2938
|
return o;
|
|
2743
2939
|
};
|
|
2744
2940
|
}
|
|
2941
|
+
|
|
2942
|
+
// src/protocols/evm/continuum-dao/purpose.ts
|
|
2943
|
+
init_constants();
|
|
2944
|
+
function chainParts(chainId) {
|
|
2945
|
+
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId ?? "").trim(), 10);
|
|
2946
|
+
const id = Number.isFinite(n) ? n : 0;
|
|
2947
|
+
if (id === CONTINUUM_DAO_LINEA_CHAIN_ID) return { name: "Linea Mainnet", id };
|
|
2948
|
+
if (id === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID) return { name: "Linea Sepolia", id };
|
|
2949
|
+
if (id === CONTINUUM_DAO_ETHEREUM_CHAIN_ID) return { name: "Ethereum Mainnet", id };
|
|
2950
|
+
return { name: "chain", id };
|
|
2951
|
+
}
|
|
2952
|
+
function suffix(chainId) {
|
|
2953
|
+
const { name, id } = chainParts(chainId);
|
|
2954
|
+
return `on ${name} (chainId ${id})`;
|
|
2955
|
+
}
|
|
2956
|
+
function text(value) {
|
|
2957
|
+
return String(value ?? "").trim();
|
|
2958
|
+
}
|
|
2959
|
+
function tokenLabel(value) {
|
|
2960
|
+
const id = text(value);
|
|
2961
|
+
return id ? `#${id}` : "#\u2026";
|
|
2962
|
+
}
|
|
2963
|
+
function shortAddr(value) {
|
|
2964
|
+
const trimmed = text(value);
|
|
2965
|
+
if (!trimmed) return "\u2026";
|
|
2966
|
+
try {
|
|
2967
|
+
if (!isAddress(trimmed)) return trimmed;
|
|
2968
|
+
const addr = getAddress(trimmed);
|
|
2969
|
+
return `${addr.slice(0, 6)}\u2026${addr.slice(-4)}`;
|
|
2970
|
+
} catch {
|
|
2971
|
+
return trimmed;
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
function weeksLabel(seconds) {
|
|
2975
|
+
const n = Number(text(seconds));
|
|
2976
|
+
if (!Number.isFinite(n) || n <= 0) return "\u2026 weeks";
|
|
2977
|
+
const weeks = Math.max(1, Math.round(n / WEEK_SECONDS));
|
|
2978
|
+
return `${weeks} week${weeks === 1 ? "" : "s"}`;
|
|
2979
|
+
}
|
|
2980
|
+
function paymentMeta(address) {
|
|
2981
|
+
const lower = text(address).toLowerCase();
|
|
2982
|
+
if (lower === MARKETPLACE_USDC_LINEA_ADDRESS.toLowerCase()) return { symbol: "USDC", decimals: 6 };
|
|
2983
|
+
if (lower === MARKETPLACE_WETH_LINEA_ADDRESS.toLowerCase()) return { symbol: "WETH", decimals: 18 };
|
|
2984
|
+
if (lower === CTM_TOKEN_ADDRESS.toLowerCase()) return { symbol: "CTM", decimals: 18 };
|
|
2985
|
+
return { symbol: "token", decimals: 18 };
|
|
2986
|
+
}
|
|
2987
|
+
function moneyFromWei(wei2, paymentToken) {
|
|
2988
|
+
const raw = text(wei2);
|
|
2989
|
+
if (!raw) return "\u2026 token";
|
|
2990
|
+
try {
|
|
2991
|
+
const meta = paymentMeta(paymentToken);
|
|
2992
|
+
const human = formatUnits(BigInt(raw), meta.decimals).replace(/(\.\d*?[1-9])0+$/, "$1").replace(/\.0+$/, "");
|
|
2993
|
+
return `${human} ${meta.symbol}`;
|
|
2994
|
+
} catch {
|
|
2995
|
+
return raw;
|
|
2996
|
+
}
|
|
2997
|
+
}
|
|
2998
|
+
function deadlineLabel(value) {
|
|
2999
|
+
const n = Number(text(value));
|
|
3000
|
+
if (!Number.isFinite(n) || n <= 0) return "\u2026";
|
|
3001
|
+
const date = new Date(n * 1e3);
|
|
3002
|
+
if (Number.isNaN(date.getTime())) return "\u2026";
|
|
3003
|
+
return `${date.toISOString().slice(0, 16).replace("T", " ")} UTC`;
|
|
3004
|
+
}
|
|
3005
|
+
function bravoLabel(support) {
|
|
3006
|
+
const raw = text(support).toLowerCase();
|
|
3007
|
+
if (raw === "0" || raw === "against") return "Against";
|
|
3008
|
+
if (raw === "1" || raw === "for") return "For";
|
|
3009
|
+
if (raw === "2" || raw === "abstain") return "Abstain";
|
|
3010
|
+
return null;
|
|
3011
|
+
}
|
|
3012
|
+
function proposalLabel(input) {
|
|
3013
|
+
const title = text(input.title || input.proposalTitle);
|
|
3014
|
+
if (title) return title;
|
|
3015
|
+
const id = text(input.proposalId);
|
|
3016
|
+
return id ? `proposal ${id}` : "proposal";
|
|
3017
|
+
}
|
|
3018
|
+
function buildContinuumDaoMcpPurpose(action, input) {
|
|
3019
|
+
const end = suffix(input.chainId);
|
|
3020
|
+
const id = tokenLabel(input.tokenId);
|
|
3021
|
+
switch (action) {
|
|
3022
|
+
case "createLock":
|
|
3023
|
+
return `ContinuumDAO: create lock ${text(input.amountHuman) || "\u2026"} CTM for ${weeksLabel(input.lockDurationSeconds)} ${end}`;
|
|
3024
|
+
case "increaseAmount":
|
|
3025
|
+
return `ContinuumDAO: increase lock ${id} by ${text(input.amountHuman) || "\u2026"} CTM ${end}`;
|
|
3026
|
+
case "increaseUnlockTime":
|
|
3027
|
+
return `ContinuumDAO: extend lock ${id} by ${weeksLabel(input.lockDurationSeconds)} ${end}`;
|
|
3028
|
+
case "split":
|
|
3029
|
+
return `ContinuumDAO: split lock ${id}, extract ${text(input.extractedHuman) || "\u2026"} CTM ${end}`;
|
|
3030
|
+
case "merge": {
|
|
3031
|
+
const from = tokenLabel(input.fromTokenId);
|
|
3032
|
+
const into = text(input.toTokenId);
|
|
3033
|
+
return into ? `ContinuumDAO: merge lock ${from} into #${into} ${end}` : `ContinuumDAO: merge lock ${from} into \u2026 ${end}`;
|
|
3034
|
+
}
|
|
3035
|
+
case "withdraw":
|
|
3036
|
+
return `ContinuumDAO: withdraw expired lock ${id} ${end}`;
|
|
3037
|
+
case "liquidate":
|
|
3038
|
+
return `ContinuumDAO: liquidate lock ${id} ${end}`;
|
|
3039
|
+
case "delegate":
|
|
3040
|
+
return text(input.delegatee) ? `ContinuumDAO: delegate voting power to ${shortAddr(input.delegatee)} ${end}` : `ContinuumDAO: delegate voting power ${end}`;
|
|
3041
|
+
case "undelegate":
|
|
3042
|
+
return `ContinuumDAO: undelegate (return voting power to this KeyGen) ${end}`;
|
|
3043
|
+
case "transfer":
|
|
3044
|
+
return text(input.to) ? `ContinuumDAO: transfer veCTM ${id} to ${shortAddr(input.to)} ${end}` : `ContinuumDAO: transfer veCTM ${id} ${end}`;
|
|
3045
|
+
case "attach":
|
|
3046
|
+
return text(input.tokenId) ? `ContinuumDAO: attach veCTM ${id} to this node ${end}` : `ContinuumDAO: attach veCTM to this node ${end}`;
|
|
3047
|
+
case "requestDetach":
|
|
3048
|
+
return `ContinuumDAO: request detach veCTM ${id} ${end}`;
|
|
3049
|
+
case "proposeBravo": {
|
|
3050
|
+
const title = text(input.title);
|
|
3051
|
+
return title ? `ContinuumDAO: propose "${title}" (Bravo) ${end}` : `ContinuumDAO: propose governance proposal (Bravo) ${end}`;
|
|
3052
|
+
}
|
|
3053
|
+
case "proposeDelta": {
|
|
3054
|
+
const title = text(input.title);
|
|
3055
|
+
return title ? `ContinuumDAO: propose "${title}" (Delta) ${end}` : `ContinuumDAO: propose governance proposal (Delta) ${end}`;
|
|
3056
|
+
}
|
|
3057
|
+
case "castVoteBravo": {
|
|
3058
|
+
const label = proposalLabel(input);
|
|
3059
|
+
const support = bravoLabel(input.support);
|
|
3060
|
+
return support ? `ContinuumDAO: vote ${support} on "${label}" ${end}` : `ContinuumDAO: vote on "${label}" ${end}`;
|
|
3061
|
+
}
|
|
3062
|
+
case "castVoteDelta":
|
|
3063
|
+
return `ContinuumDAO: vote on "${proposalLabel(input)}" (Delta) ${end}`;
|
|
3064
|
+
case "execute":
|
|
3065
|
+
return `ContinuumDAO: execute "${proposalLabel(input)}" ${end}`;
|
|
3066
|
+
case "cancel":
|
|
3067
|
+
return `ContinuumDAO: cancel "${proposalLabel(input)}" ${end}`;
|
|
3068
|
+
case "forumSignIn": {
|
|
3069
|
+
const who = text(input.username);
|
|
3070
|
+
return who ? `ContinuumDAO: sign in to the forum as ${who} ${end}` : `ContinuumDAO: sign in to the forum ${end}`;
|
|
3071
|
+
}
|
|
3072
|
+
case "marketplaceCreateListing":
|
|
3073
|
+
return `ContinuumDAO: list veCTM ${id} for ${moneyFromWei(input.askWei, input.paymentToken)} until ${deadlineLabel(input.deadline)} ${end}`;
|
|
3074
|
+
case "marketplaceDelist":
|
|
3075
|
+
return `ContinuumDAO: delist veCTM ${id} ${end}`;
|
|
3076
|
+
case "marketplaceFulfillListing":
|
|
3077
|
+
return `ContinuumDAO: buy veCTM ${id} for ${moneyFromWei(input.priceWei, input.paymentToken)} ${end}`;
|
|
3078
|
+
case "marketplaceCreateOffering":
|
|
3079
|
+
return `ContinuumDAO: offer ${moneyFromWei(input.bidWei, input.paymentToken)} for veCTM ${id} until ${deadlineLabel(input.deadline)} ${end}`;
|
|
3080
|
+
case "marketplaceRescind":
|
|
3081
|
+
return `ContinuumDAO: rescind offer on veCTM ${id} ${end}`;
|
|
3082
|
+
case "marketplaceFulfillOffering":
|
|
3083
|
+
return `ContinuumDAO: accept offer of ${moneyFromWei(input.priceWei, input.paymentToken)} on veCTM ${id} ${end}`;
|
|
3084
|
+
case "marketplaceCreateAuction":
|
|
3085
|
+
return `ContinuumDAO: auction veCTM ${id} reserve ${moneyFromWei(input.reserveWei, input.paymentToken)}, minimum increment ${moneyFromWei(input.minIncrementWei, input.paymentToken)}, until ${deadlineLabel(input.deadline)} ${end}`;
|
|
3086
|
+
case "marketplaceCancelAuction":
|
|
3087
|
+
return `ContinuumDAO: cancel auction for veCTM ${id} ${end}`;
|
|
3088
|
+
case "marketplaceAuctionBid":
|
|
3089
|
+
return `ContinuumDAO: bid ${moneyFromWei(input.priceWei, input.paymentToken)} on veCTM ${id} ${end}`;
|
|
3090
|
+
case "marketplaceSettleAuction":
|
|
3091
|
+
return `ContinuumDAO: settle auction for veCTM ${id} ${end}`;
|
|
3092
|
+
default:
|
|
3093
|
+
return `ContinuumDAO: ${end}`;
|
|
3094
|
+
}
|
|
3095
|
+
}
|
|
3096
|
+
function preprocessContinuumDaoPurpose(action, raw) {
|
|
3097
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return raw;
|
|
3098
|
+
const o = { ...raw };
|
|
3099
|
+
const supplied = text(o.purposeText ?? o.purpose);
|
|
3100
|
+
if (supplied) {
|
|
3101
|
+
o.purposeText = supplied;
|
|
3102
|
+
return o;
|
|
3103
|
+
}
|
|
3104
|
+
o.purposeText = buildContinuumDaoMcpPurpose(action, o);
|
|
3105
|
+
return o;
|
|
3106
|
+
}
|
|
2745
3107
|
var mcpServerCommonInputSchema = z.object({
|
|
2746
3108
|
keyGenId: z.string().min(1).describe("KeyGen id from fetch_key_gen_result / node preferred KeyGen"),
|
|
2747
3109
|
chainId: z.number().int().positive().describe("EVM chain id; RPC and gas config resolved from chain registry"),
|
|
@@ -2787,6 +3149,14 @@ var MCP_NON_SUBMIT_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
|
2787
3149
|
function mcpMultisignInput(fields) {
|
|
2788
3150
|
return withMultisignKeySourceRefine(evmMultisignCommonInputSchema.extend(fields));
|
|
2789
3151
|
}
|
|
3152
|
+
function mcpContinuumDaoWriteInput(action, fields) {
|
|
3153
|
+
return withMultisignKeySourceRefine(
|
|
3154
|
+
z.preprocess(
|
|
3155
|
+
(raw) => preprocessContinuumDaoPurpose(action, raw),
|
|
3156
|
+
evmMultisignCommonInputSchema.extend(fields)
|
|
3157
|
+
)
|
|
3158
|
+
);
|
|
3159
|
+
}
|
|
2790
3160
|
var mcpLidoSubmitInputSchema = mcpMultisignInput({
|
|
2791
3161
|
valueWei: z.string().min(1).describe("ETH to stake (wei decimal string)"),
|
|
2792
3162
|
referral: evmAddressSchema.optional()
|
|
@@ -2855,7 +3225,9 @@ var mcpSkySusdsDepositInputSchema = mcpMultisignInput({
|
|
|
2855
3225
|
var mcpSkySusdsRedeemInputSchema = mcpMultisignInput({
|
|
2856
3226
|
sharesHuman: z.string().min(1)
|
|
2857
3227
|
});
|
|
2858
|
-
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
|
+
);
|
|
2859
3231
|
function mcpAaveV4MultisignInput(fields, action) {
|
|
2860
3232
|
return withMultisignKeySourceRefine(
|
|
2861
3233
|
z.preprocess(preprocessAaveMultisignInput(action), evmMultisignCommonInputSchema.extend(fields))
|
|
@@ -2873,7 +3245,7 @@ var mcpAaveV4DepositInputSchema = mcpAaveV4MultisignInput(
|
|
|
2873
3245
|
{
|
|
2874
3246
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 continuum-mcp-server resolves spoke from Aave v4 API."),
|
|
2875
3247
|
underlying: evmAddressSchema.describe(
|
|
2876
|
-
"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."
|
|
2877
3249
|
),
|
|
2878
3250
|
amountHuman: z.string().min(1),
|
|
2879
3251
|
marketId: mcpAaveV4MarketIdSchema,
|
|
@@ -2889,7 +3261,7 @@ var mcpAaveV4DepositInputSchema = mcpAaveV4MultisignInput(
|
|
|
2889
3261
|
var mcpAaveV4WithdrawInputSchema = mcpAaveV4MultisignInput(
|
|
2890
3262
|
{
|
|
2891
3263
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 server resolves from Aave v4 API."),
|
|
2892
|
-
underlying: evmAddressSchema.describe("Supplied asset to withdraw."),
|
|
3264
|
+
underlying: evmAddressSchema.describe("Supplied asset to withdraw. Address or bStock ticker (AAPLc)."),
|
|
2893
3265
|
amountHuman: z.string().min(1),
|
|
2894
3266
|
marketId: mcpAaveV4MarketIdSchema,
|
|
2895
3267
|
...mcpAaveV4HealthPreviewFields
|
|
@@ -2899,10 +3271,14 @@ var mcpAaveV4WithdrawInputSchema = mcpAaveV4MultisignInput(
|
|
|
2899
3271
|
var mcpAaveV4BorrowInputSchema = mcpAaveV4MultisignInput(
|
|
2900
3272
|
{
|
|
2901
3273
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 server resolves from Aave v4 API."),
|
|
2902
|
-
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
|
+
),
|
|
2903
3277
|
amountHuman: z.string().min(1),
|
|
2904
3278
|
marketId: mcpAaveV4MarketIdSchema,
|
|
2905
|
-
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
|
+
),
|
|
2906
3282
|
...mcpAaveV4HealthPreviewFields
|
|
2907
3283
|
},
|
|
2908
3284
|
"borrow"
|
|
@@ -2910,7 +3286,7 @@ var mcpAaveV4BorrowInputSchema = mcpAaveV4MultisignInput(
|
|
|
2910
3286
|
var mcpAaveV4RepayInputSchema = mcpAaveV4MultisignInput(
|
|
2911
3287
|
{
|
|
2912
3288
|
spoke: evmAddressSchema.optional().describe("Omit \u2014 server resolves from Aave v4 API."),
|
|
2913
|
-
underlying: evmAddressSchema.describe("Debt token to repay."),
|
|
3289
|
+
underlying: evmAddressSchema.describe("Debt token to repay. On bstocks this is USDC."),
|
|
2914
3290
|
amountHuman: z.string().min(1),
|
|
2915
3291
|
marketId: mcpAaveV4MarketIdSchema,
|
|
2916
3292
|
...mcpAaveV4HealthPreviewFields
|
|
@@ -3228,42 +3604,45 @@ var mcpMorphoMidnightRepayInputSchema = withMultisignKeySourceRefine(
|
|
|
3228
3604
|
})
|
|
3229
3605
|
)
|
|
3230
3606
|
);
|
|
3231
|
-
var mcpContinuumDaoCreateLockInputSchema =
|
|
3607
|
+
var mcpContinuumDaoCreateLockInputSchema = mcpContinuumDaoWriteInput("createLock", {
|
|
3232
3608
|
amountHuman: z.string().min(1).describe("CTM amount to lock. Must be >= VotingEscrow.minimumLock (default 1 CTM)."),
|
|
3233
3609
|
lockDurationSeconds: z.union([z.string(), z.number()]).describe("Lock duration in seconds. Must be 1\u2013208 weeks (week-aligned on-chain)."),
|
|
3234
3610
|
ctm: evmAddressSchema.optional(),
|
|
3235
3611
|
votingEscrow: evmAddressSchema.optional()
|
|
3236
3612
|
});
|
|
3237
|
-
var mcpContinuumDaoIncreaseAmountInputSchema =
|
|
3613
|
+
var mcpContinuumDaoIncreaseAmountInputSchema = mcpContinuumDaoWriteInput("increaseAmount", {
|
|
3238
3614
|
tokenId: z.union([z.string(), z.number()]),
|
|
3239
3615
|
amountHuman: z.string().min(1),
|
|
3240
3616
|
ctm: evmAddressSchema.optional(),
|
|
3241
3617
|
votingEscrow: evmAddressSchema.optional()
|
|
3242
3618
|
});
|
|
3243
|
-
var mcpContinuumDaoIncreaseUnlockTimeInputSchema =
|
|
3619
|
+
var mcpContinuumDaoIncreaseUnlockTimeInputSchema = mcpContinuumDaoWriteInput("increaseUnlockTime", {
|
|
3244
3620
|
tokenId: z.union([z.string(), z.number()]),
|
|
3245
3621
|
lockDurationSeconds: z.union([z.string(), z.number()]),
|
|
3246
3622
|
votingEscrow: evmAddressSchema.optional()
|
|
3247
3623
|
});
|
|
3248
|
-
var mcpContinuumDaoSplitInputSchema =
|
|
3624
|
+
var mcpContinuumDaoSplitInputSchema = mcpContinuumDaoWriteInput("split", {
|
|
3249
3625
|
tokenId: z.union([z.string(), z.number()]),
|
|
3250
3626
|
extractedHuman: z.string().min(1).describe("CTM extracted into the new lock. Minimum 1 CTM; original lock must also keep 1 CTM."),
|
|
3251
3627
|
votingEscrow: evmAddressSchema.optional()
|
|
3252
3628
|
});
|
|
3253
|
-
var mcpContinuumDaoMergeInputSchema =
|
|
3629
|
+
var mcpContinuumDaoMergeInputSchema = mcpContinuumDaoWriteInput("merge", {
|
|
3254
3630
|
fromTokenId: z.union([z.string(), z.number()]),
|
|
3255
3631
|
toTokenId: z.union([z.string(), z.number()]),
|
|
3256
3632
|
votingEscrow: evmAddressSchema.optional()
|
|
3257
3633
|
});
|
|
3258
|
-
var
|
|
3634
|
+
var continuumDaoTokenIdFields = {
|
|
3259
3635
|
tokenId: z.union([z.string(), z.number()]),
|
|
3260
3636
|
votingEscrow: evmAddressSchema.optional()
|
|
3261
|
-
}
|
|
3262
|
-
var
|
|
3637
|
+
};
|
|
3638
|
+
var mcpContinuumDaoWithdrawInputSchema = mcpContinuumDaoWriteInput("withdraw", continuumDaoTokenIdFields);
|
|
3639
|
+
var mcpContinuumDaoLiquidateInputSchema = mcpContinuumDaoWriteInput("liquidate", continuumDaoTokenIdFields);
|
|
3640
|
+
var mcpContinuumDaoTokenIdInputSchema = mcpContinuumDaoWithdrawInputSchema;
|
|
3641
|
+
var mcpContinuumDaoDelegateInputSchema = mcpContinuumDaoWriteInput("delegate", {
|
|
3263
3642
|
delegatee: evmAddressSchema,
|
|
3264
3643
|
votingEscrow: evmAddressSchema.optional()
|
|
3265
3644
|
});
|
|
3266
|
-
var mcpContinuumDaoUndelegateInputSchema =
|
|
3645
|
+
var mcpContinuumDaoUndelegateInputSchema = mcpContinuumDaoWriteInput("undelegate", {
|
|
3267
3646
|
votingEscrow: evmAddressSchema.optional()
|
|
3268
3647
|
});
|
|
3269
3648
|
var mcpContinuumDaoFetchDelegatesInputSchema = z.object({
|
|
@@ -3277,12 +3656,12 @@ var mcpContinuumDaoFetchDelegatesOutputSchema = z.object({
|
|
|
3277
3656
|
delegatee: evmAddressSchema,
|
|
3278
3657
|
self: z.boolean()
|
|
3279
3658
|
});
|
|
3280
|
-
var mcpContinuumDaoTransferInputSchema =
|
|
3659
|
+
var mcpContinuumDaoTransferInputSchema = mcpContinuumDaoWriteInput("transfer", {
|
|
3281
3660
|
tokenId: z.union([z.string(), z.number()]),
|
|
3282
3661
|
to: evmAddressSchema,
|
|
3283
3662
|
votingEscrow: evmAddressSchema.optional()
|
|
3284
3663
|
});
|
|
3285
|
-
var mcpContinuumDaoAttachInputSchema =
|
|
3664
|
+
var mcpContinuumDaoAttachInputSchema = mcpContinuumDaoWriteInput("attach", {
|
|
3286
3665
|
nodeKey: z.string().min(1),
|
|
3287
3666
|
tokenId: z.union([z.string(), z.number()]),
|
|
3288
3667
|
mpaWallet: evmAddressSchema,
|
|
@@ -3294,7 +3673,7 @@ var mcpContinuumDaoAttachInputSchema = mcpMultisignInput({
|
|
|
3294
3673
|
dIDType: z.string().optional(),
|
|
3295
3674
|
dID: z.string().optional()
|
|
3296
3675
|
});
|
|
3297
|
-
var mcpContinuumDaoRequestDetachInputSchema =
|
|
3676
|
+
var mcpContinuumDaoRequestDetachInputSchema = mcpContinuumDaoWriteInput("requestDetach", {
|
|
3298
3677
|
tokenId: z.union([z.string(), z.number()]),
|
|
3299
3678
|
nodeProperties: evmAddressSchema
|
|
3300
3679
|
});
|
|
@@ -3318,7 +3697,7 @@ var forumTopicKeyField = z.string().min(1).describe(
|
|
|
3318
3697
|
"URL of the Governance forum thread created first with ctm_continuum_dao_forum_create_topic (decision / election / treasury / constitution / admin). Must be /topic/:tid or /t/:tid. Ideas threads and the homepage are refused."
|
|
3319
3698
|
);
|
|
3320
3699
|
var proposalTypeField = z.number().int().min(0).max(4).describe("0 Admin, 1 Constitution, 2 Decision, 3 Election, 4 Treasury. Must match the forum thread section.");
|
|
3321
|
-
var mcpContinuumDaoProposeBravoInputSchema =
|
|
3700
|
+
var mcpContinuumDaoProposeBravoInputSchema = mcpContinuumDaoWriteInput("proposeBravo", {
|
|
3322
3701
|
title: z.string().min(1).max(128),
|
|
3323
3702
|
description: z.string().describe("Catalog description stored by POST /proposals/create."),
|
|
3324
3703
|
type: proposalTypeField,
|
|
@@ -3328,7 +3707,7 @@ var mcpContinuumDaoProposeBravoInputSchema = mcpMultisignInput({
|
|
|
3328
3707
|
forumKey: forumTopicKeyField,
|
|
3329
3708
|
forumUrl: z.string().optional()
|
|
3330
3709
|
});
|
|
3331
|
-
var mcpContinuumDaoProposeDeltaInputSchema =
|
|
3710
|
+
var mcpContinuumDaoProposeDeltaInputSchema = mcpContinuumDaoWriteInput("proposeDelta", {
|
|
3332
3711
|
title: z.string().min(1).max(128),
|
|
3333
3712
|
description: z.string().describe("Catalog description stored by POST /proposals/create."),
|
|
3334
3713
|
type: proposalTypeField,
|
|
@@ -3538,20 +3917,23 @@ var mcpContinuumDaoSimulateProposalOutputSchema = z.object({
|
|
|
3538
3917
|
}),
|
|
3539
3918
|
note: z.string()
|
|
3540
3919
|
});
|
|
3541
|
-
var mcpContinuumDaoCastVoteBravoInputSchema =
|
|
3920
|
+
var mcpContinuumDaoCastVoteBravoInputSchema = mcpContinuumDaoWriteInput("castVoteBravo", {
|
|
3542
3921
|
proposalId: z.union([z.string(), z.number()]),
|
|
3543
3922
|
support: z.union([z.literal(0), z.literal(1), z.literal(2), z.string()]),
|
|
3544
3923
|
governor: evmAddressSchema.optional()
|
|
3545
3924
|
});
|
|
3546
|
-
var mcpContinuumDaoCastVoteDeltaInputSchema =
|
|
3925
|
+
var mcpContinuumDaoCastVoteDeltaInputSchema = mcpContinuumDaoWriteInput("castVoteDelta", {
|
|
3547
3926
|
proposalId: z.union([z.string(), z.number()]),
|
|
3548
3927
|
weights: z.array(z.union([z.string(), z.number()])),
|
|
3549
3928
|
governor: evmAddressSchema.optional()
|
|
3550
3929
|
});
|
|
3551
|
-
var
|
|
3930
|
+
var continuumDaoProposalIdFields = {
|
|
3552
3931
|
proposalId: z.union([z.string(), z.number()]),
|
|
3553
3932
|
governor: evmAddressSchema.optional()
|
|
3554
|
-
}
|
|
3933
|
+
};
|
|
3934
|
+
var mcpContinuumDaoExecuteInputSchema = mcpContinuumDaoWriteInput("execute", continuumDaoProposalIdFields);
|
|
3935
|
+
var mcpContinuumDaoCancelInputSchema = mcpContinuumDaoWriteInput("cancel", continuumDaoProposalIdFields);
|
|
3936
|
+
var mcpContinuumDaoProposalIdInputSchema = mcpContinuumDaoExecuteInputSchema;
|
|
3555
3937
|
var mcpContinuumDaoFetchVotingPowerInputSchema = z.object({
|
|
3556
3938
|
chainId: z.union([z.string(), z.number()]),
|
|
3557
3939
|
rpcUrl: z.string().min(1),
|
|
@@ -4043,7 +4425,7 @@ var mcpContinuumDaoForumSignInEligibleOutputSchema = z.object({
|
|
|
4043
4425
|
threshold: z.string().optional().describe("MultiSignAgentWallet.veCtmThresholdPower wei"),
|
|
4044
4426
|
tokenId: z.string().optional()
|
|
4045
4427
|
});
|
|
4046
|
-
var mcpContinuumDaoForumSignInInputSchema =
|
|
4428
|
+
var mcpContinuumDaoForumSignInInputSchema = mcpContinuumDaoWriteInput("forumSignIn", {
|
|
4047
4429
|
nodeKey: z.string().optional().describe(
|
|
4048
4430
|
"Node key bound to this KeyGen. Always required on KeyGen forum sign-in, including when username is a custom name. The server fills it from this node when omitted. useNodeKeyUsername does not replace it."
|
|
4049
4431
|
),
|
|
@@ -4082,11 +4464,18 @@ var mcpMapleFetchMarketInputSchema = z.object({
|
|
|
4082
4464
|
underlying: z.string().trim().min(1).optional().describe("Deposit asset address or ticker (USDC, USDT, USDG).")
|
|
4083
4465
|
});
|
|
4084
4466
|
var mcpMapleFetchMarketOutputSchema = mcpMapleFetchMarketsOutputSchema;
|
|
4085
|
-
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
|
+
);
|
|
4086
4475
|
var mcpAaveV4MarketSummarySchema = z.object({
|
|
4087
4476
|
chainId: z.number(),
|
|
4088
4477
|
hubName: z.string(),
|
|
4089
|
-
marketId:
|
|
4478
|
+
marketId: aaveV4UiMarketIdEnum,
|
|
4090
4479
|
hubAddress: z.string(),
|
|
4091
4480
|
symbol: z.string(),
|
|
4092
4481
|
name: z.string(),
|
|
@@ -4106,7 +4495,9 @@ var mcpAaveV4MarketSummarySchema = z.object({
|
|
|
4106
4495
|
var mcpAaveV4FetchMarketsInputSchema = z.object({
|
|
4107
4496
|
chainId: agentEvmChainIdSchema,
|
|
4108
4497
|
marketId: mcpAaveV4UiMarketIdSchema,
|
|
4109
|
-
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
|
+
)
|
|
4110
4501
|
});
|
|
4111
4502
|
var mcpAaveV4FetchMarketsOutputSchema = z.object({
|
|
4112
4503
|
chainId: z.number(),
|
|
@@ -4115,14 +4506,21 @@ var mcpAaveV4FetchMarketsOutputSchema = z.object({
|
|
|
4115
4506
|
});
|
|
4116
4507
|
var mcpAaveV4FetchMarketInputSchema = z.object({
|
|
4117
4508
|
chainId: agentEvmChainIdSchema,
|
|
4118
|
-
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
|
+
),
|
|
4119
4512
|
marketId: mcpAaveV4UiMarketIdSchema
|
|
4120
4513
|
});
|
|
4121
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;
|
|
4122
4520
|
var mcpEulerV2FetchLendVaultsInputSchema = z.object({
|
|
4123
4521
|
chainId: agentEvmChainIdSchema,
|
|
4124
4522
|
underlyingAddress: evmAddressSchema.describe(
|
|
4125
|
-
"Underlying asset address from
|
|
4523
|
+
"Underlying asset address, or a Coinbase stock ticker (AAPLc) from the live catalog."
|
|
4126
4524
|
),
|
|
4127
4525
|
limit: agentCoercedOptionalIntSchema(z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
|
|
4128
4526
|
});
|
|
@@ -4144,7 +4542,7 @@ var mcpEulerV2FetchLendVaultsOutputSchema = z.object({
|
|
|
4144
4542
|
var mcpEulerV2FetchEarnVaultsInputSchema = z.object({
|
|
4145
4543
|
chainId: agentEvmChainIdSchema,
|
|
4146
4544
|
underlyingAddress: evmAddressSchema.describe(
|
|
4147
|
-
"Underlying asset address from
|
|
4545
|
+
"Underlying asset address, or a Coinbase stock ticker (AAPLc) from the live catalog."
|
|
4148
4546
|
),
|
|
4149
4547
|
limit: agentCoercedOptionalIntSchema(z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
|
|
4150
4548
|
});
|
|
@@ -4239,7 +4637,7 @@ var mcpPendleFetchMerkleRewardsOutputSchema = jsonObjectSchema.describe(
|
|
|
4239
4637
|
var mcpPendleQuoteSwapInputSchema = z.object({
|
|
4240
4638
|
chainId: agentEvmChainIdSchema,
|
|
4241
4639
|
rpcUrl: z.string().min(1).optional(),
|
|
4242
|
-
tokenIn: z.string().min(1).describe("Underlying, PT, or
|
|
4640
|
+
tokenIn: z.string().min(1).describe("Underlying, PT, YT, or Coinbase stock ticker (AAPLc). 0xeeee / 0x0 = native."),
|
|
4243
4641
|
tokenOut: z.string().min(1),
|
|
4244
4642
|
amountHuman: z.string().min(1),
|
|
4245
4643
|
slippagePercent: z.number().gt(0).lt(100),
|
|
@@ -5875,14 +6273,26 @@ var mcpDeriveTransferSpotInputSchema = mcpDeriveMultisignInput({
|
|
|
5875
6273
|
});
|
|
5876
6274
|
var mcpCctpFeeFieldsSchema = z.object({
|
|
5877
6275
|
feeTierUsed: z.enum(["low", "med", "high"]),
|
|
5878
|
-
maxFee: z.string().describe(
|
|
5879
|
-
|
|
5880
|
-
|
|
6276
|
+
maxFee: z.string().describe(
|
|
6277
|
+
"depositForBurnWithHook maxFee in USDC base units: selected forwardFee tier plus the fast-transfer protocol fee when transferAmountHuman is set"
|
|
6278
|
+
),
|
|
6279
|
+
maxFeeHuman: z.string().describe("Human-readable maxFee (forwarding fee + protocol fee)"),
|
|
6280
|
+
forwardFeeLow: z.string().describe("Iris forwarding fee only, low tier, USDC base units"),
|
|
5881
6281
|
forwardFeeLowHuman: z.string(),
|
|
5882
|
-
forwardFeeMed: z.string(),
|
|
6282
|
+
forwardFeeMed: z.string().describe("Iris forwarding fee only, med tier, USDC base units"),
|
|
5883
6283
|
forwardFeeMedHuman: z.string(),
|
|
5884
|
-
forwardFeeHigh: z.string(),
|
|
6284
|
+
forwardFeeHigh: z.string().describe("Iris forwarding fee only, high tier, USDC base units"),
|
|
5885
6285
|
forwardFeeHighHuman: z.string(),
|
|
6286
|
+
maxFeeLow: z.string().optional().describe("forwardFee low + protocol fee"),
|
|
6287
|
+
maxFeeLowHuman: z.string().optional(),
|
|
6288
|
+
maxFeeMed: z.string().optional().describe("forwardFee med + protocol fee"),
|
|
6289
|
+
maxFeeMedHuman: z.string().optional(),
|
|
6290
|
+
maxFeeHigh: z.string().optional().describe("forwardFee high + protocol fee"),
|
|
6291
|
+
maxFeeHighHuman: z.string().optional(),
|
|
6292
|
+
minimumFeeBps: z.number().optional().describe("Iris protocol fee rate in basis points for the selected finality row"),
|
|
6293
|
+
protocolFee: z.string().optional().describe("Protocol fee in USDC base units for transferAmountHuman"),
|
|
6294
|
+
protocolFeeHuman: z.string().optional(),
|
|
6295
|
+
finalityThreshold: z.number().int().optional().describe("Iris fee row used. 1000 = fast transfer"),
|
|
5886
6296
|
transferAmount: z.string().optional(),
|
|
5887
6297
|
transferAmountHuman: z.string().optional(),
|
|
5888
6298
|
totalBurn: z.string().optional().describe("transferAmount + maxFee when transferAmountHuman was provided"),
|
|
@@ -5898,8 +6308,13 @@ var mcpCctpFetchSupportedRoutesOutputSchema = jsonObjectSchema.describe(
|
|
|
5898
6308
|
var mcpCctpFetchBurnFeesInputSchema = z.object({
|
|
5899
6309
|
sourceChainId: agentEvmChainIdSchema.describe("Source chain EIP-155 id (burn chain)"),
|
|
5900
6310
|
destChainId: agentEvmChainIdSchema.describe("Destination chain EIP-155 id (mint chain)"),
|
|
5901
|
-
transferAmountHuman: z.string().min(1).optional().describe(
|
|
5902
|
-
|
|
6311
|
+
transferAmountHuman: z.string().min(1).optional().describe(
|
|
6312
|
+
"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."
|
|
6313
|
+
),
|
|
6314
|
+
feeTier: z.enum(["low", "med", "high"]).optional().describe("Iris forwardFee tier; default med"),
|
|
6315
|
+
minFinalityThreshold: agentCoercedOptionalIntSchema(z.number().int().positive()).describe(
|
|
6316
|
+
"Iris fee row. 1000 (default) is fast transfer and includes minimumFee bps. 2000 is standard transfer."
|
|
6317
|
+
)
|
|
5903
6318
|
});
|
|
5904
6319
|
var mcpCctpFetchBurnFeesOutputSchema = z.object({
|
|
5905
6320
|
sourceChainId: z.number(),
|
|
@@ -5935,7 +6350,9 @@ var mcpCctpBuildBurnMultisignInputSchema = mcpMultisignInput({
|
|
|
5935
6350
|
mintRecipient: evmAddressSchema.optional().describe("Recipient on destination chain; defaults to MPC executor address"),
|
|
5936
6351
|
feeTier: z.enum(["low", "med", "high"]).optional(),
|
|
5937
6352
|
minFinalityThreshold: agentCoercedOptionalIntSchema(z.number().int().positive()),
|
|
5938
|
-
feeSnapshot: jsonObjectSchema.optional().describe(
|
|
6353
|
+
feeSnapshot: jsonObjectSchema.optional().describe(
|
|
6354
|
+
"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."
|
|
6355
|
+
)
|
|
5939
6356
|
});
|
|
5940
6357
|
var outcomeIdSchema = z.number().int().nonnegative();
|
|
5941
6358
|
var sideSchema = z.enum(["yes", "no"]);
|
|
@@ -6355,7 +6772,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
6355
6772
|
actionId: "aave-v4.deposit",
|
|
6356
6773
|
protocolId: "aave-v4",
|
|
6357
6774
|
chainCategory: "evm",
|
|
6358
|
-
description: "Build Aave v4 Spoke supply/deposit batch (wrap native, approve, supply).",
|
|
6775
|
+
description: "Build Aave v4 Spoke supply/deposit batch (wrap native, approve, supply). Base bStocks: marketId bstocks and underlying ticker (AAPLc) or address.",
|
|
6359
6776
|
prerequisites: ["keyGenId", "chainId", "underlying", "amountHuman", "get_defi_protocol_skill for hubs/spokes"],
|
|
6360
6777
|
handler: { importPath: "protocols/evm/aave-v4", exportName: "buildEvmMultisignBodyAaveV4DepositBatch" },
|
|
6361
6778
|
inputZod: mcpAaveV4DepositInputSchema
|
|
@@ -6375,7 +6792,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
6375
6792
|
actionId: "aave-v4.borrow",
|
|
6376
6793
|
protocolId: "aave-v4",
|
|
6377
6794
|
chainCategory: "evm",
|
|
6378
|
-
description: "Build Aave v4 Spoke borrow; underlying is debt asset
|
|
6795
|
+
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).",
|
|
6379
6796
|
prerequisites: [
|
|
6380
6797
|
"keyGenId",
|
|
6381
6798
|
"chainId",
|
|
@@ -6981,7 +7398,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
6981
7398
|
actionId: "circle-cctp.burn-forward",
|
|
6982
7399
|
protocolId: "circle-cctp",
|
|
6983
7400
|
chainCategory: "evm",
|
|
6984
|
-
description: "Create and submit mpc-auth multiSignRequest for CCTP Forwarding Service USDC transfer (approve + depositForBurnWithHook on source chain).",
|
|
7401
|
+
description: "Create and submit mpc-auth multiSignRequest for CCTP Forwarding Service USDC transfer (approve + depositForBurnWithHook on source chain). Re-quotes Iris and sets maxFee to the forwarding tier plus the fast-transfer protocol fee. A feeSnapshot cannot set a lower maxFee.",
|
|
6985
7402
|
prerequisites: [
|
|
6986
7403
|
"ctm_cctp_fetch_burn_fees (required)",
|
|
6987
7404
|
"keyGenId",
|
|
@@ -7060,7 +7477,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
7060
7477
|
description: "Build VotingEscrow.withdraw for an expired, unattached lock. Refuses if still locked or node-attached.",
|
|
7061
7478
|
prerequisites: ["keyGen", "tokenId", "lock expired", "unattached"],
|
|
7062
7479
|
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoWithdraw" },
|
|
7063
|
-
inputZod:
|
|
7480
|
+
inputZod: mcpContinuumDaoWithdrawInputSchema
|
|
7064
7481
|
}),
|
|
7065
7482
|
defineProtocolMcpTool({
|
|
7066
7483
|
name: "ctm_continuum_dao_build_liquidate_multisign",
|
|
@@ -7070,7 +7487,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
7070
7487
|
description: "Build VotingEscrow.liquidate. Refuses if attached, liquidations disabled, locked amount <= 100 gwei, or penalty would be zero. Expired locks withdraw instead on-chain.",
|
|
7071
7488
|
prerequisites: ["keyGen", "tokenId", "liquidationsEnabled", "unattached"],
|
|
7072
7489
|
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoLiquidate" },
|
|
7073
|
-
inputZod:
|
|
7490
|
+
inputZod: mcpContinuumDaoLiquidateInputSchema
|
|
7074
7491
|
}),
|
|
7075
7492
|
defineProtocolMcpTool({
|
|
7076
7493
|
name: "ctm_continuum_dao_build_delegate_multisign",
|
|
@@ -7188,7 +7605,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
7188
7605
|
description: "Build ContinuumDAO.execute(proposalId). proposalId may be a catalog id (including 0) or the governor hash. Call after Succeeded. Queue is not implemented.",
|
|
7189
7606
|
prerequisites: ["keyGen", "proposalId", "Succeeded state"],
|
|
7190
7607
|
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoExecute" },
|
|
7191
|
-
inputZod:
|
|
7608
|
+
inputZod: mcpContinuumDaoExecuteInputSchema
|
|
7192
7609
|
}),
|
|
7193
7610
|
defineProtocolMcpTool({
|
|
7194
7611
|
name: "ctm_continuum_dao_build_cancel_multisign",
|
|
@@ -7198,7 +7615,7 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
7198
7615
|
description: "Build ContinuumDAO.cancel(proposalId). Proposer while Pending, or the proposal guardian.",
|
|
7199
7616
|
prerequisites: ["keyGen", "proposalId"],
|
|
7200
7617
|
handler: { importPath: "protocols/evm/continuum-dao", exportName: "buildEvmMultisignBodyContinuumDaoCancel" },
|
|
7201
|
-
inputZod:
|
|
7618
|
+
inputZod: mcpContinuumDaoCancelInputSchema
|
|
7202
7619
|
}),
|
|
7203
7620
|
defineProtocolMcpTool({
|
|
7204
7621
|
name: "ctm_continuum_dao_build_forum_sign_in_multisign",
|
|
@@ -7538,7 +7955,7 @@ var mcpContinuumDaoMarketplaceSearchInputSchema = z.object({
|
|
|
7538
7955
|
sort: z.enum(["pricePerLockedCtm", "price", "locked", "unlock", "deadline"]).optional().describe("Default pricePerLockedCtm, cheapest first. locked defaults to most CTM. unlock and deadline default to soonest."),
|
|
7539
7956
|
sortDirection: z.enum(["asc", "desc"]).optional(),
|
|
7540
7957
|
limit: z.number().int().min(1).max(25).optional().describe("Ranked rows to return, default 10"),
|
|
7541
|
-
executor: evmAddressSchema.optional().describe("KeyGen address.
|
|
7958
|
+
executor: evmAddressSchema.optional().describe("KeyGen address. Listings this address sells are returned with action delist and fillable false."),
|
|
7542
7959
|
excludeOwned: z.boolean().optional()
|
|
7543
7960
|
});
|
|
7544
7961
|
var mcpContinuumDaoMarketplaceFeeAlternativeInputSchema = z.object({
|
|
@@ -7615,46 +8032,46 @@ var mcpContinuumDaoMarketplaceActivityOutputSchema = z.object({
|
|
|
7615
8032
|
var mcpContinuumDaoMarketplaceFeeOutputSchema = z.object({ source }).passthrough();
|
|
7616
8033
|
var wei = z.union([z.string(), z.number()]);
|
|
7617
8034
|
var deadline = z.union([z.string(), z.number()]).describe("Unix seconds");
|
|
7618
|
-
var mcpContinuumDaoMarketplaceCreateListingInputSchema =
|
|
8035
|
+
var mcpContinuumDaoMarketplaceCreateListingInputSchema = mcpContinuumDaoWriteInput("marketplaceCreateListing", {
|
|
7619
8036
|
tokenId: wei,
|
|
7620
8037
|
paymentToken: evmAddressSchema,
|
|
7621
8038
|
askWei: wei,
|
|
7622
8039
|
deadline
|
|
7623
8040
|
});
|
|
7624
|
-
var mcpContinuumDaoMarketplaceDelistInputSchema =
|
|
7625
|
-
var mcpContinuumDaoMarketplaceFulfillListingInputSchema =
|
|
8041
|
+
var mcpContinuumDaoMarketplaceDelistInputSchema = mcpContinuumDaoWriteInput("marketplaceDelist", { tokenId: wei });
|
|
8042
|
+
var mcpContinuumDaoMarketplaceFulfillListingInputSchema = mcpContinuumDaoWriteInput("marketplaceFulfillListing", {
|
|
7626
8043
|
tokenId: wei,
|
|
7627
8044
|
seller: evmAddressSchema,
|
|
7628
8045
|
paymentToken: evmAddressSchema,
|
|
7629
8046
|
priceWei: wei
|
|
7630
8047
|
});
|
|
7631
|
-
var mcpContinuumDaoMarketplaceCreateOfferingInputSchema =
|
|
8048
|
+
var mcpContinuumDaoMarketplaceCreateOfferingInputSchema = mcpContinuumDaoWriteInput("marketplaceCreateOffering", {
|
|
7632
8049
|
tokenId: wei,
|
|
7633
8050
|
paymentToken: evmAddressSchema,
|
|
7634
8051
|
bidWei: wei,
|
|
7635
8052
|
deadline
|
|
7636
8053
|
});
|
|
7637
|
-
var mcpContinuumDaoMarketplaceRescindInputSchema =
|
|
7638
|
-
var mcpContinuumDaoMarketplaceFulfillOfferingInputSchema =
|
|
8054
|
+
var mcpContinuumDaoMarketplaceRescindInputSchema = mcpContinuumDaoWriteInput("marketplaceRescind", { tokenId: wei });
|
|
8055
|
+
var mcpContinuumDaoMarketplaceFulfillOfferingInputSchema = mcpContinuumDaoWriteInput("marketplaceFulfillOffering", {
|
|
7639
8056
|
tokenId: wei,
|
|
7640
8057
|
buyer: evmAddressSchema,
|
|
7641
8058
|
paymentToken: evmAddressSchema,
|
|
7642
8059
|
priceWei: wei
|
|
7643
8060
|
});
|
|
7644
|
-
var mcpContinuumDaoMarketplaceCreateAuctionInputSchema =
|
|
8061
|
+
var mcpContinuumDaoMarketplaceCreateAuctionInputSchema = mcpContinuumDaoWriteInput("marketplaceCreateAuction", {
|
|
7645
8062
|
tokenId: wei,
|
|
7646
8063
|
paymentToken: evmAddressSchema,
|
|
7647
8064
|
deadline,
|
|
7648
8065
|
reserveWei: wei,
|
|
7649
8066
|
minIncrementWei: wei
|
|
7650
8067
|
});
|
|
7651
|
-
var mcpContinuumDaoMarketplaceCancelAuctionInputSchema =
|
|
7652
|
-
var mcpContinuumDaoMarketplaceAuctionBidInputSchema =
|
|
8068
|
+
var mcpContinuumDaoMarketplaceCancelAuctionInputSchema = mcpContinuumDaoWriteInput("marketplaceCancelAuction", { tokenId: wei });
|
|
8069
|
+
var mcpContinuumDaoMarketplaceAuctionBidInputSchema = mcpContinuumDaoWriteInput("marketplaceAuctionBid", {
|
|
7653
8070
|
tokenId: wei,
|
|
7654
8071
|
seller: evmAddressSchema,
|
|
7655
8072
|
priceWei: wei
|
|
7656
8073
|
});
|
|
7657
|
-
var mcpContinuumDaoMarketplaceSettleAuctionInputSchema =
|
|
8074
|
+
var mcpContinuumDaoMarketplaceSettleAuctionInputSchema = mcpContinuumDaoWriteInput("marketplaceSettleAuction", {
|
|
7658
8075
|
tokenId: wei,
|
|
7659
8076
|
seller: evmAddressSchema
|
|
7660
8077
|
});
|
|
@@ -7724,9 +8141,13 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7724
8141
|
defineRead({
|
|
7725
8142
|
name: "ctm_continuum_dao_marketplace_search",
|
|
7726
8143
|
actionId: "continuum-dao-marketplace.search",
|
|
7727
|
-
description:
|
|
8144
|
+
description: 'Rank veCTMs for sale. Returns a short list already sorted by price per locked CTM, price, locked CTM, unlock, or deadline. Filters: min/max locked CTM, unlock window, maxUnlockMonths. Pass paymentToken to compare prices. Pass executor so this KeyGen\u2019s own listings come back with action "delist" and fillable false. Call the delist builder for those. Do not buy them. Use this to choose a buy. Do not fetch the raw listing page and then offer to sort it.',
|
|
7728
8145
|
prerequisites: ["chainId 59144", "rpcUrl when lock snapshots are missing"],
|
|
7729
|
-
followUp: [
|
|
8146
|
+
followUp: [
|
|
8147
|
+
"ctm_continuum_dao_marketplace_build_delist_multisign",
|
|
8148
|
+
"ctm_continuum_dao_marketplace_build_fulfill_listing_multisign",
|
|
8149
|
+
"ctm_continuum_dao_marketplace_build_auction_bid_multisign"
|
|
8150
|
+
],
|
|
7730
8151
|
inputZod: mcpContinuumDaoMarketplaceSearchInputSchema,
|
|
7731
8152
|
outputZod: mcpContinuumDaoMarketplaceSearchOutputSchema,
|
|
7732
8153
|
exportName: "searchContinuumDaoMarketplace"
|
|
@@ -7734,9 +8155,12 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7734
8155
|
defineRead({
|
|
7735
8156
|
name: "ctm_continuum_dao_marketplace_fetch_listings",
|
|
7736
8157
|
actionId: "continuum-dao-marketplace.fetch-listings",
|
|
7737
|
-
description:
|
|
8158
|
+
description: 'Unfiltered page of open veCTM listings, created order, up to 100, with nextCursor. includeInactive adds past sales. Pass viewer as the KeyGen. viewerAction "delist" means that KeyGen already sells the veCTM: build a delist, not a buy. To choose a buy by price, locked CTM, or unlock time, use search instead.',
|
|
7738
8159
|
prerequisites: ["chainId 59144"],
|
|
7739
|
-
followUp: [
|
|
8160
|
+
followUp: [
|
|
8161
|
+
"ctm_continuum_dao_marketplace_build_delist_multisign",
|
|
8162
|
+
"ctm_continuum_dao_marketplace_build_fulfill_listing_multisign"
|
|
8163
|
+
],
|
|
7740
8164
|
inputZod: mcpContinuumDaoMarketplaceFetchListingsInputSchema,
|
|
7741
8165
|
outputZod: mcpContinuumDaoMarketplaceListOutputSchema,
|
|
7742
8166
|
exportName: "fetchContinuumDaoMarketplaceListings"
|
|
@@ -7754,7 +8178,7 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7754
8178
|
defineRead({
|
|
7755
8179
|
name: "ctm_continuum_dao_marketplace_fetch_auctions",
|
|
7756
8180
|
actionId: "continuum-dao-marketplace.fetch-auctions",
|
|
7757
|
-
description: "Live veCTM auctions
|
|
8181
|
+
description: "Live veCTM auctions. derivedStatus is Active while the auction is open, including before any bid meets the reserve. storedStatus stays Pending until a qualifying bid, then Active. Complete still needs settle. includeInactive adds sold, canceled, and expired. Each auction includes bids.",
|
|
7758
8182
|
prerequisites: ["chainId 59144"],
|
|
7759
8183
|
followUp: ["ctm_continuum_dao_marketplace_build_auction_bid_multisign", "ctm_continuum_dao_marketplace_build_settle_auction_multisign"],
|
|
7760
8184
|
inputZod: mcpContinuumDaoMarketplaceFetchAuctionsInputSchema,
|
|
@@ -7794,15 +8218,15 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7794
8218
|
defineWrite({
|
|
7795
8219
|
name: "ctm_continuum_dao_marketplace_build_create_listing_multisign",
|
|
7796
8220
|
actionId: "continuum-dao-marketplace.create-listing",
|
|
7797
|
-
description: "List a veCTM. Approves the marketplace for the token id when needed. Linea only.",
|
|
7798
|
-
prerequisites: ["keyGen", "tokenId owned by the KeyGen", "askWei", "deadline"],
|
|
8221
|
+
description: "List a veCTM. Approves the marketplace for the token id when needed. Refuses an attached KeyGen. Linea only.",
|
|
8222
|
+
prerequisites: ["keyGen", "tokenId owned by the KeyGen", "unattached", "askWei", "deadline"],
|
|
7799
8223
|
inputZod: mcpContinuumDaoMarketplaceCreateListingInputSchema,
|
|
7800
8224
|
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCreateListing"
|
|
7801
8225
|
}),
|
|
7802
8226
|
defineWrite({
|
|
7803
8227
|
name: "ctm_continuum_dao_marketplace_build_delist_multisign",
|
|
7804
8228
|
actionId: "continuum-dao-marketplace.delist",
|
|
7805
|
-
description: "Delist this KeyGen\u2019s open veCTM listing.",
|
|
8229
|
+
description: "Delist this KeyGen\u2019s open veCTM listing. Use this when the KeyGen is the seller. Do not buy that listing.",
|
|
7806
8230
|
prerequisites: ["keyGen", "tokenId"],
|
|
7807
8231
|
inputZod: mcpContinuumDaoMarketplaceDelistInputSchema,
|
|
7808
8232
|
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceDelist"
|
|
@@ -7810,7 +8234,7 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7810
8234
|
defineWrite({
|
|
7811
8235
|
name: "ctm_continuum_dao_marketplace_build_fulfill_listing_multisign",
|
|
7812
8236
|
actionId: "continuum-dao-marketplace.fulfill-listing",
|
|
7813
|
-
description: "Buy a listed veCTM. Refuses when this KeyGen already owns it or is the seller. WETH sends msg.value.",
|
|
8237
|
+
description: "Buy a listed veCTM. Refuses when this KeyGen already owns it or is the seller, and tells you to delist instead. WETH sends msg.value.",
|
|
7814
8238
|
prerequisites: ["keyGen", "tokenId", "seller", "priceWei"],
|
|
7815
8239
|
inputZod: mcpContinuumDaoMarketplaceFulfillListingInputSchema,
|
|
7816
8240
|
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceFulfillListing"
|
|
@@ -7818,8 +8242,8 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7818
8242
|
defineWrite({
|
|
7819
8243
|
name: "ctm_continuum_dao_marketplace_build_create_offering_multisign",
|
|
7820
8244
|
actionId: "continuum-dao-marketplace.create-offering",
|
|
7821
|
-
description: "Offer on a veCTM this KeyGen does not own. WETH sends msg.value and still approves WETH for later fulfillment.",
|
|
7822
|
-
prerequisites: ["keyGen", "tokenId", "bidWei", "deadline"],
|
|
8245
|
+
description: "Offer on a veCTM this KeyGen does not own. Refuses an attached KeyGen. WETH sends msg.value and still approves WETH for later fulfillment.",
|
|
8246
|
+
prerequisites: ["keyGen", "tokenId", "unattached", "bidWei", "deadline"],
|
|
7823
8247
|
inputZod: mcpContinuumDaoMarketplaceCreateOfferingInputSchema,
|
|
7824
8248
|
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCreateOffering"
|
|
7825
8249
|
}),
|
|
@@ -7843,7 +8267,7 @@ var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
|
7843
8267
|
name: "ctm_continuum_dao_marketplace_build_create_auction_multisign",
|
|
7844
8268
|
actionId: "continuum-dao-marketplace.create-auction",
|
|
7845
8269
|
description: "Start an auction and escrow the veCTM. Refuses an attached KeyGen.",
|
|
7846
|
-
prerequisites: ["keyGen", "tokenId", "reserveWei", "minIncrementWei", "deadline"],
|
|
8270
|
+
prerequisites: ["keyGen", "tokenId", "unattached", "reserveWei", "minIncrementWei", "deadline"],
|
|
7847
8271
|
inputZod: mcpContinuumDaoMarketplaceCreateAuctionInputSchema,
|
|
7848
8272
|
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCreateAuction"
|
|
7849
8273
|
}),
|
|
@@ -9168,7 +9592,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
9168
9592
|
actionId: "circle-cctp.fetch-fees",
|
|
9169
9593
|
protocolId: "circle-cctp",
|
|
9170
9594
|
chainCategory: "evm",
|
|
9171
|
-
description: "Quote Circle Iris
|
|
9595
|
+
description: "Quote Circle Iris CCTP fees (?forward=true). maxFee = forwardFee[tier] + protocol fee (minimumFee bps of transferAmountHuman). Pass transferAmountHuman before building a burn. forwardFee* fields are the forwarding component only. Does NOT create a sign request.",
|
|
9172
9596
|
prerequisites: ["supported route (ctm_cctp_fetch_supported_routes)"],
|
|
9173
9597
|
followUp: ["ctm_cctp_fetch_usdc_balance", "ctm_cctp_build_burn_multisign"],
|
|
9174
9598
|
handler: { importPath: "protocols/evm/circle-cctp", exportName: "cctpFetchBurnFeesForRoute" },
|
|
@@ -9802,10 +10226,11 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
9802
10226
|
actionId: "aave-v4.fetch-markets",
|
|
9803
10227
|
protocolId: "aave-v4",
|
|
9804
10228
|
chainCategory: "evm",
|
|
9805
|
-
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.",
|
|
10229
|
+
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.",
|
|
9806
10230
|
prerequisites: ["chainId", "get_defi_protocol_supported_chains"],
|
|
9807
10231
|
followUp: [
|
|
9808
10232
|
"ctm_aave_v4_fetch_market",
|
|
10233
|
+
"ctm_aave_v4_fetch_stock_markets",
|
|
9809
10234
|
"ctm_aave_v4_build_deposit_multisign",
|
|
9810
10235
|
"ctm_aave_v4_build_borrow_multisign"
|
|
9811
10236
|
],
|
|
@@ -9818,7 +10243,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
9818
10243
|
actionId: "aave-v4.fetch-market",
|
|
9819
10244
|
protocolId: "aave-v4",
|
|
9820
10245
|
chainCategory: "evm",
|
|
9821
|
-
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.",
|
|
10246
|
+
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.",
|
|
9822
10247
|
prerequisites: ["chainId", "underlying from ctm_aave_v4_fetch_markets or get_defi_protocol_supported_tokens"],
|
|
9823
10248
|
followUp: [
|
|
9824
10249
|
"ctm_aave_v4_build_deposit_multisign",
|
|
@@ -9830,6 +10255,23 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
9830
10255
|
inputZod: mcpAaveV4FetchMarketInputSchema,
|
|
9831
10256
|
outputZod: mcpAaveV4FetchMarketOutputSchema
|
|
9832
10257
|
}),
|
|
10258
|
+
defineMcpTool({
|
|
10259
|
+
name: "ctm_aave_v4_fetch_stock_markets",
|
|
10260
|
+
actionId: "aave-v4.fetch-stock-markets",
|
|
10261
|
+
protocolId: "aave-v4",
|
|
10262
|
+
chainCategory: "evm",
|
|
10263
|
+
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.",
|
|
10264
|
+
prerequisites: ["chainId 8453 or omit"],
|
|
10265
|
+
followUp: [
|
|
10266
|
+
"ctm_aave_v4_build_deposit_multisign",
|
|
10267
|
+
"ctm_aave_v4_build_borrow_multisign",
|
|
10268
|
+
"ctm_aave_v4_build_repay_multisign",
|
|
10269
|
+
"ctm_aave_v4_build_withdraw_multisign"
|
|
10270
|
+
],
|
|
10271
|
+
handler: { importPath: "protocols/evm/aave-v4", exportName: "aaveV4FetchStockMarketsSummary" },
|
|
10272
|
+
inputZod: mcpAaveV4FetchStockMarketsInputSchema,
|
|
10273
|
+
outputZod: mcpAaveV4FetchStockMarketsOutputSchema
|
|
10274
|
+
}),
|
|
9833
10275
|
defineMcpTool({
|
|
9834
10276
|
name: "ctm_aave_v4_fetch_merkl_rewards",
|
|
9835
10277
|
actionId: "aave-v4.fetch-merkl-rewards",
|
|
@@ -10823,83 +11265,6 @@ var skyProtocolModule = {
|
|
|
10823
11265
|
};
|
|
10824
11266
|
registerProtocolModule(skyProtocolModule);
|
|
10825
11267
|
|
|
10826
|
-
// src/protocols/evm/aave-v4/api.ts
|
|
10827
|
-
init_defiProxy();
|
|
10828
|
-
var AAVE_V4_GRAPHQL_URL = "https://api.v4.aave.com/graphql";
|
|
10829
|
-
async function aaveV4Gql(query, variables) {
|
|
10830
|
-
const body = { query, variables: variables ?? {} };
|
|
10831
|
-
const j = await postJsonViaOptionalProxy({
|
|
10832
|
-
directUrl: AAVE_V4_GRAPHQL_URL,
|
|
10833
|
-
body,
|
|
10834
|
-
proxyUrl: getAaveGraphqlProxyUrl(),
|
|
10835
|
-
proxyEnvelope: body
|
|
10836
|
-
});
|
|
10837
|
-
if (j.errors?.length) {
|
|
10838
|
-
const msg = j.errors.map((e) => e.message ?? "Unknown").join("; ");
|
|
10839
|
-
throw new Error(msg);
|
|
10840
|
-
}
|
|
10841
|
-
if (j.data == null) {
|
|
10842
|
-
throw new Error("Aave V4 API: empty response");
|
|
10843
|
-
}
|
|
10844
|
-
return j.data;
|
|
10845
|
-
}
|
|
10846
|
-
async function fetchAaveV4Chains() {
|
|
10847
|
-
const d = await aaveV4Gql(`
|
|
10848
|
-
query C($c: ChainsRequest!) { chains(request: $c) { chainId name nativeWrappedToken } }
|
|
10849
|
-
`, { c: { query: { filter: "ALL" } } });
|
|
10850
|
-
return d.chains ?? [];
|
|
10851
|
-
}
|
|
10852
|
-
async function loadAaveV4SupportedChainIdsFromV4Api() {
|
|
10853
|
-
const rows = await fetchAaveV4Chains();
|
|
10854
|
-
const s = /* @__PURE__ */ new Set();
|
|
10855
|
-
for (const c of rows) s.add(c.chainId);
|
|
10856
|
-
return s;
|
|
10857
|
-
}
|
|
10858
|
-
var RESERVES_ADDRESS_FRAGMENT = `
|
|
10859
|
-
asset { underlying { address } }
|
|
10860
|
-
`;
|
|
10861
|
-
async function fetchAaveV4NativeWrappedToken(chainId) {
|
|
10862
|
-
const all = await fetchAaveV4Chains();
|
|
10863
|
-
const c = all.find((x) => x.chainId === chainId);
|
|
10864
|
-
const t = (c?.nativeWrappedToken ?? "").trim();
|
|
10865
|
-
if (t && isAddress(t)) return getAddress(t);
|
|
10866
|
-
return null;
|
|
10867
|
-
}
|
|
10868
|
-
async function fetchAaveV4SupportedUnderlyingAddressSet(chainId) {
|
|
10869
|
-
const d = await aaveV4Gql(
|
|
10870
|
-
`
|
|
10871
|
-
query A($r: ReservesRequest!) { reserves(request: $r) { ${RESERVES_ADDRESS_FRAGMENT} } }
|
|
10872
|
-
`,
|
|
10873
|
-
{
|
|
10874
|
-
r: {
|
|
10875
|
-
query: { chainIds: [chainId] },
|
|
10876
|
-
filter: "ALL",
|
|
10877
|
-
orderBy: { supplyApy: "DESC" }
|
|
10878
|
-
}
|
|
10879
|
-
}
|
|
10880
|
-
);
|
|
10881
|
-
const s = /* @__PURE__ */ new Set();
|
|
10882
|
-
for (const r of d.reserves ?? []) {
|
|
10883
|
-
const a = (r.asset?.underlying?.address ?? "").trim();
|
|
10884
|
-
if (a && isAddress(a)) s.add(a.toLowerCase());
|
|
10885
|
-
}
|
|
10886
|
-
return s;
|
|
10887
|
-
}
|
|
10888
|
-
var aaveV4ChainTokenCache = /* @__PURE__ */ new Map();
|
|
10889
|
-
function ensureAaveV4ChainTokenCache(chainId) {
|
|
10890
|
-
const hit = aaveV4ChainTokenCache.get(chainId);
|
|
10891
|
-
if (hit) return hit;
|
|
10892
|
-
const p = (async () => {
|
|
10893
|
-
const [nativeWrapped, supportedUnderlying] = await Promise.all([
|
|
10894
|
-
fetchAaveV4NativeWrappedToken(chainId),
|
|
10895
|
-
fetchAaveV4SupportedUnderlyingAddressSet(chainId)
|
|
10896
|
-
]);
|
|
10897
|
-
return { supportedUnderlying, nativeWrapped };
|
|
10898
|
-
})();
|
|
10899
|
-
aaveV4ChainTokenCache.set(chainId, p);
|
|
10900
|
-
return p;
|
|
10901
|
-
}
|
|
10902
|
-
|
|
10903
11268
|
// src/protocols/evm/aave-v4/index.ts
|
|
10904
11269
|
var AAVE_V4_PROTOCOL_ID = "aave-v4";
|
|
10905
11270
|
var aaveV4ProtocolModule = {
|
|
@@ -11583,9 +11948,9 @@ registerProtocolModule(hyperliquidProtocolModule);
|
|
|
11583
11948
|
// src/protocols/evm/arcus/index.ts
|
|
11584
11949
|
init_support();
|
|
11585
11950
|
init_support();
|
|
11586
|
-
|
|
11951
|
+
init_constants2();
|
|
11587
11952
|
init_api();
|
|
11588
|
-
|
|
11953
|
+
init_constants2();
|
|
11589
11954
|
var arcusProtocolModule = {
|
|
11590
11955
|
id: ARCUS_PROTOCOL_ID,
|
|
11591
11956
|
chainCategory: "evm",
|
|
@@ -12107,7 +12472,7 @@ var circleCctpProtocolModule = {
|
|
|
12107
12472
|
id: "circle-cctp.fetch-fees",
|
|
12108
12473
|
protocolId: CIRCLE_CCTP_PROTOCOL_ID,
|
|
12109
12474
|
chainCategory: "evm",
|
|
12110
|
-
description: "Quote Iris
|
|
12475
|
+
description: "Quote Iris forwarding fee plus fast-transfer protocol fee for a route",
|
|
12111
12476
|
commonParams: [],
|
|
12112
12477
|
params: {
|
|
12113
12478
|
sourceChainId: { type: "number", required: true, description: "Source EIP-155 chain id" },
|
|
@@ -12339,10 +12704,10 @@ var aerodromeProtocolModule = {
|
|
|
12339
12704
|
registerProtocolModule(aerodromeProtocolModule);
|
|
12340
12705
|
|
|
12341
12706
|
// src/protocols/evm/continuum-dao/index.ts
|
|
12342
|
-
|
|
12707
|
+
init_constants();
|
|
12343
12708
|
|
|
12344
12709
|
// src/protocols/evm/continuum-dao/marketplaceModule.ts
|
|
12345
|
-
|
|
12710
|
+
init_constants();
|
|
12346
12711
|
var common = ["keyGen", "purposeText", "useCustomGas"];
|
|
12347
12712
|
var continuumDaoMarketplaceProtocolModule = {
|
|
12348
12713
|
id: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID,
|
|
@@ -12379,7 +12744,7 @@ var continuumDaoMarketplaceProtocolModule = {
|
|
|
12379
12744
|
};
|
|
12380
12745
|
|
|
12381
12746
|
// src/protocols/evm/continuum-dao/index.ts
|
|
12382
|
-
|
|
12747
|
+
init_constants();
|
|
12383
12748
|
init_committeeList();
|
|
12384
12749
|
init_proposalCatalog();
|
|
12385
12750
|
init_governance();
|
|
@@ -13190,16 +13555,16 @@ async function pendleCoreFetch(args) {
|
|
|
13190
13555
|
lastError = new PendleApiError(`Pendle API rate limited (429) on ${path}`, 429, path);
|
|
13191
13556
|
continue;
|
|
13192
13557
|
}
|
|
13193
|
-
const
|
|
13558
|
+
const text2 = await res.text();
|
|
13194
13559
|
if (!res.ok) {
|
|
13195
13560
|
throw new PendleApiError(
|
|
13196
|
-
`Pendle API ${res.status} ${path}: ${
|
|
13561
|
+
`Pendle API ${res.status} ${path}: ${text2.slice(0, 400)}`,
|
|
13197
13562
|
res.status,
|
|
13198
13563
|
path
|
|
13199
13564
|
);
|
|
13200
13565
|
}
|
|
13201
|
-
if (!
|
|
13202
|
-
return JSON.parse(
|
|
13566
|
+
if (!text2.trim()) return {};
|
|
13567
|
+
return JSON.parse(text2);
|
|
13203
13568
|
} catch (err) {
|
|
13204
13569
|
lastError = err;
|
|
13205
13570
|
if (err instanceof PendleApiError && err.status !== 429) throw err;
|
|
@@ -13589,15 +13954,15 @@ async function deriveRpcPost(args) {
|
|
|
13589
13954
|
cache: "no-store",
|
|
13590
13955
|
signal: AbortSignal.timeout(15e3)
|
|
13591
13956
|
});
|
|
13592
|
-
const
|
|
13593
|
-
if (!res.ok || !
|
|
13594
|
-
throw new Error(`Derive ${method} HTTP ${res.status}: ${
|
|
13957
|
+
const text2 = await res.text().catch(() => "");
|
|
13958
|
+
if (!res.ok || !text2.trim() || text2.trim() === "Not Found") {
|
|
13959
|
+
throw new Error(`Derive ${method} HTTP ${res.status}: ${text2.slice(0, 240) || "empty body"}`);
|
|
13595
13960
|
}
|
|
13596
13961
|
let json;
|
|
13597
13962
|
try {
|
|
13598
|
-
json = JSON.parse(
|
|
13963
|
+
json = JSON.parse(text2);
|
|
13599
13964
|
} catch {
|
|
13600
|
-
throw new Error(`Derive ${method} returned non-JSON: ${
|
|
13965
|
+
throw new Error(`Derive ${method} returned non-JSON: ${text2.slice(0, 160)}`);
|
|
13601
13966
|
}
|
|
13602
13967
|
const result = unwrapResult(json, method);
|
|
13603
13968
|
if (isEmptyDerivePublicResult(method, result)) {
|
|
@@ -13999,15 +14364,17 @@ function getProtocolDiscoverySummary(protocolId) {
|
|
|
13999
14364
|
}))
|
|
14000
14365
|
};
|
|
14001
14366
|
}
|
|
14367
|
+
init_coinbaseB20();
|
|
14002
14368
|
init_support();
|
|
14003
14369
|
init_support2();
|
|
14004
14370
|
init_addresses();
|
|
14005
14371
|
init_stockTokens();
|
|
14006
|
-
|
|
14372
|
+
init_constants();
|
|
14007
14373
|
function advisor(protocolId, tokenFilter, impl) {
|
|
14008
14374
|
return { protocolId, tokenFilter, ...impl };
|
|
14009
14375
|
}
|
|
14010
|
-
function aerodromeAdvisorPriorityTokens() {
|
|
14376
|
+
async function aerodromeAdvisorPriorityTokens() {
|
|
14377
|
+
const stocks = await ensureCoinbaseB20StockCatalog().catch(() => []);
|
|
14011
14378
|
return [
|
|
14012
14379
|
{
|
|
14013
14380
|
address: "0x0000000000000000000000000000000000000000",
|
|
@@ -14033,11 +14400,11 @@ function aerodromeAdvisorPriorityTokens() {
|
|
|
14033
14400
|
decimals: 18,
|
|
14034
14401
|
roles: ["swappable"]
|
|
14035
14402
|
},
|
|
14036
|
-
...
|
|
14403
|
+
...stocks.map((t) => ({
|
|
14037
14404
|
address: t.address,
|
|
14038
14405
|
symbol: t.symbol,
|
|
14039
14406
|
name: t.name,
|
|
14040
|
-
decimals: COINBASE_B20_STOCK_DECIMALS,
|
|
14407
|
+
decimals: t.decimals || COINBASE_B20_STOCK_DECIMALS,
|
|
14041
14408
|
roles: ["swappable", "listed", "coinbase_b20"]
|
|
14042
14409
|
}))
|
|
14043
14410
|
];
|
|
@@ -14050,10 +14417,18 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14050
14417
|
},
|
|
14051
14418
|
async supportedTokens(chainId) {
|
|
14052
14419
|
const cache = await ensureAaveV4ChainTokenCache(chainId);
|
|
14053
|
-
|
|
14054
|
-
|
|
14055
|
-
|
|
14056
|
-
|
|
14420
|
+
await ensureCoinbaseB20StockCatalog().catch(() => []);
|
|
14421
|
+
const tokens = [...cache.supportedUnderlying].map((address) => {
|
|
14422
|
+
const known = lookupCoinbaseB20StockToken(address);
|
|
14423
|
+
if (!known) return { address, roles: ["underlying"] };
|
|
14424
|
+
return {
|
|
14425
|
+
address,
|
|
14426
|
+
symbol: known.symbol,
|
|
14427
|
+
name: "name" in known ? known.name : void 0,
|
|
14428
|
+
decimals: COINBASE_B20_STOCK_DECIMALS,
|
|
14429
|
+
roles: ["underlying", "coinbase_b20", "collateral"]
|
|
14430
|
+
};
|
|
14431
|
+
});
|
|
14057
14432
|
if (cache.nativeWrapped) {
|
|
14058
14433
|
tokens.unshift({
|
|
14059
14434
|
address: cache.nativeWrapped,
|
|
@@ -14064,7 +14439,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14064
14439
|
return {
|
|
14065
14440
|
tokens,
|
|
14066
14441
|
nativeWrapped: cache.nativeWrapped ?? void 0,
|
|
14067
|
-
notes: "Native ETH deposits use wrapped native token address from Aave v4 API."
|
|
14442
|
+
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."
|
|
14068
14443
|
};
|
|
14069
14444
|
},
|
|
14070
14445
|
async isTokenSupported(chainId, address) {
|
|
@@ -14350,9 +14725,9 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
14350
14725
|
return { tokens: [], notes: "Aerodrome is Base-only (chainId 8453)." };
|
|
14351
14726
|
}
|
|
14352
14727
|
return {
|
|
14353
|
-
tokens: aerodromeAdvisorPriorityTokens(),
|
|
14728
|
+
tokens: await aerodromeAdvisorPriorityTokens(),
|
|
14354
14729
|
nativeWrapped: AERODROME_WETH_BASE,
|
|
14355
|
-
notes: "
|
|
14730
|
+
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."
|
|
14356
14731
|
};
|
|
14357
14732
|
}
|
|
14358
14733
|
}),
|
|
@@ -14627,6 +15002,6 @@ function getAgentCatalog() {
|
|
|
14627
15002
|
};
|
|
14628
15003
|
}
|
|
14629
15004
|
|
|
14630
|
-
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, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoComposeProposalActionInputSchema, mcpContinuumDaoComposeProposalActionOutputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, 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, 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, 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 };
|
|
15005
|
+
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, 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 };
|
|
14631
15006
|
//# sourceMappingURL=catalog.js.map
|
|
14632
15007
|
//# sourceMappingURL=catalog.js.map
|