-
Notifications
You must be signed in to change notification settings - Fork 113
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
Add Royalty standard #155
Add Royalty standard #155
Conversation
Standards work when they're standards, that is you say "NEP-11" and everyone has the same understanding of what it is. It's impossible to have this if the definition of "NEP-11" changes. Please, do not change NEP-11 or any other standard. We can have as many standards as needed, this method itself can be a separate standard for example. Or we can obsolete NEP-11 in favor of new NEP-X including this method. It'd be much easier to handle for everyone then. |
But it doesn't break anything and is fully compatible with previous standards. In this case I don't think it's necessary to create a new standard. |
I agree with Roman, we may add more and more standards on NFT related issues, but we should not add them all in NEP-11 since NEP-11 already has completed. We can't iterate other features on it, NEP-11 doesn't have v1.0, 2.0, 3.0... We should make it clear, different standard should apply on different features, they shouldn't be modified when it's completed. It's also better for developers to know which is doing what. EIP-2981 doesn't break ERC-721 as well. |
Agree with the above. NEP-11 is the base class. Some NFTs might want to extend that with additional methods for loyalties, but others may have no reason to implement them. It makes sense to keep the standards separate. The same is true for #152 and NEP-17 tokens, also! We shouldn't want to change NEP-17 to add approve/transferFrom/allowance, but adding a new NEP to standardize these methods for NEP-17 tokens that do want to use that functionality makes complete sense. |
@roman-khimov @erikzhang @EdgeDLT Done. |
Great idea to try and make this a standard feature :) we've been actively trying to get this done since so many months! Couple questions / comments : Based on the naming of methods / args, i guess you're trying to replicate EIP-2981, but in their case its a per NFT royalty settings, while in your proposal, there's no args, so i assume you want to make it a per contract setting? I would definitely think a per NFT is what's required for this proposal (so the tokenId should have to be passed). Any reason not to add contractHash in Most importantly, in most places, whether NEO or EVM, all fees are expressed in BPS (1000 -> 10%) directly. I think for convenience purposes and to help onboarding other devs, it should be the same here. |
I wouldn't call the event |
@merl111 @vincentgeneste Done. |
Couple more comments from me... :)
|
In second situation, we have a dynamic
Fixed.
Yes, we have to call the contract, but not necessary to call it for each tokenId. I mean there should be two scenarios: Simple enough or flexible enough. In simple scenario: creators or artists have no requirements for different royalties in different tokenId in one collection, so I'd like to give a simple solution for marketplace to get a clear flag if the royalty is global. It can greatly reduce unnecessary invocation on nodes. If a collection(1 contract, different tokenId) have global royalty, still have to input |
Regarding the safe tag, i still think it should be set to true. Even if someone adds his own logic, it should not require write storage access, as we re just trying to get read only data here,i think it's more "safe" to have it set to safe: true :D (unless you meant like access to price via oracles etc maybe?) For the |
Yes, you're right, fixed.
Yes, maybe we can get more feedback to see if it's necessary. |
@superboyiii what about supporting multiple recipients ? Is this something we want ? Personally I would love to have it as I see many different use cases for this. It’s not here on EIP2981 , but it’s highly likely because of limitations with multiple transactions in one transaction on EVM, which is not an issue at all on NeoVM. |
@erikzhang @shargon Could you have a review? |
Any is good to me |
It's already in #156, let's take 24 for this one. |
I will update the Number soon! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The standard itself looks useful to me.
Updated @AnnaShaleva |
I think this one is good to go @shargon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but if we're going to merge it, then I think we need to start with those NEPs that were approved earlier (#156) to avoid conflicts in README.
I think it's not necessary to add count after |
@shargon @AnnaShaleva Good to merge! |
No description provided.