SyncSwap 兑换为什么失败:核对 Min Received、拆分路径与过期回执
链小知 · 进阶 · 核验 · 依官方文档整理
从原兑换记录核对报价、池费、最低收到量和执行期限,区分价格影响、滑点、授权及真实收款。
开始前准备
- 准备原兑换预览/回执:网络、输入/输出完整token地址与decimals、amount、MinReceived/slippage、Router/pool路径、报价和发送时间;原error/decoded参数如有一并保存。
- 官方Trading文字与当前合约表并存;旧固定5285a3a Router含Vault,只解释已匹配旧版本记录。查看原字段即可,不为排错连接钱包、改滑点、签permit或重发。
1. 从网络、token 和 Router 版本开始
对原记录逐项抄完整token身份、网络、Router地址和pool模型。SyncSwap当前主网表有zkSyncEra、Linea、Scroll、Sophon、CreatorChain;同名ETH/USDC与同Router地址在不同链不能合并。
V3Router可走V1/V2/V2.1池,看到V3不代表每跳都是Range或NFT池。旧固定Router含Vault而当前V2以后无Vault;版本未匹配时只保留原error/字段,不硬套旧ABI。
检查结果:网络/token/Router/pool分别明确,未知版本未强行解码。
2. 核价格栏里的净报价和价格影响
官方Trading流程为选两token、填amount,再在价格栏查看priceimpact和更多细节;对旧截图核这几项与同一输入量。PriceImpact是相对当前池状态的估计,不能拿外部现价或另一时点报价直接判失败。
正文称tradingfee已从output扣除,因此不能再次从这个净报价机械减池费。不同池/买卖方向费可不同;缺原费率时保留未知,Gas单列。旧Classic0.1%例子不是全部当前路由费率。
检查结果:输入量、净报价、价格影响、池费与Gas口径没有混同。
3. 把 Min Received 转成同 token 单位比较
保存当次slippage设置、界面MinReceived与原amountOutMin。例输出token decimals6,最小收到99.5对应99500000原单位;必须以已核精度换算,不能沿用输入token精度或把0.5%写成0.5token。
旧Router累加各路径最终amount后与amountOutMin比较,低于才TooLittleReceived,等于通过这项检查。MinReceived是执行下限,预览或曾有好报价不保证当前交易能满足;不要为排错把下限改0。
检查结果:界面最小收到量和原参数单位一致,阈值未误作固定市场价。
4. 按原拆分比例还原完整路径
查看原Router详情和多跳/PathSplits设置,按每条path列tokenIn、amountIn及每跳pool/tokenOut。官方30%直达+70%经USDC示例表示分配同一输入,不是每条都花100%。
只有最终同一输出资产的各path才能按同单位对总额;中间token转移不是用户最终到账。callback、收款目标或各path终点不明时标待核,不用旧Router只取最后token标签的返回对象证明所有路径正确。
检查结果:原路由、输入分配和最终资产一致,未重复计入中间金额。
5. 按原错误区分期限、下限与授权
如果已匹配旧Router且error=Expired,核deadline与执行区块时间,均是Unix秒;block.timestamp>deadline才过期,当秒仍有效。permit.deadline是授权签名条件,不自动替代swap.deadline。
TooLittleReceived核合计输出下限;缺流动性、token转移或其他合约错误不能一律称滑点。已有approve/permit成功也不等Swap成功;读取失败/pending/revert分别保存,不重签或提高滑点来猜原因。
检查结果:原错误、对应参数和交易阶段准确,未靠重发补证。
6. 用原接收结果结案
成功回执还要核同网络输出token、实际recipient与数量;旧路径末跳可有callback/自定义接收或Vault模式,事件/返回总额不能自动当钱包净增。失败revert也不意味着已花Gas全部退还。
最后将问题落到版本/资产不符、期限、下限、路径、授权或缺回执;手续费以原池/方向记录为准,动态FeeData/旧uint256兼容值不同。完成标准是原记录可解释,不能仅因页面显示Swap成功就承诺资金已收到。
检查结果:确认、失败/待核及真实接收证据分开,费用未知不填零。
怎样确认完成
- 形成网络/token/版本、净报价、下限、路径、期限、原error与接收对照。
- documentation,未取实时quote/RPC/账户或执行交易;无法匹配的版本和资金结果保留未知。
常见错误与边界
- 价格影响、滑点与池费是不同口径;MinReceived不是收益或安全保证。
- 旧Vault Router不能套当前所有V3,permit和交换是不同动作。