An incorrectly assigned feeCollector inside RAACToken breaks the contract.
Let's take a look at the constructor of RAACToken:
The initialOwner that is passed is assigned as feeCollector. Which I believe is safe to assume is the FeeCollector contract within the protocol.
This becomes an issue since the contract is also passed to Ownable() as the owner of the RAACToken. An important function in RAACToken, is setting the RAAC Minter:
The minter must be set in order for the RAAC Token contract to work correctly as it is the only address that can call the function to mint tokens:
The minter is not set in the constructor either. The main issue is that the FeeCollector contract has no function which invokes to set the minter in the RAACToken contract. Without being able to set the minter from the fee collector (which is designated as owner of RAAC Token contract), no tokens can be minted.
No tokens can be minted in RAACToken since FeeCollector contract which is set as owner, has no functions to invoke setMinter() in the token.
Manual Review
Implement function in FeeCollector which invokes to set the minter of the RAACToken.
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.