When developing Peepeth badges with @bbarton for https://peepeth.com there was a concern that the MinterRole allowed an existing minter to add additional minters, and if the minter was compromised there was no way to prevent additional minters being added or the number of tokens that could be minted.
In the end we used Ownable as a Minter admin and only the owner could add minters. Also we allowed the owner to renounce a specific minter. Though in retrospect it would have been nicer to create a MinterAdminRole (similar to WhitelistAdminRole). We also didn’t add any limits on the number of tokens that could be minted.
Since this was deployed, Looking at the Centre fiat contract they have a master minter and each minter has an allowance of tokens that they can mint.
My question is there a need for a MinterAdminRole in OpenZeppelin?
Interested to hear your thoughts. The answer might be that the existing MinterRole meets the majority of projects needs and there isn’t a requirement to add complexity to this, when individual projects could create contracts to meet their specific needs if they need something different.