The relist
function in the Swan
contract contains a logical error in the round comparison, which prevents sellers from relisting their assets. The issue arises from using the <=
operator instead of ==
when checking if the current round has ended.
The code uses <=
to compare the current round with the asset's listing round. This prevents relisting because the condition oldRound <= asset.round
is always true when the rounds are equal, blocking the relisting process.The comparison should use ==
to ensure that relisting is only blocked if the current round is still ongoing (i.e., the rounds are equal).
Sellers are unable to relist their assets once the current round has ended, potentially leading to loss of sales opportunities.
Manual Review
Change the comparison operator from <=
to ==
on line 218 to correctly check if the current round is still ongoing.
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.