限价订单(先到先得)
LI.FI 意图限价订单很简单:单一价格,首次执行。这意味着OutputDescription
中设置的金额是最终的,将是您支付的金额。每个 orderId
可以填充一次输出(输出被哈希并存储在带有 orderId
的映射中)。
订单的获胜者是第一个调用 fill(...)
并为输出设置其标识符的求解器。
您可以通过 output.context
为 0x
或订单类型 0x00
来识别限价订单。
荷兰式拍卖
LI.FI 意图荷兰式拍卖是有上限的荷兰式拍卖。它们在某些时间戳之前和之后的价格是固定的。斜率、startTime 和 stopTime 编码在output.context
中。
订单的获胜者是第一个调用 fill(...)
并将其标识符设置为输出的求解器。请注意,获胜选择等同于限价订单,除了填充调用越早,求解器支付的越多。
您可以通过订单类型 0x01
识别荷兰式拍卖。上下文编码为:bytes1(0x01) | uint32(startTime) | uint32(stopTime) | uint256(slope)
,最终金额计算为:
amount + (stopTime - startTime) * slope
。
您可以在此处找到链上实现。