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 cloning functionality #15
Conversation
@salieflewis this is super cool! im not familiar with clone/proxy set ups, so my initial question is is there a reason you went with this clone architecture, rather than the ERC71967Proxy implementation that Iain has used in both the CuratorFactory.sol as well as zora-drops-contracts? |
I was trying to figure out the simplest way to configure a factory, while being gas effective, and easy to implement. Clones follow almost all the same rules as the ERC1967Proxy impl, but they're different in that they're non-upgradeable. I didn't think that that was a necessary feature for this use case, but I could be wrong and am eager to hear your thoughts. Would also be nice to hear what Iain and Rohan would suggest. |
@salieflewis so im still not sure what the answer is here and I havent dug into it yet. but I believe well want to be able to deploy one factory base, and then update the implementation of the factory / other contracts it points to -- without deploying a new factory base (so the address stays the same). that makes me think we want to go the 1967 route but not sure and I could be confusing thigns |
I'd like to say that I'll have time to work on this over the weekend! Going the UUPS/1967 route. |
This is a big PR, so going to articulate what the changes are in these comments, as well as remind myself what I've done. Kinda trying to again familiarize myself before moving away from Clones like discussed. Changes to CustomPricingMinter.sol
https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable |
Just opening this for visibility, still a lot to do on the testing front...