RTN-01M: Inexplicable Capability of Arbitrary Mints
Description:
The multi-signature module of the contract is able to arbitrarily mint new Rand tokens at will.
Example:
function initialize(
string memory _name,
string memory _symbol,
uint256 _initialSupply,
IAddressRegistry _registry
) public initializer {
__ERC20_init(_name, _symbol);
__ERC20Burnable_init();
__Pausable_init();
__AccessControl_init();
REGISTRY = _registry;
address _multisigVault = REGISTRY.getAddress("MS");
_grantRole(DEFAULT_ADMIN_ROLE, _multisigVault);
_grantRole(PAUSER_ROLE, _multisigVault);
_grantRole(MINTER_ROLE, _multisigVault);
_mint(_multisigVault, _initialSupply * 10**decimals());
}
Recommendation:
We advise this component of the system to be revised as there appears to be no purpose for this trait of the system.
RTN-01M: Inexplicable Capability of Arbitrary Mints
Description:
The multi-signature module of the contract is able to arbitrarily mint new Rand tokens at will.
Example:
Recommendation:
We advise this component of the system to be revised as there appears to be no purpose for this trait of the system.