SuperAPI AI 工具集

@432/meta-dex-aggregator

智能体与模型

查看项目

更新于 10-16 10:18

技能介绍

Meta DEX Aggregator 是一个「聚合器的聚合器」工具,用于在多个 DEX 聚合器之间比较报价,以寻找更优的兑换价格。它并行查询 ParaSwap、Odos、KyberSwap、Matcha/0x、CowSwap 五个聚合器,并通过 agent 工具调用 1inch,按扣除 gas 后的净输出排名,并在执行前进行安全检查。

【主要能力】

  • 并行查询 5 个聚合器(ParaSwap、Odos、KyberSwap、CowSwap、Matcha/0x),并通过 agent 工具调用 1inch。
  • 通过 1inch 执行市价单(--market-order)实现即时执行。
  • 自动验证:兑换后余额检查(--auto-verify)。
  • 重试逻辑:失败时回退到下一个最佳聚合器。
  • CowSwap 轮询,用于 MEV 保护的批量拍卖订单。
  • 跨链兑换:通过 LI.FI 和 1inch Fusion+。
  • 历史记录以 JSONL 格式记录,用于趋势分析。
  • 分析功能:胜出统计、价格趋势、滑点分析、CSV 导出。
  • 报价监控:达到目标价格时发出提醒。

【安全特性】

  • 价格影响:从 DefiLlama coins API(含 DexScreener 回退)获取公允市价,与报价输出比较。阈值:3% 警告、5% 高、10% 严重(阻止兑换)。
  • Gas 调整排名:netOut = amountUsd - gasUsd,最佳路线不等于代币数量最多。
  • MEV 保护标记:CowSwap 和 0x Gasless 被标记为 isMEVSafe,当 MEV 安全路线在最优价格的 0.5% 以内时予以推荐。
  • 滑点警告:三明治风险 >1%、稳定币对 >0.05%、过低回滚风险。
  • 异常值检测:报价比最优差 5% 以上标记为异常值。
  • 兑换后验证:强制余额检查,偏差 >2% 时标记。

【使用方式】 首次使用步骤:

  1. 获取钱包地址:wallet_info()
  2. 检查余额:wallet_balance(chain="arbitrum")
  3. 设置钱包策略:wallet_propose_policy(...),用户需在 UI 中批准后兑换才能工作。注意:不要对 "method": "eth_sendTransaction" 使用空条件,应使用 "method": "*" 进行广泛授权。
  4. 之后按 报价 → 授权 → 执行 → 验证 的工作流程进行。

报价与安全检查:

  • 并行获取 4 个聚合器报价(含安全检查):cd skills/meta-dex-aggregator/scripts && python3 meta_dex.py quote --chain base --from ETH --to USDC --amount 0.5 --slippage 0.5
  • 通过原生工具获取 1inch 报价:oneinch_quote(chain="base", src="<from_addr>", dst="<to_addr>", amount="<amount_in_wei>")
  • 合并结果并按排名展示,若 priceImpact.severity 为 high/critical 则警告并阻止兑换。

兑换前代币授权(ERC-20 源代币必需):

  • 检查授权:oneinch_check_allowance(chain="arbitrum", token_address="0x...")
  • 授权:oneinch_approve(chain="arbitrum", token_address="0x...")
  • 原生 ETH(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)无需授权。

执行兑换:

  • 市价单(推荐的 < $100 兑换):python3 meta_dex.py execute --chain arbitrum --from ETH --to USDC --amount 0.005 --market-order --wallet 0x... --slippage 2.0,随后通过 oneinch_swap 执行。
  • 限价单(含自动验证):--aggregator kyberswap --verify --auto-verify --expected-out。
  • 其他聚合器执行:通过 wallet_transfer 映射 tx 对象(to、amount、data、chain_id、gas_limit)。
  • CowSwap 订单:基于订单而非交易,使用 EIP-712 签名,返回 orderType: "cowswap_order",包含 eip712Data,通过 wallet_sign_typed_data 签名后提交并轮询。

兑换后验证(强制):

  • 记录兑换前后余额,使用 execute --verify 进行验证,返回 PASSED/FAILED 与 deviationPct。
  • 未检查兑换后余额不得报告成功;偏差 >2% 需向用户标记。
  • CowSwap 订单由 solver 异步成交(最长约 2 分钟)。

跨链兑换:

  • 使用 xquote 比较跨链路线:python3 skills/meta-dex-aggregator/scripts/meta_dex.py xquote --src-chain arbitrum --dst-chain polygon --from ETH --to USDC --amount 0.5 --wallet $WALLET --slippage 3
  • 来源:LI.FI(聚合 20+ 桥)与 1inch Fusion+(基于 intent 的原子交换)。
  • 跨链默认滑点 3%,需展示预计到账时间与费用明细,并在执行后跟踪至目标链到账。

历史记录与分析:

  • 每次报价自动记录到 skills/meta-dex-aggregator/logs/{chain}{FROM}{TO}.jsonl,追加写入。
  • stats(胜出统计)、trend(价格趋势)、slippage(滑点分析)、export(CSV 导出)、monitor(报价监控)。

代币解析:

  • resolve_token 返回置信度:trusted、exact、single、high 可自动使用;ambiguous 必须与用户确认,并提供候选列表。

链支持:ethereum、bsc、polygon、optimism、arbitrum、avalanche、gnosis、fantom、zksync、base、linea、scroll、sonic、unichain。

【限制】

  • CowSwap 公共 API 有速率限制(429 时优雅跳过)。
  • 1inch 需要 API 密钥,因此通过平台代理的 oneinch_quote 工具调用。
  • Matcha/0x 需要在 .env 中配置 OX_API_KEY。
  • 跨链为非原子操作,需跟踪状态并在目标链确认到账。
  • 关于收费、价格等未在资料中说明的信息暂未提供。