Skip to main content
要完结意图并领取被锁定的输入资金,求解器必须交付订单中描述的所有输出。本页涵盖 EVM、Tron 和 Bitcoin 的填充。

EVM 订单

通过调用 fillOrderOutputs,将意图输出提交到 output.settler 中指定的输出结算器。
交易在以下情况下会回滚:
  1. 未设置授权
  2. 调用者余额不足
  3. fillDeadline 已过期
  4. outputs 中的第一个输出已被填充
  5. outputs 中的任何外部调用回滚
  6. 无法解码订单 context
  7. 目标链错误
  8. 输出结算器合约错误
orderId 不匹配不会导致回滚。
在所有输出都交付之后,继续进行结算以完结订单并接收被锁定的输入。

Tron 订单

填充 Tron 输出的方式与 EVM 填充类似:在 Tron OutputSettler 上调用 fillOrderOutputs。通过 TronWeb 提交交易,使用 20 字节规则解码地址(base58check,去掉 0x41 版本字节)。 有关地址转换和提交细节,请参阅 Tron 与 EVM 对比

Bitcoin 订单

LI.FI Intents 上的 BTC 支持目前尚未上线,仍在开发中。如果你有兴趣填充 BTC 订单,请与我们联系,我们将协助你完成接入。
要确定某个订单是否涉及 Bitcoin 交易,请检查 orderDto.order.outputs[].token
  • 前 30 个字节应为 0x000000000000000000000000BC0000000000000000000000000000000000(第 13 个字节为 0xBC
  • 第 31 个字节表示链上验证之前所需的确认数(0x000x01 都表示 1 次确认,0x02 表示 2 次,依此类推)
  • 第 32 个字节是一个地址版本标识符,解码为 uint8

地址版本

outputs[].recipient 字段包含目标哈希或 witness,而非人类可读的地址。使用版本字节和收款人哈希来重建 Bitcoin 地址。

构造 Bitcoin 交易

创建一笔交易,其中至少包含一个与订单输出描述完全匹配的输出。该交易可以有任意数量的输入和额外输出,从而支持批量填充和归集。 如果输出上设置了 calldata,请在填充输出之后立即添加一个 OP_RETURN 输出:

后续步骤

结算订单

完结订单并领取被锁定的输入资金

收集订单

通过 WebSocket 和 REST 收集订单

拍卖

限价、荷兰式和独占拍卖类型

信誉

求解器信誉系统与注册