Due to role assignment limitations, certain MembershipERC1155 functions and role-management features are unreachable, preventing full utilization of the contract.
In MembershipERC1155, roles are assigned during initialization as follows:
The msg.sender here is MembershipFactory, which creates MembershipERC1155 through createNewDAOMembership.
The MembershipFactory serves as the entry point for users to mint and burn tokens, requiring the OWP_FACTORY_ROLE role, as shown below:
However, functions such as burnBatch, burnBatchMultiple, and callExternalContract also require OWP_FACTORY_ROLE, but they cannot be accessed or called through MembershipFactory. Additionally, role-management functions, such as those associated with DEFAULT_ADMIN_ROLE, remain inaccessible, as they require this role to manage permissions, which is exclusively assigned to MembershipFactory. This results in limited functionality for MembershipERC1155 as certain actions cannot be performed.
Functions like burnBatch, burnBatchMultiple, callExternalContract, and role-management functionalities in MembershipERC1155 are effectively unreachable, resulting in incomplete contract functionality and restricting necessary role-management operations.
Manual
Reevaluate the design and integration between MembershipFactory and MembershipERC1155 to ensure that the intended functionalities and role management operations can be accessed and executed.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.