SuperAPI AI 工具集

contract-preflight

通用与其它

查看项目

更新于 10-15 19:53

技能介绍

用途:在广播 Stacks 合约调用前,先针对当前主网状态做模拟(dry-run),判断该调用会成功还是失败,从而避免因必然失败而浪费 gas。

主要能力:创建 stxer 模拟会话,对当前链状态运行 Clarity 表达式,解码结果并给出通过/失败判定;若返回 (err ...) 或运行时错误,则阻止广播并说明原因。支持单次调用模拟与批量多步模拟(状态在步骤间延续,适合多步 DeFi 操作)。

使用方式:提供 doctor、run --action=simulate、run --action=batch 等命令。示例:bun run contract-preflight/contract-preflight.ts doctor;模拟单次调用需指定 --sender、--contract、--expression;批量需指定 --steps。无需额外安装包,使用 fetch() 与 commander。

适用场景:DeFi 操作(如 Zest 存取、Bitflow 兑换、ALEX 交易)广播前验证;代币转账前确认余额与收款方;DAO 提案参数校验;多步序列(approve→transfer→supply)模拟;失败调用回放调试。

限制:仅针对当前区块状态模拟,无法预测未来状态变化(MEV、并发交易);依赖第三方 stxer API,服务不可用时无法模拟;跨会话状态不持久;不校验 post-conditions,仅看 Clarity 返回值;表达式长度上限 2000 字符,批量最多 20 步,每次 API 调用 15 秒超时;只读设计,从不广播,无需私钥。