SuperAPI AI 工具集

modernize-move

编程与开发

查看项目

更新于 10-15 19:57

技能介绍

用途:检测并现代化过时的 Move V1 语法、模式与 API,使其升级到 Move V2+。适用于升级旧合约、迁移到现代语法等场景;不适用于从零编写新合约、修 bug/加功能、优化 gas 或安全审计。

主要能力:覆盖三层转换。Tier 1 语法(零风险):vector::borrow(&v, i) → v[i]、x = x + 1 → x += 1、while 计数循环 → for range 循环。Tier 2 可见性与错误(低风险):public(friend) → package fun、魔法 abort 数字 → E_* 命名常量。Tier 3 API 迁移(中高风险,多为破坏性变更):coin/TokenV1 → fungible_asset/Digital Assets、EventHandle → #[event] 模式、手动循环 → stdlib 内联函数与 lambda、自定义有符号整数 → 原生 i8-i256、SmartTable → BigOrderedMap 等。检测规则共 22 条,分属三层。

使用方式:分五阶段。1)分析合约,扫描 V1 模式并生成分析报告;2)展示报告(GATE 1),由用户选择范围:syntax-only(仅 Tier 1)、standard(Tier 1+2,默认)、full(全部三层),若含 Tier 3 还需选择部署上下文(Compatible 或 Fresh deploy),确认前不继续;3)建立测试安全网:查找现有测试,若无则先调用 generate-tests 生成测试,运行 aptos move test 建立通过基线;4)按层应用转换:每层后运行 aptos move test,失败则回滚该层排查;Tier 3 需逐条应用并逐条测试;5)最终验证:运行 aptos move test --coverage,生成总结报告。

限制:测试安全网为强制要求,无测试不得改动;修改前必须分析并等待用户确认;必须按层执行并逐层验证;必须保留错误码数值以兼容 #[expected_failure(abort_code = N)];Compatible 模式下需跳过标记为破坏性的规则;不得在测试未通过时继续下一层。