Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Valid

Inability to Set Minter Address in RAACMinter Contract

Summary

The RAACMinter contract is designed to manage the minting and distribution of RAAC tokens. However, it lacks a mechanism to set the minter address in the RAACToken contract, which results in the inability to mint new tokens. This oversight poses a significant risk to the token's functionality and overall ecosystem.

Vulnerability Details

In the RAACToken contract, the mint function is protected by the onlyMinter modifier, which restricts minting to a designated minter address. The minter address is set through the setMinter function, which is only callable by the contract owner. However, the RAACMinter contract, which is the RAACToken owner as it is responsible for most onlyOwner functions, does not provide a mechanism to set the minter address. As a result, if the minter is not set, the minting functionality becomes effectively disabled.

Impact

  • The inability to set a minter address means that the RAAC token cannot be minted, which can lead to several issues:
    Token Supply Limitation: Without the ability to mint new tokens, the supply of RAAC tokens is fixed, potentially leading to scarcity and hindering the token's utility.

  • Inability to Reward Users: The minting process is crucial for rewarding users and incentivizing participation in the ecosystem. Without minting, the rewards mechanism becomes ineffective.

Relevant snippets

  • RAACToken.sol

function mint(address to, uint256 amount) external onlyMinter {
if (to == address(0)) revert InvalidAddress();
_mint(to, amount);
}
// This function call is not implemented in `RAACMinter.sol` hence all minting operations by `RAACMinter` will be DoSed
function setMinter(address _minter) external onlyOwner {
if (_minter == address(0)) revert InvalidAddress();
minter = _minter;
emit MinterSet(_minter);
}

Tools Used

  • Manual review

Recommendations

Implement a Mechanism to Set the Minter: Introduce a function in the RAACMinter contract that allows the owner to set the minter address in the RAACToken contract. This will ensure that the minting functionality can be utilized effectively.

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACMinter lacks critical ownership transfer functionality and parameter management after receiving RAACToken ownership, causing permanent protocol rigidity

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACMinter lacks critical ownership transfer functionality and parameter management after receiving RAACToken ownership, causing permanent protocol rigidity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!