2

we've deployed this ERC721 contract, based on the OpenZeppelin wizard one: https://etherscan.io/address/0x7046e775726b8682e27e2b36d10242107789e633

Minting is working as intented and the contract is certified, however, the tokens are not being recognized as proper NFTs.

If I go to the tracker, in Holders, nothing appears. If an owner tries to import the token into Metamask, it gives him an error stating "You are not the owner of this collectible".

Is there something wrong with the contract that I'm not seeing?

Thanks.

UPDATE

The contract appears to be detected as ERC20 instead of ERC721, why could this be happening?

ERC20

In OpenSea, the contract is working all right, with the collection and tokens being detected as ERC721.

UPDATE #2:

If I run supportsInterface("0x80ac58cd") it returns false (checking ERC721), even though the contract is:

  • DefaultOperatorFilterer
  • Initializable
  • ERC721Upgradeable
  • ERC721EnumerableUpgradeable
  • ERC721URIStorageUpgradeable
  • ERC721BurnableUpgradeable
  • OwnableUpgradeable
  • ERC2981
3
  • Unfortuately I don't have an answer for you. Just remember that Etherscan is an arbitrary service which can do whatever weird stuff it wants. What's in the blockchain matters. Commented Feb 27, 2023 at 7:40
  • I am running into the same issue. Did you ever get it resolved? I do see on your contract that it is coming up correctly now. How did you fix it? I reached out to etherscan's support. Fingers crossed. Thank you. Commented Dec 14, 2023 at 7:11
  • Yes, we reached out to Etherscan's support and they updated the tracker and information. We had to do it several times though until they got it right.
    – mdlapla
    Commented Dec 15, 2023 at 8:14

2 Answers 2

2

NFT seems to be importing fine on my side on metamask wallet as you can see on Ethereum Mainnet wallet

Metamask Imported

3
  • But they look like ERC20, not ERC721, don't they?
    – mdlapla
    Commented Feb 27, 2023 at 9:43
  • Thats because all rest of the ERC721 token act same way in the metamask as well. Commented Feb 27, 2023 at 10:02
  • This is likely because airdropping NFTs with images pointing to a tracking server would expose wallet users to surveillance: medium.com/@honestprotocol/… Commented Dec 14, 2023 at 8:40
1

Is it a problem?

Hey!

It seems everything is okay with your contract, you can confirm this if you go and check on Rarible:

Img

Why is etherscan showing this token as ERC20?

Yes, it is possible for Etherscan to have bugs or errors as it is a platform that relies on software and technology. Such issues can occur at any time, and it is possible that they could affect your contract. However, what is important to note is that the information stored in the blockchain is what ultimately matters.

In this case, it is reassuring to know that your contract is an ordinary ERC721. This means that it follows a set of standard rules and specifications that have been established for such contracts. As long as your contract conforms to these standards, it should be compatible with other ERC721 tokens and be easily searchable on blockchain explorers like Etherscan.

Final thoughts

If you do encounter any issues or discrepancies on Etherscan or any other blockchain explorer, it is always a good idea to double-check the information stored on the blockchain itself to ensure accuracy.

4
  • The problem is that the owners of the collection are "uneasy" because Etherscan says that the contract is not an ERC721, and that the supportsInterface method returns false if we ask if it supports ERC721 or IERC721. I'm pretty confident that the contract is working as intended, except for those two points.
    – mdlapla
    Commented Mar 2, 2023 at 12:52
  • Man sorry for the time, But i think I found you a solution. You have overwritten the support interface functions, and it is calling to a super, but your contract doe not distinguish which super should it be. So it is probably asking the wrong contract to check. Try checking all the interfaces you implemented. I hope it helps!
    – Barrocz
    Commented Mar 14, 2023 at 11:04
  • Thanks Barrocz, this might be the problem, do you think there's a way to fix it? the contract is upgradeable, so we might be able to upload a new version with a fix?
    – mdlapla
    Commented Mar 16, 2023 at 14:08
  • No problem :) Does this make any of your needed feature not to work? If everything works as you guys intended, I don't think you should update the contract just for that. To be sure we are even in the right mindset, try running the supportsInterface() with all the interfaces that you implement, the tell me uf any of those returned true
    – Barrocz
    Commented Mar 21, 2023 at 10:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.