The RAACToken contract contains a vulnerability where critical functions become unusable after the ownership is transferred to the RAACMinter contract. This issue arises because the RAACMinter contract does not implement the necessary functions to manage the RAACToken contract, leading to a situation where administrative functions cannot be performed. RAACMinter needs to be owner of RAACToken so it can perform normal operations.
The vulnerability is found in the RAACToken contract when the ownership is transferred to the RAACMinter contract. The RAACMinter contract does not implement the necessary functions such as setFeeCollector, manageWhitelist, setMinter, and setTaxRateIncrementLimit. As a result, these functions become unusable, and critical administrative tasks cannot be performed. RAACMinter needs to be owner of RAACToken so it can perform normal operations.
The impact of this vulnerability is significant as it causes critical functions of the RAACToken contract to become unusable after the ownership is transferred to the RAACMinter contract. This can lead to a situation where administrative tasks cannot be performed like manageWhitelist(), setFeeCollector(), setTaxRateIncrementLimit(), setMinter() , potentially affecting the operation and governance of the token.
Solidity: The programming language used to write the smart contracts.
Manual Code Review: Reviewing the code to identify potential issues.
Foundry Tests: For PoC
Access Control: Implement a more flexible access control mechanism that allows multiple addresses to perform administrative functions without transferring ownership.
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.