运行时依赖
安装命令
点击复制技能文档
设计集成概述 为任何项目设计一个完整的Uniswap集成架构,通过委托给集成架构师代理。产生一个全面蓝图,涵盖:集成方法推荐(Trading API vs Universal Router SDK vs 直接合约 vs V4 hooks)、组件架构、带版本的依赖列表、安全审查与缓解措施、以及有序的实施计划。
何时使用 激活当用户询问: “帮助我集成Uniswap” “设计一个交换集成” “DEX聚合器的架构” “如何构建一个套利机器人” “Uniswap集成计划” “如何在我的dApp中添加交换功能” “在我的后端中集成Uniswap的最佳方式” “使用Uniswap的DeFi协议架构” “应该使用哪个SDK来集成Uniswap”
参数 参数 是否必需 默认值 描述 projectType 是 -- 项目类型(例如“DeFi仪表盘”、“套利机器人”、“钱包应用”、“DeFi协议”) functionality 是 -- 所需的Uniswap功能:“swap”、“LP”、“both”或“custom” environment 否 自动检测 执行环境:“frontend”、“backend”、“智能合约”或“全栈” chains 否 ethereum 目标链:单个链名或逗号分隔的列表 scale 否 -- 预期规模:事务量、并发用户、延迟要求
工作流程 从用户的请求中提取参数:识别项目类型、所需功能、目标环境、链和规模要求。如果用户有现有的代码库,请注意让代理分析。委托给集成架构师:调用Task(subagent_type:integration-architect)带有完整的上下文。集成架构师将: 理解项目上下文和要求 评估集成方法并推荐主要和备用方法 设计组件架构和数据流 识别所有依赖项(NPM包、API、基础设施) 进行安全审查和缓解措施 产生有序的实施计划和估算 向用户呈现蓝图,涵盖: 集成方法推荐和明确的理由 架构概述(组件、数据流、错误处理) 完整的依赖项列表和版本 安全考虑和具体的缓解措施 逐步实施顺序和估算 整体复杂性评估
输出格式 呈现一个结构化的集成蓝图: 集成蓝图:DeFi仪表盘带有交换(Ethereum + Base) 推荐方法:Trading API(主要)、Universal Router SDK(备用) 理由:Trading API提供了优化的路由和最小的前端复杂性。对于高级用例或API停机,备用使用SDK。 架构:用户 -> QuoteService -> ApprovalManager -> SwapExecutor -> 钱包 -> 链 组件:QuoteService:从Trading API获取和缓存报价 ApprovalManager:管理Permit2批准和允许 SwapExecutor:构造和提交交换事务 ChainManager:多链配置和RPC连接 依赖项:@uniswap/sdk-core ^5.8.0令牌和价格原语 viem ^2.21.0以太坊客户端 wagmi ^2.14.0 React钱包钩子 @tanstack/react-query ^5.0.0数据获取和缓存 安全性:
- 过时的报价:每15秒刷新,强制截止(block.timestamp + 300s)
- 批准:Permit2带有确切的金额和30分钟过期
- 密钥管理:仅wagmi钱包连接,从不处理密钥
- 钱包连接(wagmi)— 1天
- 链配置 — 0.5天
- 报价获取服务 — 1天
- Permit2批准流程 — 1天
- 交换执行和跟踪 — 1.5天
- 错误处理和重试逻辑 — 1天
重要注意事项 此技能完全委托给集成架构师代理 —— 它不直接调用MCP工具。蓝图是根据特定项目类型和要求量身定制的 —— 而不是一个通用模板。对于现有的代码库,代理将分析当前代码并推荐适合现有架构的集成模式。实施顺序考虑了组件之间的依赖关系 —— 按照顺序进行最平滑的开发。始终使用viem(而不是ethers.js)和Permit2(而不是遗留批准)按照项目惯例。
错误处理 错误 用户面向消息 建议操作 VAGUE_PROJECT “需要更多关于项目的详细信息来推荐集成方法。” 描述项目类型和所需的Uniswap功能 DEPRECATED_APPROACH “请求的集成方法已弃用。推荐替代方法。” 按照更新的推荐进行操作 UNSUPPORTED_CHAIN “Uniswap未在指定链上部署。” 从11个支持的链中选择 CONFLICTING_REQUIREMENTS “要求存在冲突(例如,f...”