@continuumdao/ctm-mpc-defi 0.2.61 → 0.2.63

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.
Files changed (32) hide show
  1. package/dist/agent/catalog.cjs +328 -78
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +217 -27
  4. package/dist/agent/catalog.js +324 -79
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/aerodrome/SKILL.md +8 -8
  7. package/dist/agent/skills/railgun/SKILL.md +10 -4
  8. package/dist/agent/skills/yield-compare/SKILL.md +5 -5
  9. package/dist/index.cjs +5 -4
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.js +5 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/protocols/evm/aerodrome/index.cjs +476 -282
  14. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
  15. package/dist/protocols/evm/aerodrome/index.d.ts +38 -13
  16. package/dist/protocols/evm/aerodrome/index.js +473 -284
  17. package/dist/protocols/evm/aerodrome/index.js.map +1 -1
  18. package/dist/protocols/evm/curve-dao/index.cjs +54 -6
  19. package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
  20. package/dist/protocols/evm/curve-dao/index.js +54 -6
  21. package/dist/protocols/evm/curve-dao/index.js.map +1 -1
  22. package/dist/protocols/evm/euler-v2/index.cjs +45 -10
  23. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  24. package/dist/protocols/evm/euler-v2/index.d.ts +10 -2
  25. package/dist/protocols/evm/euler-v2/index.js +44 -11
  26. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  27. package/dist/protocols/evm/railgun/index.cjs +26 -9
  28. package/dist/protocols/evm/railgun/index.cjs.map +1 -1
  29. package/dist/protocols/evm/railgun/index.d.ts +1 -0
  30. package/dist/protocols/evm/railgun/index.js +26 -9
  31. package/dist/protocols/evm/railgun/index.js.map +1 -1
  32. package/package.json +1 -1
@@ -205,10 +205,10 @@ var init_defiProxy = __esm({
205
205
  "src/core/defiProxy.ts"() {
206
206
  }
207
207
  });
208
- function isConfiguredAddress(addr) {
209
- if (!addr?.trim()) return false;
208
+ function isConfiguredAddress(addr2) {
209
+ if (!addr2?.trim()) return false;
210
210
  try {
211
- return getAddress(addr) !== zeroAddress;
211
+ return getAddress(addr2) !== zeroAddress;
212
212
  } catch {
213
213
  return false;
214
214
  }
@@ -624,18 +624,81 @@ var init_midnightApi = __esm({
624
624
  });
625
625
  function isAerodromeChainSupported(chainId) {
626
626
  const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
627
- return n === AERODROME_CHAIN_ID;
627
+ return AERO_CHAIN_IDS.includes(n);
628
628
  }
629
- var AERODROME_PROTOCOL_ID, AERODROME_CHAIN_ID, AERODROME_WETH_BASE, AERODROME_USDC_BASE;
629
+ function aerodromeUnsupportedChainMessage(chainId) {
630
+ const listed = AERO_CHAIN_IDS.map((id) => `${AERO_CHAIN_LABEL[id]} ${id}`).join(", ");
631
+ return `Aero is not deployed on chain ${chainId}. Launch chains: ${listed}.`;
632
+ }
633
+ var AERODROME_PROTOCOL_ID, AERODROME_CHAIN_ID, AERO_CHAIN_IDS, AERO_CHAIN_LABEL, AERODROME_WETH_BASE, AERODROME_USDC_BASE;
630
634
  var init_support2 = __esm({
631
635
  "src/protocols/evm/aerodrome/support.ts"() {
632
636
  AERODROME_PROTOCOL_ID = "aerodrome";
633
637
  AERODROME_CHAIN_ID = 8453;
638
+ AERO_CHAIN_IDS = [8453, 1, 10, 42161, 4663, 5042, 57073];
639
+ AERO_CHAIN_LABEL = {
640
+ 1: "Ethereum",
641
+ 10: "OP Mainnet",
642
+ 42161: "Arbitrum",
643
+ 4663: "Robinhood Chain",
644
+ 5042: "Arc",
645
+ 8453: "Base",
646
+ 57073: "Ink"
647
+ };
634
648
  AERODROME_WETH_BASE = "0x4200000000000000000000000000000000000006";
635
649
  AERODROME_USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
636
650
  }
637
651
  });
638
- var AERODROME_BASE_ADDRESSES_FALLBACK;
652
+ function addr(raw) {
653
+ return getAddress(raw);
654
+ }
655
+ function aeroUsdcAddress(chainId) {
656
+ const raw = AERO_USDC_BY_CHAIN[chainId];
657
+ return raw ? addr(raw) : null;
658
+ }
659
+ function aeroWrappedNativeAddress(chainId) {
660
+ const raw = AERO_WETH_BY_CHAIN[chainId];
661
+ return raw ? addr(raw) : null;
662
+ }
663
+ function aeroAddressesForChain(chainId) {
664
+ const fb = AERODROME_BASE_ADDRESSES_FALLBACK;
665
+ const cl = addr(AERO_CL_FACTORY_BY_CHAIN[chainId] ?? AERO_CL_FACTORY_BY_CHAIN[AERODROME_CHAIN_ID]);
666
+ const receipt = addr(AERO_RECEIPT_BY_CHAIN[chainId] ?? AERO_RECEIPT_BY_CHAIN[AERODROME_CHAIN_ID]);
667
+ const weth = aeroWrappedNativeAddress(chainId) ?? addr("0x0000000000000000000000000000000000000000");
668
+ const token = chainId === AERODROME_CHAIN_ID ? addr(AERO_TOKEN_BASE) : receipt;
669
+ return {
670
+ chainId,
671
+ aero: token,
672
+ router: chainId === AERODROME_CHAIN_ID ? addr(fb.router) : addr(AERO_METAROUTER),
673
+ poolFactory: addr(AERO_VOLATILE_POOL_FACTORY),
674
+ factoryRegistry: addr(AERO_FACTORY_REGISTRY_BY_CHAIN[chainId] ?? AERO_FACTORY_REGISTRY_BY_CHAIN[AERODROME_CHAIN_ID]),
675
+ voter: addr(AERO_LEAF_VOTER),
676
+ votingEscrow: addr("0xBF7977E1521e9a3032bf7243Ee4712f311f13915"),
677
+ rewardsDistributor: addr(fb.rewardsDistributor),
678
+ mixedQuoter: addr(AERO_METAQUOTER),
679
+ mixedQuoterV3: addr(AERO_METAQUOTER),
680
+ nfpm: addr(AERO_NFPM),
681
+ clFactory: cl,
682
+ clFactory2: cl,
683
+ clFactory3: cl,
684
+ universalRouter: addr(fb.universalRouter),
685
+ swapRouter: addr(AERO_SWAP_ROUTER),
686
+ swapRouter2: addr(AERO_SWAP_ROUTER),
687
+ swapRouter3: addr(AERO_SWAP_ROUTER),
688
+ pricesOracle: addr(fb.pricesOracle),
689
+ slipstreamHelper: addr(fb.slipstreamHelper),
690
+ lpSugar: chainId === AERODROME_CHAIN_ID ? addr(fb.lpSugar) : addr("0x0000000000000000000000000000000000000000"),
691
+ sugarSlipstreamHelper: addr(fb.sugarSlipstreamHelper),
692
+ swapper: addr(fb.swapper),
693
+ weth,
694
+ stablePoolFactory: addr(AERO_STABLE_POOL_FACTORY),
695
+ volatilePoolFactory: addr(AERO_VOLATILE_POOL_FACTORY),
696
+ metarouter: addr(AERO_METAROUTER),
697
+ metaquoter: addr(AERO_METAQUOTER),
698
+ receiptToken: receipt
699
+ };
700
+ }
701
+ var AERODROME_BASE_ADDRESSES_FALLBACK, AERO_TOKEN_BASE, AERO_METAROUTER, AERO_METAQUOTER, AERO_STABLE_POOL_FACTORY, AERO_VOLATILE_POOL_FACTORY, AERO_NFPM, AERO_SWAP_ROUTER, AERO_LEAF_VOTER, AERO_RECEIPT_BY_CHAIN, AERO_FACTORY_REGISTRY_BY_CHAIN, AERO_CL_FACTORY_BY_CHAIN, OP_STACK_WETH, AERO_WETH_BY_CHAIN, AERO_USDC_BY_CHAIN;
639
702
  var init_addresses = __esm({
640
703
  "src/protocols/evm/aerodrome/addresses.ts"() {
641
704
  init_support2();
@@ -669,6 +732,56 @@ var init_addresses = __esm({
669
732
  swapper: "0x91616a7B9CF6D23f8C17845581051EBdC4BcB916",
670
733
  weth: AERODROME_WETH_BASE
671
734
  };
735
+ AERO_TOKEN_BASE = "0x3f5bF3EdAc59d650D8fDf9657a71F2f904A3a4Ee";
736
+ AERO_METAROUTER = "0x0fEf9e88A7b76BCDBF451780C6774FE32965Ee98";
737
+ AERO_METAQUOTER = "0x1dDfeC5058180C207F55BB77D95AcDd0d8227868";
738
+ AERO_STABLE_POOL_FACTORY = "0x78589E876edcEbdce72ee3436ab3c9AD3a7cEF2D";
739
+ AERO_VOLATILE_POOL_FACTORY = "0x8E6a9FCd1d638CC760Ffba397605Fe3355dE76D2";
740
+ AERO_NFPM = "0x4857DB576eE0e45F10525eC59527BfD10beeC60b";
741
+ AERO_SWAP_ROUTER = "0x9Ee35Bf1bd69a03c6F0393582030fCe8Bb93D418";
742
+ AERO_LEAF_VOTER = "0x382409fad8503FbCdbB27A4211551fa03e884078";
743
+ AERO_RECEIPT_BY_CHAIN = {
744
+ 8453: "0x6CdDa0E730744DC6fF67654B35350Adad05EceE7",
745
+ 10: "0xbdEaeA5205d16f34Cb40038052d91235D87B4C54",
746
+ 42161: "0x436a085B2751cB87db270FFa66f8d698F87bEC82",
747
+ 1: "0x9e148C5716b5aAdCFD3B71cEAE9EE7a9e22C29E2",
748
+ 57073: "0x9e148C5716b5aAdCFD3B71cEAE9EE7a9e22C29E2",
749
+ 4663: "0x9e148C5716b5aAdCFD3B71cEAE9EE7a9e22C29E2",
750
+ 5042: "0x20077cC0d5E385A0Fe9C91bbC7DC744f51559307"
751
+ };
752
+ AERO_FACTORY_REGISTRY_BY_CHAIN = {
753
+ 8453: "0x7b2A2c12dC5Ea2a31455952a05031C3E4BB28F3E",
754
+ 10: "0xb6F9705A631CC1C0E8570FFde48882C95E2Df408",
755
+ 42161: "0x9E635b2c689fC52201DF7eF1C9FA607c2F58f666",
756
+ 1: "0xdd1705e23762F4D6e44D8C31BD8Ea80c54612239",
757
+ 57073: "0xdd1705e23762F4D6e44D8C31BD8Ea80c54612239",
758
+ 4663: "0xdd1705e23762F4D6e44D8C31BD8Ea80c54612239",
759
+ 5042: "0xCe44907DC45D3BFa3f5f6035B0e6E8B22D780A42"
760
+ };
761
+ AERO_CL_FACTORY_BY_CHAIN = {
762
+ 8453: "0x9CB220581b91b0C83223012FE69688b92aD07a76",
763
+ 10: "0xfeaB42D90055db3a0616249f76B6002D72266778",
764
+ 42161: "0x88a60ee77392577c355C0acb2A8d476D5a4EC03a",
765
+ 1: "0xF4Fd2E6c5B60c5b365cd1B96DD6245E6D60414c2",
766
+ 57073: "0x7660BF2aDefC687C22906112ca323d60A00358cF",
767
+ 4663: "0xc63d7338c178e805c544B8f897066bD3BBcBE136",
768
+ 5042: "0x7F83235643181E440433400a027618Cd50879751"
769
+ };
770
+ OP_STACK_WETH = "0x4200000000000000000000000000000000000006";
771
+ AERO_WETH_BY_CHAIN = {
772
+ 1: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
773
+ 10: OP_STACK_WETH,
774
+ 42161: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
775
+ 8453: OP_STACK_WETH,
776
+ 57073: OP_STACK_WETH,
777
+ 4663: "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73"
778
+ };
779
+ AERO_USDC_BY_CHAIN = {
780
+ 1: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
781
+ 10: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
782
+ 42161: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
783
+ 8453: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
784
+ };
672
785
  }
673
786
  });
674
787
  var init_stockTokens = __esm({
@@ -2329,10 +2442,14 @@ var mcpCurveDaoBuildGaugeDepositMultisignInputSchema = withMultisignKeySourceRef
2329
2442
  withdraw: z.boolean().optional().describe("If true, withdraw LP from the gauge instead of deposit")
2330
2443
  })
2331
2444
  );
2332
- var chain8453 = agentEvmChainIdSchema.describe("Must be 8453 (Base). Aerodrome is Base-only.");
2445
+ var aeroChainId = agentEvmChainIdSchema.describe(
2446
+ "Aero chain id. Base 8453 (default), Ethereum 1, OP Mainnet 10, Arbitrum 42161, Robinhood Chain 4663, Arc 5042, Ink 57073. Coinbase stock LP is Base only."
2447
+ ).refine((n) => [8453, 1, 10, 42161, 4663, 5042, 57073].includes(Number(n)), {
2448
+ message: "Aero chainId must be 8453, 1, 10, 42161, 4663, 5042, or 57073."
2449
+ });
2333
2450
  var rpcUrlOptional = z.string().min(1).optional().describe("JSON-RPC URL; continuum-mcp-server injects from chain registry \u2014 do not pass a public RPC URL");
2334
2451
  var mcpAerodromeDiscoverPoolsInputSchema = z.object({
2335
- chainId: chain8453,
2452
+ chainId: aeroChainId,
2336
2453
  rpcUrl: rpcUrlOptional,
2337
2454
  token: z.string().min(1).describe("Ticker or 0x address to find pools for (AAPLc, USDC, ETH, WETH, AERO)."),
2338
2455
  tokenOut: z.string().min(1).optional().describe("Optional counterpart. Defaults to USDC so B20 stocks resolve. Tickers OK.")
@@ -2341,7 +2458,7 @@ var mcpAerodromeDiscoverPoolsOutputSchema = jsonObjectSchema.describe(
2341
2458
  "{ token, tokenOut, pools[] (lp, kind, tickSpacing, factory), notes }. Factory getPool only \u2014 not LpSugar. Then call ctm_aerodrome_quote."
2342
2459
  );
2343
2460
  var mcpAerodromeFetchPoolsInputSchema = z.object({
2344
- chainId: chain8453,
2461
+ chainId: aeroChainId,
2345
2462
  rpcUrl: rpcUrlOptional,
2346
2463
  query: z.string().trim().min(1).optional().describe("Optional shrink filter. Does not expand beyond the ~100 important pools."),
2347
2464
  limit: z.number().int().positive().max(100).optional(),
@@ -2351,7 +2468,7 @@ var mcpAerodromeFetchPoolsOutputSchema = jsonObjectSchema.describe(
2351
2468
  "{ chainId, pools[], notes }. At most ~100 important Base pairs \u2014 not an LpSugar.all dump."
2352
2469
  );
2353
2470
  var mcpAerodromeFetchLpYieldsInputSchema = z.object({
2354
- chainId: chain8453,
2471
+ chainId: aeroChainId,
2355
2472
  rpcUrl: rpcUrlOptional,
2356
2473
  query: z.string().trim().min(1).optional()
2357
2474
  });
@@ -2361,7 +2478,7 @@ var mcpAerodromeFetchLpYieldsOutputSchema = jsonObjectSchema.describe(
2361
2478
  var mcpAerodromeFetchStockLpYieldsInputSchema = mcpAerodromeFetchLpYieldsInputSchema;
2362
2479
  var mcpAerodromeFetchStockLpYieldsOutputSchema = mcpAerodromeFetchLpYieldsOutputSchema;
2363
2480
  var mcpAerodromeFetchPositionsInputSchema = z.object({
2364
- chainId: chain8453,
2481
+ chainId: aeroChainId,
2365
2482
  rpcUrl: rpcUrlOptional,
2366
2483
  account: evmAddressSchema.optional(),
2367
2484
  executorAddress: evmAddressSchema.optional().describe("Server-filled from keyGenId when omitted")
@@ -2370,7 +2487,7 @@ var mcpAerodromeFetchPositionsOutputSchema = jsonObjectSchema.describe(
2370
2487
  "{ chainId, account, notes, positions[] } \u2014 each row has label (vAMM-USDC/AERO \xB7 #id), kind, gauge, stakedInGauge, claimFees.pool, claimEmissions (gauge + tokenId/cl for Slipstream, or null if no gauge). Dust v2 rows omitted."
2371
2488
  );
2372
2489
  var mcpAerodromeQuoteInputSchema = z.object({
2373
- chainId: chain8453,
2490
+ chainId: aeroChainId,
2374
2491
  rpcUrl: rpcUrlOptional,
2375
2492
  tokenIn: z.string().min(1).describe("Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x address. Native: 0x0 / eth. B20 stocks need no address lookup."),
2376
2493
  tokenOut: z.string().min(1).describe("Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x address. Native: 0x0 / eth."),
@@ -2390,7 +2507,7 @@ var mcpAerodromeBuildSwapMultisignInputSchema = withMultisignKeySourceRefine(
2390
2507
  })
2391
2508
  );
2392
2509
  var mcpAerodromeQuoteAddLiquidityInputSchema = z.object({
2393
- chainId: chain8453,
2510
+ chainId: aeroChainId,
2394
2511
  rpcUrl: rpcUrlOptional,
2395
2512
  tokenA: z.string().min(1).describe("Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x / 0x0 native"),
2396
2513
  tokenB: z.string().min(1).describe("Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x / 0x0 native"),
@@ -2406,7 +2523,7 @@ var mcpAerodromeQuoteAddLiquidityOutputSchema = jsonObjectSchema.describe(
2406
2523
  "{ tokenA, tokenB, amountAHuman, amountBHuman, kind (stable|volatile|cl), tickSpacing?, emptyPool, seedable, hint }. seedable:false = do not first-deposit (ETH/AAPLc has no pool \u2014 pair vs USDC). kind:cl is a Slipstream ratio; basic addLiquidity is v2 only."
2407
2524
  );
2408
2525
  var mcpAerodromeQuoteClDepositInputSchema = z.object({
2409
- chainId: chain8453,
2526
+ chainId: aeroChainId,
2410
2527
  rpcUrl: rpcUrlOptional,
2411
2528
  token0: z.string().min(1).describe("Ticker (AAPLc, USDC, ETH) or 0x / 0x0 native"),
2412
2529
  token1: z.string().min(1).describe("Ticker (AAPLc, USDC, ETH) or 0x / 0x0 native"),
@@ -2965,8 +3082,8 @@ function shortAddr(value) {
2965
3082
  if (!trimmed) return "\u2026";
2966
3083
  try {
2967
3084
  if (!isAddress(trimmed)) return trimmed;
2968
- const addr = getAddress(trimmed);
2969
- return `${addr.slice(0, 6)}\u2026${addr.slice(-4)}`;
3085
+ const addr2 = getAddress(trimmed);
3086
+ return `${addr2.slice(0, 6)}\u2026${addr2.slice(-4)}`;
2970
3087
  } catch {
2971
3088
  return trimmed;
2972
3089
  }
@@ -4520,7 +4637,7 @@ var mcpAaveV4FetchStockMarketsOutputSchema = mcpAaveV4FetchMarketsOutputSchema;
4520
4637
  var mcpEulerV2FetchLendVaultsInputSchema = z.object({
4521
4638
  chainId: agentEvmChainIdSchema,
4522
4639
  underlyingAddress: evmAddressSchema.describe(
4523
- "Underlying asset address, or a Coinbase stock ticker (AAPLc) from the live catalog."
4640
+ "Underlying ERC-20 address, a ticker such as USDC or WETH (resolved from Euler vaults on chainId), or a Coinbase stock ticker (AAPLc)."
4524
4641
  ),
4525
4642
  limit: agentCoercedOptionalIntSchema(z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
4526
4643
  });
@@ -4542,7 +4659,7 @@ var mcpEulerV2FetchLendVaultsOutputSchema = z.object({
4542
4659
  var mcpEulerV2FetchEarnVaultsInputSchema = z.object({
4543
4660
  chainId: agentEvmChainIdSchema,
4544
4661
  underlyingAddress: evmAddressSchema.describe(
4545
- "Underlying asset address, or a Coinbase stock ticker (AAPLc) from the live catalog."
4662
+ "Underlying ERC-20 address, a ticker such as USDC or WETH (resolved from Euler vaults on chainId), or a Coinbase stock ticker (AAPLc)."
4546
4663
  ),
4547
4664
  limit: agentCoercedOptionalIntSchema(z.number().int().min(1).max(100)).describe("Max vault rows (default 30).")
4548
4665
  });
@@ -4569,6 +4686,7 @@ var mcpLidoFetchStethAprOutputSchema = z.object({
4569
4686
  source: z.string(),
4570
4687
  notes: z.string()
4571
4688
  });
4689
+ var railgunKeyGenIdSchema = z.string().min(1).optional().describe("KeyGen request id. Omit to use the node preferred KeyGen.");
4572
4690
  var mcpRailgunFetchPopularAssetsInputSchema = z.object({
4573
4691
  chainId: agentEvmChainIdSchema,
4574
4692
  rpcUrl: z.string().min(1).optional().describe("Server-filled from the chain registry. Agents should omit.")
@@ -4580,7 +4698,7 @@ var mcpRailgunFetchPopularAssetsOutputSchema = z.object({
4580
4698
  notes: z.string()
4581
4699
  }).strict();
4582
4700
  var mcpRailgunFetchPrivateBalancesInputSchema = z.object({
4583
- keyGenId: z.string().min(1).describe("KeyGen request id. The shielded wallet is stored on that KeyGen record."),
4701
+ keyGenId: railgunKeyGenIdSchema,
4584
4702
  chainId: agentEvmChainIdSchema,
4585
4703
  refresh: z.boolean().optional().describe("Scan again and write the KeyGen record. Default reads the stored scan, and scans when none is stored.")
4586
4704
  }).strict();
@@ -4601,7 +4719,7 @@ var mcpRailgunFetchPrivateBalancesOutputSchema = z.object({
4601
4719
  shieldSignature: z.string().optional()
4602
4720
  }).strict();
4603
4721
  var mcpRailgunEnsureWalletInputSchema = z.object({
4604
- keyGenId: z.string().min(1),
4722
+ keyGenId: railgunKeyGenIdSchema,
4605
4723
  chainId: agentEvmChainIdSchema.optional()
4606
4724
  }).strict();
4607
4725
  var mcpRailgunEnsureWalletOutputSchema = z.object({
@@ -4613,10 +4731,13 @@ var mcpRailgunShieldInputSchema = mcpMultisignInput({
4613
4731
  tokenAddress: evmAddressSchema.describe("ERC-20 contract to shield"),
4614
4732
  amountWei: z.string().min(1).describe("Amount in wei"),
4615
4733
  railgunAddress: z.string().min(1).describe("Recipient 0zk address"),
4734
+ wrapNative: agentOptionalBooleanSchema().describe(
4735
+ "Deposit this chain\u2019s native gas into the wrapped token, then shield it. tokenAddress must be that wrapped token, such as WETH on Ethereum. Set this when the user asks to shield ETH."
4736
+ ),
4616
4737
  shieldSignature: z.string().min(1).optional().describe("Stored Railgun shield key. Omit this. The server reads it from the KeyGen.")
4617
4738
  });
4618
4739
  var mcpRailgunPrivateTransferInputSchema = z.object({
4619
- keyGenId: z.string().min(1),
4740
+ keyGenId: railgunKeyGenIdSchema,
4620
4741
  chainId: agentEvmChainIdSchema,
4621
4742
  tokenAddress: evmAddressSchema,
4622
4743
  amountWei: z.string().min(1),
@@ -4626,20 +4747,49 @@ var mcpRailgunPrivateTransferInputSchema = z.object({
4626
4747
  purpose: z.string().max(256).optional().describe("Purpose shown on Join, Execute, and History. Same field as a normal sign request.")
4627
4748
  }).strict();
4628
4749
  var mcpRailgunUnshieldInputSchema = z.object({
4629
- keyGenId: z.string().min(1),
4750
+ keyGenId: railgunKeyGenIdSchema,
4630
4751
  chainId: agentEvmChainIdSchema,
4631
4752
  tokenAddress: evmAddressSchema,
4632
4753
  amountWei: z.string().min(1),
4633
4754
  recipientAddress: evmAddressSchema.optional().describe("Public recipient. Defaults to this KeyGen Ethereum address."),
4634
4755
  purpose: z.string().max(256).optional().describe("Purpose shown on Join, Execute, and History. Same field as a normal sign request.")
4635
4756
  }).strict();
4757
+ var mcpRailgunUnwrapInputSchema = mcpMultisignInput({
4758
+ amountWei: z.string().min(1).describe("Amount of the wrapped gas token to withdraw back to native gas, in wei.")
4759
+ });
4760
+ var mcpRailgunListSpendsInputSchema = z.object({
4761
+ keyGenId: z.string().min(1).optional().describe("Limit the list to one KeyGen. Omit to include every KeyGen on this node.")
4762
+ }).strict();
4763
+ var mcpRailgunSpendSummarySchema = z.object({
4764
+ requestId: z.string(),
4765
+ keyGenId: z.string(),
4766
+ spendId: z.string(),
4767
+ status: z.string().describe("pending, ready, executing, executed, failed, rejected, shelved, or expired."),
4768
+ kind: z.string().describe("transfer or unshield."),
4769
+ chainId: z.number().int(),
4770
+ tokenAddress: z.string(),
4771
+ amountWei: z.string(),
4772
+ recipientAddress: z.string(),
4773
+ memoText: z.string().optional(),
4774
+ purpose: z.string().optional(),
4775
+ txHash: z.string().optional(),
4776
+ error: z.string().optional(),
4777
+ deadline: z.string().optional(),
4778
+ proposedAt: z.string().optional(),
4779
+ approvals: z.number().int(),
4780
+ quorum: z.number().int(),
4781
+ isOriginatorLocal: z.boolean()
4782
+ }).strict();
4783
+ var mcpRailgunListSpendsOutputSchema = z.object({
4784
+ spends: z.array(mcpRailgunSpendSummarySchema)
4785
+ }).strict();
4636
4786
  var mcpRailgunAgreeSpendInputSchema = z.object({
4637
- keyGenId: z.string().min(1),
4787
+ keyGenId: railgunKeyGenIdSchema,
4638
4788
  spendId: z.string().min(1),
4639
4789
  thoughts: z.string().max(256).optional().describe("Optional comment stored for this node, the same thoughts field as sign_request_agree.")
4640
4790
  }).strict();
4641
4791
  var mcpRailgunFeeQuoteInputSchema = z.object({
4642
- keyGenId: z.string().min(1),
4792
+ keyGenId: railgunKeyGenIdSchema,
4643
4793
  chainId: agentEvmChainIdSchema,
4644
4794
  kind: z.enum(["shield", "transfer", "unshield"]),
4645
4795
  tokenAddress: evmAddressSchema,
@@ -4647,6 +4797,25 @@ var mcpRailgunFeeQuoteInputSchema = z.object({
4647
4797
  recipientAddress: z.string().optional().describe("0zk address for a private transfer, or a public address for an unshield."),
4648
4798
  memoText: z.string().optional()
4649
4799
  }).strict();
4800
+ var mcpRailgunListBroadcastersInputSchema = z.object({
4801
+ chainId: agentEvmChainIdSchema,
4802
+ tokenAddress: evmAddressSchema,
4803
+ kind: z.enum(["transfer", "unshield"]).describe("transfer for a private transfer, unshield for an unshield.")
4804
+ }).strict();
4805
+ var mcpRailgunBroadcasterSchema = z.object({
4806
+ feesId: z.string(),
4807
+ railgunAddress: z.string(),
4808
+ feeWei: z.string(),
4809
+ ratio: z.string().nullable().describe("Fee compared with gas. 1.00 is 1:1. Null when prices are unavailable."),
4810
+ coversGas: z.boolean().describe("True when the ratio is at least 1:1."),
4811
+ reliability: z.number(),
4812
+ expiration: z.number().describe("Unix milliseconds when this advertisement expires."),
4813
+ tokenDecimals: z.number().int(),
4814
+ recommended: z.boolean().describe("Cheapest advertisement whose ratio is at least 1:1.")
4815
+ }).strict();
4816
+ var mcpRailgunListBroadcastersOutputSchema = z.object({
4817
+ broadcasters: z.array(mcpRailgunBroadcasterSchema)
4818
+ }).strict();
4650
4819
  var mcpRailgunFeeQuoteSchema = z.object({
4651
4820
  kind: z.enum(["shield", "transfer", "unshield"]),
4652
4821
  amountWei: z.string(),
@@ -8030,10 +8199,20 @@ var MCP_PROTOCOL_TOOL_DEFINITIONS = [
8030
8199
  actionId: "railgun.shield",
8031
8200
  protocolId: "railgun",
8032
8201
  chainCategory: "evm",
8033
- description: "Shield an ERC-20 into a Railgun 0zk address. Call ctm_railgun_fee_quote first and tell the user the Railgun fee taken from the amount. purposeText is the Purpose shown on the sign request. If this KeyGen already has a shield key, this builds the approve-and-shield transaction. Otherwise it returns a personal_sign. After that request is signed, the shield key is stored on the KeyGen. Call this tool again without shieldSignature. The result includes railgunFee.",
8202
+ description: "Shield an ERC-20 into a Railgun 0zk address. Call ctm_railgun_fee_quote first and tell the user the Railgun fee taken from the amount. purposeText is the Purpose shown on the sign request. Set wrapNative when the user asks to shield the chain\u2019s native gas: tokenAddress must be the wrapped gas token, and the transaction deposits native gas into it before the shield. If this KeyGen already has a shield key, this builds the approve-and-shield transaction. Otherwise it returns a personal_sign. After that request is signed, the shield key is stored on the KeyGen. Call this tool again without shieldSignature. The result includes railgunFee.",
8034
8203
  prerequisites: ["keyGen", "executorAddress", "RPC URL", "0zk recipient"],
8035
8204
  handler: { importPath: "protocols/evm/railgun", exportName: "buildEvmMultisignBodyRailgunShield" },
8036
8205
  inputZod: mcpRailgunShieldInputSchema
8206
+ }),
8207
+ defineProtocolMcpTool({
8208
+ name: "ctm_railgun_build_unwrap_multisign",
8209
+ actionId: "railgun.unwrap",
8210
+ protocolId: "railgun",
8211
+ chainCategory: "evm",
8212
+ description: "Withdraw this chain\u2019s wrapped gas token back to native gas on the KeyGen. On Ethereum that is WETH back to ETH. This is a normal sign request, not a private Railgun spend. There is no broadcaster and no 0zk recipient. After Join, use trigger_sign_result and then broadcast_sign_result.",
8213
+ prerequisites: ["keyGen", "executorAddress", "RPC URL", "amountWei"],
8214
+ handler: { importPath: "protocols/evm/railgun", exportName: "buildEvmMultisignBodyWethUnwrap" },
8215
+ inputZod: mcpRailgunUnwrapInputSchema
8037
8216
  })
8038
8217
  ];
8039
8218
  var catalogQuery = {
@@ -8862,8 +9041,8 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8862
9041
  actionId: "aerodrome.discover-pools",
8863
9042
  protocolId: "aerodrome",
8864
9043
  chainCategory: "evm",
8865
- description: "Find Aerodrome v2 + Slipstream pools for one token (optional tokenOut, default USDC) via factory getPool. Tickers OK (AAPLc, USDC, ETH). Use this instead of dumping listed tokens or LpSugar.all. For a price, skip this and call ctm_aerodrome_quote. rpcUrl is injected.",
8866
- prerequisites: ["chainId 8453", "token (ticker or 0x)"],
9044
+ description: "Find Aero v2 + Slipstream pools for one token (optional tokenOut, default USDC) via factory getPool. Protocol id stays aerodrome. Chains: Base 8453 (default), Ethereum 1, OP Mainnet 10, Arbitrum 42161, Robinhood 4663, Arc 5042, Ink 57073. Tickers OK (AAPLc, USDC, ETH). Coinbase stock LP is Base only. Use this instead of dumping listed tokens or LpSugar.all. For a price, skip this and call ctm_aerodrome_quote. rpcUrl is injected.",
9045
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073", "token (ticker or 0x)"],
8867
9046
  followUp: ["ctm_aerodrome_quote", "ctm_aerodrome_quote_add_liquidity"],
8868
9047
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeDiscoverPoolsSummary" },
8869
9048
  inputZod: mcpAerodromeDiscoverPoolsInputSchema,
@@ -8874,8 +9053,8 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8874
9053
  actionId: "aerodrome.fetch-pools",
8875
9054
  protocolId: "aerodrome",
8876
9055
  chainCategory: "evm",
8877
- description: "At most ~100 important Aerodrome pools on Base (ETH/WETH, USDC, AERO, major stables; TVL-ranked). Not an LpSugar.all dump. Optional query only shrinks the set. For B20 stock LPs use ctm_aerodrome_fetch_stock_lp_yields.",
8878
- prerequisites: ["chainId 8453"],
9056
+ description: "At most ~100 important Aero pools from the Base LpSugar index (ETH/WETH, USDC, AERO, major stables; TVL-ranked). Other launch chains have no Sugar index \u2014 use ctm_aerodrome_discover_pools. Optional query only shrinks the set. For B20 stock LPs use ctm_aerodrome_fetch_stock_lp_yields (Base only).",
9057
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073"],
8879
9058
  followUp: ["ctm_aerodrome_quote_add_liquidity", "ctm_aerodrome_fetch_positions"],
8880
9059
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeFetchPoolsSummary" },
8881
9060
  inputZod: mcpAerodromeFetchPoolsInputSchema,
@@ -8886,8 +9065,8 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8886
9065
  actionId: "aerodrome.fetch-lp-yields",
8887
9066
  protocolId: "aerodrome",
8888
9067
  chainCategory: "evm",
8889
- description: "Fee tier + AERO emissions APR for the same ~100 important Aerodrome pairs. feeApr is null (Sugar has no volume). Not a factory dump. B20 stocks: ctm_aerodrome_fetch_stock_lp_yields.",
8890
- prerequisites: ["chainId 8453"],
9068
+ description: "Fee tier + AERO emissions APR for the same ~100 important Aero pairs on Base (protocol id aerodrome). feeApr is null (Sugar has no volume). Other launch chains return an empty Sugar list \u2014 discover a pair instead. B20 stocks on Base: ctm_aerodrome_fetch_stock_lp_yields.",
9069
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073"],
8891
9070
  followUp: ["ctm_aerodrome_quote_add_liquidity", "ctm_aerodrome_build_gauge_stake_multisign"],
8892
9071
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeFetchLpYieldsSummary" },
8893
9072
  inputZod: mcpAerodromeFetchLpYieldsInputSchema,
@@ -8898,8 +9077,8 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8898
9077
  actionId: "aerodrome.fetch-stock-lp-yields",
8899
9078
  protocolId: "aerodrome",
8900
9079
  chainCategory: "evm",
8901
- description: "Coinbase B20 stock LP yields only (AAPLc/USDC, \u2026). Separate from main-pair fetch_lp_yields. Trading stocks is not this list.",
8902
- prerequisites: ["chainId 8453"],
9080
+ description: "Coinbase B20 stock LP yields on Base only (AAPLc/USDC, \u2026). Separate from main-pair fetch_lp_yields. Trading stocks is not this list.",
9081
+ prerequisites: ["chainId 8453 (Base only)"],
8903
9082
  followUp: ["ctm_aerodrome_quote_add_liquidity"],
8904
9083
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeFetchStockLpYieldsSummary" },
8905
9084
  inputZod: mcpAerodromeFetchStockLpYieldsInputSchema,
@@ -8911,7 +9090,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8911
9090
  protocolId: "aerodrome",
8912
9091
  chainCategory: "evm",
8913
9092
  description: "KeyGen Aerodrome positions (same picker as the Multi-Sign Rewards tab). Each row has label, kind (vAMM/sAMM/CL), gauge, stakedInGauge, claimFees.pool, and claimEmissions (gauge + tokenId/cl, or null). Dust v2 rows omitted. Read-only.",
8914
- prerequisites: ["chainId 8453", "account or keyGenId"],
9093
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073", "account or keyGenId"],
8915
9094
  followUp: [
8916
9095
  "ctm_aerodrome_build_claim_fees_multisign",
8917
9096
  "ctm_aerodrome_build_claim_emissions_multisign",
@@ -8926,8 +9105,8 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8926
9105
  actionId: "aerodrome.quote",
8927
9106
  protocolId: "aerodrome",
8928
9107
  chainCategory: "evm",
8929
- description: "Quote an Aerodrome swap on Base. tokenIn/tokenOut accept tickers (AAPLc, USDC, ETH, WETH, AERO) or 0x addresses. Coinbase B20 stocks are 8 decimals and route via Slipstream 3 (usually a USDC hop). Returns amountOutHuman and priceImpactPercent (0\u2013100 vs a tiny same-route probe). Call this directly \u2014 do not fetch_pools or ask the user for a stock address. Does NOT create a sign request.",
8930
- prerequisites: ["chainId 8453", "tokenIn + tokenOut + amountHuman (tickers OK)"],
9108
+ description: "Quote an Aero swap. Protocol id stays aerodrome. chainId is Base 8453 by default, or Ethereum 1, OP Mainnet 10, Arbitrum 42161, Robinhood 4663, Arc 5042, Ink 57073. tokenIn/tokenOut accept tickers (AAPLc, USDC, ETH, WETH, AERO) or 0x addresses. Coinbase B20 stocks are Base-only, 8 decimals, and route via Slipstream (usually a USDC hop). Returns amountOutHuman and priceImpactPercent (0\u2013100 vs a tiny same-route probe). Call this directly \u2014 do not fetch_pools or ask the user for a stock address. Does NOT create a sign request.",
9109
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073", "tokenIn + tokenOut + amountHuman (tickers OK)"],
8931
9110
  followUp: ["ctm_aerodrome_build_swap_multisign"],
8932
9111
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeQuote" },
8933
9112
  inputZod: mcpAerodromeQuoteInputSchema,
@@ -8938,11 +9117,11 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8938
9117
  actionId: "aerodrome.swap",
8939
9118
  protocolId: "aerodrome",
8940
9119
  chainCategory: "evm",
8941
- description: "Create and submit mpc-auth multiSignRequest for an Aerodrome swap (optional ERC-20 approve + Router / Slipstream SwapRouter). Default deadline 30 minutes \u2014 ask the user to confirm that window and useCustomGas (via get_multi_sign_gas_options) before calling. Activate aerodrome:swap first.",
9120
+ description: "Create and submit mpc-auth multiSignRequest for an Aero swap (optional ERC-20 approve + Metarouter execute for v2, or Slipstream SwapRouter for a single CL hop). Default deadline 30 minutes \u2014 ask the user to confirm that window and useCustomGas (via get_multi_sign_gas_options) before calling. Activate aerodrome:swap first.",
8942
9121
  prerequisites: [
8943
9122
  "ctm_aerodrome_quote",
8944
9123
  "get_multi_sign_gas_options + user confirms useCustomGas and 30-minute deadline",
8945
- "keyGenId + chainId 8453 + purposeText + slippagePercent"
9124
+ "keyGenId + Aero chainId (8453 default, or 1, 10, 42161, 4663, 5042, 57073) + purposeText + slippagePercent"
8946
9125
  ],
8947
9126
  handler: { importPath: "protocols/evm/aerodrome", exportName: "buildEvmMultisignBodyAerodromeSwapBatch" },
8948
9127
  inputZod: mcpAerodromeBuildSwapMultisignInputSchema
@@ -8952,8 +9131,8 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8952
9131
  actionId: "aerodrome.quote-add-liquidity",
8953
9132
  protocolId: "aerodrome",
8954
9133
  chainCategory: "evm",
8955
- description: "Quote an Aerodrome deposit on Base (same as the Liquidity tab). One-sided: pass amountAHuman or amountBHuman; the other side comes from the current vAMM/sAMM reserves or Slipstream slot0. Tickers OK (AAPLc, USDC, ETH). B20 stocks are 8 decimals. ETH/stock has no pool \u2014 seedable:false and hint says pair vs USDC. Do not first-deposit an empty vAMM. Read-only.",
8956
- prerequisites: ["chainId 8453", "tokenA + tokenB + amountAHuman or amountBHuman (tickers OK)"],
9134
+ description: "Quote an Aero deposit (same as the Liquidity tab). One-sided: pass amountAHuman or amountBHuman; the other side comes from the current vAMM/sAMM reserves or Slipstream slot0. Chains match ctm_aerodrome_quote. Tickers OK (AAPLc, USDC, ETH). B20 stocks are Base-only and 8 decimals. ETH/stock has no pool \u2014 seedable:false and hint says pair vs USDC. Do not first-deposit an empty vAMM. Read-only.",
9135
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073", "tokenA + tokenB + amountAHuman or amountBHuman (tickers OK)"],
8957
9136
  followUp: ["ctm_aerodrome_build_add_liquidity_multisign"],
8958
9137
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeQuoteAddLiquidity" },
8959
9138
  inputZod: mcpAerodromeQuoteAddLiquidityInputSchema,
@@ -8965,7 +9144,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
8965
9144
  protocolId: "aerodrome",
8966
9145
  chainCategory: "evm",
8967
9146
  description: "Quote a Slipstream CL deposit (SugarHelper estimate when one side is omitted). token0/token1 accept tickers (AAPLc, USDC, ETH). Use when quote_add_liquidity returns kind:cl. Read-only.",
8968
- prerequisites: ["chainId 8453", "ticks + sqrtPriceX96"],
9147
+ prerequisites: ["chainId 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073", "ticks + sqrtPriceX96"],
8969
9148
  followUp: ["ctm_aerodrome_build_cl_mint_multisign"],
8970
9149
  handler: { importPath: "protocols/evm/aerodrome", exportName: "aerodromeQuoteClDeposit" },
8971
9150
  inputZod: mcpAerodromeQuoteClDepositInputSchema,
@@ -11082,7 +11261,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
11082
11261
  actionId: "railgun.ensure-wallet",
11083
11262
  protocolId: "railgun",
11084
11263
  chainCategory: "evm",
11085
- description: "Create the Railgun wallet on this KeyGen if it does not exist yet, and return its 0zk address. Returns shieldSignature when this KeyGen already has a shield key. The spending key is split across the KeyGen nodes. No node receives a key it can spend alone. Does not return a mnemonic. Use this from the node agent and from Telegram before shield, unshield, or private transfer.",
11264
+ description: "Create the Railgun wallet on this KeyGen if it does not exist yet, and return its 0zk address. Omit keyGenId to use the node preferred KeyGen. Returns shieldSignature when this KeyGen already has a shield key. The spending key is split across the KeyGen nodes. No node receives a key it can spend alone. Does not return a mnemonic. Use this from the node agent and from Telegram before shield, unshield, or private transfer.",
11086
11265
  prerequisites: ["keyGenId"],
11087
11266
  followUp: ["ctm_railgun_fetch_private_balances", "ctm_railgun_build_shield_multisign"],
11088
11267
  handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPrivateBalancesSummary" },
@@ -11106,7 +11285,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
11106
11285
  actionId: "railgun.private-transfer",
11107
11286
  protocolId: "railgun",
11108
11287
  chainCategory: "evm",
11109
- description: "Propose a private Railgun transfer. This node signs it with its management key, then agrees its share. Call ctm_railgun_fee_quote first and tell the user the broadcaster fee. Pass toContactName to use that contact\u2019s saved 0zk address, or recipientAddress as a 0zk address. Do not pass the contact\u2019s Ethereum address. purpose is shown on Join the same way as a normal sign request. The other nodes accept on Join and can attach thoughts. The originator executes with broadcast_sign_result and the RailgunSpend request id. There is no Get Sig. Do not pass a mnemonic. The result includes fee.",
11288
+ description: "Propose a private Railgun transfer. This node signs it with its management key, then agrees its share. Call ctm_railgun_fee_quote first and tell the user the broadcaster fee. Pass toContactName to use that contact\u2019s saved 0zk address, or recipientAddress as a 0zk address. Do not pass the contact\u2019s Ethereum address. purpose is shown on Join the same way as a normal sign request. The other nodes accept on Join and can attach thoughts. The broadcaster is chosen at execute, not here. On the originator, call ctm_railgun_list_broadcasters and pass the chosen feesId and railgunAddress to broadcast_sign_result. Omit them to use the recommended row, the cheapest fee ratio that is at least 1:1. There is no Get Sig. Do not pass a mnemonic. The result includes fee.",
11110
11289
  prerequisites: ["keyGenId", "chainId", "0zk recipient or toContactName", "ctm_railgun_ensure_wallet"],
11111
11290
  followUp: ["ctm_railgun_fetch_private_balances"],
11112
11291
  handler: { importPath: "protocols/evm/railgun", exportName: "railgunPrivateTransfer" },
@@ -11118,7 +11297,7 @@ var CORE_MCP_TOOL_DEFINITIONS = [
11118
11297
  actionId: "railgun.unshield",
11119
11298
  protocolId: "railgun",
11120
11299
  chainCategory: "evm",
11121
- description: "Start an unshield to a public address. This node signs it with its management key, then agrees its share. Call ctm_railgun_fee_quote first and tell the user the Railgun fee and the broadcaster fee. purpose is shown on Join the same way as a normal sign request. It stays pending until the other nodes accept on Join. They can attach thoughts with sign_request_agree. Recipient defaults to the KeyGen Ethereum address. The originator executes with broadcast_sign_result. There is no Get Sig. Do not pass a mnemonic. The result includes fee.",
11300
+ description: "Start an unshield to a public address. This node signs it with its management key, then agrees its share. Call ctm_railgun_fee_quote first and tell the user the Railgun fee and the broadcaster fee. purpose is shown on Join the same way as a normal sign request. It stays pending until the other nodes accept on Join. They can attach thoughts with sign_request_agree. Recipient defaults to the KeyGen Ethereum address. The broadcaster is chosen at execute, not here. On the originator, call ctm_railgun_list_broadcasters and pass the chosen feesId and railgunAddress to broadcast_sign_result. Omit them to use the recommended row, the cheapest fee ratio that is at least 1:1. There is no Get Sig. Do not pass a mnemonic. The result includes fee.",
11122
11301
  prerequisites: ["keyGenId", "chainId", "ctm_railgun_ensure_wallet"],
11123
11302
  followUp: ["ctm_railgun_fetch_private_balances"],
11124
11303
  handler: { importPath: "protocols/evm/railgun", exportName: "railgunUnshield" },
@@ -11144,10 +11323,34 @@ var CORE_MCP_TOOL_DEFINITIONS = [
11144
11323
  chainCategory: "evm",
11145
11324
  description: "Quote the fee taken before a shield, private transfer, or unshield. Shield and unshield include the live Railgun basis points taken from the amount. Private transfer has no protocol fee. Unshield and private transfer also include the broadcaster fee, which is extra and comes out of the private balance. Tell the user these amounts before calling the shield, transfer, or unshield tool. broadcasterError is set when that fee cannot be estimated; the protocol numbers are still returned.",
11146
11325
  prerequisites: ["keyGenId", "chainId", "tokenAddress", "kind"],
11147
- followUp: ["ctm_railgun_build_shield_multisign", "ctm_railgun_private_transfer", "ctm_railgun_unshield"],
11326
+ followUp: ["ctm_railgun_list_broadcasters", "ctm_railgun_build_shield_multisign", "ctm_railgun_private_transfer", "ctm_railgun_unshield"],
11148
11327
  handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPrivateBalancesSummary" },
11149
11328
  inputZod: mcpRailgunFeeQuoteInputSchema,
11150
11329
  outputZod: mcpRailgunFeeQuoteSchema
11330
+ }),
11331
+ defineMcpTool({
11332
+ name: "ctm_railgun_list_broadcasters",
11333
+ actionId: "railgun.list-broadcasters",
11334
+ protocolId: "railgun",
11335
+ chainCategory: "evm",
11336
+ description: "List Railgun broadcasters for a private transfer or unshield. Call this on the originator immediately before broadcast_sign_result. ratio is the fee compared with gas, and 1.00 is 1:1. recommended is the cheapest row whose ratio is at least 1:1. Pass that row\u2019s feesId as broadcasterFeesId and its railgunAddress as broadcasterAddress. A lower ratio is a discount the broadcaster may refuse. If prices are missing, coversGas is false and recommended is the cheapest fee. Advertisements expire, so list again if execute says the fee expired. Shield has no broadcaster.",
11337
+ prerequisites: ["chainId", "tokenAddress", "kind"],
11338
+ followUp: ["broadcast_sign_result"],
11339
+ handler: { importPath: "protocols/evm/railgun", exportName: "listRailgunBroadcasters" },
11340
+ inputZod: mcpRailgunListBroadcastersInputSchema,
11341
+ outputZod: mcpRailgunListBroadcastersOutputSchema
11342
+ }),
11343
+ defineMcpTool({
11344
+ name: "ctm_railgun_list_spends",
11345
+ actionId: "railgun.list-spends",
11346
+ protocolId: "railgun",
11347
+ chainCategory: "evm",
11348
+ description: "List private transfers and unshields stored on KeyGen records. This is the Railgun History list, and it also includes spends still on Join or Execute. status is pending, ready, executing, executed, failed, rejected, shelved, or expired. executed rows include txHash. failed rows include error. requestId is RailgunSpend:<keyGenId>:<spendId>. Shelve a ready or failed row with shelve_sign_request. Do not use list_sign_requests for these rows.",
11349
+ prerequisites: [],
11350
+ followUp: ["broadcast_sign_result", "shelve_sign_request"],
11351
+ handler: { importPath: "protocols/evm/railgun", exportName: "railgunFetchPrivateBalancesSummary" },
11352
+ inputZod: mcpRailgunListSpendsInputSchema,
11353
+ outputZod: mcpRailgunListSpendsOutputSchema
11151
11354
  })
11152
11355
  ];
11153
11356
  var MCP_TOOL_DEFINITIONS = [
@@ -11627,9 +11830,9 @@ function isMapleSyrupSupportedChain(chainId) {
11627
11830
  function matchesAssetFilter(opts) {
11628
11831
  const f = (opts.filter ?? "").trim();
11629
11832
  if (!f) return true;
11630
- const addr = (opts.address ?? "").trim();
11631
- if (isAddress(f) && isAddress(addr)) {
11632
- return getAddress(addr) === getAddress(f);
11833
+ const addr2 = (opts.address ?? "").trim();
11834
+ if (isAddress(f) && isAddress(addr2)) {
11835
+ return getAddress(addr2) === getAddress(f);
11633
11836
  }
11634
11837
  const sym = (opts.symbol ?? "").trim();
11635
11838
  if (!sym) return false;
@@ -11846,17 +12049,36 @@ async function fetchEulerV2ChainAssetCache(chainId) {
11846
12049
  fetchEulerV3EarnVaults({ chainId }).catch(() => [])
11847
12050
  ]);
11848
12051
  const modes = /* @__PURE__ */ new Map();
11849
- const bump = (addr, patch) => {
11850
- const cur = modes.get(addr) ?? { lend: false, borrow: false, earn: false };
11851
- modes.set(addr, {
12052
+ const symbols = /* @__PURE__ */ new Map();
12053
+ const ambiguousSymbols = /* @__PURE__ */ new Set();
12054
+ const bump = (addr2, patch) => {
12055
+ const cur = modes.get(addr2) ?? { lend: false, borrow: false, earn: false };
12056
+ modes.set(addr2, {
11852
12057
  lend: cur.lend || !!patch.lend,
11853
12058
  borrow: cur.borrow || !!patch.borrow,
11854
12059
  earn: cur.earn || !!patch.earn
11855
12060
  });
11856
12061
  };
12062
+ const noteSymbol = (symbol, addr2) => {
12063
+ const sym = (symbol ?? "").trim().toLowerCase();
12064
+ if (!sym || ambiguousSymbols.has(sym) || !isAddress(addr2)) return;
12065
+ const checksum = getAddress(addr2);
12066
+ const prev = symbols.get(sym);
12067
+ if (!prev) {
12068
+ symbols.set(sym, checksum);
12069
+ return;
12070
+ }
12071
+ if (prev.toLowerCase() !== checksum.toLowerCase()) {
12072
+ symbols.delete(sym);
12073
+ ambiguousSymbols.add(sym);
12074
+ }
12075
+ };
11857
12076
  for (const v of earnVaults) {
11858
12077
  const a = normAssetAddr(v.asset?.address ?? void 0);
11859
- if (a) bump(a, { earn: true });
12078
+ if (a) {
12079
+ bump(a, { earn: true });
12080
+ noteSymbol(v.asset?.symbol, a);
12081
+ }
11860
12082
  }
11861
12083
  for (const v of evkVaults) {
11862
12084
  const a = normAssetAddr(v.asset?.address ?? void 0);
@@ -11866,8 +12088,13 @@ async function fetchEulerV2ChainAssetCache(chainId) {
11866
12088
  lend: vis?.explorableLend !== false,
11867
12089
  borrow: v3VaultShowsBorrow(v.totalBorrows, vis?.explorableBorrow)
11868
12090
  });
12091
+ noteSymbol(v.asset?.symbol, a);
12092
+ }
12093
+ const weth = symbols.get("weth");
12094
+ if (weth && !symbols.has("eth") && !ambiguousSymbols.has("eth")) {
12095
+ symbols.set("eth", weth);
11869
12096
  }
11870
- return { nativeWrapped, modesByUnderlying: modes };
12097
+ return { nativeWrapped, modesByUnderlying: modes, symbolToAddress: symbols };
11871
12098
  }
11872
12099
  function ensureEulerV2ChainAssetCache(chainId) {
11873
12100
  const hit = eulerV2ChainAssetCache.get(chainId);
@@ -13028,10 +13255,10 @@ var aerodromeProtocolModule = {
13028
13255
  id: "aerodrome.quote",
13029
13256
  protocolId: AERODROME_PROTOCOL_ID,
13030
13257
  chainCategory: "evm",
13031
- description: "Quote an Aerodrome swap on Base via factory discovery + MixedRouteQuoterV3 / Router. Tickers (AAPLc, USDC, ETH) accepted.",
13258
+ description: "Quote an Aero swap (protocol id aerodrome) via factory discovery and pool getAmountOut / Metaquoter. Base 8453 by default; also Ethereum, OP Mainnet, Arbitrum, Robinhood, Arc, and Ink. Tickers (AAPLc, USDC, ETH) accepted. Stock tickers are Base only.",
13032
13259
  commonParams: [],
13033
13260
  params: {
13034
- chainId: { type: "number", required: true, description: `Must be ${AERODROME_CHAIN_ID}` },
13261
+ chainId: { type: "number", required: true, description: "Aero chain: 8453 (Base, default), 1, 10, 42161, 4663, 5042, or 57073." },
13035
13262
  tokenIn: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x / 0x0 native" },
13036
13263
  tokenOut: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x / 0x0 native" },
13037
13264
  amountHuman: { type: "string", required: true, description: "Human-readable input amount (B20 stocks are 8 decimals)" }
@@ -14791,41 +15018,58 @@ init_constants();
14791
15018
  function advisor(protocolId, tokenFilter, impl) {
14792
15019
  return { protocolId, tokenFilter, ...impl };
14793
15020
  }
14794
- async function aerodromeAdvisorPriorityTokens() {
14795
- const stocks = await ensureCoinbaseB20StockCatalog().catch(() => []);
14796
- return [
15021
+ async function aerodromeAdvisorPriorityTokens(chainId) {
15022
+ const addrs = aeroAddressesForChain(chainId);
15023
+ const usdc = aeroUsdcAddress(chainId);
15024
+ const stocks = chainId === 8453 ? await ensureCoinbaseB20StockCatalog().catch(() => []) : [];
15025
+ const rows = [
14797
15026
  {
14798
15027
  address: "0x0000000000000000000000000000000000000000",
14799
15028
  symbol: "ETH",
14800
15029
  decimals: 18,
14801
15030
  roles: ["native"]
14802
- },
14803
- {
14804
- address: AERODROME_WETH_BASE,
15031
+ }
15032
+ ];
15033
+ if (addrs.weth !== zeroAddress) {
15034
+ rows.push({
15035
+ address: addrs.weth,
14805
15036
  symbol: "WETH",
14806
15037
  decimals: 18,
14807
15038
  roles: ["native_wrapped"]
14808
- },
14809
- {
14810
- address: AERODROME_USDC_BASE,
15039
+ });
15040
+ }
15041
+ if (usdc) {
15042
+ rows.push({
15043
+ address: usdc,
14811
15044
  symbol: "USDC",
14812
15045
  decimals: 6,
14813
15046
  roles: ["swappable", "listed"]
14814
- },
14815
- {
14816
- address: AERODROME_BASE_ADDRESSES_FALLBACK.aero,
14817
- symbol: "AERO",
15047
+ });
15048
+ }
15049
+ rows.push({
15050
+ address: addrs.aero,
15051
+ symbol: "AERO",
15052
+ decimals: 18,
15053
+ roles: ["swappable"]
15054
+ });
15055
+ if (addrs.receiptToken.toLowerCase() !== addrs.aero.toLowerCase()) {
15056
+ rows.push({
15057
+ address: addrs.receiptToken,
15058
+ symbol: "xAERO",
14818
15059
  decimals: 18,
14819
15060
  roles: ["swappable"]
14820
- },
14821
- ...stocks.map((t) => ({
15061
+ });
15062
+ }
15063
+ for (const t of stocks) {
15064
+ rows.push({
14822
15065
  address: t.address,
14823
15066
  symbol: t.symbol,
14824
15067
  name: t.name,
14825
15068
  decimals: t.decimals || COINBASE_B20_STOCK_DECIMALS,
14826
15069
  roles: ["swappable", "listed", "coinbase_b20"]
14827
- }))
14828
- ];
15070
+ });
15071
+ }
15072
+ return rows;
14829
15073
  }
14830
15074
  var PROTOCOL_SUPPORT_ADVISORS = {
14831
15075
  "aave-v4": advisor("aave-v4", "api_underlyings", {
@@ -15136,16 +15380,17 @@ var PROTOCOL_SUPPORT_ADVISORS = {
15136
15380
  }),
15137
15381
  [AERODROME_PROTOCOL_ID]: advisor(AERODROME_PROTOCOL_ID, "pool_graph", {
15138
15382
  async supportedChainIds() {
15139
- return [AERODROME_CHAIN_ID];
15383
+ return [...AERO_CHAIN_IDS];
15140
15384
  },
15141
15385
  async supportedTokens(chainId) {
15142
- if (chainId !== AERODROME_CHAIN_ID) {
15143
- return { tokens: [], notes: "Aerodrome is Base-only (chainId 8453)." };
15386
+ if (!isAerodromeChainSupported(chainId)) {
15387
+ return { tokens: [], notes: aerodromeUnsupportedChainMessage(chainId) };
15144
15388
  }
15389
+ const addrs = aeroAddressesForChain(chainId);
15145
15390
  return {
15146
- tokens: await aerodromeAdvisorPriorityTokens(),
15147
- nativeWrapped: AERODROME_WETH_BASE,
15148
- notes: "ETH, WETH, USDC, AERO, plus the live Coinbase B20 catalog. For a price call ctm_aerodrome_quote with a ticker. To see pools for one token call ctm_aerodrome_discover_pools. Do not dump LpSugar."
15391
+ tokens: await aerodromeAdvisorPriorityTokens(chainId),
15392
+ nativeWrapped: addrs.weth === zeroAddress ? void 0 : addrs.weth,
15393
+ notes: chainId === 8453 ? "Aero on Base: ETH, WETH, USDC, AERO, xAERO, plus the live Coinbase B20 catalog. For a price call ctm_aerodrome_quote with a ticker. To see pools for one token call ctm_aerodrome_discover_pools. Do not dump LpSugar." : "Aero on this chain: ETH, WETH, USDC when deployed, and the xAERO receipt. Coinbase stock LP is Base only. For a price call ctm_aerodrome_quote. To see pools call ctm_aerodrome_discover_pools."
15149
15394
  };
15150
15395
  }
15151
15396
  }),
@@ -15447,6 +15692,6 @@ function getAgentCatalog() {
15447
15692
  };
15448
15693
  }
15449
15694
 
15450
- export { EVM_COMMON_PARAM_DOCS, MANAGEMENT_SIG_DOC, MCP_NON_SUBMIT_TOOL_NAMES, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, MULTISIGN_SUBMIT_OUTPUT_DOC, PROTOCOL_SUPPORT_ADVISORS, agentEvmChainIdSchema, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4FetchMarketInputSchema, mcpAaveV4FetchMarketOutputSchema, mcpAaveV4FetchMarketsInputSchema, mcpAaveV4FetchMarketsOutputSchema, mcpAaveV4FetchStockMarketsInputSchema, mcpAaveV4FetchStockMarketsOutputSchema, mcpAaveV4MerklClaimInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpAerodromeBuildAddLiquidityMultisignInputSchema, mcpAerodromeBuildClBurnMultisignInputSchema, mcpAerodromeBuildClCollectFeesMultisignInputSchema, mcpAerodromeBuildClDecreaseMultisignInputSchema, mcpAerodromeBuildClIncreaseMultisignInputSchema, mcpAerodromeBuildClMintMultisignInputSchema, mcpAerodromeBuildClaimEmissionsMultisignInputSchema, mcpAerodromeBuildClaimFeesMultisignInputSchema, mcpAerodromeBuildGaugeStakeMultisignInputSchema, mcpAerodromeBuildGaugeUnstakeMultisignInputSchema, mcpAerodromeBuildRemoveLiquidityMultisignInputSchema, mcpAerodromeBuildSwapMultisignInputSchema, mcpAerodromeDiscoverPoolsInputSchema, mcpAerodromeDiscoverPoolsOutputSchema, mcpAerodromeFetchLpYieldsInputSchema, mcpAerodromeFetchLpYieldsOutputSchema, mcpAerodromeFetchPoolsInputSchema, mcpAerodromeFetchPoolsOutputSchema, mcpAerodromeFetchPositionsInputSchema, mcpAerodromeFetchPositionsOutputSchema, mcpAerodromeFetchStockLpYieldsInputSchema, mcpAerodromeFetchStockLpYieldsOutputSchema, mcpAerodromeQuoteAddLiquidityInputSchema, mcpAerodromeQuoteAddLiquidityOutputSchema, mcpAerodromeQuoteClDepositInputSchema, mcpAerodromeQuoteClDepositOutputSchema, mcpAerodromeQuoteInputSchema, mcpAerodromeQuoteOutputSchema, mcpArcusBuildCancelOrderMultisignInputSchema, mcpArcusBuildCloseMultisignInputSchema, mcpArcusBuildCreateApiKeyMultisignInputSchema, mcpArcusBuildDepositMultisignInputSchema, mcpArcusBuildPlaceOrderMultisignInputSchema, mcpArcusBuildSetLeverageMultisignInputSchema, mcpArcusBuildWithdrawMultisignInputSchema, mcpArcusFetchAccountInputSchema, mcpArcusFetchAccountOutputSchema, mcpArcusFetchMarketSnapshotInputSchema, mcpArcusFetchMarketSnapshotOutputSchema, mcpArcusFetchMarketsInputSchema, mcpArcusFetchMarketsOutputSchema, mcpArcusFetchOhlcvInputSchema, mcpArcusFetchOhlcvOutputSchema, mcpArcusFetchOpenContextInputSchema, mcpArcusFetchOpenContextOutputSchema, mcpArcusFetchOpenOrdersInputSchema, mcpArcusFetchOpenOrdersOutputSchema, mcpArcusFetchPositionsInputSchema, mcpArcusFetchPositionsOutputSchema, mcpArcusSearchMarketsInputSchema, mcpArcusSearchMarketsOutputSchema, mcpArcusSpotBuildRfqMultisignInputSchema, mcpArcusSpotFetchBalancesInputSchema, mcpArcusSpotFetchBalancesOutputSchema, mcpArcusSpotFetchMarketsInputSchema, mcpArcusSpotFetchMarketsOutputSchema, mcpArcusSpotFetchOhlcvInputSchema, mcpArcusSpotFetchOhlcvOutputSchema, mcpCompoundV3BulkerInputSchema, mcpCompoundV3ClaimRewardsInputSchema, mcpCompoundV3FetchAccountInputSchema, mcpCompoundV3FetchAccountOutputSchema, mcpCompoundV3FetchMarketInputSchema, mcpCompoundV3FetchMarketOutputSchema, mcpCompoundV3FetchMarketsInputSchema, mcpCompoundV3FetchMarketsOutputSchema, mcpCompoundV3RepayInputSchema, mcpCompoundV3SupplyInputSchema, mcpCompoundV3WithdrawInputSchema, mcpContinuumDaoAttachInputSchema, mcpContinuumDaoCancelInputSchema, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoComposeProposalActionInputSchema, mcpContinuumDaoComposeProposalActionOutputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, mcpContinuumDaoExecuteInputSchema, mcpContinuumDaoExplainProposalInputSchema, mcpContinuumDaoExplainProposalOutputSchema, mcpContinuumDaoFetchDelegatesInputSchema, mcpContinuumDaoFetchDelegatesOutputSchema, mcpContinuumDaoFetchLiveProposalsInputSchema, mcpContinuumDaoFetchLiveProposalsOutputSchema, mcpContinuumDaoFetchProposalInputSchema, mcpContinuumDaoFetchProposalOutputSchema, mcpContinuumDaoFetchProposalStateInputSchema, mcpContinuumDaoFetchProposalStateOutputSchema, mcpContinuumDaoFetchProposalVotesInputSchema, mcpContinuumDaoFetchProposalVotesOutputSchema, mcpContinuumDaoFetchProposalsInputSchema, mcpContinuumDaoFetchProposalsOutputSchema, mcpContinuumDaoFetchVotingPowerInputSchema, mcpContinuumDaoFetchVotingPowerOutputSchema, mcpContinuumDaoForumCreateIdeaInputSchema, mcpContinuumDaoForumCreateIdeaOutputSchema, mcpContinuumDaoForumCreateTopicInputSchema, mcpContinuumDaoForumCreateTopicOutputSchema, mcpContinuumDaoForumDeleteInputSchema, mcpContinuumDaoForumDeleteOutputSchema, mcpContinuumDaoForumFetchPostInputSchema, mcpContinuumDaoForumFetchPostOutputSchema, mcpContinuumDaoForumFetchThreadInputSchema, mcpContinuumDaoForumFetchThreadOutputSchema, mcpContinuumDaoForumMarkReadInputSchema, mcpContinuumDaoForumMarkReadOutputSchema, mcpContinuumDaoForumMarkUnreadInputSchema, mcpContinuumDaoForumMarkUnreadOutputSchema, mcpContinuumDaoForumMeInputSchema, mcpContinuumDaoForumMeOutputSchema, mcpContinuumDaoForumReactInputSchema, mcpContinuumDaoForumReactOutputSchema, mcpContinuumDaoForumRecentInputSchema, mcpContinuumDaoForumRecentOutputSchema, mcpContinuumDaoForumReplyCountInputSchema, mcpContinuumDaoForumReplyCountOutputSchema, mcpContinuumDaoForumReplyInputSchema, mcpContinuumDaoForumReplyOutputSchema, mcpContinuumDaoForumResolveInputSchema, mcpContinuumDaoForumResolveOutputSchema, mcpContinuumDaoForumSearchInputSchema, mcpContinuumDaoForumSearchOutputSchema, mcpContinuumDaoForumSectionsInputSchema, mcpContinuumDaoForumSectionsOutputSchema, mcpContinuumDaoForumSignInEligibleInputSchema, mcpContinuumDaoForumSignInEligibleOutputSchema, mcpContinuumDaoForumSignInInputSchema, mcpContinuumDaoForumSignOutInputSchema, mcpContinuumDaoForumSignOutOutputSchema, mcpContinuumDaoForumUnreadInputSchema, mcpContinuumDaoForumUnreadOutputSchema, mcpContinuumDaoForumUserPostIdsInputSchema, mcpContinuumDaoForumUserPostIdsOutputSchema, mcpContinuumDaoIncreaseAmountInputSchema, mcpContinuumDaoIncreaseUnlockTimeInputSchema, mcpContinuumDaoLiquidateInputSchema, mcpContinuumDaoMergeInputSchema, mcpContinuumDaoMpaFlagInputSchema, mcpContinuumDaoMpaFlagOutputSchema, mcpContinuumDaoMpaListingInputSchema, mcpContinuumDaoMpaListingOutputSchema, mcpContinuumDaoMpaMailboxListInputSchema, mcpContinuumDaoMpaMailboxListOutputSchema, mcpContinuumDaoMpaMailboxOpenInputSchema, mcpContinuumDaoMpaMailboxOpenOutputSchema, mcpContinuumDaoMpaMailboxSendInputSchema, mcpContinuumDaoMpaMailboxSendOutputSchema, mcpContinuumDaoMpaRetractInputSchema, mcpContinuumDaoMpaRetractOutputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposalVoteRowSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSimulateProposalInputSchema, mcpContinuumDaoSimulateProposalOutputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTechnocoreBindInputSchema, mcpContinuumDaoTechnocoreBindOutputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, mcpContinuumDaoWithdrawInputSchema, mcpContinuumDaoWriteInput, mcpCurveDaoBuildAddLiquidityMultisignInputSchema, mcpCurveDaoBuildGaugeDepositMultisignInputSchema, mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoFetchImportantPoolsInputSchema, mcpCurveDaoFetchImportantPoolsOutputSchema, mcpCurveDaoFetchLpYieldsInputSchema, mcpCurveDaoFetchLpYieldsOutputSchema, mcpCurveDaoQuoteAddLiquidityInputSchema, mcpCurveDaoQuoteAddLiquidityOutputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpCurveDaoQuoteRemoveLiquidityInputSchema, mcpCurveDaoQuoteRemoveLiquidityOutputSchema, mcpDeriveCancelInputSchema, mcpDeriveDepositAddressTransferInputSchema, mcpDeriveDepositNewSubaccountInputSchema, mcpDeriveFetchCurrenciesInputSchema, mcpDeriveFetchCurrenciesOutputSchema, mcpDeriveFetchMarketSnapshotInputSchema, mcpDeriveFetchMarketSnapshotOutputSchema, mcpDeriveFetchOhlcvInputSchema, mcpDeriveFetchOhlcvOutputSchema, mcpDeriveFetchOpenOrdersInputSchema, mcpDeriveFetchOpenOrdersOutputSchema, mcpDeriveFetchOptionChainInputSchema, mcpDeriveFetchOptionChainOutputSchema, mcpDeriveFetchPendingDepositsInputSchema, mcpDeriveFetchPendingDepositsOutputSchema, mcpDeriveFetchPortfolioInputSchema, mcpDeriveFetchPortfolioOutputSchema, mcpDeriveFetchPositionsInputSchema, mcpDeriveFetchPositionsOutputSchema, mcpDeriveFetchRiskUniversesInputSchema, mcpDeriveFetchRiskUniversesOutputSchema, mcpDeriveFetchSubaccountsInputSchema, mcpDeriveFetchSubaccountsOutputSchema, mcpDeriveFetchTickersInputSchema, mcpDeriveFetchTickersOutputSchema, mcpDeriveHypeVaultDepositInputSchema, mcpDeriveOrderQuoteInputSchema, mcpDeriveOrderQuoteOutputSchema, mcpDerivePlaceOrderInputSchema, mcpDeriveRegisterDepositAddressInputSchema, mcpDeriveRegisterDepositAddressOutputSchema, mcpDeriveReplaceOrderInputSchema, mcpDeriveSearchInstrumentsInputSchema, mcpDeriveSearchInstrumentsOutputSchema, mcpDeriveSocketDepositInputSchema, mcpDeriveTransferSpotInputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaFetchSusdeApyInputSchema, mcpEthenaFetchSusdeApyOutputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchEarnVaultsInputSchema, mcpEulerV2FetchEarnVaultsOutputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2MerklClaimInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGetPredictionMarketInputSchema, mcpGetPredictionMarketOutputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchOrdersInputSchema, mcpGmxFetchOrdersOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidBridgeDepositInputSchema, mcpHyperliquidBridgeWithdrawInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchLendMarketsInputSchema, mcpHyperliquidFetchLendMarketsOutputSchema, mcpHyperliquidFetchLendPositionsInputSchema, mcpHyperliquidFetchLendPositionsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchStockMarketsInputSchema, mcpHyperliquidFetchStockMarketsOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultApysInputSchema, mcpHyperliquidFetchVaultApysOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLendInputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidTrailingStopInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoFetchStethAprInputSchema, mcpLidoFetchStethAprOutputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpListMyPredictionMarketsInputSchema, mcpListMyPredictionMarketsOutputSchema, mcpMapleDepositInputSchema, mcpMapleFetchMarketInputSchema, mcpMapleFetchMarketOutputSchema, mcpMapleFetchMarketsInputSchema, mcpMapleFetchMarketsOutputSchema, mcpMapleRequestRedeemInputSchema, mcpMerklRewardsFetchInputSchema, mcpMerklRewardsFetchOutputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoBlueSupplyInputSchema, mcpMorphoBlueWithdrawInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightOffersInputSchema, mcpMorphoFetchMidnightOffersOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoFetchPositionsInputSchema, mcpMorphoFetchPositionsOutputSchema, mcpMorphoFetchStockMarketsInputSchema, mcpMorphoFetchStockMarketsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightCancelLendOfferInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightLendOfferInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpPendleBuildAddLiquidityMultisignInputSchema, mcpPendleBuildMintPyMultisignInputSchema, mcpPendleBuildMintSyMultisignInputSchema, mcpPendleBuildRedeemPyMultisignInputSchema, mcpPendleBuildRedeemRewardsMultisignInputSchema, mcpPendleBuildRedeemSyMultisignInputSchema, mcpPendleBuildRemoveLiquidityMultisignInputSchema, mcpPendleBuildSwapMultisignInputSchema, mcpPendleFetchMarketsInputSchema, mcpPendleFetchMarketsOutputSchema, mcpPendleFetchMerkleRewardsInputSchema, mcpPendleFetchMerkleRewardsOutputSchema, mcpPendleFetchPositionsInputSchema, mcpPendleFetchPositionsOutputSchema, mcpPendleFetchPricesInputSchema, mcpPendleFetchPricesOutputSchema, mcpPendleQuoteAddLiquidityInputSchema, mcpPendleQuoteMintPyInputSchema, mcpPendleQuoteMintSyInputSchema, mcpPendleQuoteOutputSchema, mcpPendleQuoteRedeemPyInputSchema, mcpPendleQuoteRedeemSyInputSchema, mcpPendleQuoteRemoveLiquidityInputSchema, mcpPendleQuoteSwapInputSchema, mcpPendleSearchAssetsInputSchema, mcpPendleSearchAssetsOutputSchema, mcpPredictionMarketRowSchema, mcpRailgunAgreeSpendInputSchema, mcpRailgunEnsureWalletInputSchema, mcpRailgunEnsureWalletOutputSchema, mcpRailgunFeeQuoteInputSchema, mcpRailgunFeeQuoteSchema, mcpRailgunFetchPopularAssetsInputSchema, mcpRailgunFetchPopularAssetsOutputSchema, mcpRailgunFetchPrivateBalancesInputSchema, mcpRailgunFetchPrivateBalancesOutputSchema, mcpRailgunPrivateActionOutputSchema, mcpRailgunPrivateTransferInputSchema, mcpRailgunShieldInputSchema, mcpRailgunUnshieldInputSchema, mcpSearchPredictionMarketsInputSchema, mcpSearchPredictionMarketsOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyFetchSusdsRateInputSchema, mcpSkyFetchSusdsRateOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpTrueoBurnInputSchema, mcpTrueoCancelOrderInputSchema, mcpTrueoCreateOrderInputSchema, mcpTrueoFetchCategoriesInputSchema, mcpTrueoFetchCategoriesOutputSchema, mcpTrueoFetchChanceSeriesInputSchema, mcpTrueoFetchChanceSeriesOutputSchema, mcpTrueoFetchMarketInputSchema, mcpTrueoFetchMarketOutputSchema, mcpTrueoFetchOrderbookInputSchema, mcpTrueoFetchOrderbookOutputSchema, mcpTrueoFetchTrendingInputSchema, mcpTrueoFetchTrendingOutputSchema, mcpTrueoMarketRowSchema, mcpTrueoMintInputSchema, mcpTrueoRedeemInputSchema, mcpTrueoSearchMarketsInputSchema, mcpTrueoSearchMarketsOutputSchema, mcpTrueoSwapInputSchema, mcpTrueoUnwrapTydInputSchema, mcpTrueoWrapTydInputSchema, mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CheckPermissionsInputSchema, mcpUniswapV4CheckPermissionsOutputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4KycApplyLinkInputSchema, mcpUniswapV4KycApplyLinkOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, mcpVeniceBurnDiemInputSchema, mcpVeniceCompleteUnstakeDiemInputSchema, mcpVeniceCompleteUnstakeSvvvInputSchema, mcpVeniceInitiateUnstakeDiemInputSchema, mcpVeniceInitiateUnstakeSvvvInputSchema, mcpVeniceListModelsInputSchema, mcpVeniceListModelsOutputSchema, mcpVeniceMintDiemInputSchema, mcpVeniceReadMintDiemPreviewInputSchema, mcpVeniceReadMintDiemPreviewOutputSchema, mcpVeniceReadStakingStateInputSchema, mcpVeniceReadStakingStateOutputSchema, mcpVeniceStakeDiemInputSchema, mcpVeniceStakeVvvInputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
15695
+ export { EVM_COMMON_PARAM_DOCS, MANAGEMENT_SIG_DOC, MCP_NON_SUBMIT_TOOL_NAMES, MCP_TOOL_DEFINITIONS, MCP_TOOL_INPUT_SCHEMAS, MCP_TOOL_OUTPUT_SCHEMAS, MULTISIGN_OUTPUT_DOC, MULTISIGN_SUBMIT_OUTPUT_DOC, PROTOCOL_SUPPORT_ADVISORS, agentEvmChainIdSchema, chainDetailSchema, evmAddressSchema, evmMultisignCommonInputSchema, getActionsByChainCategory, getAgentCatalog, getAgentCatalogForMcp, getMcpToolByName, getMcpToolDefinitions, getMcpToolInputSchema, getMcpToolOutputSchema, getProtocolDiscoverySummary, getProtocolModules, getProtocolSkill, getProtocolSupportAdvisor, getToolsForProtocol, jsonObjectSchema, keyGenSchema, listProtocolSupportAdvisorIds, listProtocolsWithSkills, mcpAaveV4BorrowInputSchema, mcpAaveV4DepositInputSchema, mcpAaveV4FetchMarketInputSchema, mcpAaveV4FetchMarketOutputSchema, mcpAaveV4FetchMarketsInputSchema, mcpAaveV4FetchMarketsOutputSchema, mcpAaveV4FetchStockMarketsInputSchema, mcpAaveV4FetchStockMarketsOutputSchema, mcpAaveV4MerklClaimInputSchema, mcpAaveV4RepayInputSchema, mcpAaveV4WithdrawInputSchema, mcpAerodromeBuildAddLiquidityMultisignInputSchema, mcpAerodromeBuildClBurnMultisignInputSchema, mcpAerodromeBuildClCollectFeesMultisignInputSchema, mcpAerodromeBuildClDecreaseMultisignInputSchema, mcpAerodromeBuildClIncreaseMultisignInputSchema, mcpAerodromeBuildClMintMultisignInputSchema, mcpAerodromeBuildClaimEmissionsMultisignInputSchema, mcpAerodromeBuildClaimFeesMultisignInputSchema, mcpAerodromeBuildGaugeStakeMultisignInputSchema, mcpAerodromeBuildGaugeUnstakeMultisignInputSchema, mcpAerodromeBuildRemoveLiquidityMultisignInputSchema, mcpAerodromeBuildSwapMultisignInputSchema, mcpAerodromeDiscoverPoolsInputSchema, mcpAerodromeDiscoverPoolsOutputSchema, mcpAerodromeFetchLpYieldsInputSchema, mcpAerodromeFetchLpYieldsOutputSchema, mcpAerodromeFetchPoolsInputSchema, mcpAerodromeFetchPoolsOutputSchema, mcpAerodromeFetchPositionsInputSchema, mcpAerodromeFetchPositionsOutputSchema, mcpAerodromeFetchStockLpYieldsInputSchema, mcpAerodromeFetchStockLpYieldsOutputSchema, mcpAerodromeQuoteAddLiquidityInputSchema, mcpAerodromeQuoteAddLiquidityOutputSchema, mcpAerodromeQuoteClDepositInputSchema, mcpAerodromeQuoteClDepositOutputSchema, mcpAerodromeQuoteInputSchema, mcpAerodromeQuoteOutputSchema, mcpArcusBuildCancelOrderMultisignInputSchema, mcpArcusBuildCloseMultisignInputSchema, mcpArcusBuildCreateApiKeyMultisignInputSchema, mcpArcusBuildDepositMultisignInputSchema, mcpArcusBuildPlaceOrderMultisignInputSchema, mcpArcusBuildSetLeverageMultisignInputSchema, mcpArcusBuildWithdrawMultisignInputSchema, mcpArcusFetchAccountInputSchema, mcpArcusFetchAccountOutputSchema, mcpArcusFetchMarketSnapshotInputSchema, mcpArcusFetchMarketSnapshotOutputSchema, mcpArcusFetchMarketsInputSchema, mcpArcusFetchMarketsOutputSchema, mcpArcusFetchOhlcvInputSchema, mcpArcusFetchOhlcvOutputSchema, mcpArcusFetchOpenContextInputSchema, mcpArcusFetchOpenContextOutputSchema, mcpArcusFetchOpenOrdersInputSchema, mcpArcusFetchOpenOrdersOutputSchema, mcpArcusFetchPositionsInputSchema, mcpArcusFetchPositionsOutputSchema, mcpArcusSearchMarketsInputSchema, mcpArcusSearchMarketsOutputSchema, mcpArcusSpotBuildRfqMultisignInputSchema, mcpArcusSpotFetchBalancesInputSchema, mcpArcusSpotFetchBalancesOutputSchema, mcpArcusSpotFetchMarketsInputSchema, mcpArcusSpotFetchMarketsOutputSchema, mcpArcusSpotFetchOhlcvInputSchema, mcpArcusSpotFetchOhlcvOutputSchema, mcpCompoundV3BulkerInputSchema, mcpCompoundV3ClaimRewardsInputSchema, mcpCompoundV3FetchAccountInputSchema, mcpCompoundV3FetchAccountOutputSchema, mcpCompoundV3FetchMarketInputSchema, mcpCompoundV3FetchMarketOutputSchema, mcpCompoundV3FetchMarketsInputSchema, mcpCompoundV3FetchMarketsOutputSchema, mcpCompoundV3RepayInputSchema, mcpCompoundV3SupplyInputSchema, mcpCompoundV3WithdrawInputSchema, mcpContinuumDaoAttachInputSchema, mcpContinuumDaoCancelInputSchema, mcpContinuumDaoCastVoteBravoInputSchema, mcpContinuumDaoCastVoteDeltaInputSchema, mcpContinuumDaoComposeProposalActionInputSchema, mcpContinuumDaoComposeProposalActionOutputSchema, mcpContinuumDaoCreateLockInputSchema, mcpContinuumDaoDelegateInputSchema, mcpContinuumDaoExecuteInputSchema, mcpContinuumDaoExplainProposalInputSchema, mcpContinuumDaoExplainProposalOutputSchema, mcpContinuumDaoFetchDelegatesInputSchema, mcpContinuumDaoFetchDelegatesOutputSchema, mcpContinuumDaoFetchLiveProposalsInputSchema, mcpContinuumDaoFetchLiveProposalsOutputSchema, mcpContinuumDaoFetchProposalInputSchema, mcpContinuumDaoFetchProposalOutputSchema, mcpContinuumDaoFetchProposalStateInputSchema, mcpContinuumDaoFetchProposalStateOutputSchema, mcpContinuumDaoFetchProposalVotesInputSchema, mcpContinuumDaoFetchProposalVotesOutputSchema, mcpContinuumDaoFetchProposalsInputSchema, mcpContinuumDaoFetchProposalsOutputSchema, mcpContinuumDaoFetchVotingPowerInputSchema, mcpContinuumDaoFetchVotingPowerOutputSchema, mcpContinuumDaoForumCreateIdeaInputSchema, mcpContinuumDaoForumCreateIdeaOutputSchema, mcpContinuumDaoForumCreateTopicInputSchema, mcpContinuumDaoForumCreateTopicOutputSchema, mcpContinuumDaoForumDeleteInputSchema, mcpContinuumDaoForumDeleteOutputSchema, mcpContinuumDaoForumFetchPostInputSchema, mcpContinuumDaoForumFetchPostOutputSchema, mcpContinuumDaoForumFetchThreadInputSchema, mcpContinuumDaoForumFetchThreadOutputSchema, mcpContinuumDaoForumMarkReadInputSchema, mcpContinuumDaoForumMarkReadOutputSchema, mcpContinuumDaoForumMarkUnreadInputSchema, mcpContinuumDaoForumMarkUnreadOutputSchema, mcpContinuumDaoForumMeInputSchema, mcpContinuumDaoForumMeOutputSchema, mcpContinuumDaoForumReactInputSchema, mcpContinuumDaoForumReactOutputSchema, mcpContinuumDaoForumRecentInputSchema, mcpContinuumDaoForumRecentOutputSchema, mcpContinuumDaoForumReplyCountInputSchema, mcpContinuumDaoForumReplyCountOutputSchema, mcpContinuumDaoForumReplyInputSchema, mcpContinuumDaoForumReplyOutputSchema, mcpContinuumDaoForumResolveInputSchema, mcpContinuumDaoForumResolveOutputSchema, mcpContinuumDaoForumSearchInputSchema, mcpContinuumDaoForumSearchOutputSchema, mcpContinuumDaoForumSectionsInputSchema, mcpContinuumDaoForumSectionsOutputSchema, mcpContinuumDaoForumSignInEligibleInputSchema, mcpContinuumDaoForumSignInEligibleOutputSchema, mcpContinuumDaoForumSignInInputSchema, mcpContinuumDaoForumSignOutInputSchema, mcpContinuumDaoForumSignOutOutputSchema, mcpContinuumDaoForumUnreadInputSchema, mcpContinuumDaoForumUnreadOutputSchema, mcpContinuumDaoForumUserPostIdsInputSchema, mcpContinuumDaoForumUserPostIdsOutputSchema, mcpContinuumDaoIncreaseAmountInputSchema, mcpContinuumDaoIncreaseUnlockTimeInputSchema, mcpContinuumDaoLiquidateInputSchema, mcpContinuumDaoMergeInputSchema, mcpContinuumDaoMpaFlagInputSchema, mcpContinuumDaoMpaFlagOutputSchema, mcpContinuumDaoMpaListingInputSchema, mcpContinuumDaoMpaListingOutputSchema, mcpContinuumDaoMpaMailboxListInputSchema, mcpContinuumDaoMpaMailboxListOutputSchema, mcpContinuumDaoMpaMailboxOpenInputSchema, mcpContinuumDaoMpaMailboxOpenOutputSchema, mcpContinuumDaoMpaMailboxSendInputSchema, mcpContinuumDaoMpaMailboxSendOutputSchema, mcpContinuumDaoMpaRetractInputSchema, mcpContinuumDaoMpaRetractOutputSchema, mcpContinuumDaoProposalIdInputSchema, mcpContinuumDaoProposalVoteRowSchema, mcpContinuumDaoProposeBravoInputSchema, mcpContinuumDaoProposeDeltaInputSchema, mcpContinuumDaoRegisterProposalInputSchema, mcpContinuumDaoRegisterProposalOutputSchema, mcpContinuumDaoRequestDetachInputSchema, mcpContinuumDaoSimulateProposalInputSchema, mcpContinuumDaoSimulateProposalOutputSchema, mcpContinuumDaoSplitInputSchema, mcpContinuumDaoTechnocoreBindInputSchema, mcpContinuumDaoTechnocoreBindOutputSchema, mcpContinuumDaoTokenIdInputSchema, mcpContinuumDaoTransferInputSchema, mcpContinuumDaoUndelegateInputSchema, mcpContinuumDaoWithdrawInputSchema, mcpContinuumDaoWriteInput, mcpCurveDaoBuildAddLiquidityMultisignInputSchema, mcpCurveDaoBuildGaugeDepositMultisignInputSchema, mcpCurveDaoBuildRemoveLiquidityMultisignInputSchema, mcpCurveDaoBuildSwapMultisignInputSchema, mcpCurveDaoFetchImportantPoolsInputSchema, mcpCurveDaoFetchImportantPoolsOutputSchema, mcpCurveDaoFetchLpYieldsInputSchema, mcpCurveDaoFetchLpYieldsOutputSchema, mcpCurveDaoQuoteAddLiquidityInputSchema, mcpCurveDaoQuoteAddLiquidityOutputSchema, mcpCurveDaoQuoteInputSchema, mcpCurveDaoQuoteOutputSchema, mcpCurveDaoQuoteRemoveLiquidityInputSchema, mcpCurveDaoQuoteRemoveLiquidityOutputSchema, mcpDeriveCancelInputSchema, mcpDeriveDepositAddressTransferInputSchema, mcpDeriveDepositNewSubaccountInputSchema, mcpDeriveFetchCurrenciesInputSchema, mcpDeriveFetchCurrenciesOutputSchema, mcpDeriveFetchMarketSnapshotInputSchema, mcpDeriveFetchMarketSnapshotOutputSchema, mcpDeriveFetchOhlcvInputSchema, mcpDeriveFetchOhlcvOutputSchema, mcpDeriveFetchOpenOrdersInputSchema, mcpDeriveFetchOpenOrdersOutputSchema, mcpDeriveFetchOptionChainInputSchema, mcpDeriveFetchOptionChainOutputSchema, mcpDeriveFetchPendingDepositsInputSchema, mcpDeriveFetchPendingDepositsOutputSchema, mcpDeriveFetchPortfolioInputSchema, mcpDeriveFetchPortfolioOutputSchema, mcpDeriveFetchPositionsInputSchema, mcpDeriveFetchPositionsOutputSchema, mcpDeriveFetchRiskUniversesInputSchema, mcpDeriveFetchRiskUniversesOutputSchema, mcpDeriveFetchSubaccountsInputSchema, mcpDeriveFetchSubaccountsOutputSchema, mcpDeriveFetchTickersInputSchema, mcpDeriveFetchTickersOutputSchema, mcpDeriveHypeVaultDepositInputSchema, mcpDeriveOrderQuoteInputSchema, mcpDeriveOrderQuoteOutputSchema, mcpDerivePlaceOrderInputSchema, mcpDeriveRegisterDepositAddressInputSchema, mcpDeriveRegisterDepositAddressOutputSchema, mcpDeriveReplaceOrderInputSchema, mcpDeriveSearchInstrumentsInputSchema, mcpDeriveSearchInstrumentsOutputSchema, mcpDeriveSocketDepositInputSchema, mcpDeriveTransferSpotInputSchema, mcpEthenaClaimInputSchema, mcpEthenaCooldownInputSchema, mcpEthenaFetchSusdeApyInputSchema, mcpEthenaFetchSusdeApyOutputSchema, mcpEthenaRedeemInputSchema, mcpEthenaStakeInputSchema, mcpEulerV2BorrowRepayInputSchema, mcpEulerV2CollateralDepositInputSchema, mcpEulerV2CollateralWithdrawInputSchema, mcpEulerV2FetchEarnVaultsInputSchema, mcpEulerV2FetchEarnVaultsOutputSchema, mcpEulerV2FetchLendVaultsInputSchema, mcpEulerV2FetchLendVaultsOutputSchema, mcpEulerV2IsolatedBorrowInputSchema, mcpEulerV2IsolatedLendInputSchema, mcpEulerV2MerklClaimInputSchema, mcpEulerV2VaultWithdrawInputSchema, mcpGetPredictionMarketInputSchema, mcpGetPredictionMarketOutputSchema, mcpGmxCancelInputSchema, mcpGmxDecreaseInputSchema, mcpGmxFetchGmApyInputSchema, mcpGmxFetchGmApyOutputSchema, mcpGmxFetchGmMarketsInputSchema, mcpGmxFetchGmMarketsOutputSchema, mcpGmxFetchMarketPricesInputSchema, mcpGmxFetchMarketPricesOutputSchema, mcpGmxFetchMarketsInputSchema, mcpGmxFetchMarketsOutputSchema, mcpGmxFetchOhlcvInputSchema, mcpGmxFetchOhlcvOutputSchema, mcpGmxFetchOrdersInputSchema, mcpGmxFetchOrdersOutputSchema, mcpGmxFetchPositionsInputSchema, mcpGmxFetchPositionsOutputSchema, mcpGmxFetchStakingPowerInputSchema, mcpGmxFetchStakingPowerOutputSchema, mcpGmxGmDepositInputSchema, mcpGmxGmWithdrawInputSchema, mcpGmxIncreaseInputSchema, mcpServerSubmitOutputSchema as mcpGmxMultisignOutputSchema, mcpGmxStakeGmxInputSchema, mcpGmxUnstakeGmxInputSchema, mcpHyperliquidBridgeDepositInputSchema, mcpHyperliquidBridgeWithdrawInputSchema, mcpHyperliquidCancelInputSchema, mcpHyperliquidCloseInputSchema, mcpHyperliquidDelegateInputSchema, mcpHyperliquidFetchDelegationsInputSchema, mcpHyperliquidFetchDelegationsOutputSchema, mcpHyperliquidFetchLendMarketsInputSchema, mcpHyperliquidFetchLendMarketsOutputSchema, mcpHyperliquidFetchLendPositionsInputSchema, mcpHyperliquidFetchLendPositionsOutputSchema, mcpHyperliquidFetchMarketSnapshotInputSchema, mcpHyperliquidFetchMarketSnapshotOutputSchema, mcpHyperliquidFetchMarketsInputSchema, mcpHyperliquidFetchMarketsOutputSchema, mcpHyperliquidFetchOhlcvInputSchema, mcpHyperliquidFetchOhlcvOutputSchema, mcpHyperliquidFetchOpenContextInputSchema, mcpHyperliquidFetchOpenContextOutputSchema, mcpHyperliquidFetchOpenOrdersInputSchema, mcpHyperliquidFetchOpenOrdersOutputSchema, mcpHyperliquidFetchPositionsInputSchema, mcpHyperliquidFetchPositionsOutputSchema, mcpHyperliquidFetchStakingSummaryInputSchema, mcpHyperliquidFetchStakingSummaryOutputSchema, mcpHyperliquidFetchStockMarketsInputSchema, mcpHyperliquidFetchStockMarketsOutputSchema, mcpHyperliquidFetchUsdClassBalancesInputSchema, mcpHyperliquidFetchUsdClassBalancesOutputSchema, mcpHyperliquidFetchUserVaultEquitiesInputSchema, mcpHyperliquidFetchUserVaultEquitiesOutputSchema, mcpHyperliquidFetchVaultApysInputSchema, mcpHyperliquidFetchVaultApysOutputSchema, mcpHyperliquidFetchVaultsInputSchema, mcpHyperliquidFetchVaultsOutputSchema, mcpHyperliquidLendInputSchema, mcpHyperliquidLimitOrderInputSchema, mcpHyperliquidSearchMarketsInputSchema, mcpHyperliquidSearchMarketsOutputSchema, mcpHyperliquidStakeInputSchema, mcpHyperliquidTrailingStopInputSchema, mcpHyperliquidUndelegateInputSchema, mcpHyperliquidUnstakeInputSchema, mcpHyperliquidUpdateLeverageInputSchema, mcpHyperliquidUsdTransferInputSchema, mcpHyperliquidVaultDepositInputSchema, mcpHyperliquidVaultWithdrawInputSchema, mcpLidoClaimWithdrawalInputSchema, mcpLidoFetchStethAprInputSchema, mcpLidoFetchStethAprOutputSchema, mcpLidoRequestWithdrawalsInputSchema, mcpLidoSubmitInputSchema, mcpLidoUnwrapWstEthInputSchema, mcpLidoWrapStEthInputSchema, mcpListMyPredictionMarketsInputSchema, mcpListMyPredictionMarketsOutputSchema, mcpMapleDepositInputSchema, mcpMapleFetchMarketInputSchema, mcpMapleFetchMarketOutputSchema, mcpMapleFetchMarketsInputSchema, mcpMapleFetchMarketsOutputSchema, mcpMapleRequestRedeemInputSchema, mcpMerklRewardsFetchInputSchema, mcpMerklRewardsFetchOutputSchema, mcpMorphoBlueBorrowInputSchema, mcpMorphoBlueCollateralDepositInputSchema, mcpMorphoBlueCollateralWithdrawInputSchema, mcpMorphoBlueRepayInputSchema, mcpMorphoBlueSupplyInputSchema, mcpMorphoBlueWithdrawInputSchema, mcpMorphoFetchBlueMarketsInputSchema, mcpMorphoFetchBlueMarketsOutputSchema, mcpMorphoFetchEarnVaultsInputSchema, mcpMorphoFetchEarnVaultsOutputSchema, mcpMorphoFetchMidnightBooksInputSchema, mcpMorphoFetchMidnightBooksOutputSchema, mcpMorphoFetchMidnightOffersInputSchema, mcpMorphoFetchMidnightOffersOutputSchema, mcpMorphoFetchMidnightPositionsInputSchema, mcpMorphoFetchMidnightPositionsOutputSchema, mcpMorphoFetchMidnightQuoteInputSchema, mcpMorphoFetchMidnightQuoteOutputSchema, mcpMorphoFetchPositionsInputSchema, mcpMorphoFetchPositionsOutputSchema, mcpMorphoFetchStockMarketsInputSchema, mcpMorphoFetchStockMarketsOutputSchema, mcpMorphoMerklClaimInputSchema, mcpMorphoMidnightBorrowInputSchema, mcpMorphoMidnightCancelLendOfferInputSchema, mcpMorphoMidnightLendInputSchema, mcpMorphoMidnightLendOfferInputSchema, mcpMorphoMidnightRepayInputSchema, mcpMorphoVaultDepositInputSchema, mcpMorphoVaultWithdrawInputSchema, mcpMultisignInput, multisignOutputSchema as mcpMultisignOutputSchema, mcpServerSubmitOutputSchema as mcpMultisignSubmitOutputSchema, mcpPendleBuildAddLiquidityMultisignInputSchema, mcpPendleBuildMintPyMultisignInputSchema, mcpPendleBuildMintSyMultisignInputSchema, mcpPendleBuildRedeemPyMultisignInputSchema, mcpPendleBuildRedeemRewardsMultisignInputSchema, mcpPendleBuildRedeemSyMultisignInputSchema, mcpPendleBuildRemoveLiquidityMultisignInputSchema, mcpPendleBuildSwapMultisignInputSchema, mcpPendleFetchMarketsInputSchema, mcpPendleFetchMarketsOutputSchema, mcpPendleFetchMerkleRewardsInputSchema, mcpPendleFetchMerkleRewardsOutputSchema, mcpPendleFetchPositionsInputSchema, mcpPendleFetchPositionsOutputSchema, mcpPendleFetchPricesInputSchema, mcpPendleFetchPricesOutputSchema, mcpPendleQuoteAddLiquidityInputSchema, mcpPendleQuoteMintPyInputSchema, mcpPendleQuoteMintSyInputSchema, mcpPendleQuoteOutputSchema, mcpPendleQuoteRedeemPyInputSchema, mcpPendleQuoteRedeemSyInputSchema, mcpPendleQuoteRemoveLiquidityInputSchema, mcpPendleQuoteSwapInputSchema, mcpPendleSearchAssetsInputSchema, mcpPendleSearchAssetsOutputSchema, mcpPredictionMarketRowSchema, mcpRailgunAgreeSpendInputSchema, mcpRailgunEnsureWalletInputSchema, mcpRailgunEnsureWalletOutputSchema, mcpRailgunFeeQuoteInputSchema, mcpRailgunFeeQuoteSchema, mcpRailgunFetchPopularAssetsInputSchema, mcpRailgunFetchPopularAssetsOutputSchema, mcpRailgunFetchPrivateBalancesInputSchema, mcpRailgunFetchPrivateBalancesOutputSchema, mcpRailgunListBroadcastersInputSchema, mcpRailgunListBroadcastersOutputSchema, mcpRailgunListSpendsInputSchema, mcpRailgunListSpendsOutputSchema, mcpRailgunPrivateActionOutputSchema, mcpRailgunPrivateTransferInputSchema, mcpRailgunShieldInputSchema, mcpRailgunUnshieldInputSchema, mcpRailgunUnwrapInputSchema, mcpSearchPredictionMarketsInputSchema, mcpSearchPredictionMarketsOutputSchema, mcpServerCommonInputSchema, mcpServerMultisignInput, mcpServerSubmitOutputSchema, mcpSkyFetchSusdsRateInputSchema, mcpSkyFetchSusdsRateOutputSchema, mcpSkyLockstakeCloseInputSchema, mcpSkyLockstakeDrawInputSchema, mcpSkyLockstakeGetRewardInputSchema, mcpSkyLockstakeStakeInputSchema, mcpSkyLockstakeWipeInputSchema, mcpSkySusdsDepositInputSchema, mcpSkySusdsRedeemInputSchema, mcpTrueoBurnInputSchema, mcpTrueoCancelOrderInputSchema, mcpTrueoCreateOrderInputSchema, mcpTrueoFetchCategoriesInputSchema, mcpTrueoFetchCategoriesOutputSchema, mcpTrueoFetchChanceSeriesInputSchema, mcpTrueoFetchChanceSeriesOutputSchema, mcpTrueoFetchMarketInputSchema, mcpTrueoFetchMarketOutputSchema, mcpTrueoFetchOrderbookInputSchema, mcpTrueoFetchOrderbookOutputSchema, mcpTrueoFetchTrendingInputSchema, mcpTrueoFetchTrendingOutputSchema, mcpTrueoMarketRowSchema, mcpTrueoMintInputSchema, mcpTrueoRedeemInputSchema, mcpTrueoSearchMarketsInputSchema, mcpTrueoSearchMarketsOutputSchema, mcpTrueoSwapInputSchema, mcpTrueoUnwrapTydInputSchema, mcpTrueoWrapTydInputSchema, mcpUniswapV4BuildAllowlistFinalizeMultisignInputSchema, mcpUniswapV4BuildCollectFeesMultisignInputSchema, mcpUniswapV4BuildDecreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildIncreaseLiquidityMultisignInputSchema, mcpUniswapV4BuildLimitOrderMultisignInputSchema, mcpUniswapV4BuildMintLiquidityMultisignInputSchema, mcpUniswapV4BuildSwapMultisignInputSchema, mcpUniswapV4CheckPermissionsInputSchema, mcpUniswapV4CheckPermissionsOutputSchema, mcpUniswapV4CreateSwapInputSchema, mcpUniswapV4CreateSwapOutputSchema, mcpUniswapV4FetchLimitOrdersInputSchema, mcpUniswapV4FetchLimitOrdersOutputSchema, mcpUniswapV4FetchOhlcvInputSchema, mcpUniswapV4FetchOhlcvOutputSchema, mcpUniswapV4KycApplyLinkInputSchema, mcpUniswapV4KycApplyLinkOutputSchema, mcpUniswapV4LimitOrderQuoteInputSchema, mcpUniswapV4LimitOrderQuoteOutputSchema, mcpUniswapV4LpClaimInputSchema, mcpUniswapV4LpClaimOutputSchema, mcpUniswapV4LpCreatePositionInputSchema, mcpUniswapV4LpCreatePositionOutputSchema, mcpUniswapV4LpDecreaseInputSchema, mcpUniswapV4LpDecreaseOutputSchema, mcpUniswapV4LpIncreaseInputSchema, mcpUniswapV4LpIncreaseOutputSchema, mcpUniswapV4LpListPoolsInputSchema, mcpUniswapV4LpListPoolsOutputSchema, mcpUniswapV4LpListPositionsInputSchema, mcpUniswapV4LpListPositionsOutputSchema, mcpUniswapV4QuoteInputSchema, mcpUniswapV4QuoteOutputSchema, mcpUniswapV4RegisterPositionFromMintTxInputSchema, mcpUniswapV4RegisterPositionFromMintTxOutputSchema, mcpUniswapV4RegisterPositionNftInputSchema, mcpUniswapV4RegisterPositionNftOutputSchema, mcpVeniceBurnDiemInputSchema, mcpVeniceCompleteUnstakeDiemInputSchema, mcpVeniceCompleteUnstakeSvvvInputSchema, mcpVeniceInitiateUnstakeDiemInputSchema, mcpVeniceInitiateUnstakeSvvvInputSchema, mcpVeniceListModelsInputSchema, mcpVeniceListModelsOutputSchema, mcpVeniceMintDiemInputSchema, mcpVeniceReadMintDiemPreviewInputSchema, mcpVeniceReadMintDiemPreviewOutputSchema, mcpVeniceReadStakingStateInputSchema, mcpVeniceReadStakingStateOutputSchema, mcpVeniceStakeDiemInputSchema, mcpVeniceStakeVvvInputSchema, multisignOutputSchema, parseAgentBoolean, parseAgentEvmChainId, parseMcpToolInput, parseMcpToolOutput, parseMultisignBuilderOutput, uniswapQuoteTradeTypeSchema, zodSchemaToMcpJsonSchema };
15451
15696
  //# sourceMappingURL=catalog.js.map
15452
15697
  //# sourceMappingURL=catalog.js.map