运行时依赖
无特殊依赖
安装命令
点击复制官方npx clawhub@latest install design-hook
镜像加速npx clawhub@latest install design-hook --registry https://cn.longxiaskill.com 镜像可用
技能文档
设计钩子概述 设计一个Uniswap V4钩子架构,不生成代码。委托给钩子构建器代理,在仅设计模式下,产生一个全面设计文档,涵盖:需要哪些回调、钩子标志要求、状态管理方法、gas估算、安全考虑和架构决策。使用此功能来规划构建前的工作,或评估可行性。 何时使用 激活当用户询问: “设计一个钩子…” “需要哪些回调…” “钩子架构…” “计划一个V4钩子” “是否可以构建一个钩子…” “动态费率钩子是什么样的?” “帮助我思考钩子设计” “TWAMM需要哪些标志?” 参数 参数 是否必需 默认值 描述 behavior 是 -- 钩子行为描述(例如,“限价单”、“动态费率”、“oracle定价”) constraints 否 -- gas预算、安全要求或特定设计约束 integrations 否 -- 钩子需要交互的外部系统(oracle、治理、质押) 工作流程 从用户请求中提取参数:识别钩子行为、约束和任何外部集成。 委托给钩子构建器:以设计模式调用Task(subagent_type:hook-builder),明确指示只生成设计文档,不生成代码,不写入文件。 钩子构建器将: 分析要求并确定需要哪些V4回调 将回调映射到钩子标志并验证组合 设计状态管理方法(存储、数据结构) 估算每个回调的gas开销 识别特定于此钩子设计的安全考虑 评估可行性并标记任何问题 向用户呈现设计文档,涵盖: 需要的回调和每个回调的原因 钩子标志和位掩码 状态管理设计(存储变量、数据结构、访问模式) gas估算和性能影响 安全考虑和缓解措施 架构决策和理由 如果适用,比较替代方法 输出格式 呈现一个结构化的设计文档: V4钩子设计:动态费率钩子 需要的回调:
- beforeSwap:读取波动性oracle,计算动态费率
- beforeInitialize:设置初始费率参数和oracle地址
- 波动性oracle:IVolatilityOracle(不可变,构造函数中设置)
- 基础费率:uint24(可由所有者配置)
- 最大费率:uint24(上限以防止过高的费率)
- 费率倍数:uint24(随波动性缩放)
- oracle操纵:使用TWAP,而不是现价
- 费率上限:强制最大费率以保护交易者
- 所有者控制:费率参数仅可由所有者更新
- 使用beforeSwap(而不是afterSwap)在执行前设置费率
- 外部oracle用于波动性数据,而不是链上计算
- 费率在基础费率和最大费率之间以保证可预测性
- 链上波动性计算(gas更高,无oracle依赖)
- 固定费率层次与治理投票(更简单,更不响应)