Safe-react: Sending collectibles Tx always fails in ethereum network

Created on 30 Oct 2020  路  6Comments  路  Source: gnosis/safe-react

All 6 comments

Since the fix of #1463, we're no longer falling back to transfer or transferFrom.

That particular NFT (CK in Rinkeby) has not safeTransferFrom method implemented.

@rmeissner, @dasanra, @tschubotz

Shall we fallback to transferFrom if not safeTransferFrom is available?

@fernandomg thank you for this feedback. We will discuss it on monday. At least we know why it's happening

Given that now we have the chance to know beforehand that a tx may fail (thanks to #1523).

image

With that info, we should try to re-build the tx with transferFrom for the NFTs.


Still, I'm concerned about using transferFrom since we may be sending the tx to a non-ERC721TokenReceiver contract.

@fernandomg @pablofullana I just checked the contracts of the top ERC721 collectibles that we have in Gnosis Safe. Literally all of them properly implement safeTransferFrom. Just CryptoKitties doesn't.

I'm against falling automatically back to transferFrom whenever estimation fails with safeTransferFrom since it's the point of safeTransferFrom to fail, when the recipient doesn't implement IERC721TokenReceiver.

So I propose just putting in an exception for CryptoKitties, i.e. use transferFrom just for the CK contracts and use safeTransferFrom for any other collectible.

CK on mainnet: https://etherscan.io/address/0x06012c8cf97bead5deae237070f9587f8e7a266d
CK on rinkeby: https://rinkeby.etherscan.io/address/0x16baf0de678e52367adc69fd067e5edd1d33e3bf

What do you think?

Also cc @rmeissner @dasanra

It looks valid to me, as it seems that the CK is the only popular NFT that didn't implement the ERC721 standard.

Shall we warn the user about a potential token lost if the counterpart is a contract? Or that's too much?

Shall we warn the user about a potential token lost if the counterpart is a contract? Or that's too much?

I think that's too much to be honest. I don't know of any wallet that does that and it seems to work fine :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lukasschor picture lukasschor  路  5Comments

fernandomg picture fernandomg  路  5Comments

francovenica picture francovenica  路  6Comments

rmeissner picture rmeissner  路  6Comments

sche picture sche  路  5Comments