The RAACReleaseOrchestrator::emergencyRevoke()
function does not update the categoryUsed
value, leading to unreleased assets being permanently locked in the contract.
The emergencyRevoke()
function is responsible for revoking a beneficiary's vesting schedule and transferring any unreleased tokens back to the contract. However, it fails to update the categoryUsed
value, which tracks allocated tokens. As a result, the revoked tokens remain in the contract but are not accounted for, making them inaccessible for future allocations.
The function successfully revokes the vesting schedule and retrieves unreleased tokens.
However, it does not adjust the categoryUsed
value, which means the revoked tokens remain locked within the contract without being reallocated or accessible.
Failure to update categoryUsed
results in a portion of the contract’s funds being permanently inaccessible, reducing the available supply for future allocations.
Manual Review
Modify emergencyRevoke()
to properly update categoryUsed
, ensuring that revoked funds can be reallocated for future vesting schedules.
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.