输入结算
LI.FI Intents 支持两种单链输入结算器:- InputSettlerEscrow。标准托管,将代币与其意图关联起来。
- InputSettlerCompact。通过 The Compact 资源锁实现的长期存款。
StandardOrder
单链输入结算器使用以下订单结构:MandateOutput
完结(Finalization)
要在填充订单后领取输入资金,请调用以下之一:finalise—— 由求解器调用,调用者选择将输入资产发送到何处以及是否进行外部调用。为了优化 gas,Escrow 和 Compact 的finalise接口有所不同。finaliseWithSignature—— 任何持有求解器授权的AllowOpen签名(其中包含目标地址和调用细节)的人都可以调用。
Compact 注册
Compact 意图承载于下方的BatchCompact 载荷中,并作为 BatchClaim 的一部分,使用 The Compact 的 EIP-712 域分隔符签名:
Escrow 存款方式
Escrow 意图可以通过多种方式存入:- 直接开启(Direct open),由所有者通过 ERC-7683
function open(bytes)完成。发出event Open(bytes32 indexed orderId, bytes order)。 - ERC-3009,以 orderId 作为 nonce。每个输入都需要一个签名。
- Permit2,使用 EIP-712 签名的
PermitBatchWitnessTransferFrom。
集成示例
- 智能合约注册:
RegisterIntentLib.sol - UI 签名(Batch Compact):lintent.org 演示
- UI 存款与注册:lintent.org 演示
输出结算
目前存在一种输出结算器:OutputSettlerSimple.sol。它支持四种订单类型:简单限价订单、荷兰式拍卖、独占限价订单和独占荷兰式拍卖。
配置拍卖类型
MandateOutput 中的 context 字段用于设置拍卖类型:
后续步骤
系统概述
完整架构与合约地址
预言机系统
验证与证明系统
创建并提交订单
面向集成商的订单构造
求解 LI.FI Intents
求解器如何交付输出

