Normal behavior:
Each order has a deadline timestamp, after which it is considered expired. However, only the seller can cancel the order and retrieve their tokens, even after expiry. The contract does not automatically cancel expired orders or allow others to do so.
Issue:
If the seller loses access to their account, forgets, or is otherwise unable to cancel the order, the tokens remain locked in the contract indefinitely. This can lead to permanent loss of user funds and reduce the protocol's usability.
Likelihood:
Sellers may lose access to their account, pass away, or simply forget to cancel expired orders.
Tokens remain locked and unusable, especially as the protocol ages and user activity changes.
Impact:
Permanent loss of user funds, reducing trust in the protocol.
Reduced protocol usability and user satisfaction, as tokens can become "stuck" in the contract.
By design only `seller` can call `cancelSellOrder()` on their `order`. But when an `order` expires, and the `seller` doesn't have access to the protocol, the expired `order `should be be able to be cancelled by an `admin`.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.