A seller can transfer their NFTs even after listing them on the marketplace.
After NFT transfers, the NFT owner no longer matches with the listing's seller address. As a result, the buyer would not be able to complete the purchase because the internal _safeTransfer() method would fail, because of owner address mismatch.
The contract should possess the NFT after listing, e.g. transfer from the owner to address(this).
If the sale had gone through, then the NFT transfer goes to the buyer from the contract. Otherwise, goes back the owner when they cancel the listing.
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.
The contest is complete and the rewards are being distributed.