LI.FI Intents powers on-chain auctions and flexible order types, letting you compete for fills and optimize execution across cross-chain settlement.
OutputDescription
is final and will be what you are paying. The output can be filled once per orderId
(the output is hashed and stored in a map with orderId
).
The winner of an order is the first solver to call fill(...)
and set their identifier for the output.
You can identify Limit Orders by output.context
of either 0x
or the order type 0x00
.
output.context
.
The winner of an order is the first solver to call fill(...)
and set their identifier as the output. Notice that the win selection is equivalent to the limit order, except the earlier the fill is called, the more the solver pays.
You can identify Dutch Auctions by the order type: 0x01
. The context is encoded as: bytes1(0x01) | uint32(startTime) | uint32(stopTime) | uint256(slope)
, with the final amount being computed as:
amount + (stopTime - startTime) * slope
.
You can find the on-chain implementation here.