-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor InstantiateMsg for better ics721 support #68
Comments
Would also propose that we add a |
Hmmmm,
|
An alternative is a way to support the various ways collection-level metadata is stored. pub struct InstantiateMsg<T> {
pub metadata: T,
pub minter: String,
} And provide some options: pub struct ERC721Metadata {
pub name: String,
pub symbol: String,
} pub struct CollectionInfo {
pub uri: String This allows flexibility in supporting on-chain collection-level metadata too. I don't see any harm in keeping |
Nice! Yeah, I'm also going back against removing name and symbol. Would be down with an extensible We use that info in Stargaze after all, would be nice to standardize it. 😂 Like #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InstantiateMsg<T> {
/// URI for Collection Metadata: https://docs.opensea.io/docs/contract-level-metadata
pub collection_uri: Option<String>,
/// Metadata extension
pub metadata: T,
/// The minter is the only one who can create new NFTs.
/// This is designed for a base NFT that is controlled by an external program
/// or contract. You will likely replace this with custom logic in custom NFTs
pub minter: String,
} Maybe something like |
Going over
ics721
with a few folks and came to the realization there are few things we should change aboutcw721-base
.Namely,
ics721
has no support for thename
andsymbol
fields we currently instantiate the contract with... when you send an NFT over IBC, that information will be lost. Moreover,ics721
does support aclassUri
which represents collection level metadata. Unfortunately, we have do not have support for this.We currently have:
I propose we kill
name
andsymbol
in favor ofcollection_uri
and anextension
. Like so:This will allow for better support for
ics721
and frankly better collection metadata.The ics721 spec: https://github.com/cosmos/ibc/tree/master/spec/app/ics-721-nft-transfer
The text was updated successfully, but these errors were encountered: