Skip to main content
本页介绍你在使用 Composer 时可能遇到的错误以及如何处理它们。Composer 使用与更广泛的 LI.FI API 相同的错误系统,此处记录的错误针对 Composer 特有的场景进行了情境化说明。

API 错误(报价/路由请求)

当通过 GET /quotePOST /advanced/routes 请求 Composer 报价时,API 可能返回错误。这些错误遵循标准的 LI.FI 错误格式:
  1. HTTP 状态码(例如 200、404、429、500)
  2. LI.FI 错误码(数字)
  3. 错误信息(人类可读)

相关的 API 错误码

有关完整的 API 错误码列表,请参阅错误码

工具错误

API 也可能返回描述底层协议问题的工具特有错误。这些错误使用 ToolError 格式:

相关的工具错误码

示例:处理工具错误


交易失败

执行前模拟失败

Composer 在返回报价之前会模拟整个执行路径。如果模拟失败,API 会返回一个错误,而非一笔会在链上回滚的交易。这可以避免用户在失败的交易上浪费 gas。 常见的模拟失败原因:
  • vault 未接受存入(已暂停、已满或受限)
  • 代币路径涉及不兼容的代币
  • 交换路径中流动性不足

链上交易回滚

在极少数情况下,即便通过了模拟,交易也可能在链上回滚(例如由于内存池抢跑,或模拟与执行之间状态发生快速变化)。如果发生这种情况:
  1. 用户的代币仍保留在其钱包中(对于同链原子交易)
  2. 被回滚交易的 gas 费用仍会被消耗
  3. 使用一个新的报价重试,以获得更新后的模拟结果

跨链故障模式

跨链 Composer flow 分为两个阶段。每个阶段在其所在链内是原子的,但整体 flow 是最终一致的。

状态值

轮询 GET /v1/status 以跟踪跨链 Composer 交易。状态值为:

子状态值

当 Status 为 PENDING

当 Status 为 DONE

当 Status 为 FAILED

处理跨链失败

有关完整的状态参考,请参阅交易状态跟踪

常见的 Composer 问题


相关页面

Error Codes

完整的 LI.FI API 错误码参考

Status Tracking

完整的 status 和 substatus 参考

API Parameters

Composer 特有的 API 参数

Limitations

当前的 Composer 限制