pub struct NftInfoResponse<T> {
/// Universal resource identifier for this NFT
/// Should point to a JSON file that conforms to the ERC721
/// Metadata JSON Schema
pub token_uri: Option<String>,
/// You can add any custom metadata here when you extend cw721-base
pub extension: T,
}
ICS721 allows optional token metadata (token_data) to be transferred as binary. So on receival we just need to unwrap and check whether it matchs with NftInfoResponse struct. If so we can store onchain metadata.
Currently, ICS721 stores cw721-base code id, here we need another code id for cw721-metadata-onchain. Then we're good to go.
This hasnt been considered yet for ICS721 version one, but for upcoming release.
Standard
cw721
is designed by having onchain metadatat calledextension
here: https://github.com/CosmWasm/cw-nfts/blob/main/packages/cw721/src/query.rs#L126-L133ICS721 allows optional token metadata (
token_data
) to be transferred as binary. So on receival we just need to unwrap and check whether it matchs withNftInfoResponse
struct. If so we can store onchain metadata.Currently, ICS721 stores
cw721-base
code id, here we need another code id forcw721-metadata-onchain
. Then we're good to go.