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

Proposal: Separate internal and public functions into different files to help with Diamonds #22

Open
RogerPodacter opened this issue Mar 5, 2023 · 1 comment

Comments

@RogerPodacter
Copy link

I'm using the Diamond standard and it would be useful for me to be able to _mint() from multiple facets.

However, multiple facets cannot inherit from ERC721AUpgradeable because ERC721AUpgradeable has public functions and multiple facets cannot define the same public function.

I propose adding a ERC721AInternal contract that Diamond-ers can inherit from in multiple places. This would not affect anyone else as they could continue inheriting from ERC721AUpgradeable (basically what I'm proposing is a copy-paste).

SolidState takes this approach for their ERC721, so it has been done!

Thanks!

@Vectorized
Copy link
Collaborator

The contracts here are generated by a transpiler tho. It’s too much effort to rewrite the transpiler for this.

I’ll suggest forking and doing the changes. ERC721A has been stable for months.

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

No branches or pull requests

2 participants