I was just wondering how can I enforce royalty splits for my Manifold contract. As I understand it, the owner of the contract (me in this case) can always change the royalties for a specific token effectively blocking my co-creators from receiving their fair share. Is there a way to freeze royalties for a specific token?
Currently this isnât possible via the UX, however you could code up an extension that defines royalties and does not allow edit. This does require some solidity knowledge though. The documentation for this is here:
Thanks for your response. I had a look at the source code and I am struggling to see how this addresses the issue. Looking at the CreatorCore implementation, specifically the _getRoyalties function: I see that the extension is queried for royalties only if royalties.length == 0. I can set the royalties through the setRoyalties
This means that regardless of how I write my extension, the owner of the contract will always be able to override the royalties. So Iâm still curious how I can guarantee to my collaborators that I will not change the royalties (letâs assume I am the owner of the contract).
I have similar question, but a bit different.
I donât want to start a new topic, but plug it in this one. If thatâs not okay, I can start a new topic.
The question is about setting up royalties per single token in an existing contract. I want to do a lot of collabs inside one smart contract spread over multiple works with different artists.
At this point this is not possible to set the royalties per token, because the contract is the master of all the tokens that are minted inside of it.
Actually, it is possible to set token level royalties, but there isnât a UX for it. Youâll have to go to your contract on etherscan and set it via the âsetRoyaltiesâ function:
thatâs perfect, Iâm really happy that this is possible. Do you know if there is a tutorial about setting it too, because I would like to do this myself and donât bother others with the questions. But looking at etherscan I see three options, and feel a bit lost thereâŚ
Itâs pretty straight forward. Itâs function 26.
tokenId (put in the token)
receivers:
[â0xfirstaddressâ, â0xsecondaddressâ]
basisPoints (must not exceed 10000, below is an example of a total of 10%, 2% to first, 8% to second):
[200,800]
You can try it on your goerli contract then use royaltyregistry.xyz to see if itâs what you expected.
thanks for this clear language
This helps my project immensely. Now I can start collabs and add other artists addresses to the pieces they participated in, and use this for every single token inside the overall contract of the project!
this thready was very helpful for a current project. thank you. i am wondering if it is possible to also do a three-way split? or can only 1 collaborator be put in per token?
im using etherscan to access the smart contract. it is no longer the same function number, but using the same functions. it allows me to enter one at a time. whatever the second one is i input overrides the previous one. i keep using this and paying the gas, but only get 1 address to show. do i need to separate them by , and enter them together? or enter them separately as i am?
amazing. i got it. thanks for the patience. i made a few errors. 1.) i didnt read closely enough 2.) where to put the comma was throwing me off. appreciate the help!
If the drop is open edition via a claim page and we donât know in advance how many will be minted, what do we enter in the tokenId field? Letâs say the first token on the new claim page will have tokenId18 on the contract. Can we do something like 18⌠to mean 18 onwards?