ditto-lab / ditto

NFT Future protocol
MIT License
60 stars 3 forks source link

What if the receiver reverts on NFT trade? #72

Closed 0xbok closed 1 year ago

0xbok commented 1 year ago
0xbok commented 1 year ago

Potential solution: Create another contract to which ditto sends the nft in this case (along with the record of the clone owner at the time of nft trade). this will start a time period in which the clone owner can claim this nft after which it can be traded via ditto again.

Following question: Where do the funds go?

calvbore commented 1 year ago

some additional notes from our discussion.

I like your idea of putting it in a smart contract for some claimable period. And in this case the funds should be sent to the NFT seller IMO.

0xbok commented 1 year ago

And in this case the funds should be sent to the NFT seller IMO.

The funds I am talking about is when "after which it can be traded via ditto again.". Now since our separate contract is the nft owner, and the clone owner didn't claim it. If we decide to trade it via ditto, who gets the new funds?

0xbok commented 1 year ago

oh the new funds can go into the subsidy

calvbore commented 1 year ago

NFT contract auctions after revert on sale transfer to clone owner reverted transfer to temp smart contract time for claim time delayed until sold back to ditto nft sold to next clone owner through ditto -- options for funds gained throuogh temp smart contract: --- 1. send funds directly to next subsidy ---- incentivizes next sale ---- can be gamed by next clone owner by immediately selling the nft to ditto to regain their funds transferred to the subsidy --- 2. hold funds in temp smart contract for the original nft owner to claim --- 3. hold funds in temp smart contract for original clone owner to claim --- 4. hybrid otions 2 and 3, hold funds in temp smart contract and split between original nft owner and clone owner

0xbok commented 1 year ago

can be gamed by next clone owner by immediately selling the nft to ditto to regain their funds transferred to the subsidy

I would have been fine with since the main goal of ditto is to incentivize trading through ditto, but it can mess with the oracle i think.

hold funds in temp smart contract for original clone owner to claim hybrid otions 2 and 3, hold funds in temp smart contract and split between original nft owner and clone owner

Funds should not go to original clone owner at all imo, as they can be considered a bad actor and should not be futher incentivized.