Severity: High
Context: Swan.sol#L276-302
Code:
Description: In the code, SwanAsset(_asset).transferFrom(address(this), listing.buyer, 1); is called to move the asset to listing.buyer before the payment(token.transferFrom(listing.buyer, address(this), listing.price);)is confirmed. if the payment fails, will lost seller's asset.
Recommendation:
Move the transfer of assets (transferFrom to the buyer) to after confirming the buyer has sent funds successfully.
Severity: High
Context: Swan.sol#L276-302
Code:
Description: transfer token from Swan contract(address(this)) to seller, or the buyer will pay twice.
Recommendation:
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.