@continuumdao/ctm-mpc-defi 0.2.49 → 0.2.51
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 +1344 -22
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +1528 -9
- package/dist/agent/catalog.js +1316 -23
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/continuum-dao/SKILL.md +2 -0
- package/dist/agent/skills/continuum-dao-marketplace/SKILL.md +58 -0
- package/dist/agent/skills/hyperliquidOutcome/SKILL.md +47 -0
- package/dist/agent/skills/trueo/SKILL.md +64 -0
- package/dist/core/index.cjs +3 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
- package/dist/protocols/evm/aerodrome/index.js.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.cjs +2274 -59
- package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/continuum-dao/index.d.ts +690 -2
- package/dist/protocols/evm/continuum-dao/index.js +2218 -61
- package/dist/protocols/evm/continuum-dao/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquidOutcome/index.cjs +1294 -0
- package/dist/protocols/evm/hyperliquidOutcome/index.cjs.map +1 -0
- package/dist/protocols/evm/hyperliquidOutcome/index.d.ts +465 -0
- package/dist/protocols/evm/hyperliquidOutcome/index.js +1247 -0
- package/dist/protocols/evm/hyperliquidOutcome/index.js.map +1 -0
- package/dist/protocols/evm/pendle/index.cjs +3 -1
- package/dist/protocols/evm/pendle/index.cjs.map +1 -1
- package/dist/protocols/evm/pendle/index.js +3 -1
- package/dist/protocols/evm/pendle/index.js.map +1 -1
- package/dist/protocols/evm/trueo/index.cjs +2868 -0
- package/dist/protocols/evm/trueo/index.cjs.map +1 -0
- package/dist/protocols/evm/trueo/index.d.ts +1295 -0
- package/dist/protocols/evm/trueo/index.js +2725 -0
- package/dist/protocols/evm/trueo/index.js.map +1 -0
- package/package.json +11 -1
package/dist/agent/catalog.cjs
CHANGED
|
@@ -538,6 +538,10 @@ function votingEscrowAddressOnEvmChain(chainId) {
|
|
|
538
538
|
const ve = continuumDaoDeployment(chainId)?.votingEscrow;
|
|
539
539
|
return ve && isConfiguredAddress(ve) ? viem.getAddress(ve) : null;
|
|
540
540
|
}
|
|
541
|
+
function votingEscrowMarketplaceAddressOnEvmChain(chainId) {
|
|
542
|
+
if (chainId !== CONTINUUM_DAO_LINEA_CHAIN_ID) return null;
|
|
543
|
+
return VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS;
|
|
544
|
+
}
|
|
541
545
|
function listContinuumDaoDefaultAssets() {
|
|
542
546
|
const out = [];
|
|
543
547
|
for (const chainId of [
|
|
@@ -569,7 +573,7 @@ function listContinuumDaoDefaultAssets() {
|
|
|
569
573
|
}
|
|
570
574
|
return out;
|
|
571
575
|
}
|
|
572
|
-
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, CONTINUUM_DAO_DEPLOYMENTS;
|
|
576
|
+
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_DEPLOYMENTS;
|
|
573
577
|
var init_constants2 = __esm({
|
|
574
578
|
"src/protocols/evm/continuum-dao/constants.ts"() {
|
|
575
579
|
CONTINUUM_DAO_PROTOCOL_ID = "continuum-dao";
|
|
@@ -590,6 +594,11 @@ var init_constants2 = __esm({
|
|
|
590
594
|
};
|
|
591
595
|
CTM_TOKEN_ADDRESS = viem.getAddress("0x2026027054F5beBCEB650aBD62dC623e327658e7");
|
|
592
596
|
VOTING_ESCROW_LINEA_ADDRESS = viem.getAddress("0x221EC90B3B083A8501A37bdeb7035CeaedF3C31f");
|
|
597
|
+
viem.getAddress("0x4ebd7cCBe32a51d1638cFE90E8eD1c4BdF42f729");
|
|
598
|
+
VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS = viem.getAddress("0x92557d38beAe4658d3c03A02F349FFB60c3bfFA5");
|
|
599
|
+
viem.getAddress("0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f");
|
|
600
|
+
viem.getAddress("0x176211869cA2b568f2A7D4EE941E073a821EE1ff");
|
|
601
|
+
CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID = "continuum-dao-marketplace";
|
|
593
602
|
viem.getAddress("0x76FF2CB03175900F1D83328C82D27EA9aeaF2355");
|
|
594
603
|
viem.getAddress("0x4800F9f1dC1b6daCA841B71E0531F547D374168E");
|
|
595
604
|
[
|
|
@@ -2747,7 +2756,20 @@ var MCP_NON_SUBMIT_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
|
2747
2756
|
"ctm_uniswap_v4_limit_order_quote",
|
|
2748
2757
|
"ctm_uniswap_v4_fetch_limit_orders",
|
|
2749
2758
|
"ctm_uniswap_v4_check_permissions",
|
|
2750
|
-
"ctm_uniswap_v4_kyc_apply_link"
|
|
2759
|
+
"ctm_uniswap_v4_kyc_apply_link",
|
|
2760
|
+
"search_prediction_markets",
|
|
2761
|
+
"get_prediction_market",
|
|
2762
|
+
"ctm_trueo_fetch_categories",
|
|
2763
|
+
"ctm_trueo_fetch_trending",
|
|
2764
|
+
"ctm_trueo_search_markets",
|
|
2765
|
+
"ctm_trueo_fetch_market",
|
|
2766
|
+
"ctm_trueo_fetch_chance_series",
|
|
2767
|
+
"ctm_trueo_fetch_orderbook",
|
|
2768
|
+
"ctm_hyperliquid_outcome_fetch_markets",
|
|
2769
|
+
"ctm_hyperliquid_outcome_fetch_market",
|
|
2770
|
+
"ctm_hyperliquid_outcome_fetch_orderbook",
|
|
2771
|
+
"ctm_hyperliquid_outcome_fetch_positions",
|
|
2772
|
+
"ctm_hyperliquid_outcome_fetch_open_orders"
|
|
2751
2773
|
]);
|
|
2752
2774
|
|
|
2753
2775
|
// src/agent/schemas/protocols.ts
|
|
@@ -5288,6 +5310,213 @@ var mcpArcusBuildWithdrawMultisignInputSchema = withMultisignKeySourceRefine(
|
|
|
5288
5310
|
product: arcusFundProductSchema
|
|
5289
5311
|
})
|
|
5290
5312
|
);
|
|
5313
|
+
var mcpTrueoFetchCategoriesInputSchema = zod.z.object({}).passthrough();
|
|
5314
|
+
var mcpTrueoFetchCategoriesOutputSchema = zod.z.object({
|
|
5315
|
+
categories: zod.z.array(zod.z.object({ id: zod.z.number(), name: zod.z.string() })),
|
|
5316
|
+
chainId: zod.z.number()
|
|
5317
|
+
});
|
|
5318
|
+
var mcpTrueoMarketRowSchema = zod.z.object({
|
|
5319
|
+
address: zod.z.string(),
|
|
5320
|
+
question: zod.z.string(),
|
|
5321
|
+
rules: zod.z.string(),
|
|
5322
|
+
source: zod.z.string(),
|
|
5323
|
+
categories: zod.z.array(zod.z.string()),
|
|
5324
|
+
size: zod.z.string(),
|
|
5325
|
+
tvl: zod.z.number().nullable(),
|
|
5326
|
+
yesTokenAddress: zod.z.string(),
|
|
5327
|
+
noTokenAddress: zod.z.string(),
|
|
5328
|
+
yesPoolAddress: zod.z.string(),
|
|
5329
|
+
noPoolAddress: zod.z.string(),
|
|
5330
|
+
paymentTokenAddress: zod.z.string(),
|
|
5331
|
+
paymentTokenSymbol: zod.z.string(),
|
|
5332
|
+
paymentTokenDecimals: zod.z.number(),
|
|
5333
|
+
endOfTrading: zod.z.number(),
|
|
5334
|
+
status: zod.z.number(),
|
|
5335
|
+
outcome: zod.z.number().optional(),
|
|
5336
|
+
statusUpdatedAt: zod.z.string().nullable().optional(),
|
|
5337
|
+
imageUrl: zod.z.string().nullable(),
|
|
5338
|
+
yesPoolTick: zod.z.number().nullable(),
|
|
5339
|
+
noPoolTick: zod.z.number().nullable(),
|
|
5340
|
+
yesPoolSqrtPriceX96: zod.z.string().nullable(),
|
|
5341
|
+
noPoolSqrtPriceX96: zod.z.string().nullable(),
|
|
5342
|
+
yesPrice: zod.z.number().nullable(),
|
|
5343
|
+
noPrice: zod.z.number().nullable(),
|
|
5344
|
+
yesPriceLabel: zod.z.string().nullable(),
|
|
5345
|
+
noPriceLabel: zod.z.string().nullable(),
|
|
5346
|
+
expiresAt: zod.z.string().nullable(),
|
|
5347
|
+
expiresAtLabel: zod.z.string().nullable(),
|
|
5348
|
+
chainId: zod.z.number(),
|
|
5349
|
+
network: zod.z.string()
|
|
5350
|
+
});
|
|
5351
|
+
var mcpTrueoFetchTrendingInputSchema = zod.z.object({
|
|
5352
|
+
limit: zod.z.number().int().positive().optional(),
|
|
5353
|
+
includeAll: agentOptionalBooleanSchema().describe(
|
|
5354
|
+
"If true, include older closed/resolved markets. Default: live and recently finished (14 days)."
|
|
5355
|
+
)
|
|
5356
|
+
});
|
|
5357
|
+
var mcpTrueoFetchTrendingOutputSchema = zod.z.object({
|
|
5358
|
+
markets: zod.z.array(mcpTrueoMarketRowSchema),
|
|
5359
|
+
notes: zod.z.string(),
|
|
5360
|
+
hasMore: zod.z.boolean().optional(),
|
|
5361
|
+
nextOffset: zod.z.number().int().nonnegative().optional()
|
|
5362
|
+
});
|
|
5363
|
+
var mcpTrueoSearchMarketsInputSchema = zod.z.object({
|
|
5364
|
+
query: zod.z.string().optional().describe("Search haystack: question, rules, categories, address"),
|
|
5365
|
+
category: zod.z.string().optional().describe("Category name from fetch_categories, e.g. Politics"),
|
|
5366
|
+
limit: zod.z.number().int().positive().optional(),
|
|
5367
|
+
offset: zod.z.number().int().nonnegative().optional(),
|
|
5368
|
+
includeAll: agentOptionalBooleanSchema().describe(
|
|
5369
|
+
"If true, include older closed/resolved markets. Default: live and recently finished (14 days)."
|
|
5370
|
+
),
|
|
5371
|
+
excludeAddresses: zod.z.array(zod.z.string()).optional().describe("Skip these market addresses (after trending, pass the listed addresses).")
|
|
5372
|
+
});
|
|
5373
|
+
var mcpTrueoSearchMarketsOutputSchema = mcpTrueoFetchTrendingOutputSchema;
|
|
5374
|
+
var mcpTrueoFetchMarketInputSchema = zod.z.object({
|
|
5375
|
+
marketAddress: evmAddressSchema.describe("Trueo market address")
|
|
5376
|
+
});
|
|
5377
|
+
var mcpTrueoFetchMarketOutputSchema = mcpTrueoMarketRowSchema;
|
|
5378
|
+
var mcpTrueoFetchChanceSeriesInputSchema = zod.z.object({
|
|
5379
|
+
poolId: zod.z.string().min(1).describe("Yes or No pool id from fetch_market"),
|
|
5380
|
+
from: zod.z.number().optional(),
|
|
5381
|
+
to: zod.z.number().optional(),
|
|
5382
|
+
resolution: zod.z.string().optional().describe("Sample step in seconds (3600 = hourly). 1H/1D/1W/All coerce to hourly \u2014 Trueo rejects calendar 1D/1W."),
|
|
5383
|
+
lookbackDays: zod.z.number().optional()
|
|
5384
|
+
});
|
|
5385
|
+
var mcpTrueoFetchChanceSeriesOutputSchema = zod.z.object({
|
|
5386
|
+
poolId: zod.z.string(),
|
|
5387
|
+
bars: zod.z.array(
|
|
5388
|
+
zod.z.object({
|
|
5389
|
+
timestamp: zod.z.number(),
|
|
5390
|
+
open: zod.z.number(),
|
|
5391
|
+
high: zod.z.number(),
|
|
5392
|
+
low: zod.z.number(),
|
|
5393
|
+
close: zod.z.number()
|
|
5394
|
+
})
|
|
5395
|
+
),
|
|
5396
|
+
from: zod.z.number(),
|
|
5397
|
+
to: zod.z.number(),
|
|
5398
|
+
resolution: zod.z.string(),
|
|
5399
|
+
notes: zod.z.string().optional()
|
|
5400
|
+
});
|
|
5401
|
+
var mcpTrueoFetchOrderbookInputSchema = zod.z.object({
|
|
5402
|
+
marketAddress: evmAddressSchema,
|
|
5403
|
+
side: zod.z.enum(["yes", "no"]).optional(),
|
|
5404
|
+
rpcUrl: zod.z.string().min(1).optional().describe("Server-filled from chain registry. Agents should omit.")
|
|
5405
|
+
});
|
|
5406
|
+
var mcpTrueoFetchOrderbookOutputSchema = zod.z.object({
|
|
5407
|
+
marketAddress: zod.z.string(),
|
|
5408
|
+
side: zod.z.enum(["yes", "no"]),
|
|
5409
|
+
poolId: zod.z.string(),
|
|
5410
|
+
currentTick: zod.z.number().nullable(),
|
|
5411
|
+
impliedPrice: zod.z.number().nullable(),
|
|
5412
|
+
impliedPriceLabel: zod.z.string().nullable(),
|
|
5413
|
+
levels: zod.z.array(zod.z.record(zod.z.unknown())),
|
|
5414
|
+
recentTrades: zod.z.array(zod.z.record(zod.z.unknown())),
|
|
5415
|
+
notes: zod.z.string()
|
|
5416
|
+
});
|
|
5417
|
+
var mcpSearchPredictionMarketsInputSchema = zod.z.object({
|
|
5418
|
+
query: zod.z.string().optional().describe(
|
|
5419
|
+
"Pass the operator topic verbatim (case-insensitive title substring). Do not substitute a category name. Empty lists trending."
|
|
5420
|
+
),
|
|
5421
|
+
category: zod.z.string().optional().describe("Venue category, e.g. Politics"),
|
|
5422
|
+
venues: zod.z.array(zod.z.string()).optional().describe('Optional venue filter. Omit to search trueo and hyperliquid. Restrict with ["trueo"] or ["hyperliquid"].'),
|
|
5423
|
+
trending: agentOptionalBooleanSchema().describe(
|
|
5424
|
+
"Trending board only when query and category are empty. Ignored when query is set."
|
|
5425
|
+
),
|
|
5426
|
+
includeAll: agentOptionalBooleanSchema().describe(
|
|
5427
|
+
"If true, include older closed/resolved markets. Default: live and recently finished (14 days)."
|
|
5428
|
+
),
|
|
5429
|
+
limit: zod.z.number().int().positive().optional().describe("Page size. Default 10 (trending API max)."),
|
|
5430
|
+
offset: zod.z.number().int().nonnegative().optional().describe("Search offset for the next page. Trending is page 1 only."),
|
|
5431
|
+
indexBase: zod.z.number().int().nonnegative().optional().describe("Start #N at indexBase+1 so pages continue 11, 12, \u2026"),
|
|
5432
|
+
excludeAddresses: zod.z.array(zod.z.string()).optional().describe("Skip these venueMarketIds (after trending, pass the listed ids).")
|
|
5433
|
+
});
|
|
5434
|
+
var mcpPredictionMarketRowSchema = zod.z.object({
|
|
5435
|
+
venue: zod.z.string(),
|
|
5436
|
+
venueMarketId: zod.z.string(),
|
|
5437
|
+
question: zod.z.string(),
|
|
5438
|
+
categories: zod.z.array(zod.z.string()),
|
|
5439
|
+
yesPrice: zod.z.number().nullable(),
|
|
5440
|
+
noPrice: zod.z.number().nullable(),
|
|
5441
|
+
yesPriceLabel: zod.z.string().nullable(),
|
|
5442
|
+
noPriceLabel: zod.z.string().nullable(),
|
|
5443
|
+
volume: zod.z.string(),
|
|
5444
|
+
tvl: zod.z.number().nullable(),
|
|
5445
|
+
expiresAt: zod.z.string().nullable(),
|
|
5446
|
+
expiresAtLabel: zod.z.string().nullable(),
|
|
5447
|
+
tradingEndsLabel: zod.z.string().optional(),
|
|
5448
|
+
endOfTrading: zod.z.number().optional(),
|
|
5449
|
+
status: zod.z.string(),
|
|
5450
|
+
outcome: zod.z.number().optional(),
|
|
5451
|
+
statusUpdatedAt: zod.z.string().nullable().optional(),
|
|
5452
|
+
resolutionLabel: zod.z.string().nullable().optional(),
|
|
5453
|
+
chainId: zod.z.number(),
|
|
5454
|
+
paymentSymbol: zod.z.string(),
|
|
5455
|
+
tradable: zod.z.boolean(),
|
|
5456
|
+
index: zod.z.number().int().positive().optional(),
|
|
5457
|
+
rules: zod.z.string().optional(),
|
|
5458
|
+
source: zod.z.string().optional(),
|
|
5459
|
+
imageUrl: zod.z.string().nullable().optional(),
|
|
5460
|
+
ohlc: zod.z.array(
|
|
5461
|
+
zod.z.object({
|
|
5462
|
+
timestamp: zod.z.number(),
|
|
5463
|
+
open: zod.z.number(),
|
|
5464
|
+
high: zod.z.number(),
|
|
5465
|
+
low: zod.z.number(),
|
|
5466
|
+
close: zod.z.number()
|
|
5467
|
+
})
|
|
5468
|
+
).optional().describe("Hourly Yes-chance samples for the Mini App graph (get_prediction_market).")
|
|
5469
|
+
});
|
|
5470
|
+
var mcpSearchPredictionMarketsOutputSchema = zod.z.object({
|
|
5471
|
+
markets: zod.z.array(mcpPredictionMarketRowSchema),
|
|
5472
|
+
notes: zod.z.string(),
|
|
5473
|
+
hasMore: zod.z.boolean().optional(),
|
|
5474
|
+
nextOffset: zod.z.number().int().nonnegative().optional(),
|
|
5475
|
+
nextIndexBase: zod.z.number().int().nonnegative().optional(),
|
|
5476
|
+
includeAll: zod.z.boolean().optional()
|
|
5477
|
+
});
|
|
5478
|
+
var mcpListMyPredictionMarketsInputSchema = zod.z.object({
|
|
5479
|
+
tokenAddresses: zod.z.array(zod.z.string()).optional().describe("YES/NO token addresses from get_token_registry (or added after a bet)."),
|
|
5480
|
+
marketAddresses: zod.z.array(zod.z.string()).optional().describe("Trueo market addresses from prior bets.")
|
|
5481
|
+
});
|
|
5482
|
+
var mcpListMyPredictionMarketsOutputSchema = mcpSearchPredictionMarketsOutputSchema;
|
|
5483
|
+
var mcpGetPredictionMarketInputSchema = zod.z.object({
|
|
5484
|
+
venue: zod.z.string().optional().describe("trueo (default) or hyperliquid"),
|
|
5485
|
+
venueMarketId: zod.z.string().min(1).describe("Trueo market address, or Hyperliquid outcome id")
|
|
5486
|
+
});
|
|
5487
|
+
var mcpGetPredictionMarketOutputSchema = mcpPredictionMarketRowSchema.passthrough();
|
|
5488
|
+
var mcpTrueoWrapTydInputSchema = mcpMultisignInput({
|
|
5489
|
+
amountHuman: zod.z.string().min(1).describe("USDC amount to deposit into the TYD vault")
|
|
5490
|
+
});
|
|
5491
|
+
var mcpTrueoUnwrapTydInputSchema = mcpMultisignInput({
|
|
5492
|
+
amountHuman: zod.z.string().min(1).describe("TYD share amount to redeem for USDC")
|
|
5493
|
+
});
|
|
5494
|
+
var mcpTrueoMintInputSchema = mcpMultisignInput({
|
|
5495
|
+
marketAddress: evmAddressSchema,
|
|
5496
|
+
amountHuman: zod.z.string().min(1).describe("TYD (or USDC when paymentKind=usdc) amount"),
|
|
5497
|
+
paymentKind: zod.z.enum(["tyd", "usdc"]).optional()
|
|
5498
|
+
});
|
|
5499
|
+
var mcpTrueoBurnInputSchema = mcpTrueoMintInputSchema;
|
|
5500
|
+
var mcpTrueoRedeemInputSchema = mcpTrueoMintInputSchema;
|
|
5501
|
+
var mcpTrueoSwapInputSchema = mcpMultisignInput({
|
|
5502
|
+
marketAddress: evmAddressSchema,
|
|
5503
|
+
side: zod.z.enum(["yes", "no"]),
|
|
5504
|
+
amountHuman: zod.z.string().min(1).describe("TYD amount in"),
|
|
5505
|
+
amountOutMinimumHuman: zod.z.string().optional()
|
|
5506
|
+
});
|
|
5507
|
+
var mcpTrueoCreateOrderInputSchema = mcpMultisignInput({
|
|
5508
|
+
marketAddress: evmAddressSchema,
|
|
5509
|
+
side: zod.z.enum(["yes", "no"]),
|
|
5510
|
+
amountHuman: zod.z.string().min(1),
|
|
5511
|
+
tickLower: zod.z.number().int(),
|
|
5512
|
+
tickUpper: zod.z.number().int(),
|
|
5513
|
+
enablePartialFill: agentOptionalBooleanSchema()
|
|
5514
|
+
});
|
|
5515
|
+
var mcpTrueoCancelOrderInputSchema = mcpMultisignInput({
|
|
5516
|
+
marketAddress: evmAddressSchema,
|
|
5517
|
+
side: zod.z.enum(["yes", "no"]),
|
|
5518
|
+
orderId: zod.z.number().int().nonnegative()
|
|
5519
|
+
});
|
|
5291
5520
|
function mcpDeriveMultisignInput(fields) {
|
|
5292
5521
|
return withMultisignKeySourceRefine(evmMultisignCommonInputSchema.extend(fields));
|
|
5293
5522
|
}
|
|
@@ -5651,6 +5880,131 @@ var mcpCctpBuildBurnMultisignInputSchema = mcpMultisignInput({
|
|
|
5651
5880
|
minFinalityThreshold: agentCoercedOptionalIntSchema(zod.z.number().int().positive()),
|
|
5652
5881
|
feeSnapshot: jsonObjectSchema.optional().describe("Optional output from ctm_cctp_fetch_burn_fees")
|
|
5653
5882
|
});
|
|
5883
|
+
var outcomeIdSchema = zod.z.number().int().nonnegative();
|
|
5884
|
+
var sideSchema = zod.z.enum(["yes", "no"]);
|
|
5885
|
+
var mcpHyperliquidOutcomeFetchMarketsInputSchema = zod.z.object({
|
|
5886
|
+
chainId: zod.z.number().int().positive().optional().describe("999 mainnet or 998 testnet. Default 999."),
|
|
5887
|
+
query: zod.z.string().optional().describe("Case-insensitive substring of the question, description, or outcome id."),
|
|
5888
|
+
limit: zod.z.number().int().positive().optional(),
|
|
5889
|
+
offset: zod.z.number().int().nonnegative().optional()
|
|
5890
|
+
});
|
|
5891
|
+
var mcpHyperliquidOutcomeMarketSchema = zod.z.object({
|
|
5892
|
+
outcome: zod.z.number(),
|
|
5893
|
+
question: zod.z.string(),
|
|
5894
|
+
description: zod.z.string(),
|
|
5895
|
+
questionId: zod.z.number().nullable(),
|
|
5896
|
+
sideNames: zod.z.tuple([zod.z.string(), zod.z.string()]),
|
|
5897
|
+
quoteToken: zod.z.string(),
|
|
5898
|
+
yesCoin: zod.z.string(),
|
|
5899
|
+
noCoin: zod.z.string(),
|
|
5900
|
+
yesAssetId: zod.z.number(),
|
|
5901
|
+
noAssetId: zod.z.number(),
|
|
5902
|
+
yesPrice: zod.z.number().nullable(),
|
|
5903
|
+
noPrice: zod.z.number().nullable(),
|
|
5904
|
+
yesPriceLabel: zod.z.string().nullable(),
|
|
5905
|
+
noPriceLabel: zod.z.string().nullable(),
|
|
5906
|
+
expiresAt: zod.z.string().nullable(),
|
|
5907
|
+
endOfTrading: zod.z.number(),
|
|
5908
|
+
status: zod.z.enum(["live", "closed"]),
|
|
5909
|
+
tradable: zod.z.boolean(),
|
|
5910
|
+
categories: zod.z.array(zod.z.string())
|
|
5911
|
+
});
|
|
5912
|
+
var mcpHyperliquidOutcomeFetchMarketsOutputSchema = zod.z.object({
|
|
5913
|
+
markets: zod.z.array(mcpHyperliquidOutcomeMarketSchema),
|
|
5914
|
+
notes: zod.z.string(),
|
|
5915
|
+
hasMore: zod.z.boolean(),
|
|
5916
|
+
nextOffset: zod.z.number()
|
|
5917
|
+
});
|
|
5918
|
+
var mcpHyperliquidOutcomeFetchMarketInputSchema = zod.z.object({
|
|
5919
|
+
chainId: zod.z.number().int().positive().optional(),
|
|
5920
|
+
outcome: outcomeIdSchema.describe("outcome id from outcomeMeta / search venueMarketId")
|
|
5921
|
+
});
|
|
5922
|
+
var mcpHyperliquidOutcomeBookSchema = zod.z.object({
|
|
5923
|
+
coin: zod.z.string(),
|
|
5924
|
+
bids: zod.z.array(zod.z.object({ px: zod.z.string(), sz: zod.z.string(), n: zod.z.number() })),
|
|
5925
|
+
asks: zod.z.array(zod.z.object({ px: zod.z.string(), sz: zod.z.string(), n: zod.z.number() }))
|
|
5926
|
+
});
|
|
5927
|
+
var mcpHyperliquidOutcomeFetchMarketOutputSchema = mcpHyperliquidOutcomeMarketSchema.extend({
|
|
5928
|
+
yesBook: mcpHyperliquidOutcomeBookSchema,
|
|
5929
|
+
noBook: mcpHyperliquidOutcomeBookSchema,
|
|
5930
|
+
notes: zod.z.string()
|
|
5931
|
+
});
|
|
5932
|
+
var mcpHyperliquidOutcomeFetchOrderbookInputSchema = zod.z.object({
|
|
5933
|
+
chainId: zod.z.number().int().positive().optional(),
|
|
5934
|
+
outcome: outcomeIdSchema,
|
|
5935
|
+
side: sideSchema.optional().describe("Default yes")
|
|
5936
|
+
});
|
|
5937
|
+
var mcpHyperliquidOutcomeFetchOrderbookOutputSchema = zod.z.object({
|
|
5938
|
+
outcome: zod.z.number(),
|
|
5939
|
+
side: sideSchema,
|
|
5940
|
+
book: mcpHyperliquidOutcomeBookSchema,
|
|
5941
|
+
notes: zod.z.string()
|
|
5942
|
+
});
|
|
5943
|
+
var mcpHyperliquidOutcomeFetchAccountInputSchema = zod.z.object({
|
|
5944
|
+
chainId: zod.z.number().int().positive().optional(),
|
|
5945
|
+
user: zod.z.string().min(1).describe("HyperCore account address (the MPA ethereum address).")
|
|
5946
|
+
});
|
|
5947
|
+
var mcpHyperliquidOutcomeFetchPositionsOutputSchema = zod.z.object({
|
|
5948
|
+
quoteBalances: zod.z.array(zod.z.object({ coin: zod.z.string(), total: zod.z.string(), hold: zod.z.string() })),
|
|
5949
|
+
outcomeBalances: zod.z.array(
|
|
5950
|
+
zod.z.object({
|
|
5951
|
+
coin: zod.z.string(),
|
|
5952
|
+
total: zod.z.string(),
|
|
5953
|
+
hold: zod.z.string(),
|
|
5954
|
+
outcome: zod.z.number().nullable(),
|
|
5955
|
+
side: zod.z.enum(["yes", "no"]).nullable()
|
|
5956
|
+
})
|
|
5957
|
+
),
|
|
5958
|
+
notes: zod.z.string()
|
|
5959
|
+
});
|
|
5960
|
+
var mcpHyperliquidOutcomeFetchOpenOrdersOutputSchema = zod.z.object({
|
|
5961
|
+
openOrders: zod.z.array(
|
|
5962
|
+
zod.z.object({
|
|
5963
|
+
coin: zod.z.string(),
|
|
5964
|
+
side: zod.z.string(),
|
|
5965
|
+
limitPx: zod.z.string(),
|
|
5966
|
+
sz: zod.z.string(),
|
|
5967
|
+
oid: zod.z.number(),
|
|
5968
|
+
timestamp: zod.z.number(),
|
|
5969
|
+
outcome: zod.z.number().nullable(),
|
|
5970
|
+
outcomeSide: zod.z.enum(["yes", "no"]).nullable()
|
|
5971
|
+
})
|
|
5972
|
+
),
|
|
5973
|
+
notes: zod.z.string()
|
|
5974
|
+
});
|
|
5975
|
+
var mcpHyperliquidOutcomeOrderInputSchema = mcpMultisignInput({
|
|
5976
|
+
outcome: outcomeIdSchema,
|
|
5977
|
+
side: sideSchema,
|
|
5978
|
+
isBuy: zod.z.boolean().describe("true buys the side, false sells it"),
|
|
5979
|
+
limitPxHuman: zod.z.string().min(1).describe("Limit price in quote per share, typically 0 to 1"),
|
|
5980
|
+
szHuman: zod.z.string().min(1).describe("Share size"),
|
|
5981
|
+
tif: zod.z.enum(["gtc", "ioc", "alo"]).optional().describe("Default gtc. ioc crosses the book."),
|
|
5982
|
+
reduceOnly: agentOptionalBooleanSchema()
|
|
5983
|
+
});
|
|
5984
|
+
var mcpHyperliquidOutcomeCancelInputSchema = mcpMultisignInput({
|
|
5985
|
+
outcome: outcomeIdSchema,
|
|
5986
|
+
side: sideSchema,
|
|
5987
|
+
oid: zod.z.number().int().positive()
|
|
5988
|
+
});
|
|
5989
|
+
var mcpHyperliquidOutcomeSplitInputSchema = mcpMultisignInput({
|
|
5990
|
+
outcome: outcomeIdSchema,
|
|
5991
|
+
amountHuman: zod.z.string().min(1).describe("Quote amount to split into equal Yes and No shares")
|
|
5992
|
+
});
|
|
5993
|
+
var mcpHyperliquidOutcomeMergeInputSchema = mcpMultisignInput({
|
|
5994
|
+
outcome: outcomeIdSchema,
|
|
5995
|
+
amountHuman: zod.z.string().optional().describe("Yes+No amount to merge. Omit or amountMax for the maximum."),
|
|
5996
|
+
amountMax: agentOptionalBooleanSchema()
|
|
5997
|
+
});
|
|
5998
|
+
var mcpHyperliquidOutcomeMergeQuestionInputSchema = mcpMultisignInput({
|
|
5999
|
+
question: outcomeIdSchema.describe("question id from outcomeMeta.questions"),
|
|
6000
|
+
amountHuman: zod.z.string().optional(),
|
|
6001
|
+
amountMax: agentOptionalBooleanSchema()
|
|
6002
|
+
});
|
|
6003
|
+
var mcpHyperliquidOutcomeNegateInputSchema = mcpMultisignInput({
|
|
6004
|
+
question: outcomeIdSchema,
|
|
6005
|
+
outcome: outcomeIdSchema,
|
|
6006
|
+
amountHuman: zod.z.string().min(1)
|
|
6007
|
+
});
|
|
5654
6008
|
|
|
5655
6009
|
// src/agent/mcpProtocolTools.ts
|
|
5656
6010
|
function defineProtocolMcpTool(def) {
|
|
@@ -6955,6 +7309,510 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
|
|
|
6955
7309
|
],
|
|
6956
7310
|
handler: { importPath: "protocols/evm/derive", exportName: "buildDeriveTransferSpotMultisign" },
|
|
6957
7311
|
inputZod: mcpDeriveTransferSpotInputSchema
|
|
7312
|
+
}),
|
|
7313
|
+
defineProtocolMcpTool({
|
|
7314
|
+
name: "ctm_trueo_build_wrap_tyd_multisign",
|
|
7315
|
+
actionId: "trueo.wrap-tyd",
|
|
7316
|
+
protocolId: "trueo",
|
|
7317
|
+
chainCategory: "evm",
|
|
7318
|
+
description: "Mint TYD by depositing Base USDC into the Yearn ERC-4626 vault. Not a market bet. No marketAddress. 30-minute expiry.",
|
|
7319
|
+
prerequisites: ["keyGenId", "chainId 8453", "amountHuman (USDC)"],
|
|
7320
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoWrapTyd" },
|
|
7321
|
+
inputZod: mcpTrueoWrapTydInputSchema
|
|
7322
|
+
}),
|
|
7323
|
+
defineProtocolMcpTool({
|
|
7324
|
+
name: "ctm_trueo_build_unwrap_tyd_multisign",
|
|
7325
|
+
actionId: "trueo.unwrap-tyd",
|
|
7326
|
+
protocolId: "trueo",
|
|
7327
|
+
chainCategory: "evm",
|
|
7328
|
+
description: "Redeem TYD shares back to Base USDC via the Yearn ERC-4626 vault. Not a market bet. No marketAddress. 30-minute expiry.",
|
|
7329
|
+
prerequisites: ["keyGenId", "chainId 8453", "amountHuman (TYD)"],
|
|
7330
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoUnwrapTyd" },
|
|
7331
|
+
inputZod: mcpTrueoUnwrapTydInputSchema
|
|
7332
|
+
}),
|
|
7333
|
+
defineProtocolMcpTool({
|
|
7334
|
+
name: "ctm_trueo_build_mint_multisign",
|
|
7335
|
+
actionId: "trueo.mint",
|
|
7336
|
+
protocolId: "trueo",
|
|
7337
|
+
chainCategory: "evm",
|
|
7338
|
+
description: "Mint YES+NO from TYD (default) or USDC via TruthMarketAdapter. Base 8453. Not a bet \u2014 allowed near market close. 30-minute multiSign expiry.",
|
|
7339
|
+
prerequisites: ["keyGenId", "chainId 8453", "marketAddress from ctm_trueo_fetch_market", "amountHuman"],
|
|
7340
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoMint" },
|
|
7341
|
+
inputZod: mcpTrueoMintInputSchema
|
|
7342
|
+
}),
|
|
7343
|
+
defineProtocolMcpTool({
|
|
7344
|
+
name: "ctm_trueo_build_burn_multisign",
|
|
7345
|
+
actionId: "trueo.burn",
|
|
7346
|
+
protocolId: "trueo",
|
|
7347
|
+
chainCategory: "evm",
|
|
7348
|
+
description: "Burn equal YES+NO back to TYD (or USDC via adapter). Not a bet. 30-minute expiry.",
|
|
7349
|
+
prerequisites: ["keyGenId", "chainId 8453", "marketAddress", "amountHuman"],
|
|
7350
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoBurn" },
|
|
7351
|
+
inputZod: mcpTrueoBurnInputSchema
|
|
7352
|
+
}),
|
|
7353
|
+
defineProtocolMcpTool({
|
|
7354
|
+
name: "ctm_trueo_build_redeem_multisign",
|
|
7355
|
+
actionId: "trueo.redeem",
|
|
7356
|
+
protocolId: "trueo",
|
|
7357
|
+
chainCategory: "evm",
|
|
7358
|
+
description: "Redeem winning outcome tokens after resolution. Not a bet. 30-minute expiry.",
|
|
7359
|
+
prerequisites: ["keyGenId", "chainId 8453", "marketAddress", "amountHuman"],
|
|
7360
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoRedeem" },
|
|
7361
|
+
inputZod: mcpTrueoRedeemInputSchema
|
|
7362
|
+
}),
|
|
7363
|
+
defineProtocolMcpTool({
|
|
7364
|
+
name: "ctm_trueo_build_swap_multisign",
|
|
7365
|
+
actionId: "trueo.swap",
|
|
7366
|
+
protocolId: "trueo",
|
|
7367
|
+
chainCategory: "evm",
|
|
7368
|
+
description: "Buy Yes or No with TYD via UniversalRouterAdapter V4 swap. Refuses if the market closes within 5 minutes. extraJSON stores endOfTrading for Get Sig/Execute. 30-minute expiry.",
|
|
7369
|
+
prerequisites: ["keyGenId", "chainId 8453", "marketAddress", "side", "amountHuman"],
|
|
7370
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoSwap" },
|
|
7371
|
+
inputZod: mcpTrueoSwapInputSchema
|
|
7372
|
+
}),
|
|
7373
|
+
defineProtocolMcpTool({
|
|
7374
|
+
name: "ctm_trueo_build_create_order_multisign",
|
|
7375
|
+
actionId: "trueo.create-order",
|
|
7376
|
+
protocolId: "trueo",
|
|
7377
|
+
chainCategory: "evm",
|
|
7378
|
+
description: "Create an OrderManager limit order (Yes or No). Refuses if the market closes within 5 minutes. 30-minute expiry.",
|
|
7379
|
+
prerequisites: ["keyGenId", "chainId 8453", "marketAddress", "side", "amountHuman", "tickLower", "tickUpper"],
|
|
7380
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoCreateOrder" },
|
|
7381
|
+
inputZod: mcpTrueoCreateOrderInputSchema
|
|
7382
|
+
}),
|
|
7383
|
+
defineProtocolMcpTool({
|
|
7384
|
+
name: "ctm_trueo_build_cancel_order_multisign",
|
|
7385
|
+
actionId: "trueo.cancel-order",
|
|
7386
|
+
protocolId: "trueo",
|
|
7387
|
+
chainCategory: "evm",
|
|
7388
|
+
description: "Cancel an OrderManager order. Not a bet \u2014 allowed after close. 30-minute expiry.",
|
|
7389
|
+
prerequisites: ["keyGenId", "chainId 8453", "marketAddress", "side", "orderId"],
|
|
7390
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "buildEvmMultisignBodyTrueoCancelOrder" },
|
|
7391
|
+
inputZod: mcpTrueoCancelOrderInputSchema
|
|
7392
|
+
}),
|
|
7393
|
+
defineProtocolMcpTool({
|
|
7394
|
+
name: "ctm_hyperliquid_outcome_build_order_multisign",
|
|
7395
|
+
actionId: "hyperliquidOutcome.order",
|
|
7396
|
+
protocolId: "hyperliquidOutcome",
|
|
7397
|
+
chainCategory: "evm",
|
|
7398
|
+
description: "Limit buy or sell a Hyperliquid HIP-4 outcome side. Asset id is 100000000 + 10*outcome + side (yes=0, no=1). EIP-712 Agent signature, no gas. IOC crosses the book. 30-minute expiry.",
|
|
7399
|
+
prerequisites: ["keyGenId", "chainId 999", "outcome id", "side yes|no", "isBuy", "limitPxHuman", "szHuman", "purposeText"],
|
|
7400
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "buildEvmMultisignBodyHyperliquidOutcomeOrder" },
|
|
7401
|
+
inputZod: mcpHyperliquidOutcomeOrderInputSchema
|
|
7402
|
+
}),
|
|
7403
|
+
defineProtocolMcpTool({
|
|
7404
|
+
name: "ctm_hyperliquid_outcome_build_cancel_multisign",
|
|
7405
|
+
actionId: "hyperliquidOutcome.cancel",
|
|
7406
|
+
protocolId: "hyperliquidOutcome",
|
|
7407
|
+
chainCategory: "evm",
|
|
7408
|
+
description: "Cancel a resting Hyperliquid outcome order by oid. EIP-712, no gas.",
|
|
7409
|
+
prerequisites: ["keyGenId", "chainId 999", "outcome", "side", "oid", "purposeText"],
|
|
7410
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "buildEvmMultisignBodyHyperliquidOutcomeCancel" },
|
|
7411
|
+
inputZod: mcpHyperliquidOutcomeCancelInputSchema
|
|
7412
|
+
}),
|
|
7413
|
+
defineProtocolMcpTool({
|
|
7414
|
+
name: "ctm_hyperliquid_outcome_build_split_multisign",
|
|
7415
|
+
actionId: "hyperliquidOutcome.split",
|
|
7416
|
+
protocolId: "hyperliquidOutcome",
|
|
7417
|
+
chainCategory: "evm",
|
|
7418
|
+
description: "Split quote tokens into equal Yes and No shares (userOutcome splitOutcome). EIP-712, no gas.",
|
|
7419
|
+
prerequisites: ["keyGenId", "chainId 999", "outcome", "amountHuman", "purposeText"],
|
|
7420
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "buildEvmMultisignBodyHyperliquidOutcomeSplit" },
|
|
7421
|
+
inputZod: mcpHyperliquidOutcomeSplitInputSchema
|
|
7422
|
+
}),
|
|
7423
|
+
defineProtocolMcpTool({
|
|
7424
|
+
name: "ctm_hyperliquid_outcome_build_merge_multisign",
|
|
7425
|
+
actionId: "hyperliquidOutcome.merge",
|
|
7426
|
+
protocolId: "hyperliquidOutcome",
|
|
7427
|
+
chainCategory: "evm",
|
|
7428
|
+
description: "Merge Yes and No shares back into quote (userOutcome mergeOutcome). Omit amount or set amountMax to merge the maximum. EIP-712, no gas.",
|
|
7429
|
+
prerequisites: ["keyGenId", "chainId 999", "outcome", "purposeText"],
|
|
7430
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "buildEvmMultisignBodyHyperliquidOutcomeMerge" },
|
|
7431
|
+
inputZod: mcpHyperliquidOutcomeMergeInputSchema
|
|
7432
|
+
}),
|
|
7433
|
+
defineProtocolMcpTool({
|
|
7434
|
+
name: "ctm_hyperliquid_outcome_build_merge_question_multisign",
|
|
7435
|
+
actionId: "hyperliquidOutcome.merge-question",
|
|
7436
|
+
protocolId: "hyperliquidOutcome",
|
|
7437
|
+
chainCategory: "evm",
|
|
7438
|
+
description: "Merge Yes shares across one question into quote tokens. EIP-712, no gas.",
|
|
7439
|
+
prerequisites: ["keyGenId", "chainId 999", "question id", "purposeText"],
|
|
7440
|
+
handler: {
|
|
7441
|
+
importPath: "protocols/evm/hyperliquidOutcome",
|
|
7442
|
+
exportName: "buildEvmMultisignBodyHyperliquidOutcomeMergeQuestion"
|
|
7443
|
+
},
|
|
7444
|
+
inputZod: mcpHyperliquidOutcomeMergeQuestionInputSchema
|
|
7445
|
+
}),
|
|
7446
|
+
defineProtocolMcpTool({
|
|
7447
|
+
name: "ctm_hyperliquid_outcome_build_negate_multisign",
|
|
7448
|
+
actionId: "hyperliquidOutcome.negate",
|
|
7449
|
+
protocolId: "hyperliquidOutcome",
|
|
7450
|
+
chainCategory: "evm",
|
|
7451
|
+
description: "Convert No shares of one outcome into Yes shares of the other outcomes in the question. EIP-712, no gas.",
|
|
7452
|
+
prerequisites: ["keyGenId", "chainId 999", "question", "outcome", "amountHuman", "purposeText"],
|
|
7453
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "buildEvmMultisignBodyHyperliquidOutcomeNegate" },
|
|
7454
|
+
inputZod: mcpHyperliquidOutcomeNegateInputSchema
|
|
7455
|
+
})
|
|
7456
|
+
];
|
|
7457
|
+
var catalogQuery = {
|
|
7458
|
+
apiBase: zod.z.string().optional().describe("Override https://app-api.continuumdao.org"),
|
|
7459
|
+
rpcUrl: zod.z.string().optional().describe("Linea RPC used when the marketplace API is offline"),
|
|
7460
|
+
chainId: zod.z.number().int().optional().describe("59144"),
|
|
7461
|
+
includeInactive: zod.z.boolean().optional().describe("Include closed sales, offers, and settled auctions"),
|
|
7462
|
+
paymentToken: evmAddressSchema.optional(),
|
|
7463
|
+
tokenId: zod.z.string().optional(),
|
|
7464
|
+
creator: evmAddressSchema.optional(),
|
|
7465
|
+
seller: evmAddressSchema.optional(),
|
|
7466
|
+
viewer: evmAddressSchema.optional(),
|
|
7467
|
+
limit: zod.z.number().int().optional(),
|
|
7468
|
+
cursor: zod.z.string().optional().describe("nextCursor from the previous page")
|
|
7469
|
+
};
|
|
7470
|
+
var mcpContinuumDaoMarketplaceSearchInputSchema = zod.z.object({
|
|
7471
|
+
apiBase: catalogQuery.apiBase,
|
|
7472
|
+
rpcUrl: catalogQuery.rpcUrl,
|
|
7473
|
+
chainId: catalogQuery.chainId,
|
|
7474
|
+
kind: zod.z.enum(["listing", "auction", "both"]).optional().describe("Default listing. Use auction or both only when the user wants to bid."),
|
|
7475
|
+
paymentToken: evmAddressSchema.optional().describe("Required when ranking by price and more than one payment token is listed"),
|
|
7476
|
+
minLockedCtm: zod.z.string().optional().describe('Minimum locked CTM, human amount such as "1000"'),
|
|
7477
|
+
maxLockedCtm: zod.z.string().optional().describe("Maximum locked CTM, human amount"),
|
|
7478
|
+
unlockBefore: zod.z.string().optional().describe("ISO date or unix seconds"),
|
|
7479
|
+
unlockAfter: zod.z.string().optional().describe("ISO date or unix seconds"),
|
|
7480
|
+
maxUnlockMonths: zod.z.number().optional().describe("Still locked, and unlocks within this many 30-day months"),
|
|
7481
|
+
sort: zod.z.enum(["pricePerLockedCtm", "price", "locked", "unlock", "deadline"]).optional().describe("Default pricePerLockedCtm, cheapest first. locked defaults to most CTM. unlock and deadline default to soonest."),
|
|
7482
|
+
sortDirection: zod.z.enum(["asc", "desc"]).optional(),
|
|
7483
|
+
limit: zod.z.number().int().min(1).max(25).optional().describe("Ranked rows to return, default 10"),
|
|
7484
|
+
executor: evmAddressSchema.optional().describe("KeyGen address. veCTMs this address sells are omitted."),
|
|
7485
|
+
excludeOwned: zod.z.boolean().optional()
|
|
7486
|
+
});
|
|
7487
|
+
var mcpContinuumDaoMarketplaceFeeAlternativeInputSchema = zod.z.object({
|
|
7488
|
+
apiBase: catalogQuery.apiBase,
|
|
7489
|
+
rpcUrl: zod.z.string().min(1).describe("Linea RPC. Required to read the monthly fee, threshold, and voting power."),
|
|
7490
|
+
chainId: catalogQuery.chainId,
|
|
7491
|
+
payment: zod.z.enum(["fee", "ctm"]).optional().describe("fee matches a USDC month. ctm matches a CTM month. Default fee."),
|
|
7492
|
+
executor: evmAddressSchema.optional().describe("KeyGen address. veCTMs this address sells are omitted.")
|
|
7493
|
+
});
|
|
7494
|
+
var mcpContinuumDaoMarketplaceFetchListingsInputSchema = zod.z.object(catalogQuery);
|
|
7495
|
+
var mcpContinuumDaoMarketplaceFetchOfferingsInputSchema = zod.z.object(catalogQuery);
|
|
7496
|
+
var mcpContinuumDaoMarketplaceFetchAuctionsInputSchema = zod.z.object(catalogQuery);
|
|
7497
|
+
var mcpContinuumDaoMarketplaceFetchConfigInputSchema = zod.z.object({
|
|
7498
|
+
apiBase: catalogQuery.apiBase,
|
|
7499
|
+
rpcUrl: catalogQuery.rpcUrl,
|
|
7500
|
+
chainId: catalogQuery.chainId
|
|
7501
|
+
});
|
|
7502
|
+
var mcpContinuumDaoMarketplaceFetchTokenInputSchema = zod.z.object({
|
|
7503
|
+
apiBase: catalogQuery.apiBase,
|
|
7504
|
+
rpcUrl: catalogQuery.rpcUrl,
|
|
7505
|
+
chainId: catalogQuery.chainId,
|
|
7506
|
+
tokenId: zod.z.string().min(1),
|
|
7507
|
+
viewer: catalogQuery.viewer
|
|
7508
|
+
});
|
|
7509
|
+
var mcpContinuumDaoMarketplaceFetchActivityInputSchema = zod.z.object({
|
|
7510
|
+
apiBase: catalogQuery.apiBase,
|
|
7511
|
+
rpcUrl: catalogQuery.rpcUrl,
|
|
7512
|
+
chainId: catalogQuery.chainId,
|
|
7513
|
+
address: evmAddressSchema,
|
|
7514
|
+
limit: catalogQuery.limit
|
|
7515
|
+
});
|
|
7516
|
+
var mcpContinuumDaoMarketplaceFetchFeePreviewInputSchema = zod.z.object({
|
|
7517
|
+
apiBase: catalogQuery.apiBase,
|
|
7518
|
+
rpcUrl: catalogQuery.rpcUrl,
|
|
7519
|
+
chainId: catalogQuery.chainId,
|
|
7520
|
+
tokenId: zod.z.string().min(1),
|
|
7521
|
+
price: zod.z.string().min(1).describe("Price in payment-token wei")
|
|
7522
|
+
});
|
|
7523
|
+
var source = zod.z.enum(["api", "logs"]);
|
|
7524
|
+
var loose = zod.z.record(zod.z.unknown());
|
|
7525
|
+
var mcpContinuumDaoMarketplaceFeeAlternativeOutputSchema = zod.z.object({
|
|
7526
|
+
payment: zod.z.enum(["fee", "ctm"]),
|
|
7527
|
+
thresholdHuman: zod.z.string(),
|
|
7528
|
+
monthlyFeeHuman: zod.z.string(),
|
|
7529
|
+
monthlyFeeSymbol: zod.z.string(),
|
|
7530
|
+
annualFeeHuman: zod.z.string(),
|
|
7531
|
+
annualFeeCtmHuman: zod.z.string(),
|
|
7532
|
+
example: loose.nullable(),
|
|
7533
|
+
summary: zod.z.string(),
|
|
7534
|
+
source
|
|
7535
|
+
}).passthrough();
|
|
7536
|
+
var mcpContinuumDaoMarketplaceSearchOutputSchema = zod.z.object({
|
|
7537
|
+
sort: zod.z.string(),
|
|
7538
|
+
sortDirection: zod.z.enum(["asc", "desc"]),
|
|
7539
|
+
paymentToken: zod.z.string().nullable(),
|
|
7540
|
+
scanned: zod.z.number(),
|
|
7541
|
+
truncated: zod.z.boolean(),
|
|
7542
|
+
items: zod.z.array(loose),
|
|
7543
|
+
source
|
|
7544
|
+
}).passthrough();
|
|
7545
|
+
var mcpContinuumDaoMarketplaceListOutputSchema = zod.z.object({
|
|
7546
|
+
items: zod.z.array(loose),
|
|
7547
|
+
nextCursor: zod.z.string().nullable().optional(),
|
|
7548
|
+
source
|
|
7549
|
+
}).passthrough();
|
|
7550
|
+
var mcpContinuumDaoMarketplaceConfigOutputSchema = zod.z.object({ source }).passthrough();
|
|
7551
|
+
var mcpContinuumDaoMarketplaceTokenOutputSchema = zod.z.object({ source }).passthrough();
|
|
7552
|
+
var mcpContinuumDaoMarketplaceActivityOutputSchema = zod.z.object({
|
|
7553
|
+
address: zod.z.string(),
|
|
7554
|
+
orders: zod.z.array(loose),
|
|
7555
|
+
auctions: zod.z.array(loose),
|
|
7556
|
+
source
|
|
7557
|
+
}).passthrough();
|
|
7558
|
+
var mcpContinuumDaoMarketplaceFeeOutputSchema = zod.z.object({ source }).passthrough();
|
|
7559
|
+
var wei = zod.z.union([zod.z.string(), zod.z.number()]);
|
|
7560
|
+
var deadline = zod.z.union([zod.z.string(), zod.z.number()]).describe("Unix seconds");
|
|
7561
|
+
var mcpContinuumDaoMarketplaceCreateListingInputSchema = mcpMultisignInput({
|
|
7562
|
+
tokenId: wei,
|
|
7563
|
+
paymentToken: evmAddressSchema,
|
|
7564
|
+
askWei: wei,
|
|
7565
|
+
deadline
|
|
7566
|
+
});
|
|
7567
|
+
var mcpContinuumDaoMarketplaceDelistInputSchema = mcpMultisignInput({ tokenId: wei });
|
|
7568
|
+
var mcpContinuumDaoMarketplaceFulfillListingInputSchema = mcpMultisignInput({
|
|
7569
|
+
tokenId: wei,
|
|
7570
|
+
seller: evmAddressSchema,
|
|
7571
|
+
paymentToken: evmAddressSchema,
|
|
7572
|
+
priceWei: wei
|
|
7573
|
+
});
|
|
7574
|
+
var mcpContinuumDaoMarketplaceCreateOfferingInputSchema = mcpMultisignInput({
|
|
7575
|
+
tokenId: wei,
|
|
7576
|
+
paymentToken: evmAddressSchema,
|
|
7577
|
+
bidWei: wei,
|
|
7578
|
+
deadline
|
|
7579
|
+
});
|
|
7580
|
+
var mcpContinuumDaoMarketplaceRescindInputSchema = mcpMultisignInput({ tokenId: wei });
|
|
7581
|
+
var mcpContinuumDaoMarketplaceFulfillOfferingInputSchema = mcpMultisignInput({
|
|
7582
|
+
tokenId: wei,
|
|
7583
|
+
buyer: evmAddressSchema,
|
|
7584
|
+
paymentToken: evmAddressSchema,
|
|
7585
|
+
priceWei: wei
|
|
7586
|
+
});
|
|
7587
|
+
var mcpContinuumDaoMarketplaceCreateAuctionInputSchema = mcpMultisignInput({
|
|
7588
|
+
tokenId: wei,
|
|
7589
|
+
paymentToken: evmAddressSchema,
|
|
7590
|
+
deadline,
|
|
7591
|
+
reserveWei: wei,
|
|
7592
|
+
minIncrementWei: wei
|
|
7593
|
+
});
|
|
7594
|
+
var mcpContinuumDaoMarketplaceCancelAuctionInputSchema = mcpMultisignInput({ tokenId: wei });
|
|
7595
|
+
var mcpContinuumDaoMarketplaceAuctionBidInputSchema = mcpMultisignInput({
|
|
7596
|
+
tokenId: wei,
|
|
7597
|
+
seller: evmAddressSchema,
|
|
7598
|
+
priceWei: wei
|
|
7599
|
+
});
|
|
7600
|
+
var mcpContinuumDaoMarketplaceSettleAuctionInputSchema = mcpMultisignInput({
|
|
7601
|
+
tokenId: wei,
|
|
7602
|
+
seller: evmAddressSchema
|
|
7603
|
+
});
|
|
7604
|
+
|
|
7605
|
+
// src/agent/mcpMarketplaceTools.ts
|
|
7606
|
+
var PROTOCOL = "continuum-dao-marketplace";
|
|
7607
|
+
var IMPORT_PATH = "protocols/evm/continuum-dao";
|
|
7608
|
+
function defineRead(def) {
|
|
7609
|
+
return {
|
|
7610
|
+
name: def.name,
|
|
7611
|
+
actionId: def.actionId,
|
|
7612
|
+
protocolId: PROTOCOL,
|
|
7613
|
+
chainCategory: "evm",
|
|
7614
|
+
description: def.description,
|
|
7615
|
+
prerequisites: def.prerequisites,
|
|
7616
|
+
followUp: def.followUp,
|
|
7617
|
+
handler: { importPath: IMPORT_PATH, exportName: def.exportName },
|
|
7618
|
+
inputZod: def.inputZod,
|
|
7619
|
+
outputZod: def.outputZod,
|
|
7620
|
+
inputSchema: zodSchemaToMcpJsonSchema(def.inputZod),
|
|
7621
|
+
outputSchema: zodSchemaToMcpJsonSchema(def.outputZod),
|
|
7622
|
+
parseInput: (data) => def.inputZod.parse(data),
|
|
7623
|
+
parseOutput: (data) => def.outputZod.parse(data)
|
|
7624
|
+
};
|
|
7625
|
+
}
|
|
7626
|
+
function defineWrite(def) {
|
|
7627
|
+
const meta = withMultisignSubmitMcpMeta(def.description, MCP_MULTISIGN_SUBMIT_FOLLOW_UP);
|
|
7628
|
+
const handler = { importPath: IMPORT_PATH, exportName: def.exportName };
|
|
7629
|
+
return {
|
|
7630
|
+
name: def.name,
|
|
7631
|
+
actionId: def.actionId,
|
|
7632
|
+
protocolId: PROTOCOL,
|
|
7633
|
+
chainCategory: "evm",
|
|
7634
|
+
description: meta.description,
|
|
7635
|
+
prerequisites: def.prerequisites,
|
|
7636
|
+
followUp: meta.followUp,
|
|
7637
|
+
handler,
|
|
7638
|
+
inputZod: def.inputZod,
|
|
7639
|
+
outputZod: mcpServerSubmitOutputSchema,
|
|
7640
|
+
inputSchema: agentFacingMultisignJsonSchema(def.inputZod),
|
|
7641
|
+
outputSchema: zodSchemaToMcpJsonSchema(mcpServerSubmitOutputSchema),
|
|
7642
|
+
parseInput: (data) => def.inputZod.parse(data),
|
|
7643
|
+
parseOutput: (data) => mcpServerSubmitOutputSchema.parse(data)
|
|
7644
|
+
};
|
|
7645
|
+
}
|
|
7646
|
+
var MCP_MARKETPLACE_TOOL_DEFINITIONS = [
|
|
7647
|
+
defineRead({
|
|
7648
|
+
name: "ctm_continuum_dao_marketplace_fetch_config",
|
|
7649
|
+
actionId: "continuum-dao-marketplace.fetch-config",
|
|
7650
|
+
description: "Marketplace config: payment tokens, WETH, duration bounds, fee tiers. Falls back to the Linea contract when the API is down.",
|
|
7651
|
+
prerequisites: ["chainId 59144", "rpcUrl when the API may be offline"],
|
|
7652
|
+
followUp: ["ctm_continuum_dao_marketplace_search", "ctm_continuum_dao_marketplace_fetch_listings", "ctm_continuum_dao_marketplace_fetch_auctions"],
|
|
7653
|
+
inputZod: mcpContinuumDaoMarketplaceFetchConfigInputSchema,
|
|
7654
|
+
outputZod: mcpContinuumDaoMarketplaceConfigOutputSchema,
|
|
7655
|
+
exportName: "fetchContinuumDaoMarketplaceConfig"
|
|
7656
|
+
}),
|
|
7657
|
+
defineRead({
|
|
7658
|
+
name: "ctm_continuum_dao_marketplace_fee_alternative",
|
|
7659
|
+
actionId: "continuum-dao-marketplace.fee-alternative",
|
|
7660
|
+
description: "Alternative to paying a KeyGen month in the fee token or CTM. Returns the live monthly fee, 12 times that fee, the veCTM threshold, and one direct listing whose locked CTM and voting power are both above the threshold. Auctions are excluded. Relay the summary, then continue the paid month. Buy the listing only if the user chooses it. Skip this when the month is already waived.",
|
|
7661
|
+
prerequisites: ["rpcUrl", "payment fee or ctm"],
|
|
7662
|
+
followUp: ["ctm_continuum_dao_marketplace_build_fulfill_listing_multisign"],
|
|
7663
|
+
inputZod: mcpContinuumDaoMarketplaceFeeAlternativeInputSchema,
|
|
7664
|
+
outputZod: mcpContinuumDaoMarketplaceFeeAlternativeOutputSchema,
|
|
7665
|
+
exportName: "quoteContinuumDaoMarketplaceFeeAlternative"
|
|
7666
|
+
}),
|
|
7667
|
+
defineRead({
|
|
7668
|
+
name: "ctm_continuum_dao_marketplace_search",
|
|
7669
|
+
actionId: "continuum-dao-marketplace.search",
|
|
7670
|
+
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 to drop veCTMs this KeyGen sells. Use this to choose a buy. Do not fetch the raw listing page and then offer to sort it.",
|
|
7671
|
+
prerequisites: ["chainId 59144", "rpcUrl when lock snapshots are missing"],
|
|
7672
|
+
followUp: ["ctm_continuum_dao_marketplace_build_fulfill_listing_multisign", "ctm_continuum_dao_marketplace_build_auction_bid_multisign"],
|
|
7673
|
+
inputZod: mcpContinuumDaoMarketplaceSearchInputSchema,
|
|
7674
|
+
outputZod: mcpContinuumDaoMarketplaceSearchOutputSchema,
|
|
7675
|
+
exportName: "searchContinuumDaoMarketplace"
|
|
7676
|
+
}),
|
|
7677
|
+
defineRead({
|
|
7678
|
+
name: "ctm_continuum_dao_marketplace_fetch_listings",
|
|
7679
|
+
actionId: "continuum-dao-marketplace.fetch-listings",
|
|
7680
|
+
description: "Unfiltered page of open veCTM listings, created order, up to 100, with nextCursor. includeInactive adds past sales. To choose a buy by price, locked CTM, or unlock time, use search instead.",
|
|
7681
|
+
prerequisites: ["chainId 59144"],
|
|
7682
|
+
followUp: ["ctm_continuum_dao_marketplace_build_fulfill_listing_multisign"],
|
|
7683
|
+
inputZod: mcpContinuumDaoMarketplaceFetchListingsInputSchema,
|
|
7684
|
+
outputZod: mcpContinuumDaoMarketplaceListOutputSchema,
|
|
7685
|
+
exportName: "fetchContinuumDaoMarketplaceListings"
|
|
7686
|
+
}),
|
|
7687
|
+
defineRead({
|
|
7688
|
+
name: "ctm_continuum_dao_marketplace_fetch_offerings",
|
|
7689
|
+
actionId: "continuum-dao-marketplace.fetch-offerings",
|
|
7690
|
+
description: "Open veCTM offerings. includeInactive adds fulfilled and rescinded rows. API first, then marketplace logs.",
|
|
7691
|
+
prerequisites: ["chainId 59144"],
|
|
7692
|
+
followUp: ["ctm_continuum_dao_marketplace_build_fulfill_offering_multisign"],
|
|
7693
|
+
inputZod: mcpContinuumDaoMarketplaceFetchOfferingsInputSchema,
|
|
7694
|
+
outputZod: mcpContinuumDaoMarketplaceListOutputSchema,
|
|
7695
|
+
exportName: "fetchContinuumDaoMarketplaceOfferings"
|
|
7696
|
+
}),
|
|
7697
|
+
defineRead({
|
|
7698
|
+
name: "ctm_continuum_dao_marketplace_fetch_auctions",
|
|
7699
|
+
actionId: "continuum-dao-marketplace.fetch-auctions",
|
|
7700
|
+
description: "Live veCTM auctions (Pending, Active, Complete). includeInactive adds sold, canceled, and expired. Each auction includes bids.",
|
|
7701
|
+
prerequisites: ["chainId 59144"],
|
|
7702
|
+
followUp: ["ctm_continuum_dao_marketplace_build_auction_bid_multisign", "ctm_continuum_dao_marketplace_build_settle_auction_multisign"],
|
|
7703
|
+
inputZod: mcpContinuumDaoMarketplaceFetchAuctionsInputSchema,
|
|
7704
|
+
outputZod: mcpContinuumDaoMarketplaceListOutputSchema,
|
|
7705
|
+
exportName: "fetchContinuumDaoMarketplaceAuctions"
|
|
7706
|
+
}),
|
|
7707
|
+
defineRead({
|
|
7708
|
+
name: "ctm_continuum_dao_marketplace_fetch_token",
|
|
7709
|
+
actionId: "continuum-dao-marketplace.fetch-token",
|
|
7710
|
+
description: "One veCTM: live listing, offerings, and auction, plus history of closed sales and auctions with bids.",
|
|
7711
|
+
prerequisites: ["tokenId"],
|
|
7712
|
+
followUp: ["ctm_continuum_dao_marketplace_fetch_auctions"],
|
|
7713
|
+
inputZod: mcpContinuumDaoMarketplaceFetchTokenInputSchema,
|
|
7714
|
+
outputZod: mcpContinuumDaoMarketplaceTokenOutputSchema,
|
|
7715
|
+
exportName: "fetchContinuumDaoMarketplaceToken"
|
|
7716
|
+
}),
|
|
7717
|
+
defineRead({
|
|
7718
|
+
name: "ctm_continuum_dao_marketplace_fetch_activity",
|
|
7719
|
+
actionId: "continuum-dao-marketplace.fetch-activity",
|
|
7720
|
+
description: "One address\u2019s marketplace orders and auctions, including past sales and bids.",
|
|
7721
|
+
prerequisites: ["address"],
|
|
7722
|
+
followUp: ["ctm_continuum_dao_marketplace_fetch_token"],
|
|
7723
|
+
inputZod: mcpContinuumDaoMarketplaceFetchActivityInputSchema,
|
|
7724
|
+
outputZod: mcpContinuumDaoMarketplaceActivityOutputSchema,
|
|
7725
|
+
exportName: "fetchContinuumDaoMarketplaceActivity"
|
|
7726
|
+
}),
|
|
7727
|
+
defineRead({
|
|
7728
|
+
name: "ctm_continuum_dao_marketplace_fetch_fee_preview",
|
|
7729
|
+
actionId: "continuum-dao-marketplace.fetch-fee-preview",
|
|
7730
|
+
description: "Protocol fee for a veCTM price. Uses the API, then on-chain fee tiers.",
|
|
7731
|
+
prerequisites: ["tokenId", "price wei"],
|
|
7732
|
+
followUp: ["ctm_continuum_dao_marketplace_build_create_listing_multisign"],
|
|
7733
|
+
inputZod: mcpContinuumDaoMarketplaceFetchFeePreviewInputSchema,
|
|
7734
|
+
outputZod: mcpContinuumDaoMarketplaceFeeOutputSchema,
|
|
7735
|
+
exportName: "fetchContinuumDaoMarketplaceFeePreview"
|
|
7736
|
+
}),
|
|
7737
|
+
defineWrite({
|
|
7738
|
+
name: "ctm_continuum_dao_marketplace_build_create_listing_multisign",
|
|
7739
|
+
actionId: "continuum-dao-marketplace.create-listing",
|
|
7740
|
+
description: "List a veCTM. Approves the marketplace for the token id when needed. Linea only.",
|
|
7741
|
+
prerequisites: ["keyGen", "tokenId owned by the KeyGen", "askWei", "deadline"],
|
|
7742
|
+
inputZod: mcpContinuumDaoMarketplaceCreateListingInputSchema,
|
|
7743
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCreateListing"
|
|
7744
|
+
}),
|
|
7745
|
+
defineWrite({
|
|
7746
|
+
name: "ctm_continuum_dao_marketplace_build_delist_multisign",
|
|
7747
|
+
actionId: "continuum-dao-marketplace.delist",
|
|
7748
|
+
description: "Delist this KeyGen\u2019s open veCTM listing.",
|
|
7749
|
+
prerequisites: ["keyGen", "tokenId"],
|
|
7750
|
+
inputZod: mcpContinuumDaoMarketplaceDelistInputSchema,
|
|
7751
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceDelist"
|
|
7752
|
+
}),
|
|
7753
|
+
defineWrite({
|
|
7754
|
+
name: "ctm_continuum_dao_marketplace_build_fulfill_listing_multisign",
|
|
7755
|
+
actionId: "continuum-dao-marketplace.fulfill-listing",
|
|
7756
|
+
description: "Buy a listed veCTM. Refuses when this KeyGen already owns it or is the seller. WETH sends msg.value.",
|
|
7757
|
+
prerequisites: ["keyGen", "tokenId", "seller", "priceWei"],
|
|
7758
|
+
inputZod: mcpContinuumDaoMarketplaceFulfillListingInputSchema,
|
|
7759
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceFulfillListing"
|
|
7760
|
+
}),
|
|
7761
|
+
defineWrite({
|
|
7762
|
+
name: "ctm_continuum_dao_marketplace_build_create_offering_multisign",
|
|
7763
|
+
actionId: "continuum-dao-marketplace.create-offering",
|
|
7764
|
+
description: "Offer on a veCTM this KeyGen does not own. WETH sends msg.value and still approves WETH for later fulfillment.",
|
|
7765
|
+
prerequisites: ["keyGen", "tokenId", "bidWei", "deadline"],
|
|
7766
|
+
inputZod: mcpContinuumDaoMarketplaceCreateOfferingInputSchema,
|
|
7767
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCreateOffering"
|
|
7768
|
+
}),
|
|
7769
|
+
defineWrite({
|
|
7770
|
+
name: "ctm_continuum_dao_marketplace_build_rescind_multisign",
|
|
7771
|
+
actionId: "continuum-dao-marketplace.rescind",
|
|
7772
|
+
description: "Rescind this KeyGen\u2019s open offering.",
|
|
7773
|
+
prerequisites: ["keyGen", "tokenId"],
|
|
7774
|
+
inputZod: mcpContinuumDaoMarketplaceRescindInputSchema,
|
|
7775
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceRescind"
|
|
7776
|
+
}),
|
|
7777
|
+
defineWrite({
|
|
7778
|
+
name: "ctm_continuum_dao_marketplace_build_fulfill_offering_multisign",
|
|
7779
|
+
actionId: "continuum-dao-marketplace.fulfill-offering",
|
|
7780
|
+
description: "Accept an offering on a veCTM this KeyGen owns. Refuses an attached KeyGen.",
|
|
7781
|
+
prerequisites: ["keyGen", "tokenId", "buyer", "priceWei"],
|
|
7782
|
+
inputZod: mcpContinuumDaoMarketplaceFulfillOfferingInputSchema,
|
|
7783
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceFulfillOffering"
|
|
7784
|
+
}),
|
|
7785
|
+
defineWrite({
|
|
7786
|
+
name: "ctm_continuum_dao_marketplace_build_create_auction_multisign",
|
|
7787
|
+
actionId: "continuum-dao-marketplace.create-auction",
|
|
7788
|
+
description: "Start an auction and escrow the veCTM. Refuses an attached KeyGen.",
|
|
7789
|
+
prerequisites: ["keyGen", "tokenId", "reserveWei", "minIncrementWei", "deadline"],
|
|
7790
|
+
inputZod: mcpContinuumDaoMarketplaceCreateAuctionInputSchema,
|
|
7791
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCreateAuction"
|
|
7792
|
+
}),
|
|
7793
|
+
defineWrite({
|
|
7794
|
+
name: "ctm_continuum_dao_marketplace_build_cancel_auction_multisign",
|
|
7795
|
+
actionId: "continuum-dao-marketplace.cancel-auction",
|
|
7796
|
+
description: "Cancel a pending auction that has no bids. The veCTM returns to the seller.",
|
|
7797
|
+
prerequisites: ["keyGen", "tokenId"],
|
|
7798
|
+
inputZod: mcpContinuumDaoMarketplaceCancelAuctionInputSchema,
|
|
7799
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceCancelAuction"
|
|
7800
|
+
}),
|
|
7801
|
+
defineWrite({
|
|
7802
|
+
name: "ctm_continuum_dao_marketplace_build_auction_bid_multisign",
|
|
7803
|
+
actionId: "continuum-dao-marketplace.auction-bid",
|
|
7804
|
+
description: "Bid on a live auction. Refuses when this KeyGen is the seller or already owns the veCTM.",
|
|
7805
|
+
prerequisites: ["keyGen", "tokenId", "seller", "priceWei"],
|
|
7806
|
+
inputZod: mcpContinuumDaoMarketplaceAuctionBidInputSchema,
|
|
7807
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceAuctionBid"
|
|
7808
|
+
}),
|
|
7809
|
+
defineWrite({
|
|
7810
|
+
name: "ctm_continuum_dao_marketplace_build_settle_auction_multisign",
|
|
7811
|
+
actionId: "continuum-dao-marketplace.settle-auction",
|
|
7812
|
+
description: "Settle a completed or expired auction. A completed auction transfers the veCTM to the highest bidder.",
|
|
7813
|
+
prerequisites: ["keyGen", "tokenId", "seller"],
|
|
7814
|
+
inputZod: mcpContinuumDaoMarketplaceSettleAuctionInputSchema,
|
|
7815
|
+
exportName: "buildEvmMultisignBodyContinuumDaoMarketplaceSettleAuction"
|
|
6958
7816
|
})
|
|
6959
7817
|
];
|
|
6960
7818
|
|
|
@@ -9408,11 +10266,203 @@ var CORE_MCP_TOOL_DEFINITIONS = [
|
|
|
9408
10266
|
handler: { importPath: "protocols/evm/derive", exportName: "deriveFetchOpenOrdersSummary" },
|
|
9409
10267
|
inputZod: mcpDeriveFetchOpenOrdersInputSchema,
|
|
9410
10268
|
outputZod: mcpDeriveFetchOpenOrdersOutputSchema
|
|
10269
|
+
}),
|
|
10270
|
+
defineMcpTool({
|
|
10271
|
+
name: "ctm_hyperliquid_outcome_fetch_markets",
|
|
10272
|
+
actionId: "hyperliquidOutcome.fetch-markets",
|
|
10273
|
+
protocolId: "hyperliquidOutcome",
|
|
10274
|
+
chainCategory: "evm",
|
|
10275
|
+
description: "Live Hyperliquid HIP-4 outcome markets from outcomeMeta, with Yes/No mids. Optional query substring. Chain 999.",
|
|
10276
|
+
prerequisites: ["load_defi_protocol hyperliquidOutcome"],
|
|
10277
|
+
followUp: ["ctm_hyperliquid_outcome_fetch_market", "ctm_hyperliquid_outcome_build_order_multisign"],
|
|
10278
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "hyperliquidOutcomeFetchMarketsSummary" },
|
|
10279
|
+
inputZod: mcpHyperliquidOutcomeFetchMarketsInputSchema,
|
|
10280
|
+
outputZod: mcpHyperliquidOutcomeFetchMarketsOutputSchema
|
|
10281
|
+
}),
|
|
10282
|
+
defineMcpTool({
|
|
10283
|
+
name: "ctm_hyperliquid_outcome_fetch_market",
|
|
10284
|
+
actionId: "hyperliquidOutcome.fetch-market",
|
|
10285
|
+
protocolId: "hyperliquidOutcome",
|
|
10286
|
+
chainCategory: "evm",
|
|
10287
|
+
description: "One Hyperliquid outcome market plus both Yes and No order books.",
|
|
10288
|
+
prerequisites: ["load_defi_protocol hyperliquidOutcome", "outcome id"],
|
|
10289
|
+
followUp: ["ctm_hyperliquid_outcome_build_order_multisign"],
|
|
10290
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "hyperliquidOutcomeFetchMarketSummary" },
|
|
10291
|
+
inputZod: mcpHyperliquidOutcomeFetchMarketInputSchema,
|
|
10292
|
+
outputZod: mcpHyperliquidOutcomeFetchMarketOutputSchema
|
|
10293
|
+
}),
|
|
10294
|
+
defineMcpTool({
|
|
10295
|
+
name: "ctm_hyperliquid_outcome_fetch_orderbook",
|
|
10296
|
+
actionId: "hyperliquidOutcome.fetch-orderbook",
|
|
10297
|
+
protocolId: "hyperliquidOutcome",
|
|
10298
|
+
chainCategory: "evm",
|
|
10299
|
+
description: "l2Book for one Hyperliquid outcome side (default yes).",
|
|
10300
|
+
prerequisites: ["load_defi_protocol hyperliquidOutcome", "outcome id"],
|
|
10301
|
+
followUp: ["ctm_hyperliquid_outcome_build_order_multisign"],
|
|
10302
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "hyperliquidOutcomeFetchOrderbookSummary" },
|
|
10303
|
+
inputZod: mcpHyperliquidOutcomeFetchOrderbookInputSchema,
|
|
10304
|
+
outputZod: mcpHyperliquidOutcomeFetchOrderbookOutputSchema
|
|
10305
|
+
}),
|
|
10306
|
+
defineMcpTool({
|
|
10307
|
+
name: "ctm_hyperliquid_outcome_fetch_positions",
|
|
10308
|
+
actionId: "hyperliquidOutcome.fetch-positions",
|
|
10309
|
+
protocolId: "hyperliquidOutcome",
|
|
10310
|
+
chainCategory: "evm",
|
|
10311
|
+
description: "Quote balances and HIP-4 share balances (+encoding) for a HyperCore address. Not ERC20s \u2014 do not add_to_token_registry.",
|
|
10312
|
+
prerequisites: ["load_defi_protocol hyperliquidOutcome", "user address"],
|
|
10313
|
+
followUp: ["ctm_hyperliquid_outcome_build_merge_multisign"],
|
|
10314
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "hyperliquidOutcomeFetchPositionsSummary" },
|
|
10315
|
+
inputZod: mcpHyperliquidOutcomeFetchAccountInputSchema,
|
|
10316
|
+
outputZod: mcpHyperliquidOutcomeFetchPositionsOutputSchema
|
|
10317
|
+
}),
|
|
10318
|
+
defineMcpTool({
|
|
10319
|
+
name: "ctm_hyperliquid_outcome_fetch_open_orders",
|
|
10320
|
+
actionId: "hyperliquidOutcome.fetch-open-orders",
|
|
10321
|
+
protocolId: "hyperliquidOutcome",
|
|
10322
|
+
chainCategory: "evm",
|
|
10323
|
+
description: "Open Hyperliquid outcome orders (#encoding coins) for a user.",
|
|
10324
|
+
prerequisites: ["load_defi_protocol hyperliquidOutcome", "user address"],
|
|
10325
|
+
followUp: ["ctm_hyperliquid_outcome_build_cancel_multisign"],
|
|
10326
|
+
handler: { importPath: "protocols/evm/hyperliquidOutcome", exportName: "hyperliquidOutcomeFetchOpenOrdersSummary" },
|
|
10327
|
+
inputZod: mcpHyperliquidOutcomeFetchAccountInputSchema,
|
|
10328
|
+
outputZod: mcpHyperliquidOutcomeFetchOpenOrdersOutputSchema
|
|
10329
|
+
}),
|
|
10330
|
+
defineMcpTool({
|
|
10331
|
+
name: "search_prediction_markets",
|
|
10332
|
+
actionId: "prediction-markets.search",
|
|
10333
|
+
protocolId: "prediction-markets",
|
|
10334
|
+
chainCategory: "evm",
|
|
10335
|
+
description: 'Venue-agnostic prediction market search (Trueo on Base and Hyperliquid outcome markets). Pass the operator topic verbatim as query. Omit venues to search both. Restrict with venues ["trueo"] or ["hyperliquid"]. Do not set trending when query is set. If hasMore, page Trueo with offset/nextOffset. Hyperliquid matches are included on the first page. After a pick, get_prediction_market (venue from the row). Trueo writes: load_defi_protocol trueo. Hyperliquid bets: load_defi_protocol hyperliquidOutcome.',
|
|
10336
|
+
prerequisites: [],
|
|
10337
|
+
followUp: ["get_prediction_market", "load_defi_protocol", "get_defi_protocol_skill"],
|
|
10338
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "searchPredictionMarketsSummary" },
|
|
10339
|
+
inputZod: mcpSearchPredictionMarketsInputSchema,
|
|
10340
|
+
outputZod: mcpSearchPredictionMarketsOutputSchema
|
|
10341
|
+
}),
|
|
10342
|
+
defineMcpTool({
|
|
10343
|
+
name: "get_prediction_market",
|
|
10344
|
+
actionId: "prediction-markets.get",
|
|
10345
|
+
protocolId: "prediction-markets",
|
|
10346
|
+
chainCategory: "evm",
|
|
10347
|
+
description: "Full selected prediction market. venue defaults to trueo (market address). For Hyperliquid pass venue hyperliquid and venueMarketId = outcome id. Does not require load_defi_protocol. Trueo writes stay behind load_defi_protocol trueo. Hyperliquid bets stay behind load_defi_protocol hyperliquidOutcome (ctm_hyperliquid_outcome_build_order_multisign). Yes/No Hyperliquid shares are not ERC20s \u2014 do not add_to_token_registry.",
|
|
10348
|
+
prerequisites: ["venueMarketId from search_prediction_markets"],
|
|
10349
|
+
followUp: [
|
|
10350
|
+
"load_defi_protocol",
|
|
10351
|
+
"get_defi_protocol_skill",
|
|
10352
|
+
"ctm_trueo_build_wrap_tyd_multisign",
|
|
10353
|
+
"ctm_trueo_build_mint_multisign",
|
|
10354
|
+
"ctm_trueo_build_create_order_multisign",
|
|
10355
|
+
"ctm_trueo_build_swap_multisign",
|
|
10356
|
+
"ctm_trueo_build_burn_multisign",
|
|
10357
|
+
"ctm_trueo_build_redeem_multisign"
|
|
10358
|
+
],
|
|
10359
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "getPredictionMarketSummary" },
|
|
10360
|
+
inputZod: mcpGetPredictionMarketInputSchema,
|
|
10361
|
+
outputZod: mcpGetPredictionMarketOutputSchema
|
|
10362
|
+
}),
|
|
10363
|
+
defineMcpTool({
|
|
10364
|
+
name: "list_my_prediction_markets",
|
|
10365
|
+
actionId: "prediction-markets.my-holdings",
|
|
10366
|
+
protocolId: "prediction-markets",
|
|
10367
|
+
chainCategory: "evm",
|
|
10368
|
+
description: "Live Yes/No, trading window, and resolution for markets the user has bet on. Pass YES/NO tokenAddresses from get_token_registry and/or marketAddresses from prior bets. Does not require load_defi_protocol. After a bet, add_to_token_registry for the YES or NO token so it shows here. Exit: load_defi_protocol trueo then ctm_trueo_build_burn_multisign or ctm_trueo_build_redeem_multisign.",
|
|
10369
|
+
prerequisites: [],
|
|
10370
|
+
followUp: [
|
|
10371
|
+
"get_prediction_market",
|
|
10372
|
+
"add_to_token_registry",
|
|
10373
|
+
"load_defi_protocol",
|
|
10374
|
+
"ctm_trueo_build_burn_multisign",
|
|
10375
|
+
"ctm_trueo_build_redeem_multisign"
|
|
10376
|
+
],
|
|
10377
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "listMyPredictionMarketsSummary" },
|
|
10378
|
+
inputZod: mcpListMyPredictionMarketsInputSchema,
|
|
10379
|
+
outputZod: mcpListMyPredictionMarketsOutputSchema
|
|
10380
|
+
}),
|
|
10381
|
+
defineMcpTool({
|
|
10382
|
+
name: "ctm_trueo_fetch_categories",
|
|
10383
|
+
actionId: "trueo.fetch-categories",
|
|
10384
|
+
protocolId: "trueo",
|
|
10385
|
+
chainCategory: "evm",
|
|
10386
|
+
description: "Trueo category chips (Politics, Crypto, Sports, \u2026). Use as category on search.",
|
|
10387
|
+
prerequisites: ["load_defi_protocol trueo"],
|
|
10388
|
+
followUp: ["ctm_trueo_search_markets", "ctm_trueo_fetch_trending"],
|
|
10389
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "trueoFetchCategoriesSummary" },
|
|
10390
|
+
inputZod: mcpTrueoFetchCategoriesInputSchema,
|
|
10391
|
+
outputZod: mcpTrueoFetchCategoriesOutputSchema
|
|
10392
|
+
}),
|
|
10393
|
+
defineMcpTool({
|
|
10394
|
+
name: "ctm_trueo_fetch_trending",
|
|
10395
|
+
actionId: "trueo.fetch-trending",
|
|
10396
|
+
protocolId: "trueo",
|
|
10397
|
+
chainCategory: "evm",
|
|
10398
|
+
description: "Trueo trending on Base (max 10; API does not page). More markets: ctm_trueo_search_markets with offset=0. Default: live and recently finished (14 days).",
|
|
10399
|
+
prerequisites: ["load_defi_protocol trueo"],
|
|
10400
|
+
followUp: ["ctm_trueo_fetch_market"],
|
|
10401
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "trueoFetchTrendingSummary" },
|
|
10402
|
+
inputZod: mcpTrueoFetchTrendingInputSchema,
|
|
10403
|
+
outputZod: mcpTrueoFetchTrendingOutputSchema
|
|
10404
|
+
}),
|
|
10405
|
+
defineMcpTool({
|
|
10406
|
+
name: "ctm_trueo_search_markets",
|
|
10407
|
+
actionId: "trueo.search-markets",
|
|
10408
|
+
protocolId: "trueo",
|
|
10409
|
+
chainCategory: "evm",
|
|
10410
|
+
description: "Trueo-only search (query + category), pages of 10. Same rows as search_prediction_markets. If hasMore, pass nextOffset and excludeAddresses of listed addresses. Default: live and recently finished (14 days).",
|
|
10411
|
+
prerequisites: ["load_defi_protocol trueo"],
|
|
10412
|
+
followUp: ["ctm_trueo_fetch_market"],
|
|
10413
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "trueoSearchMarketsSummary" },
|
|
10414
|
+
inputZod: mcpTrueoSearchMarketsInputSchema,
|
|
10415
|
+
outputZod: mcpTrueoSearchMarketsOutputSchema
|
|
10416
|
+
}),
|
|
10417
|
+
defineMcpTool({
|
|
10418
|
+
name: "ctm_trueo_fetch_market",
|
|
10419
|
+
actionId: "trueo.fetch-market",
|
|
10420
|
+
protocolId: "trueo",
|
|
10421
|
+
chainCategory: "evm",
|
|
10422
|
+
description: "Selected Trueo market: rules, source, Yes/No %, TVL, size, tokens, pools, endOfTrading. Copy address for build_*. Writes: ctm_trueo_build_mint_multisign, ctm_trueo_build_create_order_multisign, ctm_trueo_build_swap_multisign, ctm_trueo_build_burn_multisign, ctm_trueo_build_redeem_multisign (after load_defi_protocol trueo).",
|
|
10423
|
+
prerequisites: ["marketAddress from search or trending"],
|
|
10424
|
+
followUp: [
|
|
10425
|
+
"ctm_trueo_fetch_chance_series",
|
|
10426
|
+
"ctm_trueo_fetch_orderbook",
|
|
10427
|
+
"ctm_trueo_build_mint_multisign",
|
|
10428
|
+
"ctm_trueo_build_create_order_multisign",
|
|
10429
|
+
"ctm_trueo_build_swap_multisign",
|
|
10430
|
+
"ctm_trueo_build_burn_multisign",
|
|
10431
|
+
"ctm_trueo_build_redeem_multisign"
|
|
10432
|
+
],
|
|
10433
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "trueoFetchMarketSummary" },
|
|
10434
|
+
inputZod: mcpTrueoFetchMarketInputSchema,
|
|
10435
|
+
outputZod: mcpTrueoFetchMarketOutputSchema
|
|
10436
|
+
}),
|
|
10437
|
+
defineMcpTool({
|
|
10438
|
+
name: "ctm_trueo_fetch_chance_series",
|
|
10439
|
+
actionId: "trueo.fetch-chance-series",
|
|
10440
|
+
protocolId: "trueo",
|
|
10441
|
+
chainCategory: "evm",
|
|
10442
|
+
description: "Yes/No chance samples for a pool id from fetch_market. Not candlesticks. Default hourly (3600s) over 14 days. 1H/1D/1W/All coerce to hourly.",
|
|
10443
|
+
prerequisites: ["poolId from ctm_trueo_fetch_market"],
|
|
10444
|
+
followUp: ["ctm_trueo_build_swap_multisign"],
|
|
10445
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "trueoFetchChanceSeriesSummary" },
|
|
10446
|
+
inputZod: mcpTrueoFetchChanceSeriesInputSchema,
|
|
10447
|
+
outputZod: mcpTrueoFetchChanceSeriesOutputSchema
|
|
10448
|
+
}),
|
|
10449
|
+
defineMcpTool({
|
|
10450
|
+
name: "ctm_trueo_fetch_orderbook",
|
|
10451
|
+
actionId: "trueo.fetch-orderbook",
|
|
10452
|
+
protocolId: "trueo",
|
|
10453
|
+
chainCategory: "evm",
|
|
10454
|
+
description: "Yes/No depth: live tick, implied price, OrderManager pending rows when rpcUrl is set, recent trades.",
|
|
10455
|
+
prerequisites: ["marketAddress from ctm_trueo_fetch_market"],
|
|
10456
|
+
followUp: ["ctm_trueo_build_swap_multisign", "ctm_trueo_build_create_order_multisign"],
|
|
10457
|
+
handler: { importPath: "protocols/evm/trueo", exportName: "trueoFetchOrderbookSummary" },
|
|
10458
|
+
inputZod: mcpTrueoFetchOrderbookInputSchema,
|
|
10459
|
+
outputZod: mcpTrueoFetchOrderbookOutputSchema
|
|
9411
10460
|
})
|
|
9412
10461
|
];
|
|
9413
10462
|
var MCP_TOOL_DEFINITIONS = [
|
|
9414
10463
|
...CORE_MCP_TOOL_DEFINITIONS,
|
|
9415
|
-
...MCP_PROTOCOL_TOOL_DEFINITIONS
|
|
10464
|
+
...MCP_PROTOCOL_TOOL_DEFINITIONS,
|
|
10465
|
+
...MCP_MARKETPLACE_TOOL_DEFINITIONS
|
|
9416
10466
|
];
|
|
9417
10467
|
function buildToolSchemaMap(kind) {
|
|
9418
10468
|
const out = {};
|
|
@@ -11233,12 +12283,52 @@ registerProtocolModule(aerodromeProtocolModule);
|
|
|
11233
12283
|
|
|
11234
12284
|
// src/protocols/evm/continuum-dao/index.ts
|
|
11235
12285
|
init_constants2();
|
|
12286
|
+
|
|
12287
|
+
// src/protocols/evm/continuum-dao/marketplaceModule.ts
|
|
12288
|
+
init_constants2();
|
|
12289
|
+
var common = ["keyGen", "purposeText", "useCustomGas"];
|
|
12290
|
+
var continuumDaoMarketplaceProtocolModule = {
|
|
12291
|
+
id: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID,
|
|
12292
|
+
chainCategory: "evm",
|
|
12293
|
+
isChainSupported(ctx) {
|
|
12294
|
+
if (ctx.chainCategory !== "evm") return false;
|
|
12295
|
+
const n = typeof ctx.chainId === "number" ? ctx.chainId : Number.parseInt(String(ctx.chainId), 10);
|
|
12296
|
+
return n === CONTINUUM_DAO_LINEA_CHAIN_ID;
|
|
12297
|
+
},
|
|
12298
|
+
isTokenSupported(token) {
|
|
12299
|
+
return token.category === "evm" && (token.kind === "erc20" || token.kind === "erc721");
|
|
12300
|
+
},
|
|
12301
|
+
actions: [
|
|
12302
|
+
{ id: "continuum-dao-marketplace.fetch-config", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Marketplace payment tokens, durations, and fees", commonParams: [], params: {} },
|
|
12303
|
+
{ id: "continuum-dao-marketplace.search", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Rank veCTMs for sale by price, locked CTM, or unlock time", commonParams: [], params: {} },
|
|
12304
|
+
{ id: "continuum-dao-marketplace.fee-alternative", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "One qualifying direct listing beside 12 times the KeyGen monthly fee", commonParams: [], params: {} },
|
|
12305
|
+
{ id: "continuum-dao-marketplace.fetch-listings", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Open listings, or past sales when includeInactive is set", commonParams: [], params: {} },
|
|
12306
|
+
{ id: "continuum-dao-marketplace.fetch-offerings", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Open offerings, or closed offers when includeInactive is set", commonParams: [], params: {} },
|
|
12307
|
+
{ id: "continuum-dao-marketplace.fetch-auctions", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Live auctions, or settled auctions when includeInactive is set. Each row includes bids.", commonParams: [], params: {} },
|
|
12308
|
+
{ id: "continuum-dao-marketplace.fetch-token", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "One veCTM: live orders plus history of sales and auctions", commonParams: [], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12309
|
+
{ id: "continuum-dao-marketplace.fetch-activity", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "An address\u2019s sales, buys, and auctions including bids", commonParams: [], params: { address: { type: "string", required: true, description: "KeyGen or wallet" } } },
|
|
12310
|
+
{ id: "continuum-dao-marketplace.fetch-fee-preview", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Protocol fee for a price and veCTM", commonParams: [], params: {} },
|
|
12311
|
+
{ id: "continuum-dao-marketplace.create-listing", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Approve veCTM if needed and create a listing", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" }, askWei: { type: "string", required: true, description: "Ask in payment-token wei" } } },
|
|
12312
|
+
{ id: "continuum-dao-marketplace.delist", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Delist an open listing", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12313
|
+
{ id: "continuum-dao-marketplace.fulfill-listing", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Buy a listed veCTM", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12314
|
+
{ id: "continuum-dao-marketplace.create-offering", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Make an offering on a veCTM", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12315
|
+
{ id: "continuum-dao-marketplace.rescind", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Rescind an open offering", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12316
|
+
{ id: "continuum-dao-marketplace.fulfill-offering", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Accept an offering on a veCTM you own", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12317
|
+
{ id: "continuum-dao-marketplace.create-auction", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Escrow a veCTM into an auction", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12318
|
+
{ id: "continuum-dao-marketplace.cancel-auction", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Cancel a pending auction with no bids", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12319
|
+
{ id: "continuum-dao-marketplace.auction-bid", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Bid on a live auction", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } },
|
|
12320
|
+
{ id: "continuum-dao-marketplace.settle-auction", protocolId: CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, chainCategory: "evm", description: "Settle a completed or expired auction", commonParams: [...common], params: { tokenId: { type: "string", required: true, description: "veCTM token id" } } }
|
|
12321
|
+
]
|
|
12322
|
+
};
|
|
12323
|
+
|
|
12324
|
+
// src/protocols/evm/continuum-dao/index.ts
|
|
11236
12325
|
init_constants2();
|
|
11237
12326
|
init_governance();
|
|
11238
12327
|
init_simulateProposal();
|
|
11239
12328
|
init_foundryProposalScript();
|
|
11240
12329
|
init_explainProposal();
|
|
11241
12330
|
init_forum();
|
|
12331
|
+
registerProtocolModule(continuumDaoMarketplaceProtocolModule);
|
|
11242
12332
|
var continuumDaoProtocolModule = {
|
|
11243
12333
|
id: CONTINUUM_DAO_PROTOCOL_ID,
|
|
11244
12334
|
chainCategory: "evm",
|
|
@@ -12616,6 +13706,169 @@ var deriveProtocolModule = {
|
|
|
12616
13706
|
]
|
|
12617
13707
|
};
|
|
12618
13708
|
registerProtocolModule(deriveProtocolModule);
|
|
13709
|
+
var TRUEO_PROTOCOL_ID = "trueo";
|
|
13710
|
+
var TRUEO_BASE_CHAIN_ID = 8453;
|
|
13711
|
+
var TRUEO_CHAIN_IDS = [TRUEO_BASE_CHAIN_ID];
|
|
13712
|
+
var TRUEO_TYD = viem.getAddress("0xb13CF163d916917d9cD6E836905cA5f12a1dEF4B");
|
|
13713
|
+
var TRUEO_TRUE = viem.getAddress("0x21CFCFc3d8F98fC728f48341D10Ad8283F6EB7AB");
|
|
13714
|
+
var TRUEO_USDC = viem.getAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913");
|
|
13715
|
+
viem.getAddress("0x61A98Bef11867c69489B91f340fE545eEfc695d7");
|
|
13716
|
+
viem.getAddress("0x1cdB1C43eB64e99780EA9d3C7162C23432C59a1A");
|
|
13717
|
+
viem.getAddress("0x0A1AFc2121B4441127a02DEF72928F61f564034a");
|
|
13718
|
+
viem.getAddress("0x6E08d24AEf78F6d1a97503F64E84fDF65f8125E1");
|
|
13719
|
+
viem.getAddress("0x3E83479B2276EcFb7C7181F67b5d092d3511e0C4");
|
|
13720
|
+
viem.getAddress("0x000000000022D473030F116dDEE9F6B43aC78BA3");
|
|
13721
|
+
function isTrueoChainSupported(chainId) {
|
|
13722
|
+
return TRUEO_CHAIN_IDS.includes(chainId);
|
|
13723
|
+
}
|
|
13724
|
+
|
|
13725
|
+
// src/protocols/evm/hyperliquidOutcome/api.ts
|
|
13726
|
+
var HYPERLIQUID_OUTCOME_PROTOCOL_ID = "hyperliquidOutcome";
|
|
13727
|
+
|
|
13728
|
+
// src/protocols/evm/trueo/index.ts
|
|
13729
|
+
var trueoProtocolModule = {
|
|
13730
|
+
id: TRUEO_PROTOCOL_ID,
|
|
13731
|
+
chainCategory: "evm",
|
|
13732
|
+
isChainSupported(ctx) {
|
|
13733
|
+
const id = typeof ctx.chainId === "string" ? Number(ctx.chainId) : ctx.chainId;
|
|
13734
|
+
return ctx.chainCategory === "evm" && isTrueoChainSupported(id);
|
|
13735
|
+
},
|
|
13736
|
+
isTokenSupported(token) {
|
|
13737
|
+
return token.category === "evm" && (token.kind === "erc20" || token.kind === "ctmerc20");
|
|
13738
|
+
},
|
|
13739
|
+
actions: [
|
|
13740
|
+
{
|
|
13741
|
+
id: "trueo.wrap-tyd",
|
|
13742
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13743
|
+
chainCategory: "evm",
|
|
13744
|
+
description: "Mint TYD by depositing Base USDC into the Yearn ERC-4626 vault",
|
|
13745
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13746
|
+
params: {}
|
|
13747
|
+
},
|
|
13748
|
+
{
|
|
13749
|
+
id: "trueo.unwrap-tyd",
|
|
13750
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13751
|
+
chainCategory: "evm",
|
|
13752
|
+
description: "Redeem TYD shares back to Base USDC",
|
|
13753
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13754
|
+
params: {}
|
|
13755
|
+
},
|
|
13756
|
+
{
|
|
13757
|
+
id: "trueo.mint",
|
|
13758
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13759
|
+
chainCategory: "evm",
|
|
13760
|
+
description: "Mint YES+NO from TYD (or USDC via adapter)",
|
|
13761
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13762
|
+
params: {}
|
|
13763
|
+
},
|
|
13764
|
+
{
|
|
13765
|
+
id: "trueo.burn",
|
|
13766
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13767
|
+
chainCategory: "evm",
|
|
13768
|
+
description: "Burn equal YES+NO back to TYD",
|
|
13769
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13770
|
+
params: {}
|
|
13771
|
+
},
|
|
13772
|
+
{
|
|
13773
|
+
id: "trueo.redeem",
|
|
13774
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13775
|
+
chainCategory: "evm",
|
|
13776
|
+
description: "Redeem winning outcome tokens after resolution",
|
|
13777
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13778
|
+
params: {}
|
|
13779
|
+
},
|
|
13780
|
+
{
|
|
13781
|
+
id: "trueo.swap",
|
|
13782
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13783
|
+
chainCategory: "evm",
|
|
13784
|
+
description: "Buy Yes or No with TYD via UniversalRouterAdapter V4 swap",
|
|
13785
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13786
|
+
params: {}
|
|
13787
|
+
},
|
|
13788
|
+
{
|
|
13789
|
+
id: "trueo.create-order",
|
|
13790
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13791
|
+
chainCategory: "evm",
|
|
13792
|
+
description: "Create an on-chain OrderManager limit order",
|
|
13793
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13794
|
+
params: {}
|
|
13795
|
+
},
|
|
13796
|
+
{
|
|
13797
|
+
id: "trueo.cancel-order",
|
|
13798
|
+
protocolId: TRUEO_PROTOCOL_ID,
|
|
13799
|
+
chainCategory: "evm",
|
|
13800
|
+
description: "Cancel an on-chain OrderManager order",
|
|
13801
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
13802
|
+
params: {}
|
|
13803
|
+
}
|
|
13804
|
+
]
|
|
13805
|
+
};
|
|
13806
|
+
registerProtocolModule(trueoProtocolModule);
|
|
13807
|
+
|
|
13808
|
+
// src/protocols/evm/hyperliquidOutcome/index.ts
|
|
13809
|
+
var hyperliquidOutcomeProtocolModule = {
|
|
13810
|
+
id: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13811
|
+
chainCategory: "evm",
|
|
13812
|
+
isChainSupported(ctx) {
|
|
13813
|
+
if (ctx.chainCategory !== "evm") return false;
|
|
13814
|
+
const chainId = typeof ctx.chainId === "number" ? ctx.chainId : Number(ctx.chainId);
|
|
13815
|
+
return Number.isFinite(chainId) && isHyperliquidChainSupported(chainId);
|
|
13816
|
+
},
|
|
13817
|
+
isTokenSupported(token) {
|
|
13818
|
+
return token.category === "evm" && token.kind === "native";
|
|
13819
|
+
},
|
|
13820
|
+
actions: [
|
|
13821
|
+
{
|
|
13822
|
+
id: "hyperliquidOutcome.order",
|
|
13823
|
+
protocolId: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13824
|
+
chainCategory: "evm",
|
|
13825
|
+
description: "Limit buy or sell a HIP-4 outcome side via Hyperliquid /exchange",
|
|
13826
|
+
commonParams: ["keyGen", "purposeText"],
|
|
13827
|
+
params: {}
|
|
13828
|
+
},
|
|
13829
|
+
{
|
|
13830
|
+
id: "hyperliquidOutcome.cancel",
|
|
13831
|
+
protocolId: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13832
|
+
chainCategory: "evm",
|
|
13833
|
+
description: "Cancel a resting HIP-4 outcome order",
|
|
13834
|
+
commonParams: ["keyGen", "purposeText"],
|
|
13835
|
+
params: {}
|
|
13836
|
+
},
|
|
13837
|
+
{
|
|
13838
|
+
id: "hyperliquidOutcome.split",
|
|
13839
|
+
protocolId: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13840
|
+
chainCategory: "evm",
|
|
13841
|
+
description: "Split quote tokens into Yes and No shares",
|
|
13842
|
+
commonParams: ["keyGen", "purposeText"],
|
|
13843
|
+
params: {}
|
|
13844
|
+
},
|
|
13845
|
+
{
|
|
13846
|
+
id: "hyperliquidOutcome.merge",
|
|
13847
|
+
protocolId: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13848
|
+
chainCategory: "evm",
|
|
13849
|
+
description: "Merge Yes and No shares back into quote tokens",
|
|
13850
|
+
commonParams: ["keyGen", "purposeText"],
|
|
13851
|
+
params: {}
|
|
13852
|
+
},
|
|
13853
|
+
{
|
|
13854
|
+
id: "hyperliquidOutcome.merge-question",
|
|
13855
|
+
protocolId: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13856
|
+
chainCategory: "evm",
|
|
13857
|
+
description: "Merge Yes shares across a question into quote tokens",
|
|
13858
|
+
commonParams: ["keyGen", "purposeText"],
|
|
13859
|
+
params: {}
|
|
13860
|
+
},
|
|
13861
|
+
{
|
|
13862
|
+
id: "hyperliquidOutcome.negate",
|
|
13863
|
+
protocolId: HYPERLIQUID_OUTCOME_PROTOCOL_ID,
|
|
13864
|
+
chainCategory: "evm",
|
|
13865
|
+
description: "Convert No shares of one outcome into Yes shares of the other outcomes",
|
|
13866
|
+
commonParams: ["keyGen", "purposeText"],
|
|
13867
|
+
params: {}
|
|
13868
|
+
}
|
|
13869
|
+
]
|
|
13870
|
+
};
|
|
13871
|
+
registerProtocolModule(hyperliquidOutcomeProtocolModule);
|
|
12619
13872
|
var skillsDir = path.join(path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('catalog.cjs', document.baseURI).href)))), "skills");
|
|
12620
13873
|
var SKILL_PROTOCOL_IDS = [
|
|
12621
13874
|
"aave-v4",
|
|
@@ -12634,8 +13887,11 @@ var SKILL_PROTOCOL_IDS = [
|
|
|
12634
13887
|
"aerodrome",
|
|
12635
13888
|
"pendle",
|
|
12636
13889
|
"continuum-dao",
|
|
13890
|
+
"continuum-dao-marketplace",
|
|
12637
13891
|
"compound-v3",
|
|
12638
13892
|
"derive",
|
|
13893
|
+
"trueo",
|
|
13894
|
+
"hyperliquidOutcome",
|
|
12639
13895
|
"yield-compare"
|
|
12640
13896
|
];
|
|
12641
13897
|
function getToolsForProtocol(protocolId) {
|
|
@@ -13004,6 +14260,17 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
13004
14260
|
}
|
|
13005
14261
|
}
|
|
13006
14262
|
}),
|
|
14263
|
+
hyperliquidOutcome: advisor("hyperliquidOutcome", "api_underlyings", {
|
|
14264
|
+
async supportedChainIds() {
|
|
14265
|
+
return [...HYPERLIQUID_SUPPORTED_CHAIN_IDS];
|
|
14266
|
+
},
|
|
14267
|
+
async supportedTokens() {
|
|
14268
|
+
return {
|
|
14269
|
+
tokens: [],
|
|
14270
|
+
notes: 'HIP-4 outcome markets on HyperCore (chainId 999). Yes/No shares are exchange balances, not ERC20s. Search with search_prediction_markets venues ["hyperliquid"].'
|
|
14271
|
+
};
|
|
14272
|
+
}
|
|
14273
|
+
}),
|
|
13007
14274
|
hyperliquid: advisor("hyperliquid", "api_underlyings", {
|
|
13008
14275
|
async supportedChainIds() {
|
|
13009
14276
|
return [...HYPERLIQUID_SUPPORTED_CHAIN_IDS];
|
|
@@ -13068,6 +14335,22 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
13068
14335
|
};
|
|
13069
14336
|
}
|
|
13070
14337
|
}),
|
|
14338
|
+
[CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID]: advisor(CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, "fixed_addresses", {
|
|
14339
|
+
async supportedChainIds() {
|
|
14340
|
+
return [59144];
|
|
14341
|
+
},
|
|
14342
|
+
async supportedTokens(chainId) {
|
|
14343
|
+
const ve = votingEscrowAddressOnEvmChain(chainId);
|
|
14344
|
+
const market = votingEscrowMarketplaceAddressOnEvmChain(chainId);
|
|
14345
|
+
const tokens = [];
|
|
14346
|
+
if (ve) tokens.push({ address: ve, symbol: "veCTM", roles: ["position_nft"] });
|
|
14347
|
+
if (market) tokens.push({ address: market, symbol: "veCTM-market", roles: ["protocol"] });
|
|
14348
|
+
return {
|
|
14349
|
+
tokens,
|
|
14350
|
+
notes: "Linea veCTM marketplace. Load continuum-dao-marketplace, not continuum-dao. Search ranks buys by locked CTM, unlock time, or price per CTM and returns a short list. fetch_listings is the unfiltered page. fetch_auctions is the live book; includeInactive adds settled auctions and each row includes bids. Do not buy or bid a veCTM this KeyGen already owns."
|
|
14351
|
+
};
|
|
14352
|
+
}
|
|
14353
|
+
}),
|
|
13071
14354
|
[COMPOUND_V3_PROTOCOL_ID]: advisor(COMPOUND_V3_PROTOCOL_ID, "api_underlyings", {
|
|
13072
14355
|
async supportedChainIds() {
|
|
13073
14356
|
return listCompoundV3SupportedChainIds();
|
|
@@ -13214,6 +14497,33 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
13214
14497
|
return false;
|
|
13215
14498
|
}
|
|
13216
14499
|
}
|
|
14500
|
+
}),
|
|
14501
|
+
[TRUEO_PROTOCOL_ID]: advisor(TRUEO_PROTOCOL_ID, "fixed_addresses", {
|
|
14502
|
+
async supportedChainIds() {
|
|
14503
|
+
return [TRUEO_BASE_CHAIN_ID];
|
|
14504
|
+
},
|
|
14505
|
+
async supportedTokens(chainId) {
|
|
14506
|
+
if (chainId !== TRUEO_BASE_CHAIN_ID) {
|
|
14507
|
+
return { tokens: [], notes: "Trueo is Base-only (chainId 8453)." };
|
|
14508
|
+
}
|
|
14509
|
+
return {
|
|
14510
|
+
tokens: [
|
|
14511
|
+
{ address: TRUEO_TYD, symbol: "TYD", decimals: 6, roles: ["payment"] },
|
|
14512
|
+
{ address: TRUEO_TRUE, symbol: "TRUE", decimals: 18, roles: ["governance"] },
|
|
14513
|
+
{ address: TRUEO_USDC, symbol: "USDC", decimals: 6, roles: ["adapter_asset"] }
|
|
14514
|
+
],
|
|
14515
|
+
notes: "Trueo prediction markets on Base. Payment is TYD. Outcome YES/NO tokens are per-market \u2014 use ctm_trueo_search_markets / fetch_market. Chat search: search_prediction_markets (no load required; default live/recent, includeAll for closed)."
|
|
14516
|
+
};
|
|
14517
|
+
},
|
|
14518
|
+
async isTokenSupported(chainId, address) {
|
|
14519
|
+
if (chainId !== TRUEO_BASE_CHAIN_ID) return false;
|
|
14520
|
+
try {
|
|
14521
|
+
const n = viem.getAddress(address).toLowerCase();
|
|
14522
|
+
return n === TRUEO_TYD.toLowerCase() || n === TRUEO_TRUE.toLowerCase() || n === TRUEO_USDC.toLowerCase();
|
|
14523
|
+
} catch {
|
|
14524
|
+
return false;
|
|
14525
|
+
}
|
|
14526
|
+
}
|
|
13217
14527
|
})
|
|
13218
14528
|
};
|
|
13219
14529
|
function getProtocolSupportAdvisor(protocolId) {
|
|
@@ -13224,25 +14534,6 @@ function listProtocolSupportAdvisorIds() {
|
|
|
13224
14534
|
}
|
|
13225
14535
|
|
|
13226
14536
|
// src/agent/catalog.ts
|
|
13227
|
-
registerProtocolModule(uniswapV4ProtocolModule);
|
|
13228
|
-
registerProtocolModule(curveDaoProtocolModule);
|
|
13229
|
-
registerProtocolModule(lidoProtocolModule);
|
|
13230
|
-
registerProtocolModule(ethenaProtocolModule);
|
|
13231
|
-
registerProtocolModule(mapleProtocolModule);
|
|
13232
|
-
registerProtocolModule(skyProtocolModule);
|
|
13233
|
-
registerProtocolModule(aaveV4ProtocolModule);
|
|
13234
|
-
registerProtocolModule(eulerV2ProtocolModule);
|
|
13235
|
-
registerProtocolModule(gmxProtocolModule);
|
|
13236
|
-
registerProtocolModule(hyperliquidProtocolModule);
|
|
13237
|
-
registerProtocolModule(arcusProtocolModule);
|
|
13238
|
-
registerProtocolModule(morphoProtocolModule);
|
|
13239
|
-
registerProtocolModule(circleCctpProtocolModule);
|
|
13240
|
-
registerProtocolModule(veniceProtocolModule);
|
|
13241
|
-
registerProtocolModule(aerodromeProtocolModule);
|
|
13242
|
-
registerProtocolModule(continuumDaoProtocolModule);
|
|
13243
|
-
registerProtocolModule(compoundV3ProtocolModule);
|
|
13244
|
-
registerProtocolModule(pendleProtocolModule);
|
|
13245
|
-
registerProtocolModule(deriveProtocolModule);
|
|
13246
14537
|
function getAgentCatalog() {
|
|
13247
14538
|
return {
|
|
13248
14539
|
protocols: getProtocolModules(),
|
|
@@ -13270,6 +14561,8 @@ function getAgentCatalog() {
|
|
|
13270
14561
|
compoundV3: compoundV3ProtocolModule,
|
|
13271
14562
|
pendle: pendleProtocolModule,
|
|
13272
14563
|
derive: deriveProtocolModule,
|
|
14564
|
+
trueo: trueoProtocolModule,
|
|
14565
|
+
hyperliquidOutcome: hyperliquidOutcomeProtocolModule,
|
|
13273
14566
|
/** Prefer getAgentCatalogForMcp() or getMcpToolDefinitions() for MCP servers. */
|
|
13274
14567
|
mcp: getAgentCatalogForMcp()
|
|
13275
14568
|
};
|
|
@@ -13284,6 +14577,7 @@ exports.MCP_TOOL_OUTPUT_SCHEMAS = MCP_TOOL_OUTPUT_SCHEMAS;
|
|
|
13284
14577
|
exports.MULTISIGN_OUTPUT_DOC = MULTISIGN_OUTPUT_DOC;
|
|
13285
14578
|
exports.MULTISIGN_SUBMIT_OUTPUT_DOC = MULTISIGN_SUBMIT_OUTPUT_DOC;
|
|
13286
14579
|
exports.PROTOCOL_SUPPORT_ADVISORS = PROTOCOL_SUPPORT_ADVISORS;
|
|
14580
|
+
exports.agentEvmChainIdSchema = agentEvmChainIdSchema;
|
|
13287
14581
|
exports.chainDetailSchema = chainDetailSchema;
|
|
13288
14582
|
exports.evmAddressSchema = evmAddressSchema;
|
|
13289
14583
|
exports.evmMultisignCommonInputSchema = evmMultisignCommonInputSchema;
|
|
@@ -13540,6 +14834,8 @@ exports.mcpEulerV2IsolatedBorrowInputSchema = mcpEulerV2IsolatedBorrowInputSchem
|
|
|
13540
14834
|
exports.mcpEulerV2IsolatedLendInputSchema = mcpEulerV2IsolatedLendInputSchema;
|
|
13541
14835
|
exports.mcpEulerV2MerklClaimInputSchema = mcpEulerV2MerklClaimInputSchema;
|
|
13542
14836
|
exports.mcpEulerV2VaultWithdrawInputSchema = mcpEulerV2VaultWithdrawInputSchema;
|
|
14837
|
+
exports.mcpGetPredictionMarketInputSchema = mcpGetPredictionMarketInputSchema;
|
|
14838
|
+
exports.mcpGetPredictionMarketOutputSchema = mcpGetPredictionMarketOutputSchema;
|
|
13543
14839
|
exports.mcpGmxCancelInputSchema = mcpGmxCancelInputSchema;
|
|
13544
14840
|
exports.mcpGmxDecreaseInputSchema = mcpGmxDecreaseInputSchema;
|
|
13545
14841
|
exports.mcpGmxFetchGmApyInputSchema = mcpGmxFetchGmApyInputSchema;
|
|
@@ -13618,6 +14914,8 @@ exports.mcpLidoRequestWithdrawalsInputSchema = mcpLidoRequestWithdrawalsInputSch
|
|
|
13618
14914
|
exports.mcpLidoSubmitInputSchema = mcpLidoSubmitInputSchema;
|
|
13619
14915
|
exports.mcpLidoUnwrapWstEthInputSchema = mcpLidoUnwrapWstEthInputSchema;
|
|
13620
14916
|
exports.mcpLidoWrapStEthInputSchema = mcpLidoWrapStEthInputSchema;
|
|
14917
|
+
exports.mcpListMyPredictionMarketsInputSchema = mcpListMyPredictionMarketsInputSchema;
|
|
14918
|
+
exports.mcpListMyPredictionMarketsOutputSchema = mcpListMyPredictionMarketsOutputSchema;
|
|
13621
14919
|
exports.mcpMapleDepositInputSchema = mcpMapleDepositInputSchema;
|
|
13622
14920
|
exports.mcpMapleFetchMarketInputSchema = mcpMapleFetchMarketInputSchema;
|
|
13623
14921
|
exports.mcpMapleFetchMarketOutputSchema = mcpMapleFetchMarketOutputSchema;
|
|
@@ -13685,6 +14983,9 @@ exports.mcpPendleQuoteRemoveLiquidityInputSchema = mcpPendleQuoteRemoveLiquidity
|
|
|
13685
14983
|
exports.mcpPendleQuoteSwapInputSchema = mcpPendleQuoteSwapInputSchema;
|
|
13686
14984
|
exports.mcpPendleSearchAssetsInputSchema = mcpPendleSearchAssetsInputSchema;
|
|
13687
14985
|
exports.mcpPendleSearchAssetsOutputSchema = mcpPendleSearchAssetsOutputSchema;
|
|
14986
|
+
exports.mcpPredictionMarketRowSchema = mcpPredictionMarketRowSchema;
|
|
14987
|
+
exports.mcpSearchPredictionMarketsInputSchema = mcpSearchPredictionMarketsInputSchema;
|
|
14988
|
+
exports.mcpSearchPredictionMarketsOutputSchema = mcpSearchPredictionMarketsOutputSchema;
|
|
13688
14989
|
exports.mcpServerCommonInputSchema = mcpServerCommonInputSchema;
|
|
13689
14990
|
exports.mcpServerMultisignInput = mcpServerMultisignInput;
|
|
13690
14991
|
exports.mcpServerSubmitOutputSchema = mcpServerSubmitOutputSchema;
|
|
@@ -13697,6 +14998,27 @@ exports.mcpSkyLockstakeStakeInputSchema = mcpSkyLockstakeStakeInputSchema;
|
|
|
13697
14998
|
exports.mcpSkyLockstakeWipeInputSchema = mcpSkyLockstakeWipeInputSchema;
|
|
13698
14999
|
exports.mcpSkySusdsDepositInputSchema = mcpSkySusdsDepositInputSchema;
|
|
13699
15000
|
exports.mcpSkySusdsRedeemInputSchema = mcpSkySusdsRedeemInputSchema;
|
|
15001
|
+
exports.mcpTrueoBurnInputSchema = mcpTrueoBurnInputSchema;
|
|
15002
|
+
exports.mcpTrueoCancelOrderInputSchema = mcpTrueoCancelOrderInputSchema;
|
|
15003
|
+
exports.mcpTrueoCreateOrderInputSchema = mcpTrueoCreateOrderInputSchema;
|
|
15004
|
+
exports.mcpTrueoFetchCategoriesInputSchema = mcpTrueoFetchCategoriesInputSchema;
|
|
15005
|
+
exports.mcpTrueoFetchCategoriesOutputSchema = mcpTrueoFetchCategoriesOutputSchema;
|
|
15006
|
+
exports.mcpTrueoFetchChanceSeriesInputSchema = mcpTrueoFetchChanceSeriesInputSchema;
|
|
15007
|
+
exports.mcpTrueoFetchChanceSeriesOutputSchema = mcpTrueoFetchChanceSeriesOutputSchema;
|
|
15008
|
+
exports.mcpTrueoFetchMarketInputSchema = mcpTrueoFetchMarketInputSchema;
|
|
15009
|
+
exports.mcpTrueoFetchMarketOutputSchema = mcpTrueoFetchMarketOutputSchema;
|
|
15010
|
+
exports.mcpTrueoFetchOrderbookInputSchema = mcpTrueoFetchOrderbookInputSchema;
|
|
15011
|
+
exports.mcpTrueoFetchOrderbookOutputSchema = mcpTrueoFetchOrderbookOutputSchema;
|
|
15012
|
+
exports.mcpTrueoFetchTrendingInputSchema = mcpTrueoFetchTrendingInputSchema;
|
|
15013
|
+
exports.mcpTrueoFetchTrendingOutputSchema = mcpTrueoFetchTrendingOutputSchema;
|
|
15014
|
+
exports.mcpTrueoMarketRowSchema = mcpTrueoMarketRowSchema;
|
|
15015
|
+
exports.mcpTrueoMintInputSchema = mcpTrueoMintInputSchema;
|
|
15016
|
+
exports.mcpTrueoRedeemInputSchema = mcpTrueoRedeemInputSchema;
|
|
15017
|
+
exports.mcpTrueoSearchMarketsInputSchema = mcpTrueoSearchMarketsInputSchema;
|
|
15018
|
+
exports.mcpTrueoSearchMarketsOutputSchema = mcpTrueoSearchMarketsOutputSchema;
|
|
15019
|
+
exports.mcpTrueoSwapInputSchema = mcpTrueoSwapInputSchema;
|
|
15020
|
+
exports.mcpTrueoUnwrapTydInputSchema = mcpTrueoUnwrapTydInputSchema;
|
|
15021
|
+
exports.mcpTrueoWrapTydInputSchema = mcpTrueoWrapTydInputSchema;
|
|
13700
15022
|
exports.mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema = mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema;
|
|
13701
15023
|
exports.mcpUniswapV4BuildCollectFeesMultisignInputSchema = mcpUniswapV4BuildCollectFeesMultisignInputSchema;
|
|
13702
15024
|
exports.mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema = mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema;
|