Not the ideal situation always. Just for ETH, gas price is a bitch. As a naive user, I don't want to spend unnecessary gas to initiate the approve-transferFrom if what actually takes is a simple signature from me.
Mar 15, 2022, 9:14 AM
Yes it will throw an error if I transfer it out, but that's on me. Buyer won't lose any money either because metamask will show the failing transaction
Mar 15, 2022, 9:15 AM
In any case, you'll have to approve the contract to move your asset and the contract will have to call transferFrom - there's no way around that. If gas is your concern, you "might" save gas by using a signature. I'm not sure because either way the contract will take your signature and perform an approval txn with it, so an approval txn is going to happen one way or another and you're going to pay for it (unless, theoretically the contract might be able to save your signature and use it at time of sale, but I think that's asking for trouble). I see using a signature as more of QOL improvement so the user doesn't have to send 2 separate txns rather than a gas saver. So my point was I think if you're going to list your nft for sale, you should xfer it upon listing it so that the contract owns every nft listed. Otherwise there could end up being a ton of dead listings and as a buyer you might get a bit frustrated if you keep trying to buy listings and can't... I don't want to see listings that aren't actually valid. So if the contract owns all nfts that are listed, the buyer's time is never wasted. So yes, the lister would pay more for gas, because the xfer would happen at time of listing. And they'd pay even more if they ended up wanting to cancel the listing. But, it makes the marketplace more reliable and there aren't ghost listings floating around pissing potential buyers off.
Mar 15, 2022, 1:36 PM