Dria

Swan
NFTHardhat
21,000 USDC
View results
Submission Details
Severity: medium
Invalid

`BuyerAgent` can't withdraw NFTs he received

Description

When BuyerAgent buys assets and it gets transfered to it, he can't withdraw these NFTs, it became Locked in the BuyerAgent and it can't withdraw in case he purchase() it

swan/Swan.sol#L294-L295

function purchase(address _asset) external {
...
SwanAsset(_asset).transferFrom(listing.seller, address(this), 1);
>> SwanAsset(_asset).transferFrom(address(this), listing.buyer, 1);
...;
}

There is no way for the BuyerAgent owner to transfer withdraw NFTs he bought in case he need to do that.

Impact

NFTs getting locked in the BuyerAgent contract

Recommendations

Implement a method that allow the buyer to withdraw his NFTs

Updates

Lead Judging Commences

inallhonesty Lead Judge 8 months ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.