DeDust Classic 兑换准备:核对 Vault、Pool 与部署状态
链小知 · 进阶 · 核验 · 依官方文档整理
按官方旧 SDK 读取流程检查 Classic 路线,不把计算出的合约地址当成已部署的收款入口,也不套用到 CPMM v2。
开始前准备
- 准备 TON 网络、目标 Jetton master 地址、拟用池版本和资产对;有只读 TON 客户端及对应 Factory 来源。
- 仅适用 docs.dedust.io 旧 SDK 的 Classic 路线;本教程不包含 sender、私钥、sendSwap 或广播调用。
1. 在当前池页先确认版本
打开 dedust.io/pools,按 Pool type 和 Coins 过滤。当前界面可能把同资产对合并成一项,要检查实际池属于 Classic、Stable-swap 还是 CPMM v2;CPMM v2 应读对应新版接口,不能继续本教程的旧 SDK 路线。
检查结果:记录网络、具体池和版本;无法确认或为 CPMM v2 时停止套用旧接口。
2. 按资产类型定位 Vault 与 Pool
旧官方例子的原生币用 Asset.native(),Jetton 用 Asset.jetton(masterAddress)。原生路径通过 factory.getNativeVault() 取 Vault,再用 factory.getPool(PoolType.VOLATILE, [两种资产]) 定位 Classic 池。Jetton master 不是用户的 Jetton wallet;这里不复制文档样例代币当计划资产。
检查结果:Vault、Pool、输入类型和 master 地址与计划一致;只做读取,不构造发送调用。
3. 检查两份 ReadinessStatus
分别读取 pool.getReadinessStatus() 与 native Vault 的 getReadinessStatus(),两者均须是 ReadinessStatus.READY。官方警告计算地址可能尚未部署,向不活跃合约发送资产可能造成损失。任何一个不就绪都输出具体对象和状态。
检查结果:有两项 READY 的读取结果才通过部署检查;地址可计算或格式有效不算通过。
4. 对照资产、储备和池费
按旧 Pool reference 的 get_assets、get_reserves、get_trade_fee 和 estimate_swap_out 核对该池数据。费率是 numerator/denominator,不是网络 gas;报价输入 amount_in 使用对应资产单位。READY 不能证明存在足够流动性,储备和估算缺失时继续暂停。
检查结果:资产一致、储备与估算可读,费率与输入单位明确;结果缺失或类型不符有失败记录。
5. 输出检查结果而不复制发送例子
整理版本、Factory、Vault、Pool、两项 readiness、储备、费率和估算。旧 Swaps 文档后半段的 sender/sendSwap/sendTransfer 会发交易,不属于读取检查;其 gasAmount 只是样例。实际准备发送时还须另核对当前消息、最低输出保护和费用。
检查结果:形成通过或失败的读取清单;记录不含私钥,也没有把估算视为成交。
怎样确认完成
- 输出 Classic 路线的明确版本和只读字段检查结果,任一未知条件保持失败/待查。
- 本文经官方文档核验,未提供独立运行的读取回执或实际兑换验收。
常见错误与边界
- 相同币对的合并展示不意味着只有一个版本或一只池。
- Pool READY 与 Vault READY 两项都不能省略。
- 旧 SDK 资料仍公开可读,但不是 CPMM v2 最新操作接口。