During the settlement process, funds from the trader are transferred to the GPv2Settlement contract.
2.1 Trades argument
To assemble trades[] argument solver would need to use data from signed CoW’s trader order and configure flags argument according to the trader's signed GPv2Order
However, when creating a GPv2Order to pass it for trader's signature, certain flags should comply with the following:
If the selected kind is GPv2Order.KIND_SELL
Otherwise, if kind is GPv2Order.KIND_BUY, then
2.2 Interactions
CoW’s GPv2Settlement.settle function receives interactions in the following format:
This format reflects that inside CoW’s settlement there are 3 groups of interactions
To interact with LiquoriceSettlement solver should use the second group (index [][1] of array)
Here is what should be contained inside this array:
Approval
When performing the trade, Liquorice Balance Manager contract must have a baseToken approval given by the GPv2Settlement contract.
Interaction with LiquoriceSettlement
To make interaction with LiquoriceSettlement solver would need to use the following field from API:
baseToken
baseTokenAmount
tx
Solidity example
2.3 Remaining arguments
Remaining arguments such as signature and order provided as is.