The DeliveryPlace
contract contains a potential issue in the closeBidTaker
function, which could affect the proper handling of bid taker operations. The issue involves an incorrect status check for the offer, which can result in unexpected behaviors and prevent the function from working as intended.
In the closeBidTaker
function, the comment suggests that the offer status should be Settled
:
However, the function includes a check for OfferStatus.Virgin
:
The function expects the offer to be in the Settled
state but incorrectly checks for Virgin
, therefore this could lead to situations where bid takers cannot correctly close their positions or receive proper refunds. This might block the completion of bid-related operations and cause financial discrepancies or operational issues.
VSCode
Correct the status check in the closeBidTaker
function to verify that the offer is in the Settled
state, as intended:
Borderline informational/low severity, taker bid offers can only be closed after settlement by original makers, so the check for `Settled` offer status is correct but the initial `if` block is dead code and will never be reached i.e., even if original maker offer was not settled, this issue cannot be exploited. Additionally, makers are incentivized to settle original offers to earn maker bonuses from subsequent trades from the original maker offers by takers. Some issues such as 612, 1774 and 1775 have no impact described but I am duplicating anyways since I am invalidating this issue. Assigning as informational severity since I believe this can be seen as simply a waste of gas and confusing code logic.
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.