Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Appreciate this might need some refining and/or further discussion.
Wanted essentially to have a bare minimum example for the EIP-2981 spec implemented in CW-land. This is my attempt at that.
In essence, it's a very light wrapper/extension for CW721 compliant contracts that adds two additional query messages:
RoyaltyInfo
to be called when selling an NFT, to find out what royalties are owedCheckRoyalties
to be called on the contract, to see if it implements CW-2981There's an example contract implemented that adds royalty information at token mint time, although it is also possible to add that as contract metadata at instantiation time (that instantiation message format is in the package).
The main thing as I understand it here is basically the shape of the queries, that can be called when a marketplace sells an NFT. The actual implementation might differ on a per contract basis (the example contract here just does a straight percentage).