Settling Orders
To settle LI.FI intent orders, up to 2 transactions may be required:
- Submission of message validation
- Finalizing the order on the resource lock.
Oracle Validation
Section titled “Oracle Validation”For instructions on how to relay proof for oracle systems, please refer to their section in validation.
Finalizing Orders
Section titled “Finalizing Orders”Once the OutputProven
event has been observed, the output has been validated and finalise
can be called.
event OutputProven(uint256 chainid, bytes32 remoteIdentifier, bytes32 application, bytes32 payloadHash);
For the CompactSettler (and compliant settlers), you need to submit the StandardOrder
, the attached signatures as bytes.concat(sponsor, allocator)
, the timestamps of the fills (which can be read from the OutputFilled
event), and the solver’s identifier or address. If there are multiple outputs, always index lists by their position in the order. Then, finalize can be called:
function finalise( StandardOrder calldata order, bytes calldata signatures, uint32[] calldata timestamps, bytes32[] memory solvers, bytes32 destination, bytes calldata call) external;