The RAACMinter.setFeeCollector
function invokes RaacToken.setFeeCollector
, which is restricted to the contract owner (onlyOwner
). This implies that RAACMinter
should be the owner of RaacToken
. (this is true for other RAACMinter functions like setSwapTaxRate
and setBurnTaxRate
)
However, RAACMinter
does not cover other owner-exclusive functions, such as manageWhitelist
, setTaxRateIncrementLimit
and setMinter
, limiting its ability to manage RaacToken
fully.
The issue gets worse when we realize that RAACToken can only have one owner and RAACMinter can not delegate ownership to another address.
RAACMinter has a function to set feeCollector:
It calls raacToken function. which is restricted to onlyOwner:
but there is not function in RAACMinter to for example setMinter in RAACToken as owner
RAACMinter’s admin functions will revert due to insufficient access. Alternatively, if RAACMinter is considered the owner of RaacToken, it still cannot fully control it or set the necessary parameters as its owner.
vscode
Grant RAACMinter the necessary permissions in RaacToken by introducing a specific role (e.g., FEE_MANAGER_ROLE) instead of restricting access to onlyOwner.
OR
Add necessary functions to RAACToken (as owner of 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.