Legitimate offchain orders would be skipped and not filled due to a wrong validation of the fill price when filling orders. This would cause failure of the zaros operations.
Users can sign offchain orders and these can be filled by a keeper network. During this process, a validation occurs which checks if the fill price is valid
According to the code documentation, the fill price is valid if it is a buyOrder and the fillPrice is lesser or equal to the target price and if it is a sellOrder, the fillPrice is valid if it is greater or equal to the target price.
However, within the code implementation itself, the opposite is implemented. Causing fillPrice to be set to valid when the opposite is the case.
When it is invalid, the order is skipped and is not filled.
In this case, if offchain orders are created in the correct way as documented, they would be set to invalid and would be skipped.
Valid offchain orders would unnecessarily be skipped due to this wrong validation causing failure of normal processing of filling offchain orders. Users may become griefed and possibly lose funds.
Manual Review
Change the implementation to be as in the documentation which is the correct mechanism
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.