In RAACReleaseOrchestrator.sol, we encounter the release
function. This function is used in the vesting mechanism and it uses the .transfer() function to transfer the release vested RAACTokens to the addresses that vested them. This function is a well-known for its many flaws in checks/compatibility issues. Incorrectly-setup contracts that are supposed to recieve the vested tokens could lead to them not recieving them.
In RAACReleaseOrchestrator.sol:
Where beneficiary is some external contract address that maybe does not have the correct implementation to recieve the tokens, etc.
IMPACT: Medium -> There could be many tokens lost are vests are usually high amounts of tokens
LIKELIHOOD: Low -> Users are already encouraged to be aware of this kind of issues but mistakes always can be done
Manual
Use oppenZeppelin safeTransfer
function.
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.