Skip to main content
失败的 POST /compose 会返回一个结构化的 ComposeError
kind 是下方联合类型中的判别标识(discriminator)。message 是人类可读的描述。path(当存在时)指明 Flow JSON 中触发该错误的字段。

Error kinds

@lifi/compose-spec 一起发布的完整 ComposeErrorKind 联合类型:

Recovery hints

  • 400 类 kind 表示调用方必须修复的问题:Flow JSON、ref 语法或输入绑定。重新提交相同的请求会以相同的方式失败。
  • 404(no_route_error 表示路由图中没有匹配所请求链上输入/输出对的边。请查阅 Supported Protocols & Chains 了解当前覆盖范围;目标 vault 可能尚未成为一条路由边。
  • 422 类 kind运行时 / 数据问题。请调整容差(slippagemaxPriceImpactBps)、等待链上状态稳定,或将错误呈现给你的用户。
  • 500 类 kind 是服务端问题。请按退避策略重试;若错误持续存在,请联系 LI.FI。

Allow-revert mode

run.simulationPolicy"allow-revert" 时,simulation_revert 不再使调用失败。相反,响应会返回已编译的 transactionRequest同时在部分结果的 simulationRevert 字段上返回 revert 诊断信息(HTTP 206)。当你希望将 revert 原因呈现给用户而非隐藏时,请使用此模式。 参见 Guards 了解 guard_error 如何产生,参见 Execution Model 了解每种错误 kind 在编译流水线中的起源。

See also

  • Execution Model —— 发出每种错误 kind 的流水线阶段。
  • Guards —— guard_error 背后的观测到断言(observation-to-assertion)机制。
  • Flow wire format —— POST /compose 返回的请求与响应结构。