solana-labs / explorer

Explorer for Solana clusters
https://explorer.solana.com
MIT License
209 stars 267 forks source link

[Bug] Fungible token w/ metaplex metadata shows website from deprecated registry #226

Open tracy-codes opened 1 year ago

tracy-codes commented 1 year ago

Describe the bug A clear and concise description of what the bug is.

SPL Tokens (not metaplex NFTs) that have an external_url set in json metadata do not use that value for the Website field in the Solana Explorer.

https://github.com/solana-labs/explorer/blob/411b42439553262ef9036985d287a7249acaad77/src/components/account/TokenAccountSection.tsx#L217-L231

To Reproduce Steps to reproduce the behavior:

  1. Go to https://explorer.solana.com/address/SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y/metadata
  2. Open the uri from the metadata, inspect that there's an external_url set in the metadata

Example Links

Expected behavior A clear and concise description of what you expected to happen.

Expectation here is when external_url exists, that should be the value that's populated in the Website field instead of pulling from the deprecated token_registry that can no longer be updated.

ngundotra commented 1 year ago

Thanks for flagging this Tracy.

However I think you're saying that the format of your off-chain uri is a JSON that has an external_uri, and this is what should be rendered in the Website row, rather than whatever was in Tokenlist. However, I think this is an unusual spec for Token Metadata.

I think it's probably better to remove the website item from metadata since it is not present in the Solflare token list API. @jacobcreech @jnwng @steveluscher thoughts?

tracy-codes commented 1 year ago

The off-chain uri is a JSON that is compliant with the Metaplex Token Metadata standard which is what's outlined to follow when setting up a SPL token now.

The Metaplex Metadata Token standard has external_url as a field which has a description of URI pointing to an external URL defining the asset — e.g. the game's main site.. See their documentation here: https://docs.metaplex.com/programs/token-metadata/token-standard#the-fungible-asset-standard.

I think it would be better to follow the token metadata standard and solfflare can then also add a website item to their token list API to be compliant with the token metadata standard. SPL Tokens should have a website reference for the company or project so users can get more information about the token through explorers and APIs.