Skip to content
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

CW-2981 #7

Closed
the-frey opened this issue Oct 1, 2021 · 3 comments
Closed

CW-2981 #7

the-frey opened this issue Oct 1, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@the-frey
Copy link
Collaborator

the-frey commented Oct 1, 2021

Looking at porting this work on equivalence with EIP-2981 emerging royalty standard to this new repo.

CosmWasm/cw-plus#414

However there are some additional things to consider (the query handlers part is, I think, uncontroversial) WRT the metadata that might sit at token level

From discord:

given that everything is an Option I wonder if rather than implementing royalty fields separately it should be a part of those onchain meta fields? (see #6)

Essentially we've now added a set of baseline metadata fields to keep in line with Opensea - my question is, that as these are all Option typed anyway, whether royalties should be in this default meta -

looking at porting the royalty stuff I did for cw-plus to the new repo and it seems like cos it's optional maybe we should just be encouraging royalty data (even if None) to be a part of the interface for consideration
consideration by implementers that is

Don't necessarily have a strong opinion here, but we have an opportunity to set the expectation that marketplace implementers should be checking for royalty info by default on any sales in the Cosmos ecosystem and that maybe is something that is valuable from the perspective of creators.

Obviously for NFT types that royalties don't apply to, it's trivial to just use base, or exclude from the meta.

The big question is probably one at contract level - since that's where you signal whether royalties should be checked (if I remember/understand the EIP correctly https://eips.ethereum.org/EIPS/eip-2981) but this can easily be left as either

a) a hook for contract implementer to optionally implement
b) a default implementation that returns false and can be imported
c) a requirement for implementing for any contract that uses meta (i.e. up to the implementer whether it's hard coded, passed in instantiation, etc)

In the pull referenced above,

https://github.com/CosmWasm/cw-plus/blob/d7041a755bf0082744af684f169f67256b024ed0/contracts/cw2981-base/src/msg.rs#L58

is implemented

https://github.com/CosmWasm/cw-plus/blob/d7041a755bf0082744af684f169f67256b024ed0/contracts/cw2981-base/src/contract.rs#L227

Because in the case of a base implementation you can expect that if royalties are at token level rather than a flat, contract-wide royalty, then the correct thing to do is always check. However, of course, this is an example implementation.

@the-frey the-frey added the enhancement New feature or request label Oct 1, 2021
@the-frey
Copy link
Collaborator Author

the-frey commented Oct 5, 2021

thoughts? @JakeHartnell / @orkunkl / @alwin-peng

@orkunkl
Copy link
Contributor

orkunkl commented Oct 6, 2021

I don't think including we need this feature in cw721-base. It is easy to determine if a smart contract supports royalty, send CheckRoyalty query msg, if you get a true response great, if error it means not implemented.
I support option:

a) a hook for contract implementer to optionally implement

@JakeHartnell
Copy link
Collaborator

Closed with #24.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants