status-im / status-mobile

a free (libre) open source, mobile OS for Ethereum
https://status.app
Mozilla Public License 2.0
3.9k stars 988 forks source link

Implement interface ERC721TokenReceiver and interogation of metadata JSON schema #10454

Closed hesterbruikman closed 2 years ago

hesterbruikman commented 4 years ago

Problem

See also https://github.com/status-im/status-react/issues/10373 to add collectibles in wallet. This issue is more generic and is to provide NFT support regardless of potentially hardcoding any NFTs for Devcon

Few collectibles are currently supported and they are hardcoded as all NFTs follow different formatting and many have their content stored on OpenSea.

We want to set clear requirements for NFT's to be supported by Status wallet so that we can support more NFT's without interfacing with OpenSea. Two of these requirements are:

This issue is to make sure that NFT's conform the above requirements are handled appropriately by Status Wallet.

Implementation

  1. Implement ERC721TokenReceiver and functions to interrogate metadata JSON schema. This should provide all required information to display NFT in wallet.

    • Name
    • Description
    • URI to download image
  2. Ensure that all URI that tokenURI returns are supported

  3. Inform users when tokenURI is not IPFS hash and only show images on opt-in (design TBD)

Acceptance Criteria

Notes

Future Steps

Steps which should be taken after this issue has been resolved.

hesterbruikman commented 4 years ago

cc @andremedeiros for planning @guylouis for requirements to communicate to NFT developers (image size still TBD)

errorists commented 4 years ago

(the standard recommends images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive. Any more detailed requirements on image size?

just want to chime in that's painfully low :( imo anything less than 1080 is too small