默认输出
结算方案的默认输出是MandateOutput
:
单链输入
单链输入结算器使用StandardOrder
:
finalise
:由求解器调用,调用者可以指定将资产发送到何处以及是否进行外部调用。请注意,托管和 Compact 接口不同以优化 gas。finaliseWithSignature
:任何人都可以使用来自求解器的AllowOpen
签名调用,其中包含目标和调用详细信息。
Compact 意图注册
意图作为StandardOrder
传输,在 Compact 中它们被签名为具有以下结构的 BatchClaim
:
BatchClaim
。
或者,可以在链上注册意图。有两种方法可以做到这一点:赞助商(用户)注册它,或者有人为整个索赔付费并代表他们注册。
托管 Compact 注册
意图作为StandardOrder
传输,但可以通过几种方式注册:
-
通过 ERC-7683
function open(bytes)
由其所有者注册。这会发出 ERC-7683event Open(bytes32 indexed orderId, bytes order)
并将其function orderStatus(bytes)
设置为 1。 -
通过 ERC-3009 注册,orderId 作为 nonce。对于每个输入,必须提供签名,然后是
0x01, abi.encode(bytes[])
。 -
通过 Permit2 注册,签名作为
0x00, bytes
从 EIP-712 签名对象PermitBatchWitnessTransferFrom
提供:
集成示例
- 有关代表他人注册意图的智能合约示例,请参阅
RegisterIntentLib.sol
。 - 有关签署 Batch Compact 的 UI 示例,请参阅 lintent.org 演示。
- 有关存款和注册意图的 UI 示例,请参阅 lintent.org 演示。