SuperAPI AI 工具集

func2tolk

通用与其它

查看项目

更新于 10-15 23:41

技能介绍

用途:把 TON 上的旧版 FunC 智能合约移植为现代 Tolk,同时保留 TL-B 布局(存储与消息体)、opcode 编号、错误码以及可观察行为(含 bounce 处理与发送模式)。推荐以 Acton 作为开发框架,负责构建、wrapper、原生 Tolk 测试、脚本、部署与验证。

主要能力:可用 acton func2tolk 做首轮转换,但输出仅视为草稿,需审计并重构为惯用、可测试的 Tolk。技能要求使用带标签的消息结构体加 union 分发(type Allowed... + lazy ...fromSlice(...) + match),用 struct 解码存储与消息,核心逻辑使用类型化 map<K,V> 与类型化辅助函数,原始 dict 解析仅限边界并立即包装;偏离惯用写法时须显式说明 TL-B 兼容约束。禁止在可建模为标签结构体时使用手写 opcode if/else 阶梯、在领域逻辑中做临时消息解析、把 udict_* 散布到核心分支,以及未做清单自检就结束。

使用方式:先定位 FunC 入口(recv_internal、recv_external、run_ticktock、getters)与 opcode,提取需保留的不变量;用 acton new PROJECT --template empty|counter|jetton 搭建项目,在 Acton.toml 的 [contracts.*] 定义合约、用 [mappings] 简化导入;先翻译存储与 TL-B 类型(errors.tolk、messages.tolk、storage.tolk),再翻译消息体、入口点、消息构建与测试。常用命令:acton build、acton test、acton disasm、acton script scripts/deploy.tolk(可加 --broadcast --net testnet|mainnet)、acton verify CONTRACT_ID --address EQ... --net testnet|mainnet、acton wrapper CONTRACT_ID --test。运行 acton 前需 cd 到含 Acton.toml 的目录。

适用场景:Jetton、NFT、DNS、钱包(w5、highload-v3)、multisig-v2、notcoin、config、elector 等合约的 FunC 到 Tolk 移植,可参考 acton-contracts 作为风格基准。

限制:资料未提供具体收费、价格或平台支持信息;移植须以原 FunC 源码与既有 JS/TS 测试为行为基线,兼容性例外需记录,未完成自检清单项时不得静默结束,应报告阻塞项。