Hi @nicolas.guasca, here are a few things to consider:
-
ERC1155Holder
doesn't look necessary for this contract. It is only needed if you want to be able to transfer ERC1155 tokens to another contract (e.g. withSafeTransferFrom
), and in that caseERC1155Holder
would be used in that other contract. - Consider whether you really need multiple ERC1155 instances, or a single ERC1155 instance.
- If a single instance, then that would be like the example from Create an ERC1155 or the Wizard https://wizard.openzeppelin.com/#erc1155 (and enable Upgradability if needed).
- If multiple instances, then that means you have a factory to deploy multiple ERC1155 instances. If you want the ERC1155 instances to be upgradable, your factory doesn't necessarily need to be upgradable but it would need to be able to deploy proxies and connect them to the right implementation. In this case, see Deploying Upgradeable Proxies and Proxy Admin from Factory contract for examples.